用verilog來描述組合邏輯電路


1,什么是組合邏輯電路?

邏輯電路在任何時刻產生的穩定的輸出信號僅僅取決於該時刻的輸入信號,而與過去的輸入信號無關,即與輸入信號作用前的狀態無關,這樣的電路稱為組合邏輯電路。

上圖給出了一個典型的數字邏輯電路模型,其中的輸入信號為X={X1,...,Xn},Y={Y1,...,Yn}為對應的輸出信號,輸入與輸出的關系可以表示為:Y=F(X)。

 

2,組合邏輯電路有哪些特點?

組合邏輯電路具有兩個特點:

(1).由邏輯門電路組成,不含有任何的記憶元件;

(2).電路是單向傳輸的,電路中不存在任何反饋回路。

 

3,如何描述組合邏輯電路?

(1)真值表;

(2)邏輯表達式

(3)邏輯門電路圖

(4)卡諾圖

(具體描述略)

 

4,各種描述之間相互轉換關系?

(1)真值表——邏輯表示

(2)邏輯表達式——邏輯電路圖

(3)邏輯電路圖——真值表

(具體描述略)

 

5,如何使用verilog描述組合邏輯電路,及注意事項?

(1)使用assign描述組合邏輯電路;

在verilog HDL,用assign描述的部分都是組合邏輯電路,下面對assign做簡要的介紹:

assign:連續賦值語句是Verilog數據流建模的基本語句,用於對線網進行賦值,等價於門級描述,然而是從更高的抽象層次對電路進行描述。assign語法表示如下:

continuous_assign ::=assign [drive_stength] [delay] list_of_net_assignments;

               list_of_net_assignment :: =net_assignment {, net_assignment}

               net_assignment :: +net_lvalue =expression

               drive_strength默認為strong1,strong0。

注意連續賦值語句只能對線網進行賦值,即等式左邊一定是線網數據類型,右邊可以是任意的數據類型。

 

(2)使用always描述組合邏輯電路;

always不僅可以用來描述時序邏輯電路,也可以用來描述組合邏輯電路,主要區別在於敏感列表和賦值方式。這里只介紹always在組合邏輯電路中的應用。

1)在敏感列表中使用電平敏感事件,而不用邊沿敏感列表;

2),為變量賦值使用阻塞賦值,而不用非阻塞賦值;

3),在always塊內被賦值的變量必須為寄存器型變量。

 

(3)使用門級原語描述組合邏輯。(具體描述略,可參考verilog相關書籍)

 


免責聲明!

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



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