在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 不同的verilog代碼風(fēng)格看RTL視圖之三

      不同的verilog代碼風(fēng)格看RTL視圖之三

      作者: 時間:2015-02-06 來源:網(wǎng)絡(luò) 收藏

        我們來做一個4選一的Mux的實驗,首先是利用if…else語句來做,如下。

      本文引用地址:http://www.biyoush.com/article/269610.htm

        (由輸入xsel來選擇輸出的路數(shù)xin0,xin1,xin2,xin3其一,輸出yout)

        Ex3:

        input clk;

        input xin0,xin1,xin2,xin3;

        input[1:0] xsel;

        output yout;

        reg youtr;

        always @ (posedge clk)

        if(xsel == 2'b00) youtr <= xin0;

        else if(xsel == 2'b01) youtr <= xin1;

        else if(xsel == 2'b10) youtr <= xin2;

        else youtr <= xin3;

        assign yout = youtr;

        綜合后的視圖如下:

        

      點擊看大圖

       

        上面的視圖里,可以看出有三個等于比較器,然后在觸發(fā)器前會有三個2選1的選擇器。和我們的代碼是一樣的,第一個if語句的優(yōu)先級是最高的(這里所謂的優(yōu)先級最高不是軟件意義上的高優(yōu)先級,由于HDL設(shè)計的并行性,判斷語句綜合后不是先后進行判斷,而是在同一時刻進行判斷,也就是說if和后面的if else 或者else其實是同時進行判斷的),看紅線連接的網(wǎng)絡(luò),如果它的等于比較器的邏輯值為1,那么決定了最后一個2選1mux的值必定是和xin0連接的而與前面的結(jié)果無關(guān)。依次類推,如果它的等于比較器的值為0,那么最后的輸出就由前面的邏輯來決定。其實,綜合出來這樣的結(jié)果和我們的設(shè)想還是有出入的,一個4選1mux何必如此復(fù)雜呢。

        下面就看用case語句來做這個4選1mcu吧。

        input clk;

        input xin0,xin1,xin2,xin3;

        input[1:0] xsel;

        output yout;

        reg youtr;

        always @ (posedge clk)

        case (xsel)

        2'b00: youtr <= xin0;

        2'b01: youtr <= xin1;

        2'b10: youtr <= xin2;

        default: youtr <= xin3;

        endcase

        assign yout = youtr;

        它的視圖如下:

        

      點擊看大圖

       

        呵呵,上面應(yīng)該就是我們所要的,4選1的mux,一目了然。Case與if的用法還是應(yīng)該根據(jù)具體的情況而定,但是盡量多用case往往會更簡化硬件電路。



      關(guān)鍵詞: verilog RTL

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉