<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  我們來(lái)做一個(gè)4選一的Mux的實(shí)驗,首先是利用if…else語(yǔ)句來(lái)做,如下。

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

  (由輸入xsel來(lái)選擇輸出的路數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;

  綜合后的視圖如下:

  

點(diǎn)擊看大圖

 

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

  下面就看用case語(yǔ)句來(lái)做這個(gè)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;

  它的視圖如下:

  

點(diǎn)擊看大圖

 

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



關(guān)鍵詞: verilog RTL

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>