Verilog中parameter(參數)與define(宏定義)的區別


Verilog中parameter(參數)與define(宏定義)的區別

    1. 語句格式

parameter xx=yy; (有分號)

’define xx yy   (無分號)

    1. 作用范圍

參數是局部的,只在其定義的模塊內部起作用,而宏定義對同時編譯的多個文件起作用。即使在某一個模塊內部指定的宏定義,在編譯過程中仍舊對多個文件起作用,直至遇到重新定義為止。

    1. 狀態機環境下

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM