1樓:
define,是巨集定義,全域性有效。則在整個工程都是有效
parameter,引數,可以由呼叫者修改引數值。
localparam,本地引數,呼叫者不可修改。
verilog中parameter和define的區別
2樓:匿名使用者
`define 是巨集定義,全域性作用的,而且不受語意限制。你甚至可以定義回半截的字串出來。答
但是使用的時候才會做。
舉例而言,如果你定義一個寬度資訊為:
`define range 2:3
然後在使用的時候`include這個檔案,range就可以解析了。
wire [`range] bus;
parameter是模組內常量定義,僅限於常量。一般的工具對於parameter的支援力度更好,畢竟是語意可以識別的。而`define的支援僅僅限於parse階段,不會流入到elaboration階段。
但是如果把``define的使用場景都改為parameter會造成不必要的變數的引入。
目前一般使用`define的地方一般是全域性化的configuration階段。比如說對整個ip的配置資訊,一個ip應該滿足不同的soc的需求提供不同的配置。
c語言中怎麼用C語言中怎麼用
最近 盤 字很流行,盤是什麼意思?為什麼能成為網路熱詞?結果是3 解答過程 自 首先算a b 表示異或 十進位制a 1,等於二進位制0001 十進位制b 2,等於二進位制0010 異或為對應位不同時取真,故0001 0010結果為0011,即為十進位制的3 再算 a b c 表示按位與,a b的結果...
c語言中,temp是什麼函式,C語言中,temp是什麼函式
在c語言中,temp沒有特別的含義,既不是關鍵字也不是庫函式。可能是程式設計人員自版定義的權一個變數或函式,通常用來表示一個臨時變數,來自 臨時 的英文單詞temporary。舉例如下 int temp 定義一個int型別的變數,變數名為temp double temp 定義一個double型別的變...
c語言中process什麼意思,C語言中process什麼意思
void process int a,int b,int fun 這句話的意思是宣告一個無返回值的process函式,形參為int a,int b和一個返回int的函式指標 你這來個圖裡的process只是一源個函式的名稱,bai和常用的printf,scanf在同 du一個等級,區別只是,這zhi...