精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

for循環語句基本用法及示例 介紹幾種可綜合的for循環語句

sanyue7758 ? 來源:處芯積律 ? 作者:處芯積律 ? 2023-08-03 10:22 ? 次閱讀

1、采用for(int*)實現不同信號賦值的循環

利用for循環實現對信號的賦值。

如下案例中,func_id_vld為512bit,需要根據func_mode_in[1024-1:0]給func_id_vld賦值,func_mode_in每2個bit對應一個func_id_vld,即func_mode_in[1:0]對應func_id_vld[0],func_mode_in[3:2]對應func_id_vld[1],func_mode_in[1023:1022]對應func_id_vld[511], 賦值規則為func_mode_in[1:0]為2‘b01時,func_id_vld[0]為1,以此類推。

采用for(int*)類型格式,可以在一個else分支中使用,不需要使用generate,使用更加靈活,使用范圍更廣。

always@(posedge  clk)
    if(~rst_n) begin
       func_id_vld <= 512'b0 ;
    end else begin
        for(int i=0; i<512;i=i+1) begin : func_id_vld_gen
            func_id_vld[i] <= (func_mode_in[2*i+:2]==2'b01) ;
        end
    end

2、采用for(int*)實現同一個信號賦值的循環

下圖所示,采用for(int*)類型格式實現了一個16mux1的循環賦值語句,實現不同條件一下,對debug_test_16mux1的賦值操作,即16mux1的邏輯。

always@(*) begin
    debug_test_16mux1 = 128'd0;  
    for(int i=0; i<16;i=i+1) begin : debug_test_16mux1_gen
        if(cfg_16mux1_mode ==i) begin
            debug_test_16mux1  =  debug_test_in[128*i+:128] ;
            break ;
        end
    end
end
always@(*) begin
  case(cfg_16mux1_mode)
  0 : debug_test_16mux1  =  debug_test_in[127  :0    ];
  1 : debug_test_16mux1  =  debug_test_in[255  :128  ];
  2 : debug_test_16mux1  =  debug_test_in[383  :256  ];
  3 : debug_test_16mux1  =  debug_test_in[511  :384  ];
  4 : debug_test_16mux1  =  debug_test_in[639  :512  ];
  5 : debug_test_16mux1  =  debug_test_in[767  :640  ];
  6 : debug_test_16mux1  =  debug_test_in[895  :768  ];
  7 : debug_test_16mux1  =  debug_test_in[1023 :896  ];
  8 : debug_test_16mux1  =  debug_test_in[1151 :1024 ];
  9 : debug_test_16mux1  =  debug_test_in[1279 :1152 ];
  10: debug_test_16mux1  =  debug_test_in[1407 :1280 ];
  11: debug_test_16mux1  =  debug_test_in[1535 :1408 ];
  12: debug_test_16mux1  =  debug_test_in[1663 :1536 ];
  13: debug_test_16mux1  =  debug_test_in[1791 :1664 ];
  14: debug_test_16mux1  =  debug_test_in[1919 :1792 ];
  15: debug_test_16mux1  =  debug_test_in ;
  endcase 
end

NOTE:在for(int*)語句中,如果寫成debug_test_16mux1 = debug_test_in[128*i+127:128*i] , VCS會報語法錯誤;只寫成debug_test_16mux1 =debug_test_in[128*i+:128],此處需要注意。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1345

    瀏覽量

    109988
  • VCS
    VCS
    +關注

    關注

    0

    文章

    78

    瀏覽量

    9590
  • for
    for
    +關注

    關注

    0

    文章

    44

    瀏覽量

    15797
  • for循環
    +關注

    關注

    0

    文章

    61

    瀏覽量

    2493

原文標題:verilog語法:幾種可綜合的for循環語句

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言基礎知識(5)--循環語句

    C語言基礎知識(5)--循環語句
    的頭像 發表于 06-15 10:18 ?2107次閱讀
    C語言基礎知識(5)--<b class='flag-5'>循環</b><b class='flag-5'>語句</b>

    FOR循環語句分析與應用

    FOR循環語句應用比較廣泛,在機器人編程、PLC編程、C語言編程中都有應用。能讀懂這些程序語句,可以更好地理解機電設備控制原理,為機電設備安裝維修工作帶來便利。
    的頭像 發表于 09-25 17:14 ?2885次閱讀
    FOR<b class='flag-5'>循環</b><b class='flag-5'>語句</b>分析與應用

    開關語句循環語句

    switch/case開關語句是一種多分支選擇語句,是用來實現多方向條件分支的語句。雖然從理論上講采用條件語句也可以實現多方向條件分支,但是當分支較多時會使條件
    發表于 07-15 14:26 ?18次下載

    C語言入門教程-if語句和while循環

    if語句和while循環 C語言中,if語句和while循環都會用到布爾表達式。下面是一個使用if語句的簡單例子: #include
    發表于 07-29 10:48 ?8527次閱讀

    C++語言基礎講解視頻do while循環語句

    C++語言基礎講解視頻do while循環語句
    發表于 01-14 15:32 ?5次下載

    Java的循環語句的詳細資料說明

    本文檔的主要內容詳細介紹的是Java的循環語句的詳細資料說明包括了:1、while循環語句,2、do…while
    發表于 03-22 08:00 ?0次下載
    Java的<b class='flag-5'>循環</b><b class='flag-5'>語句</b>的詳細資料說明

    C語言的for循環語句的程序和電路圖免費下載

    1、在許多實際問題中,需要程序進行有規律的重復執行,這時可以用循環語句來實現。在c語言中。用來實現循環語句有for語句,while
    發表于 08-20 17:31 ?1次下載
    C語言的for<b class='flag-5'>循環</b><b class='flag-5'>語句</b>的程序和電路圖免費下載

    Verilog綜合循環語句

    Verilog中提供了四種循環語句,可用于控制語句的執行次數,分別為:for,while,repeat,forever。其中,for,while,repeat是
    發表于 10-13 12:23 ?1.9w次閱讀

    簡述HDL中循環語句綜合

    (含循環體)組成的代碼塊,EDA稱為循環框架(Loop Frame)。 在這里,HDL循環語句與算法語言的循環
    的頭像 發表于 05-12 09:27 ?2146次閱讀
    簡述HDL中<b class='flag-5'>循環</b><b class='flag-5'>語句</b>的<b class='flag-5'>可</b><b class='flag-5'>綜合</b>性

    什么是python break語句-終止循環

    循環的過程中如果要退出循環,我們可以用break語句和continue語句。
    的頭像 發表于 02-23 11:17 ?2420次閱讀

    C語言for語句介紹

    除了可以用while語句和do...while語句實現循環外,C語言還提供for語句實現循環,而且for
    的頭像 發表于 03-09 11:14 ?1230次閱讀

    Python的循環語句介紹

    哈嘍大家好,我是知道。今天帶大家了解下Python的循環語句 定義循環語句允許我們執行一個語句語句
    的頭像 發表于 05-11 17:39 ?856次閱讀

    Verilog常用的循環語句及用途

    本文主要介紹verilog常用的循環語句,循環語句的用途,主要是可以多次執行相同的代碼或邏輯。
    的頭像 發表于 05-12 18:26 ?2324次閱讀

    MATLAB中條件語句循環結構的使用方式

    MATLAB提供了多種條件語句循環結構。
    的頭像 發表于 07-05 09:41 ?4166次閱讀

    條件語句/循環語句simulink的實現方法(一)

    條件語句循環語句是計算機編程中常用的兩種控制結構
    的頭像 發表于 07-21 16:48 ?1.1w次閱讀
    條件<b class='flag-5'>語句</b>/<b class='flag-5'>循環</b><b class='flag-5'>語句</b>simulink的實現方法(一)