reg [29:0] rom_10Hz_jingpin [0:99]; integer Index_10hz_jingpin =0; reg [29:0] cnt_test;reg startwrite; always @(posedge c0 or negedge rst_n) if (!rst_n) begin cnt_test <= 30'd0; startwrite<=1'b0; end else begin cnt_test <= cnt_test+1'b1; if (cnt_test==30'd600000000) begin cnt_test <= 30'd0;startwrite<=1'b1;end end always @(posedge c0) if (startwrite ==1'b1) begin for(Index_10hz_jingpin=0;Index_10hz_jingpin<100;Index_10hz_jingpin=Index_10hz_jingpin+1) rom_10Hz_jingpin[Index_10hz_jingpin]=2500000*(Index_10hz_jingpin+1); end 晶振50mhz 20ns 程序要实现的功能是:由某个变量控制rom_10Hz_jingpin 变量的初始化,即当控制变量为1时,写入数据到rom_10Hz_jingpin 中,然后利用rom_10Hz_jingpin 中的数据点亮led,但是综合后情况并非预期那样。 而是fpga上电后,数据就应该写入rom_10Hz_jingpin 中了,因为上电后,led就开始点亮了,并没有受到控制变量的控制。 本来程序应该在600000000*20ns = 12s后才向rom_10Hz_jingpin 变量填充数据,即 led应该在12s后才开始闪烁的,现在是上电后就开始闪烁了,不解中。。。。。 但是我实验了,for语句可以被综合的,修改rom_10Hz_jingpin 初始化化的数据,然后综合下载到fpga中,新数据生效了,说明for语句起作用了,但是为什么for语句是一上电就执行了呢》?
共2条
1/1 1 跳转至页
#芝麻开门#fpga中reg [29:0] rom_10Hz_jingpin [0:99];类型的存贮器用for循环初始化的问题

关键词: verilog中for循环赋值问题
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |