永发信息网

verilog 二维数组是如何初始化的啊?

答案:4  悬赏:30  手机版
解决时间 2021-04-04 20:11
verilog 二维数组是如何初始化的啊?
最佳答案
module test(
input wire rst_n // Reset, Active Low
,input wire clk
//
// Add other inputs and outputs here
//
);
integer k;
parameter n = 10; // set the value of n here
reg signed [20:0] e[0:n-1];
always @(posedge clk or negedge rst_n) begin
if(~rst_n) begin
for(k=0;k end
else begin
// change the value of e here normally
end
end

endmodule
全部回答
你说的二维数组实际上是一个memory类型的变量,verilog里是没有数组的。这个有很多方式,楼上的方法可以,可以用initial. 还可以用文件来初始化:$readmemb 或 $readmemh。看你想干什么用,设计的时候要对应硬件模型
你说的这种情况我在前几天的毕设中也遇到过,这种情况只能用fpga中的寄存器或者RAM块来实现.
具体的话,你说的这种定义是不可行的,可以参考上面几位说的用lpm_rom ip核来实现--就是在FPGA中实现一个订制ROM或者RAM,选用哪种看实际情况.像你这种算法处理的话应该用RAM来反复进行算法的计算.
还有一点需要注意的是FPGA实现算法尽量用流水线来实现.因为FPGA的寄存器资源有限.数据的反复计算再存储可能需要大量的寄存器,这样可能造成实现困难,解决方法要看你实现的算法能不能进行一些优化.比如像FFTip里用到的一个小技巧一组数据计算后又存到原来的寄存器组中.
自己的一点小经验希望能帮到你

参考资料:FPGA verilog语法 eda

您说的二维数组在verilog中表示一个储存器,ram或rom。
建立这个储存器两种初始化方法一种就是:有规律的数据用for是可以赋值的
但是如果是很多无规律的数据需要您建立lpm_rom,并将数据写入.mif文件后加载到rom中,
欢迎追问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
当红明星代表自己的歌曲
杨紫怎么变这么漂亮了
研究生怎样从生源地信用助学贷款
磷化废水中含哪些重金属
书法有几种字体
外面的衣服穿着可以看见里面的内衣痕怎么办,
请教这四个字是什么
请问磨床加工0.1槽怎么操作
常州西夏墅派出所户籍科上班时间
十年前后的家乡,写作文要怎么写,还要有三百
在平面直角坐标系中,点A的坐标为(1,2),
我的眼睛近视三百度怎么办
已知bn=n(n∈N),记c=(-1)∧nbnan∧-1
1、为什么光纤接头用热缩套管法增强保护时,
一句给朋友的暖心话,送给朋友一句暖心话
推荐资讯
本人成教会计本科毕业无学位,均分85雅思未考
滴滴宾客是什么意思,理念s11、3跑滴滴动力怎
描写西北荒凉的诗句,古诗中描写西北风光的名
同一根网线用在不通的两台电脑上一台通一台不
请教大神,一般小轿车车轮的紧固螺丝是正牙还
考斯特什么驾照能开
菜市场运进蔬菜共400千克,其中茄子占八分之
管理职能都包括什么内容?
美帝亚陶瓷刀怎么样,TCT刀那个牌子质量好用点
古代公主2字名字
一方,那么两米宽三米长一米高有多少方
我妹妹今年高考500分,理科的,想学医,请筒
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?