根據邏輯電路的不同特點,數位電路可以分為:組合邏輯和時序邏輯。
1 組合邏輯:
組合邏輯的特點是任意時刻的輸出僅僅取決於該時刻的輸入,與電路原本的狀態無關,邏輯中不牽涉跳變沿訊號的處理,組合邏輯的verilog描述方式有兩種:
(1):always @(電平敏感訊號列表)
always模組的敏感列表為所有判斷條件訊號和輸入訊號,但一定要注意敏感列表的完整性。在always 模組中可以使用if、case 和for 等各種rtl 關鍵字結構。由於賦值語句有阻塞賦值和非阻塞賦值兩類,建議讀者使用阻塞賦值語句「=」。always 模組中的訊號必須定義為reg 型,不過最終的實現結果中並沒有暫存器。這是由於在組合邏輯電路描述中,將訊號定義為reg型,只是為了滿足語法要求。
(2):assign描述的賦值語句。
訊號只能被定義為wire型。
2 時序邏輯:
時序邏輯是verilog hdl 設計中另一類重要應用,其特點為任意時刻的輸出不僅取決於該時刻的輸入,而且還和電路原來的狀態有關。電路裡面有儲存元件(各類觸發器,在fpga 晶元結構中只有d 觸發器)用於記憶資訊,從電路行為上講,不管輸入如何變化,僅當時鐘的沿(上公升沿或下降沿)到達時,才有可能使輸出發生變化。
與組合邏輯不同的是:
(1)在描述時序電路的always塊中的reg型訊號都會被綜合成暫存器,這是和組合邏輯電路所不同的。
(2)時序邏輯中推薦使用非阻塞賦值「<=」。
組合邏輯和時序邏輯
組合邏輯和時序邏輯 一 組合邏輯 always 敏感訊號 或者always 組合邏輯相當於組合電路,與或非門組成的電路,其輸出只與當前狀態有關,與其他輸入狀態的函式無關,不涉及訊號跳變處理 組合邏輯競爭冒險 只要輸入訊號同時變化,組合邏輯就必然產生毛刺 二 時序邏輯 always 跳變時鐘 是時序電...
組合邏輯與時序邏輯
組合邏輯 輸出只是當前輸入邏輯電平的函式 有延時 與電路的原始狀態無關。當前電路輸入訊號任何乙個發生改變,輸出都將發生改變。時序邏輯 輸出不僅是當前輸入電平的函式,還與目前電路的狀態有關。若controlswitch為1,則輸出in訊號,否則輸出0。inout 7 0 bus 定義匯流排wire a...
組合邏輯LUT和時序邏輯REG
lut look up table 查詢表。lut本質上就是乙個ram。它把資料事先寫入ram後,每當輸入乙個訊號就等於輸入乙個位址進行查表,找出位址對應的內容,然後輸出。latch 就是鎖存器。由電平觸發,非同步控制。在使能訊號有效時latch相當於通路,在使能訊號無效時latch保持輸出狀態。l...