久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: Verilog中parameter和define的區(qū)別 [打印本頁]

作者: 51黑黑黑    時間: 2016-2-23 03:20
標(biāo)題: Verilog中parameter和define的區(qū)別
1、語法
  

聲明:

  

parameter data = 8‘d14;

  

`define data 8’d14

  

使用:
       data

  

`data

  

  

2、作用域

  

parameter 作用于聲明的那個文件;`define 從編譯器讀到這條指令開始到編譯結(jié)束都有效,或者遇到`undef命令使之失效。

  

如果想讓parameter或`define作用于整個項目,可以將如下聲明寫于單獨文件,并用`include讓每個文件都包含聲明文件:

  

`ifndef data

  

`define data  8’d14

  

或者

  

parameter data = 8‘d14;

  

`endif

  

`define也可以寫在編譯器最先編譯的文件頂部。通常編譯器都可以定義編譯順序,或者從最底層模塊開始編譯。因此寫在最底層就可以了。

  

  

3、區(qū)別

  

parameter可以用作例化時的參數(shù)傳遞。

  

在使用狀態(tài)機時候區(qū)別挺大的。狀態(tài)機的定義可以用parameter 定義,但是不推薦使用`define 宏定義的方式,因為'define 宏定義在編譯時自動替換整個設(shè)計中所定義的宏,而parameter 僅僅定義模塊內(nèi)部的參數(shù),定義的參數(shù)不會與模塊外的其他狀態(tài)機混淆。例如一個工程里面有兩個module 各包含一個FSM,如果設(shè)計時都有IDLE 這一名稱的狀態(tài),如果使用'define 宏定義就會混淆起來,如果使用parameter 則不會造成任何不良影響。

  

一旦`define指令被編譯,其在整個編譯過程中都有效。例如,通過另一個文件中的`define指令,定義的常量可以被其他文件中被調(diào)用。直到遇到`undef;parameter只在定義的文件中有效,在其它文件中無效。







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 色多多视频在线观看 | 亚洲欧美精品一区二区 | 人人草人人爽 | 国产3p视频 | 亚洲综合五月天婷婷丁香 | 精品一区三区 | 手机av片 | 久久狠| 国语av| 精品视频免费 | 两性午夜视频 | 五月天婷婷激情网 | 天天射天天爽 | 黄色中文字幕 | 成人免费毛片嘿嘿连载视频 | 日韩精品一区二区在线 | 久久久夜色精品亚洲 | 中文字幕av久久爽av | 天天拍天天干 | 91精品国| 在线观看小视频 | 天堂网在线播放 | 啪啪综合网 | 黄色大毛片 | 国产三级在线看 | 九九在线观看高清免费 | 亚洲综合激情网 | 国产一级特黄aaa大片 | 久草这里只有精品 | 五月婷婷在线播放 | 中文字幕无人区二 | 亚洲国产精品成人无久久精品 | 国产精品视频在线观看 | 婷婷激情五月 | 黄色免费一级片 | 成人在线a| 毛片毛片毛片毛片毛片 | 精品少妇| 成人免费网站在线观看 | 成人在线免费视频观看 | 欧美精品亚洲 |