如果寄存器都还有使能端 或 复位端,占用的FPGA资源会变大吗?
时间:10-02
整理:3721RD
点击:
如果我的代码是这样的:always@(posedge CLK)begin
if(EN==1)begin
reg1<=...
reg2<=....
...........
end
end
然后寄存器就有使能端了是吧,然后占用的FPGA的资源会变大吗?(类似的还有复位端)
(其实我想的是,如果去掉这些关于使能或者复位的代码,占用的资源会不会少一点。)
if(EN==1)begin
reg1<=...
reg2<=....
...........
end
end
然后寄存器就有使能端了是吧,然后占用的FPGA的资源会变大吗?(类似的还有复位端)
(其实我想的是,如果去掉这些关于使能或者复位的代码,占用的资源会不会少一点。)
与其去掉始能,还不如用异步复位,节约资源。实际上fpga内的reg都是有始能的。
那个,我还是不太明白,啥叫 “与其去掉始能,还不如用异步复位”?意思是不是 “有没有使能端 对资源占用的影响不大,而在需要复位的时候选择异步复位的话资源占用比较少” ?
据我所知,Xilinx fpga的DFF都是有使能端的,不占用额外的逻辑
1. fpga的reg有始能端口,所以一般来说,用始能信号不会增加逻辑。
2. fpga的reg没有同步reset端口,都是异步reset,所以你用同步reset的话,那么需要用额外的逻辑来实现reset的同步功能。
3. 一般的fpga复位时低电平复位,如果用高电平,那么还要一个反向器。
哦,那么连线资源会多占用吗?或者说,由于连线资源的使用导致逻辑资源的增大,或者连线延迟的增大?
多一根线,连线资源就会多占用,另外,FPGA里面的LUT是可以作为连线用的,所以不仅仅是增加连线和恶化时序。
