這是一個Verilog中有爭議的問題,即Parameter即作為常數,也作為參數使用是否合理合法的問題。在IEEE 2005標準之前,Verilog就是這樣做的。但常數不僅需要安全的封裝,而且還涉及知識產權(IP),常數參數不區分帶來很多質疑,隨這EDA規模發展,IP意識加強,常數更需要安全,因此IEEE在2005之后,加入localpara保留字,用于定義常數。常數用于定義當前工程和文件中那些固定不變的變量。而參數則是可以用作LPM交換的數值,類似于C語言中的形式參數。Verilog中的代碼模型被重復引用時,使用LPM可以根據現場需要,修改這些參數進行定制。顯然常數是不需要被傳遞出去,不需要也不允許被現場定制的。在2005版Verilog之前,常數參數不分的情況下,重用代碼的使用者和重用代碼的設計者可能不是同一個人(或團隊),這樣,很容易造成不明內部細節的使用者,不經意的修改常數,使得原本穩定的系統出問題,并反饋給該重用代碼的設計者。另外一種情況,或更嚴峻的情況是,IP核的復雜性和成本都在增加。保護IP的意識在爭強,而攻擊破解IP的人和團隊也開始出現。這就使得IP作者必須保護自己的代碼,常數如果作為參數傳遞出去,是一個非常重要的攻擊漏洞,當然要補上。因此,從現在開始,我們要將常數封裝好,保護好自己的代碼。
-
Verilog
+關注
關注
29文章
1367瀏覽量
112321
發布評論請先 登錄
評論