FPGA|CPLD|ASIC论坛
直播中

张国龙

5年用户 94经验值
擅长:存储技术 控制/MCU
私信 关注
[问答]

verilog语言如何给一个数组赋值呢,新手求助,感谢各位大佬!

给定一组数据,比如1024个8位数据,需要在后续调用,因此希望定义一个位宽为8,个数1024的数组,但是因为实际需求不能用$readmemh这种方法。
还有在verilog中可以用parameter定义数组吗?
求助各位大佬,万分感谢您的解答和建议!

回帖(1)

卿小小_9e6

2021-9-10 09:57:41
哪种FPGA?其实和FPGA的类型、厂家关系不太大。
//------
verilog/vhdl都支持数组的定义,既可以是parameter,也可以是内部定义的reg/integer类型。但是它们通常都会消耗较多的逻辑资源。
//------
“$readmemh”通常用在仿真阶段。
//------
针对你描述的情况,实际使用时通常使用FPGA的片上ROM或者RAM来完成。
不管是ROM还是RAM,都可以在建立工程时通过读取文件进行初始化。文件格式支持多种,我这边常用*.coe。
2 举报
  • 张国龙: 您好,您的意思是将数组存储在片上的ROM或RAM内,通过$readmemh读取存储的数组吗?
  • 卿小小_9e6 回复 张国龙: 如果仿真,使用$readmemh;如果上板运行,建议片上ROM或RAM。

更多回帖

发帖
×
20
完善资料,
赚取积分