日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Verilog HDL——循环语句

發(fā)布時(shí)間:2023/12/20 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Verilog HDL——循环语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

循環(huán)語句

Verilog HDL中4種循環(huán)語句

  • for循環(huán):指定循環(huán)次數(shù)
  • while循環(huán):設(shè)置循環(huán)條件
  • repeat循環(huán):連續(xù)執(zhí)行語句N次
  • forever循環(huán):連續(xù)執(zhí)行某條語句(不可綜合,多用于仿真激勵(lì))
  • for循環(huán)

    語法:
    for(循環(huán)變量賦初值;循環(huán)執(zhí)行條件;循環(huán)變量增值)
    循環(huán)體語句的語句塊;

    /* for 無符號(hào)數(shù)乘法器 mult_8b_for */ module mult_8b_for( a,b,q);parameter bsize =8; input[bsize:0]a,b; output[2*bsize-1:0]q;reg[2*bsize:0]q,a_t; reg[bsize-1:0]b_t; reg[bsize-1:0]cnt;always@(a or b)beginq = 0;a_t ={{bsize[0]},a};b_t = b;cnt = bsize;for(cnt = bsize; cnt > 0; cnt = cnt-1)beginif(b_t[0])beginq = q + a_t;endelse beginq = q;enda_t = a_t<<1;b_t = b_t>>1;end endendmodule

    while循環(huán)

    while表達(dá)式在開始不為真(假、x、z)則語句不被執(zhí)行。

    /* while 無符號(hào)數(shù)乘法器 mult_8b_while */ module mult_8b_while( a,b,q);parameter bsize =8; input[bsize:0]a,b; output[2*bsize-1:0]q;reg[2*bsize:0]q,a_t; reg[bsize-1:0]b_t; reg[bsize-1:0]cnt;always@(a or b)beginq = 0;a_t ={{bsize[0]},a};//{0000 0000 a}b_t = b;cnt = bsize;while(cnt>0)beginif(b_t[0])beginq = q + a_t;endelse beginq = q;endcnt = cnt - 1;a_t = a_t<<1;b_t = b_t>>1;end endendmodule

    repeat循環(huán)

    repeat循環(huán)計(jì)數(shù)表達(dá)式的值不確定時(shí)(x或z),則循環(huán)次數(shù)為0。

    /* 8比特?cái)?shù)據(jù)乘法 mult_8b_repeat */module mult_8b_repeat( a,b,q );parameter bsize = 8;input[bsize-1:0]a,b;output[2*bsize-1:0]q;reg[2*bsize-1:0]q,a_t;reg[bsize-1:0]b_t;always@(a or b)beginq = 0;a_t = {{bsize[0]},a};b_t = b;repeat(bsize) beginif(b_t[0])beginq = q + a_t;endelse beginq = q;enda_t = a_t<<1;b_t = b_t>>1;endend endmodule

    輸出q為a、b相乘:

    總結(jié)

    以上是生活随笔為你收集整理的Verilog HDL——循环语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。