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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 告别手动建模:我让AI用FreeCAD画了个开发板外壳被打赏¥30元 | |
| 【瑞萨RA8D1测评】总结收官——从IMU动作识别到LVGL桌宠被打赏¥33元 | |
| 【瑞萨BLE/WIFI模块测评】MPU6050双链路对比被打赏¥30元 | |
| 【瑞萨BLE/WIFI模块测评】DA14531被打赏¥28元 | |
| 【瑞萨BLE/WI-FI模块测评】DA16200被打赏¥28元 | |
| 【瑞萨BLE/WIFI模块测评】环境搭建被打赏¥32元 | |
| 【瑞萨RA8D1测评】LVGL显示动画被打赏¥30元 | |
| 【瑞萨RA8D1测评】IMU动作识别的数据采集与模型训练被打赏¥33元 | |
| 【S32K3学习整理】时钟系统 ClockOut 功能被打赏¥28元 | |
| 【S32K3学习整理】以太网LoopBack模式功能验证被打赏¥26元 | |
我要赚赏金
