日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設計自動化
[導讀]在Verilog HDL語言中,時序邏輯電路使用always語句塊來實現(xiàn)。例如,實現(xiàn)一個帶有異步復位信號的D觸發(fā)器如下。例1:帶異步復位的D觸發(fā)器1。wire Din;wire clock,rst;reg Dout;always @ (posedge clock or negedge rs

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

例1:帶異步復位的D觸發(fā)器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觸發(fā)器數(shù)據(jù)輸出

 

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

 

例2:帶異步復位的D觸發(fā)器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觸發(fā)器輸出值還處于鎖定狀態(tài)

            Dout <= 1’b1;                        //D觸發(fā)器輸出值依然處于鎖定狀態(tài)

      End                                         //D觸發(fā)器的輸出為1

 

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

 

在時序邏輯電路中,always的時間控制是沿觸發(fā)的,可以單個信號也可以多個信號,中間需要用關(guān)鍵字“or”連接,例如:

 

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

    …

end

 

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

 

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

//由3個沿觸發(fā)的always塊

    …

end

 

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

一般而言,同步時序邏輯電路更穩(wěn)定,所以建議盡量使用一個時鐘觸發(fā)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉