reg[15:0]data_mem [3200-1:0]读表资源不够请问怎么读表省资源

2019-07-15 20:50发布

Altera官网的工程师:
     你们好,我在用FPGA设计DFT仿真时碰到quartus 编译资源不够的问题,想问问你们怎么解决这个问题。我的仿真软件是modelsim6.5SE,quartus版本是quartus13.1SP4,问题具体如下:
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
1.   首先给出modelsim  仿真的结果图,
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
2.   Quartus编译结果
2.1        移植到quartus下进行编译,说明资源不够
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg

(*ramstyle ="M-RAM"*) reg[15:0]data_mem [3200:0];将这个映射到RAM上,但编译结果还是这样的,
2.2屏蔽掉下图这个模块中的程序,
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
编译立马减少到
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
进入到SINCOS模块中,屏蔽掉
//(*ramstyle = "M-RAM"*)reg[15:0]data_mem [3200:0];
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
编译结果
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
定义不消耗资源。
写进去也不占用什么资源,同上的逻辑
但涉及到读表操作时,就会有这些问题,就会资源不够的问题

3  实验这几种写法编译得到的结果
(* ramstyle = "M512" *)reg[15:0]data_mem [`DFT_POINT-1:0];得到的结果,估计也不会太好,
(* ramstyle = "M9K" *)reg[15:0]data_mem [3200-1:0];编译结果不好,
请教问题的核心,是怎么解决这个读取问题,降低读取资源,时间越快越好。
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
时间我统计了一下,这么计算80点的乘法加法运算,需要100M时钟100clk1us)就可以实现,我程序中是算5个模块都编译不过去,我想算(50个模块*3=150)模块逻辑,时间在15us 以内。怎么建立这个需求。
怎么读表省资源
file:///C:/Users/MAIFEI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。