EDA技术与FPGA设计应用
时间:06-11
来源:互联网
点击:
4.FPGA设计优化及方案改进
在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设计数字系统时经常遇到同一模块需要反复被调用,例如多位乘法器、快速进位加法器等算术模块,它们占用芯片资源很多,使系统成本及器件功耗大幅上升,因而使用资源共享技术能够显著优化资源。图10和图11是资源共享的一个典型实例,由图可见使用资源共享技术节省了一个多位乘法器,从而达到减少资源消耗、优化面积的目的。
最后针对FPGA的设计实现提出一些改进方案,FPGA实现分为编译规划、布局布线(PAR,Place And Route)、程序比特流文件生成三个阶段,当设计不满足性能指标或不能完全布线时,可进行以下改进工作:
● 使用定时约束(Timing Constraints);
● 增大布局布线级别(PAR Effort);
● 对关键通路(Critical Paths)的数字逻辑重新设计;
● 运行重布线(Re-entrant Routing);
● 运行MPPR(Multi-Pass Place & Route,多通路布局布线);
● 运行平面布局(Floorplan)查看布局图及连通性。
下面重点介绍Re-entrant Routing与MPPR,它们都可改进布局布线结果,提高系统性能。其中Re-entrant Routing是指已运行过PAR后再次运行PAR,但跳过布局过程直接进行布线,如图12所示。MPPR则是根据不同功耗表(Cost tables)来运行PAR多次,通过对每一个PAR迭代评分来确定最好路径并保留,其中评分依据是未布线的连线个数、连线延迟与时序约束,如图13所示。
结束语
当今社会,集成电路产业已成为高技术产业群的核心战略产业,已逐渐演化为设计、制造、封装、测试协调发展的产业结构,它正进入以知识产权为创新核心的新时期。这标志着集成电路产业的竞争已由技术竞争、资本竞争进入到智力和知识产权竞争的高级阶段。
FPGA在集成电路设计应用中占有重要地位,现场可编程性是FPGA最突出的优点。用户通过利用强大的开发工具,能在最短时间内对FPGA内部逻辑进行反复设计及修改,直至满意为止,这大大缩短了产品设计开发周期,提高了最终产品性能。因而FPGA以其独有的技术优势在电子设计领域得到越来越广泛的应用。随着科学发展及工艺进步,作为重中之重的集成电路设计业必将遇到更大的挑战及发展机遇。
参考文献
1 王锁萍,龚建荣等. 电子设计自动化教程. 成都: 电子科技大学出版社, 2000.2
2 褚振勇,翁木云. FPGA设计及应用. 西安: 西安电子科技大学出版社, 2002.7
3 潘松,黄继业. EDA技术实用教程. 北京: 科学出版社. 2002,10
4 http://www.xilinx.com
5 http://www.altera.com
在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设计数字系统时经常遇到同一模块需要反复被调用,例如多位乘法器、快速进位加法器等算术模块,它们占用芯片资源很多,使系统成本及器件功耗大幅上升,因而使用资源共享技术能够显著优化资源。图10和图11是资源共享的一个典型实例,由图可见使用资源共享技术节省了一个多位乘法器,从而达到减少资源消耗、优化面积的目的。
最后针对FPGA的设计实现提出一些改进方案,FPGA实现分为编译规划、布局布线(PAR,Place And Route)、程序比特流文件生成三个阶段,当设计不满足性能指标或不能完全布线时,可进行以下改进工作:
● 使用定时约束(Timing Constraints);
● 增大布局布线级别(PAR Effort);
● 对关键通路(Critical Paths)的数字逻辑重新设计;
● 运行重布线(Re-entrant Routing);
● 运行MPPR(Multi-Pass Place & Route,多通路布局布线);
● 运行平面布局(Floorplan)查看布局图及连通性。
下面重点介绍Re-entrant Routing与MPPR,它们都可改进布局布线结果,提高系统性能。其中Re-entrant Routing是指已运行过PAR后再次运行PAR,但跳过布局过程直接进行布线,如图12所示。MPPR则是根据不同功耗表(Cost tables)来运行PAR多次,通过对每一个PAR迭代评分来确定最好路径并保留,其中评分依据是未布线的连线个数、连线延迟与时序约束,如图13所示。
结束语
当今社会,集成电路产业已成为高技术产业群的核心战略产业,已逐渐演化为设计、制造、封装、测试协调发展的产业结构,它正进入以知识产权为创新核心的新时期。这标志着集成电路产业的竞争已由技术竞争、资本竞争进入到智力和知识产权竞争的高级阶段。
FPGA在集成电路设计应用中占有重要地位,现场可编程性是FPGA最突出的优点。用户通过利用强大的开发工具,能在最短时间内对FPGA内部逻辑进行反复设计及修改,直至满意为止,这大大缩短了产品设计开发周期,提高了最终产品性能。因而FPGA以其独有的技术优势在电子设计领域得到越来越广泛的应用。随着科学发展及工艺进步,作为重中之重的集成电路设计业必将遇到更大的挑战及发展机遇。
参考文献
1 王锁萍,龚建荣等. 电子设计自动化教程. 成都: 电子科技大学出版社, 2000.2
2 褚振勇,翁木云. FPGA设计及应用. 西安: 西安电子科技大学出版社, 2002.7
3 潘松,黄继业. EDA技术实用教程. 北京: 科学出版社. 2002,10
4 http://www.xilinx.com
5 http://www.altera.com
电子 集成电路 电路 EDA 自动化 FPGA PCB 仿真 CPLD 半导体 Xilinx Altera VHDL Verilog MCU 单片机 相关文章:
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 我的FPGA学习历程(05-23)