面积换速度
- 流水线
Verilog 流水线设计 Pipeline - 乒乓操作
Verilog 乒乓操作 - 逻辑复制(并行化)
https://www.cnblogs.com/linjie-swust/archive/2012/03/27/FPGA_verilog.html
1)如果信号的扇出非常大,那么为了增加这个信号的驱动能力,一种办法就是插入多级Buffer,但是这样虽然能增加驱动能力,但是也增加了这个信号的路径延时。
原因见 数字IC中的buffer
解决该问题常用方法为驱动信号逻辑复制,即对扇出很大的信号产生逻辑进行多次复制,生成多路同频同相的信号去驱动下级逻辑电路。
在使用过程中可以和buffer一起使用,平衡资源利用率和时延,防止资源分配不均或者时序考虑不周。
2) 需要很多重复的组合逻辑
注:在FPGA设计中有些情况的逻辑复制不需要我们做,但是有些情况的逻辑复制不得不手工完成,
4. 串并转换
https://www.eefocus.com/ilove314/blog/11-09/231477_11881.html
面积优化
-
串行化
将原来耗用资源巨大、单时钟周期内完成的并行执行的逻辑块分割开,提取出相同的逻辑模块(一般为组合逻辑块),在时间上利用该逻辑模块,用多个时钟周期完成相同的功能,其代价是工作速度被大为降低。 -
模块复用 (资源共享)
先乘后选择
先选择乘积项再乘
后者在逻辑结果上没有任何改变,但却节省了一个代价高昂的乘法器,使得整个设计占用的面积几乎减少了一半。
资源共享主要针对数据通路中耗费逻辑资源较多的模块,通过选择、复用的方式共享使用该模块,达到减少资源使用、优化面积的目的。
并不是在任何情况下都能以此法实现资源优化,与门之类的模块使用资源共享是无意义的,有时甚至会增加资源的使用(多路选择器的面积显然要大于与门)。高级的HDL综合器,如QuartusII和Synplify Pro等,通过设置能自动识别设计中需要资源共享的逻辑结构,自动地进行资源共享。