verilog存储器类型变量,占用资源较多 reg [22:0] rom_base_10Hz [0...

2019-07-16 00:24发布

parameter laser_out_time_table = 120;
parameter offset_before_launch = 0;
reg [22:0] rom_base_10Hz [0:laser_out_time_table-1];//2^23*20/1 000 000 000 = 0.16777216000000s编译后的结果:
Total logic elements        5,979 / 6,272 ( 95 % )
Total combinational functions        5,959 / 6,272 ( 95 % )
Dedicated logic registers        3,196 / 6,272 ( 51 % )
Total registers        3196
Total pins        31 / 92 ( 34 % )
Total virtual pins        0
Total memory bits        256 / 276,480 ( < 1 % )
Embedded Multiplier 9-bit elements        12 / 30 ( 40 % )
Total PLLs        0 / 2 ( 0 % )

LE资源占用的较多,可以确认, reg [22:0] rom_base_10Hz [0:laser_out_time_table-1]变量,把le资源占用的很大一部分,请问如何定义变量才能使存储器类型变量占用的le资源少,或者让存储器类型变量占用M4K块,m9k块等,另外,我的程序要定义一个  reg [22:0] rom_base_10Hz [0:1000]这么大的二维数组(存储器),如何解决?目前还不会使用ROM 或RAM,原因是,ROM RAM初始化不容易,还不会使用,请各位能帮帮忙
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
camp
1楼-- · 2019-07-16 01:52
那么多寄存器当然耗费很多的寄存器。不知道你设计内容是什么,但估计这没有办法减少你的逻辑消耗了。
建议使用ROM或RAM设计。没别的法子了。
lilong135984
2楼-- · 2019-07-16 04:18
RAM很简单,你仿真一下就行了!

一周热门 更多>