for循环语句基本用法及示例 介绍几种可综合的for循环语句
(相关资料图)
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 endend
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],此处需要注意。
审核编辑:刘清
关键词:
相关阅读
-
for循环语句基本用法及示例 介绍几种可...
利用for循环实现对信号的赋值。 -
8月2日国内锂价继续下跌 电池级碳酸锂...
上海钢联8月2日发布的数据显示,电池级碳酸锂均价相比1日下跌0 3万元 -
打破过去11年盲选模式增加明选赛道 《2...
日前,《2023中国好声音》在浙江卫视开播,今年“好声音”打破了过去... -
外卖塑料垃圾调查②丨一年170亿份外卖订...
编者按:塑料问题已成为仅次于气候变化的全球性环境问题。近年来,外卖 -
京津冀特大暴雨,带给应急通信工作怎样...
上个月,我发卫星基站中移集采那篇文章的时候,就提到:未来即将进入汛 -
韩国驻华大使馆:向台风“杜苏芮”遇难...
【韩国驻华大使馆:向台风“杜苏芮”遇难者致哀,望受灾地区尽快恢... -
SABIC发布2023年第二季度财报
沙特基础工业公司(SABIC)今日发布2023年第二季度财报。二季度公司销 -
十年磨一剑,敢为天下先——中国自贸区...
自2013年9月上海自贸试验区正式设立以来,中国自贸试验区建设已走过十 -
博德之门3守望者的指引在哪
在博德之门3游戏中守望者的指引是很强力的装备但是很多玩家不知道守望 -
硬件产品营收下滑 服务业务继续增长:...
【ITBEAR科技资讯】8月4日消息,在截至2023年7月1日的第三财季,苹果公 -
AI PC登场!英特尔预计推出具备AI增强...
【ITBEAR科技资讯】8月4日消息,英特尔(Intel)CEO帕特・基辛格近日接受 -
湖北发布加快完善青年就业创业工作体系...
湖北省政府办公厅日前发布关于加快完善高校毕业生等青年就业创业工作体 -
“日本执意排放核污染水是极不负责任的...
日本政府和东京电力公司(以下简称“东电公司”)一意孤行,无视国内... -
猪血属于发物吗
血液食物分类调查是目前较为流行的一种饮食方式,它的理念是通过血型对 -
住民宿,逛森林!上海将建成50座开放休...
金山张堰镇百家村,小有名气的民宿舟墨,院子里摆着浆板,走出去一分钟 -
通江县委统战部召开党风廉政建设工作专题会
近日,通江县委统战部召开党风廉政建设工作专题会,传达学习相关文件精 -
本周精铜杆行业开工率如期回升 但周...
本周SMM调研了国内主要大中型铜杆企业的生产及销售情况,综合看企业开 -
国电投宁夏青铜峡新材料有限公司合金锭...
近日,国电投宁夏青铜峡新材料有限公司合金锭1 生产线改造升级动工,原 -
牛肋排怎么做好吃
牛肋排是一道美味可口的美食,下面我将回答一些人们在搜索牛肋排时可能 -
深圳:到2025年全市新能源汽车年产量超2...
8月3日,深圳市工业和信息化局印发《深圳市加快打造“新一代世界一...