亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? count_all_prims_vpi.c

?? pli_handbook_examples_pc verilog hdl 與C的接口的典型例子
?? C
字號:
/**********************************************************************
 * $count_primitives example -- PLI application using VPI routines
 *
 * C source to find and count all primitives in a design, beginning
 * with the top-level module and all levels of hierarchy below the top.
 *
 * Usage: $count_primitives;
 *
 * For the book, "The Verilog PLI Handbook" by Stuart Sutherland
 *  Book copyright 1999, Kluwer Academic Publishers, Norwell, MA, USA
 *   Contact: www.wkap.il
 *  Example copyright 1998, Sutherland HDL Inc, Portland, Oregon, USA
 *   Contact: www.sutherland.com or (503) 692-0898
 *********************************************************************/

#include <stdlib.h>    /* ANSI C standard library */
#include <stdio.h>     /* ANSI C standard input/output library */
#include "vpi_user.h"  /* IEEE 1364 PLI VPI routine library  */
#include "veriuser.h"  /* IEEE 1364 PLI TF routine library    
                          (using TF routines for simulation control) */

/* prototypes of the PLI application routines */
int PLIbook_CountPrims_compiletf(), PLIbook_CountPrims_calltf();
int PLIbook_find_child_mod(),  PLIbook_count_local_prims();

/**********************************************************************
 * VPI Registration Data
 *********************************************************************/
void PLIbook_CountPrims_register()
{
  s_vpi_systf_data tf_data;   /* allocate register data structure */
  tf_data.type      = vpiSysTask;
  tf_data.tfname    = "$count_primitives";
  tf_data.calltf    = PLIbook_CountPrims_calltf;
  tf_data.compiletf = PLIbook_CountPrims_compiletf;
  tf_data.sizetf    = NULL;

  vpi_register_systf(&tf_data);
}
/*********************************************************************/

/* include utility routines to work with tfargs */
#include "vpi_utilities.c"

/**********************************************************************
 * Compiletf application
 *********************************************************************/
int PLIbook_CountPrims_compiletf(char *user_data)
{
  vpiHandle systf_h, tfarg_itr, tfarg_h;

  systf_h = vpi_handle(vpiSysTfCall, NULL);
  if (systf_h == NULL) {
    vpi_printf("ERROR: $count_primitives could not obtain handle to systf call\n");
    tf_dofinish(); /* abort simulation */
    return(0);
  }
  tfarg_itr = vpi_iterate(vpiArgument, systf_h);
  if (tfarg_itr != NULL) {
    vpi_printf("WARNING: arguments to $count_primitives are ignored.\n");
    vpi_free_object(tfarg_itr); /* because not scanning until null */
  }
  return(0);
}

/**********************************************************************
 * calltf routine
 *********************************************************************/
int PLIbook_CountPrims_calltf(char *user_data)
{
  vpiHandle top_mod_itr, top_mod_h;
  int total_prims = 0;
  top_mod_itr = vpi_iterate(vpiModule, NULL); /*get top modules*/
  while (top_mod_h = vpi_scan(top_mod_itr)) {
    total_prims += PLIbook_find_child_mod(top_mod_h);
  }
  vpi_printf("Total number of primitives is %d\n\n", total_prims);
  return(0);
}

/**********************************************************************
 * Function to look for module instances in local scope.
 * THIS FUNCTION CALLS ITSELF RECURSIVELY.
 *********************************************************************/
int PLIbook_find_child_mod(vpiHandle this_mod_h)
{
  vpiHandle child_mod_itr, child_mod_h;
  int prims_in_child;
  
  prims_in_child = PLIbook_count_local_prims(this_mod_h);
  child_mod_itr = vpi_iterate(vpiModule, this_mod_h);
  if (child_mod_itr != NULL)
    while (child_mod_h = vpi_scan(child_mod_itr))
      prims_in_child += PLIbook_find_child_mod(child_mod_h);
  return(prims_in_child);
}

/**********************************************************************
 * Function to count primitives in local scope.
 *********************************************************************/
int PLIbook_count_local_prims(vpiHandle module_h) 
{
  vpiHandle prim_itr, prim_h;
  int prims_in_mod = 0;

  prim_itr = vpi_iterate(vpiPrimitive, module_h);
  if (prim_itr != NULL)
    while (prim_h = vpi_scan(prim_itr))
      prims_in_mod++;
  return (prims_in_mod);
}
/*********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一区二区免费在线观看 | 国产999精品久久久久久绿帽| 亚洲欧美日韩电影| 亚洲欧美自拍偷拍色图| 中文字幕在线观看一区| 日韩一区在线看| 一区二区视频在线| 亚洲一区二区黄色| 日本欧美久久久久免费播放网| 五月婷婷色综合| 久久精品理论片| 国产九九视频一区二区三区| 国产福利一区二区三区视频在线| 国产成人午夜精品影院观看视频| 国产91高潮流白浆在线麻豆| 成人ar影院免费观看视频| av网站免费线看精品| 在线欧美一区二区| 欧美一二三区在线观看| 久久久亚洲欧洲日产国码αv| 中文成人av在线| 亚洲伊人色欲综合网| 秋霞成人午夜伦在线观看| 精品亚洲国内自在自线福利| 成人性生交大片免费看在线播放 | 成人性生交大片免费看视频在线| 不卡av电影在线播放| 欧美亚日韩国产aⅴ精品中极品| 日韩视频在线永久播放| 中文字幕欧美日韩一区| 亚洲国产精品尤物yw在线观看| 精品一区二区三区在线观看国产| 处破女av一区二区| 欧美久久免费观看| 欧美激情在线看| 日本强好片久久久久久aaa| 国产成人av一区二区三区在线观看| 97精品电影院| 欧美精品一区二区不卡| 亚洲精品自拍动漫在线| 久久精品999| 欧美三区在线观看| 国产精品毛片久久久久久久| 日本在线不卡一区| 日本高清免费不卡视频| 国产欧美日韩不卡| 热久久久久久久| 欧美在线999| 中文字幕亚洲一区二区av在线| 天天做天天摸天天爽国产一区| 成人h动漫精品一区二| 日韩欧美在线观看一区二区三区| 亚洲日本乱码在线观看| 国产精品一区二区三区99| 51精品国自产在线| 亚洲图片欧美一区| 99国产欧美另类久久久精品 | 国产福利不卡视频| 欧美精品一级二级三级| 亚洲色图在线看| 精品一区二区免费看| 4438成人网| 日韩精品福利网| 欧美午夜在线一二页| 夜夜爽夜夜爽精品视频| 91国偷自产一区二区三区成为亚洲经典| 久久久蜜桃精品| 国产综合色产在线精品| 欧美变态tickling挠脚心| 日韩福利视频网| 日韩一区二区三区av| 免费在线成人网| 欧美成人一区二区三区| 成人一区在线观看| 日韩影视精彩在线| 欧美三级午夜理伦三级中视频| 国产精品―色哟哟| 成人黄色av电影| 中文字幕一区二区三区不卡在线 | 欧美日韩午夜在线| 午夜电影网亚洲视频| 在线免费观看一区| 亚洲成国产人片在线观看| 欧美日韩国产一区| 日韩经典中文字幕一区| 日韩欧美中文字幕精品| 韩国女主播成人在线观看| 久久久99精品久久| 99久久综合99久久综合网站| 国产精品福利av| 欧美亚洲国产bt| 裸体歌舞表演一区二区| 久久精品亚洲精品国产欧美kt∨ | 亚洲日本免费电影| 欧美性极品少妇| 久久99精品国产麻豆婷婷| 久久婷婷综合激情| 色欲综合视频天天天| 日韩在线播放一区二区| 国产人成一区二区三区影院| gogo大胆日本视频一区| 亚洲福利一区二区| 精品99一区二区三区| 一本色道a无线码一区v| 六月丁香婷婷久久| 成人免费在线观看入口| 在线播放欧美女士性生活| 国产精品资源在线观看| 亚洲黄色录像片| 久久亚洲影视婷婷| 在线看日韩精品电影| 国产毛片精品视频| 一区二区三区四区高清精品免费观看| 91麻豆精品久久久久蜜臀| 国产成a人无v码亚洲福利| 亚洲国产精品久久不卡毛片| 久久精品一级爱片| 欧美日高清视频| 99久久99久久精品免费看蜜桃| 日韩激情中文字幕| 国产精品久久久久久久裸模| 日韩一卡二卡三卡| 在线看不卡av| 国产成a人亚洲| 久热成人在线视频| 日韩制服丝袜先锋影音| 亚洲视频一二三| 欧美国产丝袜视频| 精品国产区一区| 在线不卡一区二区| 欧美主播一区二区三区美女| 丰满岳乱妇一区二区三区| 日本成人超碰在线观看| 一区二区激情小说| 亚洲色图丝袜美腿| 亚洲欧美一区二区在线观看| 2019国产精品| 欧美大度的电影原声| 在线播放中文一区| 欧美日韩小视频| 欧美日韩专区在线| 欧美性猛片aaaaaaa做受| 99在线精品观看| 99久久精品一区二区| 国产成人免费视频网站| 国产一区二区免费在线| 麻豆91在线看| 麻豆精品国产传媒mv男同| 日韩精品国产欧美| 日韩av一区二区三区四区| 五月婷婷色综合| 美国欧美日韩国产在线播放| 日韩中文字幕区一区有砖一区 | 99在线热播精品免费| 国产夫妻精品视频| 国产风韵犹存在线视精品| 粉嫩绯色av一区二区在线观看| 国产成人在线电影| 成人18视频日本| 91精彩视频在线| 精品视频123区在线观看| 欧美精品黑人性xxxx| 欧美一区二区三区免费在线看| 欧美一区二区三区视频在线观看| 欧美美女bb生活片| 精品三级在线观看| 国产三级欧美三级| 亚洲欧美怡红院| 日韩专区中文字幕一区二区| 国产乱码一区二区三区| 国产一区二区三区四区五区美女| 国产成人日日夜夜| 一本久道中文字幕精品亚洲嫩| 欧美性色欧美a在线播放| 日韩视频不卡中文| 欧美激情综合五月色丁香小说| 亚洲三级视频在线观看| 日韩电影在线一区二区三区| 久久99国产精品麻豆| 高清视频一区二区| 欧美午夜精品久久久久久孕妇| 欧美一区二区精品久久911| 日韩三级中文字幕| 中文字幕av一区二区三区高 | 国产白丝精品91爽爽久久| 99久久精品一区| 日韩一二三四区| 国产欧美日韩精品a在线观看| 亚洲一区成人在线| 国产精品一区二区91| 欧美无砖砖区免费| 中文一区二区在线观看| 亚洲国产一区在线观看| 黑人精品欧美一区二区蜜桃 | 天堂va蜜桃一区二区三区漫画版| 久久99久久99精品免视看婷婷| 99久久夜色精品国产网站| 91精品国产综合久久久久久漫画| 国产精品美女久久久久久2018| 日韩在线卡一卡二|