關於verilog綜合 個人小結

2021-09-29 02:16:49 字數 2217 閱讀 4633

一:基本

verilog中的變數有線網型別和暫存器型別。線網型變數綜合成wire,而暫存器可能綜合成wire,鎖存器和觸發器。

二:verilog語句結構到門級的對映

1、連續性賦值:assign

連續性賦值語句邏輯結構上就是將等式右邊的驅動左邊的結點。因些連續性賦值的目標結點總是綜合成由組合邏輯驅動的結點。assign語句中的延時綜合時都將忽視。

2、過程性賦值:

過程性賦值只出現在always語句中。

阻塞賦值和非阻塞賦值就該賦值本身是沒有區別的,只是對後面的語句有不同的影響。

建議設計組合邏輯電路時用阻塞賦值,設計時序電路時用非阻塞賦值。

過程性賦值的賦值物件有可能綜合成wire,latch,和flip-flop,取決於具體狀況。如,時鐘控制下的非阻塞賦值綜合成flip-flop。

過程性賦值語句中的任何延時在綜合時都將忽略。

建議同乙個變數單一地使用阻塞或者非阻塞賦值。

3、邏輯操作符:

邏輯操作符對應於硬體中已有的邏輯門

4、算術操作符:

verilog中將reg視為有符號數,而integer視為有符號數。因此,進行有符號操作時使用integer,使用無符號操作時使用reg。

5、進製:

通常會將進行運算操作的結果比原運算元擴充套件一位,用來存放進製或者借位。如:

wire [3:0] a,b;

wire [4:0] c;

assign c=a+b;

c的最高位用來存放進製。

6、關係運算子:

關係運算子:<,>,<=,>=

和算術操作符一樣,可以進行有符號和無符號運算,取決於資料型別是reg ,net還是integer。

7、相等運算子:==,!=

注意:===和!==是不可綜合的。

可以進行有符號或無符號操作,取決於資料型別

8、移位運算子:

左移,右移,右邊運算元可以是常數或者是變數,二者綜合出來的結果不同。

9、部分選擇:

部分選擇索引必須是常量。

10、bit選擇:

bit選擇中的索引可以用變數,這樣將綜合成多路(復用)器。

11、敏感表:

always過程中,所有被讀取的資料,即等號右邊的變數都要應放在敏感表中,不然,綜合時不能正確地對映到所用的門。

12、if:

如果變數沒有在if語句的每個分支中進行賦值,將會產生latch。如果if語句中產生了latch,則if的條件中最好不要用到算術操作。case語句類似。case的條款可以是變數。

如果乙個變數在同乙個if條件分支中先贖值然後讀取,則不會產生latch。如果先讀取,後贖值,則會產生latch。

13、迴圈:

只有for-loop語句是可以綜合的。

14、設計時序電路時,建議變數在always語句中賦值,而在該always語句外使用,使綜合時能準確地匹配。建議不要使用區域性變數。

15、不能在多個always塊中對同乙個變數贖值

16、函式

函式代表乙個組合邏輯,所有內部定義的變數都是臨時的,這些變數綜合後為wire。

17、任務:

任務可能是組合邏輯或者時序邏輯,取決於何種情況下呼叫任務。

18、z:

z會綜合成乙個三態門,必須在條件語句中賦值

19、引數化設計:

優點:引數可過載,不需要多次定義模組

四:模組優化

1、資源共享:

當程序涉及到共用alu時,要考慮資源分配問題。可以共享的操作符主要有:關係操作符、加減乘除操作符。通常乘和加不共用alu,乘除通常在其內部共用。

2、共用表示式:

如:c=a+b;

d=g+(a+b);

兩者雖然有共用的a+b,但是有些綜合工具不能識別.可以將第二句改為:d=g+c;這樣只需兩個加法器.

3、轉移**:

如迴圈語句中沒有發生變化的語句移出迴圈.

4、避免latch:

兩種方法:1、在每乙個if分支中對變數賦值。2、在每乙個if語句中都對變數賦初值。

5:模組:

綜合生成的儲存器如rom或ram不是一種好方法。最好用庫自帶的儲存器模組。

五、驗證:

1、敏感表:

在always語句中,如果敏感表不含時鐘,最好將所有的被讀取的訊號都放在敏感表中。

2、非同步復位:

建議不要在非同步時對變數讀取,即非同步復位時,對訊號贖以常數值。 歡迎進入超前mcu技術論壇對關於verilog綜合-個人小結進行討論!

Verilog綜合小結

一 基本 verilog中的變數有線網型別和暫存器型別。線網型變數綜合成wire,而暫存器可能綜合成wire,鎖存器和觸發器。二 verilog語句結構到門級的對映 1.連續性賦值 assign 連續性賦值語句邏輯結構上就是將等式右邊的驅動左邊的結點。因些連續性賦值的目標結點總是綜合成由組合邏輯驅動...

綜合測評個人小結

篇一 大學生綜合素質測評自我總結 學生綜合素質測評自我總結 今年是我進入大學的第一年。一年來,在各級領導和老師 同學們的關心幫助下,通過自身不斷努力,各方面均取得一定的進步。現總結如下 思想政治學習方面 積極參加學院及班級組織的思想政治學習教育活動,不斷提高自身的政治素質。並遞交了入黨申請書,積極向...

大學個人小結

大學生活即將結束 回顧大學時間裡的學習 生活和工作,有成功的汗水,也有失敗的辛酸,正是有了這些在大學裡的歷練,才讓我在走向競爭激烈的社會的時候有著以往不能比擬的自信。學習上,吸取了前幾年的經驗和教訓,我努力協調各方面時間,上課認真聽講,記好筆記,我還充分利用學校的圖書館資源,堅持閱讀各類書籍 報刊 ...