FPGA综合优化方法概述.ppt

上传人:b****2 文档编号:2643825 上传时间:2022-11-04 格式:PPT 页数:73 大小:2.87MB
下载 相关 举报
FPGA综合优化方法概述.ppt_第1页
第1页 / 共73页
FPGA综合优化方法概述.ppt_第2页
第2页 / 共73页
FPGA综合优化方法概述.ppt_第3页
第3页 / 共73页
FPGA综合优化方法概述.ppt_第4页
第4页 / 共73页
FPGA综合优化方法概述.ppt_第5页
第5页 / 共73页
点击查看更多>>
下载资源
资源描述

FPGA综合优化方法概述.ppt

《FPGA综合优化方法概述.ppt》由会员分享,可在线阅读,更多相关《FPGA综合优化方法概述.ppt(73页珍藏版)》请在冰豆网上搜索。

FPGA综合优化方法概述.ppt

FPGA设计的优化原则与方法EDAHeiLongJiangUniversityFPGA设计中优化时序的原则与方法设计中优化时序的原则与方法总结总结&作业作业MAXPLUSII时序优化参数应用实例时序优化参数应用实例时序约束与时序分析时序约束与时序分析流水线结构原理及实例流水线结构原理及实例概述概述提高算法速度的方法提高算法速度的方法一、概述一、概述v1.1、概述v1.2、提高设计速度的设计思想和技巧逻辑复制串并转换布尔逻辑扩展运算使用EDA工具提高工作时序设计约束与速度优化面积的优化逻辑资源的共享。

lld一、概述一、概述v1.1概述:

复杂的算法数字逻辑电路是由基本运算逻辑、数据流动控制逻辑和接口逻辑电路所构成的。

对基本运算逻辑的深入了解是设计复杂算法逻辑系统电路结构的基本功。

虽然EDA工具能帮助我们自动地综合出极其复杂的组合和时序电路,并帮助我们对所设计的电路进行全面细致的验证,但对于速度要求很高的特殊数字信号处理电路,其结构还是由设计者来定夺。

为了提高算法的运算速度除了提高制造工艺技术外,逻辑结构设计是最逻辑结构设计是最重要的环节重要的环节。

而设计出结构合理的基本运算组合电路是算法逻辑结构设计的基础,只有深入理解复杂组合电路的许多基本特点深入理解复杂组合电路的许多基本特点,才有可能通过电路结构的改进来提高算法逻辑系统的基本时钟速度,为结构合理的高速复杂算法的数字逻辑系统的构成打下坚实的基础。

为了使同学们能熟练地把学过的基础知识运用到设计中去,有必要在这里把提高加法器、乘法器速度的电路结构原理和方法简单地复习一下,并把流水线设计的概念也在这一章中引入。

希望同学们能灵活地把这些电路结构的基本概念应用到设计中,来提高设计的水平。

一、概述一、概述v面积和速度平衡和互换原则“面积面积”:

指一个设计所消耗的FPGA的逻辑资源数量。

FPGA中的逻辑资源,也就是触发器(FF)和查找表(LUT)。

“速度速度”:

是指设计结果在芯片上稳定运行时所能达到的最高频率,这个频率由设计的时序状况决定。

与设计满足的时钟周期、PADtoPADTime、建立时间、保持时间和时钟到输出延时等众多时序特征向量密切相关。

面积和速度这两个指标贯穿着FPGA设计的始终,是设计质量评价的终极标准。

一、概述一、概述v1.2设计思想和技巧v1.2.1逻辑复制逻辑复制是一种最基本的通过增加面积改善时序条件的优化手段。

这种方法最常用的场合是调整信号的扇出。

当一个信号要驱动后级的许多单元时,也就是有多级扇出时,可能会出现如图1中左图所示的一些扇出路径的长延时。

此时的解决方法就是通过信号逻辑的复制来减少路径延时,如右图所示。

lldLELELELELELELELELE一、概述一、概述v1.2.2串并转换串并转换是面积与速度互换思想的另一种体现。

假设FPGA上处理模块的处理速度最大为100Mbits/s,如果输入数据流的速率是300Mbits/s,则明显处理模块的吞吐量不能满足要求。

在这种情况下,就应该利用“面积换速度”的思想,至少复制三个处理模块,如图2所示,首先将输入数据进行串并转换,然后利用这3个模块并行处理分配的数据,最后将处理结果“并串转换”,完成数据速率的要求。

在处理模块的两端看,数据速率是300Mbits/s,而在FPGA内部看,每个子模块处理的数据速率是100Mbits/s,整个设计占用了更多的芯片面积,但是实现了高速处理。

lld一、概述一、概述v1.2.2串并转换lld串并转换逻辑300Mbits/s100Mbits/S100Mbits/s处理模块100Mbits/s处理模块100Mbits/s处理模块100Mbits/S100Mbits/S并串转换逻辑一、概述一、概述v1.2.3布尔逻辑扩展运算流水线技术1.8位全加器;位全加器;2.带带2级流水的级流水的8位全加器位全加器3.时序分析对比时序分析对比超前进位加法器1.半加器;半加器;2.1位全加器;位全加器;3.4位行波进位加法器;位行波进位加法器;4.加法器仿真及延迟验证(加法器仿真及延迟验证

(1););5.超前进位超前进位4位全加器位全加器6.延迟分析,综合结果分析,对比,结论。

延迟分析,综合结果分析,对比,结论。

1.2.3布尔逻辑扩展运算布尔逻辑扩展运算v行波进位加法器原理lldFAS3A3B3C4FAS2A2B2C3FAS1A1B1C2FAS0A0B0C10最大延迟路径,延迟时间计算,仿真分析结果;加法器的工作时钟,制约系统的最高工作频率;解决方案:

超前进位加法器1.2.3布尔逻辑扩展运算布尔逻辑扩展运算v超前进位加法器在数字信号处理的快速运算电路中常常用到多位数字量的加法运算,这时需要用到并行加法器。

并行加法器比串行加法器快得多,电路结构也不太复杂。

它的原理很容易理解。

现在普遍采用的是Carry-Look-Ahead-Adder加法电路(也称超前进位加法器),只是在几个全加器的基础上增加了一个超前进位形成逻辑,以减少由于逐位进位信号的传递所造成的延迟。

下面的逻辑图表示了一个四位二进制超前进位加法电路。

1.2.3布尔逻辑扩展运算布尔逻辑扩展运算v同样道理,十六位的二进制超前进位加法电路可用四个四位二进制超前进位加法电路再加上超前进位形成逻辑来构成。

同理,依次类推可以设计出32位和64位的加法电路。

v不足和改进方法不足:

在实现算法时(如卷积运算和快速富里叶变换),常常用到加法运算,由于多位并行加法器是由多层组合逻辑构成,加上超前进位形成逻辑虽然减少了延迟,但还是有多级门和布线的延迟,而且随着位数的增加延迟还会积累。

由于加法器的延迟,使加法器的使用频率受到限制,这是指计算的节拍(即时钟)必须要大于运算电路的延迟,只有在输出稳定后才能输入新的数进行下一次运算。

如果设计的是32位或64位的加法器,延迟就会更大。

改进:

为了加快计算的节拍,可以在运算电路的组合逻辑层中加入多个寄存器组来暂存中间结果。

也就是采用数字逻辑设计中常用的流水线(pipeline)办法,来提高运算速度,以便更有效地利用该运算电路,我们在本章的后面还要较详细地介绍流水线结构的概念和设计方法。

我们也可以根据情况增加运算器的个数,以提高计算的并行度。

lld作业作业1v用原理图输入法完成四位超前进位加法器的设计及分析。

CompanyLogo2.流水线结构原理及实例流水线结构原理及实例v流水线技术v流水线设计是用于提高所设计系统运行速度的一种有效的方法。

为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果如果某些复杂逻辑功能的完成需要较长的延时某些复杂逻辑功能的完成需要较长的延时,就会使系统很难运行在高的频率上,在这种情况下,可使用流水线技术流水线技术,即在长延时的逻辑功能块在长延时的逻辑功能块中插入触发器中插入触发器,使复杂的逻辑操作分步完成,减少每个部分的处理延时,从而使系统的运行频率得以提高。

流水线设计的代价是增加了寄存器逻辑,即增加了芯片资源的耗用。

lldv流水线的设计方法已经在高性能的、需要经常进行大规模运算的系统中得到广泛的应用,如CPU(中央处理器)等。

目前流行的CPU,如intel的奔腾处理器在指令的读取和执行周期中充分地运用了流水线技术以提高它们的性能。

高性能的DSP(数字信号处理)系统也在它的构件(building-blockfunctions)中使用了流水线设计技术。

通过加法器和乘法器等一些基本模块,本节讨论了有关流水线的一些基本概念,并对采用两种不同的设计方法:

纯组合逻辑设计和流水线设计方法时,在性能和逻辑资源的利用等方面的不同进行了比较和权衡。

2.流水线结构原理及实例流水线结构原理及实例v所谓流水线设计实际上就是把规模较大、层次较多的组合逻辑电路分为几个级,在每一级插入寄存器组暂存中间数据。

K级的流水线就是从组合逻辑的输入到输出恰好有K个寄存器组个寄存器组(分为K级,每一级都有一个寄存器组)上一级的输出是下一级的输入而又无反馈的电路无反馈的电路。

lld长延迟逻辑(延迟为T)输入输出寄存器T/3寄存器T/3T/3输入输出2.流水线结构原理及实例流水线结构原理及实例v流水线设计需要两个时钟周期来获取第一个计算结果,而只需要一个时钟周期来获取随后的计算结果。

开始时用来获取第一个计算结果的两个时钟周期被称为采用流水线设计的首次延迟首次延迟(latency)。

v但对于CPLD来说,器件的延迟如T1、T2和T3相对于触发器的Tco要长得多,并且寄存器的建立时间Tsu也要比器件的延迟快得多。

因此流水线设计获得比同功能的组合逻辑设计更高的性能。

v采用流水线设计的优势在于它能提高吞吐量(throughput)。

首次延迟(首次延迟(latency)(从输入到输出)最长的路径进行初始化所需要的时间总量;吞吐延迟吞吐延迟执行一次重复性操作所需要的时间总量。

lld2.流水线结构原理及实例流水线结构原理及实例v流水线的延时分析123WXZ123WXZDclkDclkDclk上图时序分析:

这个组合逻辑包括两级。

第一级的延迟是T1和T3两个延迟中的最大值;第二级的延迟等于T2的延迟。

为了通过这个组合逻辑得到稳定的计算结果输出,需要等待的传播延迟为:

max(T1,T2)+T3下图时序分析:

max(max(T1,T2)+Tco,(T3+Tco)寄存器的Tco(触发时间)2.流水线结构原理及实例流水线结构原理及实例lldv课堂练习1:

分析下面电路的首次延迟和吞吐延迟:

(假设T1、T2和T3具有同样的传递延迟Tpd。

寄存器的触发时间为Tco)123WXZDclkDclkDclk首次延迟:

首次延迟:

2Tpd+2Tco吞吐延迟:

吞吐延迟:

Tpd+Tco2.流水线结构原理及实例流水线结构原理及实例v例1、用流水线结构设计一个插入3级流水线的8位加法器,并比较其与基于组合逻辑的8位超前进位加法器的运行速度。

lld四位全加器cininainbsumcoutfirstclk第一级数据锁存四位全加器第三级数据锁存第二级数据锁存Cin为低位进位输入,ina、inb为8bit的无符号数据,clk为系统时钟。

第一级锁存器存储输入数据。

第一级流水线进行ina和inb以及cin的低四位的加法运算,运算结果与高四位数据一并锁存至第二级锁存器。

第二级流水线进行高四位的加法运算,并将数据锁存至第三级锁存器,第三级锁存器输出8bit的和sum及进位输出cout。

2.流水线结构原理及实例流水线结构原理及实例v例1时序分析结果对比lld一、概述一、概述v1.2.4、使用、使用EDA工具提高工作时序工具提高工作时序在将我们的设计转换成门级网表的过程当中,市场上为我们提供了许多优秀的综合综合和布局布线工具布局布线工具。

利用这些EDA工具,可以优化我们的设计,不管是朝着面积优先还是速度优先的方向。

EDA工具优化设计的工作时序主要是通过给设计添加各种各样的时序约束时序约束,时序约束可以规范设计的时序行规范设计的时序行为为,表达设计者期望满足的时序条件表达设计者期望满足的时序条件。

通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。

lld一、概述一、概述v面积的优化逻辑资源的共享。

例如:

使用数据选择器实现加法器(运算器)的共享。

lld三、时序约束与时序分析三、时序约束与时序分析v静态时序分析与动态时序仿真的区别v设计中常用的时序概念v同步系统的系统时钟设计思想3.1静态时序分析与动态时序仿真的区别静态时序分析与动态时序仿真的区别v动态时序仿真是针对给定的仿真输入信号波形,模拟设计在器件实际工作时的功能和延时情况,给出相应的仿真输出信号波形。

它主要用于验证设计在器件实际延时情况下的逻辑功能。

由动态时序仿真报告无法得到设计的各项时序性能指标,如最高时钟频率等。

v静态时序分析则是通过分析每个时序路径的延时,计算出设计的各项时序性能指标,如最高时钟频率、建立保持时间等,发现时序违规。

它仅仅聚焦于时序性能的分析,并不涉及设计的逻辑功能,逻辑功能验证仍需通过仿真或其他手段(如形式验证等)进行。

静态时序分析是最常用的分析、调试时序性能的方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1