1、1FPGAFPGA门级结构门级结构及其时序约束与分析基础及其时序约束与分析基础 江苏大学电气信息学院赵不贿2常用设计约束种类常用设计约束种类时序约束:时序约束:规范设计的时序行为,表达设计者规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局布线阶期望满足的时序条件,指导综合和布局布线阶段的优化方法等。段的优化方法等。区域与位置约束:区域与位置约束:主要指芯片主要指芯片I/O引脚位置,以引脚位置,以及指导工具在芯片特定的物理区域进行布局布及指导工具在芯片特定的物理区域进行布局布线。线。其他约束:其他约束:目标芯片型号、电气特性等。目标芯片型号、电气特性等。时序约束的作用:时序约束的
2、作用:提高设计的工作频率;获得提高设计的工作频率;获得正确的时序报告。正确的时序报告。3几种常见的时序约束的基本概念几种常见的时序约束的基本概念1.周期与最高频率:周期与最高频率:通常指时钟所能达到的最高工作频率。通常指时钟所能达到的最高工作频率。2.时钟建立时间时钟建立时间tsu:指时钟到达前,数据和使能信号已经准指时钟到达前,数据和使能信号已经准备好的最小时间间隔。备好的最小时间间隔。3.时钟保持时间时钟保持时间th:指能保证有效时钟沿正确采样的数据和指能保证有效时钟沿正确采样的数据和使能信号在时钟沿之后的最小稳定时间间隔。使能信号在时钟沿之后的最小稳定时间间隔。4.时钟输出延时时钟输出延
3、时tco:指从时钟有效沿到数据有效输出的最大指从时钟有效沿到数据有效输出的最大时间间隔。时间间隔。5.引脚到引脚的延时引脚到引脚的延时tpd:信号从输入管脚进来到达输出管脚信号从输入管脚进来到达输出管脚的最大时间间隔。的最大时间间隔。6.Slack:是否满足时序的称谓。正的是否满足时序的称谓。正的Slack表示满足时序,表示满足时序,负的负的Slack表示不满足时序。表示不满足时序。7.时钟偏斜时钟偏斜(clock shew):指一个同源时钟到达两个不同的指一个同源时钟到达两个不同的寄存器时钟端的时间差别。寄存器时钟端的时间差别。4主题FPGA优势FPGA结构SRAM与与Flip-Flop门级
4、结构门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束FPGA优势优势5FPGAFPGA优势优势FPGA之所以流行,关键在于只要通过合适的编程,它就可以实现任意电路。相对于VLSI(超大规模集成电路)和MPGA(掩模可编程门阵列)等定制技术,使用标准FPGA有两个重要的优点:降低一次性费用(NRE)缩短上市时间 6一般地,生产第一款芯片的一次性费用需要一般地,生产第一款芯片的一次性费用需要10万到万到25万美元,相反,只要对万美元,相反,只要对FPGA编程就可以
5、实现用编程就可以实现用户所需的功能,这样用户就不需要支付一次性费用。户所需的功能,这样用户就不需要支付一次性费用。这使得这使得FPGA成为中小量产规模电路设计最廉价的实成为中小量产规模电路设计最廉价的实现方法。然而,现方法。然而,FPGA也为可编程特性付出了代价。也为可编程特性付出了代价。在在MPGA(掩模可编程门阵列)和(掩模可编程门阵列)和VSLI中,电路时中,电路时用金属线互联的,用金属线互联的,FPGA却一定要通过可编程开关来却一定要通过可编程开关来连接电路,这些开关比金属线的电阻大,从而引入连接电路,这些开关比金属线的电阻大,从而引入的大量的分布电容和寄生电容。实现同一功能,的大量的
6、分布电容和寄生电容。实现同一功能,FPGA面积也要比面积也要比MPGA大得多(约大得多(约10倍),速度倍),速度却是却是MPGA的的1/3。由于。由于FPGA市场竞争激烈,市场竞争激烈,FPGA的供应商正努力寻找更好的结构以获得速度和的供应商正努力寻找更好的结构以获得速度和密度上的优势。密度上的优势。FPGAFPGA优势优势7主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束FPGA结构8FPGAFPGA
7、结构结构Xilinx FPGA芯片的基本结构9FPGAFPGA结构结构(岛形FPGA结构)逻辑单元块逻辑单元块 连接盒连接盒 开关盒开关盒 可编程布线资源被配置成逻辑单元块之间或者从逻可编程布线资源被配置成逻辑单元块之间或者从逻辑单元块到输入辑单元块到输入/输出端口所需要的连接。输出端口所需要的连接。10FPGAFPGA结构结构FPGA芯片内部H型时钟树结构目的:保证时钟到达不同寄存器的时间同步,必要时采用锁相环11FPGAFPGA结构结构Quartus II 中Floor plan及其放大图两条白色的纵向线是其两条白色的纵向线是其DSP资源,而资源,而7条绿色的纵向线是其片内条绿色的纵向线是
8、其片内RAM资源,在这之间的浅蓝色部分是数量众多的资源,在这之间的浅蓝色部分是数量众多的LE资源资源12FPGAFPGA结构结构Quartus II 中底层查看LE的内部结构图13FPGAFPGA结构结构IOB中一个单元的结构图14主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束SRAM与Flip-Flop门级结构15主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA
9、时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束SRAM结构16实际逻辑电路实际逻辑电路查找表查找表(LUT)实现方式)实现方式输入输入ABCD输出输出F地址地址RAM中内容中内容000000000000010000100010000100001111111111基于SRAM查找表的FPGA161 RAMLUTABCDF&ACDFB17SRAMSRAM结构结构SRAM在FPGA中的功能示例18SRAMSRAM结构结构一个8KB的SRAM内部结构图19SRAMSRAM结构结构CMOS管与NMO
10、S管构成的SRAM存储单元20SRAMSRAM结构结构T2与T3导通时工作原理21主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束Flip-Flop结构22Flip-FlopFlip-Flop结构结构与非门组成的维持-阻塞边沿D触发器23主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存
11、器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束FPGA设计流程24FPGAFPGA设计流程设计流程FPGA设计流程对设计者对设计工具25FPGAFPGA设计流程设计流程EDA工具的详细综合流程26主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束FPGA时序路径27主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM
12、结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束从引脚到引脚28几个时序约束的基本概念1.周期和最高频率:指时钟的周期和最高工作频率。周期和最高频率:指时钟的周期和最高工作频率。2.时钟建立时间:时钟到达前,数据和使能信号已经准备好时钟建立时间:时钟到达前,数据和使能信号已经准备好的最小时间间隔。的最小时间间隔。3.时钟保持时间:指能保证有效时钟沿正确采样的数据和使时钟保持时间:指能保证有效时钟沿正确采样的数据和使能信号在时钟沿之后的最小稳定时间。能信号在时钟沿之后的最小稳定时间。4.时钟输出延时:指时钟有效沿到数据有效输
13、出的最大时间时钟输出延时:指时钟有效沿到数据有效输出的最大时间间隔。间隔。5.引脚到引脚的延时:指信号从输入管脚进来,穿过组合逻引脚到引脚的延时:指信号从输入管脚进来,穿过组合逻辑,到达输出管脚的延时。辑,到达输出管脚的延时。CPLD这一时间固定。这一时间固定。6.时钟偏斜:指一个同源时钟到达两个不同的寄存器时钟端时钟偏斜:指一个同源时钟到达两个不同的寄存器时钟端的时间差别。的时间差别。7.Slack称谓。正的称谓。正的Slack表示满足时序,负的表示满足时序,负的Slack表示不表示不满足时序。满足时序。29从引脚到引脚从引脚到引脚输入到输出路径示意图30主题FPGA优势FPGA结构SRAM
14、与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束从输入到寄存器31从输入到寄存器从输入到寄存器输入到寄存器路径示意图32主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束从寄存器到输出33从寄存器到输出从寄存器到输出输入到输出路径示意图34主题FPGA优
15、势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束从寄存器到寄存器35从寄存器到寄存器从寄存器到寄存器输入到输出路径示意图36主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束FPGA时序基础37主题FPGA优势FPGA结构SRAM与
16、Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束输入延时约束38输入延时约束输入延时约束输入最大延时约束示意图Tsu Tclk 最大输入延时最大输入延时39输入延时约束输入延时约束输入最小延时约束示意图Th 最小输入延时最小输入延时40主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时
17、约束输出延时约束寄存器延时约束输出延时约束41输出延时约束输出延时约束输出最大延时约束示意图tco Tclk-最大输出延时最大输出延时42输出延时约束输出延时约束输出最小延时约束示意图tco 最小输出延时最小输出延时43主题FPGA优势FPGA结构SRAM与Flip-Flop门级结构FPGA设计流程FPGA时序路径FPGA时序基础SRAM结构Flip-Flop结构从引脚到引脚从输入到寄存器从寄存器到输出从寄存器到寄存器输入延时约束输出延时约束寄存器延时约束寄存器延时约束44寄存器延时约束寄存器延时约束最大时钟频率计算示意图45寄存器延时约束寄存器延时约束Launch&Latch Edge示意图
18、46寄存器延时约束寄存器延时约束Setup&Hold Time示意图47寄存器延时约束寄存器延时约束Data Arrival Time示意图48寄存器延时约束寄存器延时约束Clock Arrival Time示意图49寄存器延时约束寄存器延时约束Data Required Time for Setup示意图50寄存器延时约束寄存器延时约束Data Required Time for Hold示意图51寄存器延时约束寄存器延时约束Setup Slack示意图52寄存器延时约束寄存器延时约束Hold Slack示意图53设置时序约束的方法1.通过Assignment/Timing Analysis
19、 Settings菜单命令。2.通过Assignment/Wiards/Tming 菜单命令。3.通过Assignment/Assignment Editor选项在图形界面下完成对设计时序的约束。545556设置时序约束的方法1.通过Assignment/Timing Analysis Settings菜单命令。2.通过Assignment/Classic Timing Analyzer Wiards 菜单命令。3.通过Assignment/Assignment Editor选项在图形界面下完成对设计时序的约束。57设置时序约束的方法原则:原则:先全局,后个别。先全局,后个别。1.通过Assi
20、gnment/Timing Analysis Settings菜单命令。2.通过Assignment/Classic Timing Analyzer Wiards 菜单命令。3.通过Assignment/Assignment Editor选项在图形界面下完成对设计时序的约束。58596061设置时序约束的方法1.通过Assignment/Timing Analysis Settings菜单命令。2.通过Assignment/Classic Timing Analyzer Wiards 菜单命令。3.通过Assignment/Assignment Editor选项在图形界面下完成对设计时序的约束
21、。62631.指定全局性时序约束指定全局性时序约束(1)时序驱动的编译()时序驱动的编译(TDC)Assignments/setting/Fitter Setting优化内容:优化内容:优化时序:修改节点位置处理关键路径优化时序:修改节点位置处理关键路径优化保持时间:修改布局布线,满足最小时序和保优化保持时间:修改布局布线,满足最小时序和保持时间的要求持时间的要求优化优化I/O单元寄存器的放置:将寄存器移动到单元寄存器的放置:将寄存器移动到I/O单单元中。元中。646566(2)全局时钟设置)全局时钟设置条件:设计中只有一个全局时钟。条件:设计中只有一个全局时钟。执行命令:执行命令:Assig
22、nments/Timing Analysis Settings/Classic Timing Analyyzer/Settings(3)全局的)全局的I/O时序设置时序设置执行命令:执行命令:Assignments/Timing Analysis Settings/Classic Timing Analyyzer/Settings6768(3)时序向导)时序向导执行命令:执行命令:Assignment/Classic Timing Analyzer Wiards2.指定个别时序约束指定个别时序约束(1)指定个别时钟要求)指定个别时钟要求通过通过Assignment/Classic Timing
23、 Analyzer Wiards 或Assignments/Timing Analysis Settings单击单击Individual Clocks697071(2)个别时序约束)个别时序约束执行命令:执行命令:Assignments Editor在在Assignment Name中选择约束项目,如中选择约束项目,如Clock Settings(3)时序约束的种类)时序约束的种类可以单点、点到点、通配符或时序分组。可以单点、点到点、通配符或时序分组。(4)Assignments Editor可对所有的时序可对所有的时序约束。约束。7273最小化时序分析最小化时序分析1.最小化时序约束最小化时序约束2.最小化时序分析最小化时序分析3.最小化时序分析报告最小化时序分析报告74757677谢谢谢谢
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。