lakas 发表于 2013-4-16 15:58:23

求教大神,一条语句占用了FPGA9万多个逻辑单元

语句是:
input wire addr,//接入的是dsp_ea
output reg q,

reg headers,
//'define TEST
'ifdef TEST
....
'else
always@(posedge clk)begin
if(rden)begin
q<=headers];
q<=headers+1];
end
end
'endif
编译时没有语法错误,但是会显示逻辑单元不够用而出错,会占用9万多个逻辑单元。但是注释掉q<=headers]; 和q<=headers+1];这两条语句则只用9千多个逻辑单元。最开始q是8位的reg型,后来逻辑有改动,将q设为16位的reg或者wire都出现这个问题。
FPGA芯片是EP3C55F484I7,用的是QUARTUSII 11.1。

lureny 发表于 2013-4-19 10:04:14

嗯,这个还真有点意思,reg headers这句话基本上就要8192个单元。
q<=headers]; 这个是2048选一,你有16个这样的2048选一。
如果可以,你现在是16bit的选择,你不妨先做一个 1bit的选择看看需要多少单元。
页: [1]
查看完整版本: 求教大神,一条语句占用了FPGA9万多个逻辑单元