Verilog HDL基礎教程之:時序邏輯電路

2020-12-27 電子產品世界

Verilog HDL言中,時序邏輯電路使用always語句塊來實現。例如,實現一個帶有異步復位信號的D觸發器如下。

本文引用地址:http://www.eepw.com.cn/article/189522.htm

例1:帶異步復位的D觸發器1。

wire Din;

wire clock,rst;

reg Dout;

always @ (posedge clock or negedge rst) //帶有異步復位

if(rst == 1』b0) Dout = 1』b0;

else Dout = Din; //D觸發器數據輸出

在例1中,每當時鐘clock上升沿到來後,輸出信號Dout的值便更新為輸入信號Din的值。當復位信號下降沿到來時,Dout的值就會變成0。必須注意的是,在時序邏輯電路中,通常使用非阻塞賦值,即使用「=」。當always塊整個完成之後,值才會更新,例如:

例2:帶異步復位的D觸發器2。

wire Din;

wire clock,rst;

reg Dout;

always @ (posedge clock or negedge rst) //帶有異步復位

if(rst == 1』b0) out = 1』b0;

else begin

Dout = Din; //D觸發器輸出值還處於鎖定狀態

Dout = 1』b1; //D觸發器輸出值依然處於鎖定狀態

End //D觸發器的輸出為1

在例2中,Dout首先被賦值為Din,此時Dout的值並沒有發生改變;接著Dout又被賦值為1,此時Dout的值依然沒發生改變;直到這個always模塊完成,Dout的值才變成最後被賦的值,此例中Dout的值為1。

時序邏輯電路中,always的時間控制是沿觸發的,可以單個信號也可以多個信號,中間需要用關鍵字「or」連接,例如:

always @(posedge clock or posedge reset) begin //由兩個沿觸發的always塊

end

其中有一個時鐘信號和一個異步復位信號。

always @(posedge clock1 or posedge clock2 or posedge reset) begin

//由3個沿觸發的always塊

end

其中有兩個時鐘信號和一個異步復位信號。

一般而言,同步時序邏輯電路更穩定,所以建議儘量使用一個時鐘觸發。

電路相關文章:電路分析基礎


相關焦點

  • Verilog HDL基礎教程之:組合邏輯電路的實現
    數字邏輯電路分為兩種,分別是組合邏輯與時序邏輯。本文引用地址:http://www.eepw.com.cn/article/189531.htm(1)組合邏輯:輸出只是當前輸入邏輯電平的函數(有延時),與電路的原始狀態無關的邏輯電路。
  • 組合邏輯電路和時序邏輯電路比較_組合邏輯電路和時序邏輯電路有...
    打開APP 組合邏輯電路和時序邏輯電路比較_組合邏輯電路和時序邏輯電路有什麼區別 發表於 2018-01-30 17:26:04
  • 組合邏輯電路和時序邏輯電路的區別
    打開APP 組合邏輯電路和時序邏輯電路的區別 姚遠香 發表於 2019-02-26 15:32:30 而時序邏輯電路不僅僅取決於當前的輸入信號,而且還取決於電路原來的狀態,或者說,還與以前的輸入有關。   二、結構特點   組合邏輯電路只包含門電路。而時序邏輯電路是組合邏輯電路+存儲電路結合;輸出狀態必須反饋到組合電路的輸入端,與輸入信號共同決定組合邏輯的輸出..
  • 細談FPGA之Verilog HDL語法(一)
    這也就是說,無論描述電路功能行為的模塊或描述元器件或較大部件互連的模塊都可以用Verilog語言來建立電路模型。如果按照一定的規矩編寫,功能行為模塊可以通過工具自動地轉換為門級互連模塊。Verilog模型可以是實際電路的不同級別的抽象。這些抽象的級別和它們對應的模型類型共有以下五種:系統級(system): 用高級語言結構設計實現模塊的外部功能。
  • 時序邏輯電路的分析方法
    打開APP 時序邏輯電路的分析方法 佚名 發表於 2009-04-07 23:18:11 時序邏輯電路的分析方法1.
  • 時序邏輯電路的特點及邏輯圖分析
    時序邏輯電路其任一時刻的輸出不僅取決於該時刻的輸入,而且還與過去各時刻的輸入有關。常見的時序邏輯電路有觸發器、計數器、寄存器等。由於時序邏輯電路具有存儲或記憶的功能,檢修起來就比較複雜。
  • 可編程邏輯培訓——Verilog 語言基礎
    8、用戶自定義原件(UDP元件)是不能被綜合的。一:線網型變量綜合成wire,而寄存器可能綜合成WIRE,鎖存器和觸發器,還有可能被優化掉。二:verilog語句結構到門級的映射1、連續性賦值:assign連續性賦值語句邏輯結構上就是將等式右邊的驅動左邊的結點。因此連續性賦值的目標結點總是綜合成由組合邏輯驅動的結點。Assign語句中的延時綜合時都將忽視。
  • ​verilog相關基礎知識
    對應的硬體關係:    在時序邏輯電路:觸發器   (時序邏輯--always語句塊中帶時鐘信號    )    在組合邏輯電路:硬體連線(組合邏輯--always語句塊中不帶時鐘信號)    舉例:    reg [31:0]  delay_cnt     //位寬為32位    reg
  • 使用Verilog語言實現CMOS圖像敏感器時序驅動電路設計
    由於CMOS敏感器的驅動信號絕大部分是數位訊號,因此可採用FPCA通過Verilog HDL語言編程產生驅動時序信號。Verilog HDL語言是IEEE標準的用於邏輯設計的硬體描述語言,具有廣泛的邏輯綜合工具支持,簡潔易於理解。本文就STAR250這款CMOS圖像敏感器,給出使用Verilog HDL語言設計的邏輯驅動電路和仿真結果。
  • Verilog HDL基礎教程之:程序基本結構
    Verilog HDL是一種用於數字邏輯電路設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言,也是一種結構描述的語言。
  • 兩款時序邏輯電路設計實驗方案報告解析
    組合邏輯電路設計實驗報告         一、實驗目的 1.加深理解組合邏輯電路的工作原理。 2、通過此次組合邏輯電路實驗,你對組合邏輯電路的設計是否有更清楚的認識?若沒有,請分析原因;若有,請說明在哪些方面更加清楚。 有,對組合邏輯電路中規模集成晶片的認識更深了,對於加法器的認識也更加深入,通過這次實驗也更加深刻的理解了他的真正函數式。
  • HDLBits:在線學習Verilog(七 · Problem 30-34)
    下面給出了一個基本的if語句和其綜合出來的電路。解答與分析// synthesis verilog_input_version verilog_2001module top_module( input a, input b, input sel_b1, input sel_b2, output wire out_assign,
  • 關於學習verilog
    以做邏輯為例,並不是一上來就開始寫代碼,而是要先寫總體設計方案和邏輯詳細設計方案,要等這些方案評審通過,認為可行了,才能進行編碼,一般來說這部分工作所佔的時間要遠大於編碼的時間。  總體方案主要是涉及模塊劃分,一級模塊和二級模塊的接口信號和時序(我們要求把接口信號的時序波形描述出來)以及將來如何測試設計。
  • Verilog 最全經驗總結(建議收藏)
    如果必須實例化門電路,我們建議採用獨立於工藝庫的門電路,如SYNOPSYS 公司提供的GTECH 庫包含了高質量的常用的門級電路;  (24)避免冗長的邏輯和子表達式;  (25)避免採用內部三態電路,建議用多路選擇電路代替內部三態電路。規則 #1: 建立時序邏輯模型時,採用非阻塞賦值語句。規則 #2: 建立latch模型時,採用非阻塞賦值語句。
  • 看思維導圖:一文帶你學Verilog HDL語言
    :組合邏輯電路模塊:組合邏輯電路的特點是輸入的變化直接反映了輸出的變化,其輸出的狀態僅取決於輸入的當前的狀態,與輸入、輸出的原始狀態無關。時序邏輯電路模塊:時序電路具有記憶功能。時序電路的特點是:輸出不僅取決於當時的輸入值,而且還與電路過去的狀態有關。時序邏輯電路又稱時序電路,主要由存儲電路和組合邏輯電路兩部分組成。數據類型及運算符變量名變量名類似C語言,以一組字母、數字、下劃線和$符號的組合,且首字符須為字母或者下劃線。
  • 零基礎教你學FPGA之Verilog語法基礎(下)
    本文承接《零基礎教你學FPGA之Verilog語法基礎(中)》  9、關於任務和函數的小結,
  • 時序電路之觸發器
    打開APP 時序電路之觸發器 FPGA入門到精通 發表於 2021-01-06 17:07:22 時間的重要性不言而喻,加上時間這個維度就如同
  • Verilog HDL基礎之:其他常用語句
    它與always語句不同之處在於它不能獨立寫在程序中,而必須寫在initial塊中。2.always語句always語句在仿真過程中是不斷重複執行的,其聲明格式如下:always 時序控制> 語句>always語句由於其不斷重複執行的特性,只有和一定的時序控制結合在一起才有用。
  • Verilog HDL基礎之:程序基本結構
    Verilog HDL是一種用於數字邏輯電路設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言,也是一種結構描述的語言。也就是說,既可以用電路的功能描述,也可以用元器件和它們之間的連接來建立所設計電路的Verilog HDL模型。
  • Verilog HDL基礎教程之:數據類型和運算符
    這些數據類型除time型外都與基本邏輯單元建庫有關,與系統設計沒有很大的關係。在一般電路設計自動化的環境下,仿真用的基本部件庫是由半導體廠家和EDA工具廠家共同提供的。系統設計工程師不必過多地關心門級和開關級的Verilog HDL語法現象。