引用b站大佬rong晔手册
1.面积优化的意义:
1)可使用规模更小的可编程器件,降低系统成本,提高性价比。
2)当耗用资源过多时会严重影响时序性能。
3)为后续技术升级留下更多的可编程资源。
4)资源耗用太多会使器件功耗显著上升。
2.优化方法:
1)资源共享:针对数据通路中耗费逻辑资源较多的模块,通过选择、复用的方式共享使用该模块,达到减少资源使用、优化面积的目的。
高级的 HDL 综合器,如 QuartusII 和 Synplify Pro 等,通过设置能自动识别设计中需要资源共享的逻辑结构,自动地进行资源共享。
2)逻辑优化:状态机的设计要尽可能简洁,不要搞出不必要的,多个状态对同一个数据做处理。
if 语句中用单 bit 的标志位代替多 bit 的数据来进行条件判断。设计尽可能简洁,不要弄出冗余赋值。
对于复杂逻辑操作,输入到输出的对称性越好,往往中间逻辑就越少,面积越小。一般优化中,可以将不关注中间信号的设计的逻辑优化掉,实现对称结构。
复位对设计面积的影响。能不用复位最好不用,优先使用异步复位,其次使用同步复位。三者的资源消耗依次增加。
3)串行化:将原来耗用资源巨大、单时钟周期内完成的并行执行的逻辑块分割开,提取出相同的逻辑模块(一般为组合逻辑块),在时间上利用该逻辑模块,用多个时钟周期完成相同的功能,其
代价是工作速度被大为降低。
4)使用原语设计。可以直接调用数字电路的结构,降低面积的使用率。