集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1404|回复: 4

fpga设计优化

[复制链接]
zxopenljx 发表于 2020-7-11 15:14:36 | 显示全部楼层 |阅读模式
在fpga设计中,必须首先明确hdl源代码编写非常重要;不同综合工具包含的综合子集不同致使有些hdl语句在某些综合工具中不能综合;同一逻辑功能可用不同hdl语句进行描述,但占用资源却可能差别很大。同时应当深刻理解并发性是硬件描述语言与普通高级语言的根本区别,因而设计硬件电路不能受传统顺序执行思维的束缚。
此外,我们应当清楚速度优化与面积优化在fpga设计中占有重要地位。

对于大多数数字系统设计而言,速度常常是第一要求,但fpga结构特性、综合工具性能、系统电路构成、pcb制版情况及hdl代码表述都会对工作速度产生重要影响。我们通过在电路结构设计中采用流水线设计、寄存器配平、关键路径法可以进行速度优化。

(1)流水线设计

流水线(pipelining)技术在速度优化中相当流行,它能显著提高系统设计的运行速度上限,在现代微处理器、数字信号处理器、mcu单片机、高速数字系统设计中都离不开流水线技术。图4与图5是流水线设计的典型图示,其中图4未使用流水线设计,图5采用了2级流水线设计,在设计中将延时较大的组合逻辑块切割成两块延时大致相等的组合逻辑块,并在这两个逻辑块中插入了触发器,即满足以下关系式:ta=t1+t2,t1≈t2。通过分析可知,图4中fmax≈1/ta;图5中流水线第1级最高工作频率fmax1≈1/t1,流水线第2级最高工作频率fmax2≈1/t2≈1/t1,总设计最高频率为fmax≈fmax1≈fmax2≈1/t1,因此图5设计速度较图4提升了近一倍。流水线工作原理可用图6表示。

(2)寄存器配平(register balancing)

寄存器配平是通过配平寄存器之间的组合延时逻辑块来实现速度优化,如图7、图8所示。图7中两个组合逻辑块延时差别过大,导致设计总体工作频率fmax取决于t1,即最大的延时模块,从而使设计整体性能受限。通过对图7设计进行改进,将延时较大的组合逻辑1的部分逻辑转移到组合逻辑2中,成为图8结构,以减小延时t1,使t1≈t2,且满足t1+t2=t1+t2。寄存器配平后的图8结构中fmax≈1/t1》1/t1,从而提高了设计速度。

(3)关键路径法

关键路径是指设计中从输入到输出经过的延时最长的逻辑路径,优化关键路径是提高设计工作速度的有效方法。图9中td1》td2,td1》td3,关键路径为延时td1的模块,由于从输入到输出的延时取决于延时最长路径,而与其他延时较小的路径无关,因此减少td1则能改善输入到输出的总延时。

在优化设计过程中关键路径法可反复使用,直到不可能减少关键路径延时为止。

许多eda开发工具都提供时序分析器可以帮助找到延时最长的关键路径,以便设计者改进设计。对于结构固定的设计,关键路径法是进行速度优化的首选方法,可与其他方法配合使用。

在fpga设计中,面积优化实质上就是资源利用优化,面积优化有多种实现方法,诸如资源共享、逻辑优化、串行化,其中资源共享使用较多,下面举例说明。

在利用fpga设计数字系统时经常遇到同一模块需要反复被调用,例如多位乘法器、快速进位加法器等算术模块,它们占用芯片资源很多,使系统成本及器件功耗大幅上升,因而使用资源共享技术能够显著优化资源。

zhangyukun 发表于 2020-7-11 18:16:02 | 显示全部楼层
fpga设计优化
hellokity 发表于 2020-7-14 20:32:12 | 显示全部楼层
fpga设计优化
 楼主| zxopenljx 发表于 2023-10-30 17:41:27 | 显示全部楼层
fpga设计优化
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 13:27 , Processed in 0.059889 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表