打印
[FPGA]

利用TimeQuest分析仪使FPGA设计直接支援SDC时序分析(转)

[复制链接]
1563|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaochy1126|  楼主 | 2013-11-27 20:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现场可编程闸阵列(FPGA)市场在这几年间有剧烈的变化,受到硅晶片制程技术进步的影响,同步提升了FPGA的密度与速度。也因此,以往只能採用ASIC或ASSP的高效能商业应用,目前也可以成功地、有效率地採用FPGA来实现,扩大了应用的空间。为了达到目标效能的要求,FPGA设计工程师必须採用新的时脉需求(透过时钟多工设计方案)与实行设计介面(像是来源同步时钟),这在使用传统FPGA时序分析时将难以进行分析。
本文将描述FPGA设计软体如何快速有效率地执行时序分析(註一),并达到时序闭合的新需求。生产力的需求包括採用业界标准的时序分析法则,本文将说明一些业界标准Synopsys设计约束(Synopsys Design Constraints;SDC)格式的实际应用。此外,将可透过整合具备佈局佈线与过滤器引擎的时序分析引擎来强化生产力。
配合上述需求,Altera开发了Quartus II TimeQuest时序分析仪,这个具备ASIC效能的静态时序分析工具可直接支援SDC格式的时序分析。本文也将简短地描述时序分析仪的主要特色。直接SDC支援 + 时序引擎整合 = 更有效率的时序分析
静态时序分析是一种分析、除错与确认设计时序效能的法则,它用于连结功能性验证(典型的模拟或原型)以检验正确的设计运作。在合成或佈局佈线(可以包含实体合成)执行之后,工程师便可以执行时序分析,以检查设计编译的结果是否违反了时序的要求。
SDC格式是一种业界标准,可用于描述未来设计运作时所预期的时序约束。有越来越多的商业应用从ASIC转移到FPGA,也有越来越多的ASIC设计工程师使用FPGA架构的设计软件与技术,来开发新的晶片与其衍生产品,这些工程师已经非常熟悉SDC架构的时序分析法则,通常许多想要重新实行到FPGA设计中的模块,都已经有了这些约束条件,因此重新使用相同的时序约束,可以提供更明确的生产力优势。无论是採用手动还是自动方式,从SDC到专为FPGA设计软件所设计的时序分析工具支援的约束格式,均可避免在转换过程中所造成的任何错误,以更进一步地节省时间。
另一个SDC架构时序分析的关键要素是使用工具指令语言(Tool Command Language;Tcl),以及遵守Tcl语法规则来描述约束。因此,SDC架构的时序分析相当适合编写,并可允许设计师可以自动地完成时序相关的工作。这是为何像是Altera HardCopy II元件产品系列这类的结构化ASIC元件的设计法则,会喜欢使用SDC架构时序分析的其中一个原因。此外,设计中包含来源同步介面(像是DDR与DDR2)与时钟多工设计架构等这类复杂的时序约束,均可以轻易地使用SDC格式来进行描述。
结合了这些效益之后,可让Quartus II设计软件的使用者可以增进生产力,并当他们从电路图输入转换为像是Verilog与VHDL这类的硬件描述语言(Hardware Description Languages)时,更可提供显着的生产力优势。SDC格式能够普遍流行的其中一个原因,便是它具备直觉性与易于学习。图1显示了这些约束条件的基本范例。


图1

相关帖子

沙发
gaochy1126|  楼主 | 2013-11-27 20:49 | 只看该作者
锁相迴路(Phase-Locked Loop;PLL)是用于提供时钟信号到FPGA设计的输出暂存器,PLL的输出是时钟信号SYSCLK,电路板的佈局考量到FPGA输出到外部暂存器(可以是在另一个FPGA里面)需要花费1 ns的时间,这种「资料到达时间」可确保由FPGA驱动的元件可以产生正确的行为模式。
这些时序约束可以在第一次描写时钟定义本身时加以描述,这在SDC执行时称之为create_clock:



在这个SDC中,设计师将会指定从[get_ports CLK_IN]的输入时钟到达所产生的PLL输出时也是一个时钟。



在电路板输出与目的元件之间的延时,会使用set_output_delay命令:



这个命令会参考同一个SYSCLK时钟,这在两个元件之间是相当常见的。这个范例假设在时钟与资料之间是零时滞的(在图1中,从外部时钟来源到PLL输入所花的时间是「time A」,以及从同一个外部时钟来源到外部暂存器所花的时间是「time B」,两者之间是有差异的),且可在两个元件之间共用。对运作在较低频率的设计来说,就算有一点时滞也不会有重大的影响。然而,在高频率下运作时,时滞便是阻碍设计信号同步的主要限制因素之一。就算不考虑频率的因素,时滞对于保持检测也是相当重要的事,为确保「time A」与「time B」能够一致,藉此消除资料与时钟信号之间的时滞,将是非常困难且需要花费很多时间才能达成。

使用特权

评论回复
板凳
gaochy1126|  楼主 | 2013-11-27 20:49 | 只看该作者

想要克服同步介面在频率上的限制,设计师开始採用「来源同步」介面架构,这种介面是透过主控元件让资料与时钟信号都成为「来源」,如此一来当在电路板上传送信号到目的元件时,双方都可以同时遭受到相同的实体效应,这可实质地消除掉所有与资料「飞行时间」相关的所有因素,并可达到较大的介面速度。

图2显示了如先前所示的PLL延伸范例,在这个例子中,PLL的输出(PLLCLK)做为外部元件的时钟「来源」,在这个例子中的输出延时需求是2.3 ns。



图2



使用特权

评论回复
地板
gaochy1126|  楼主 | 2013-11-27 20:49 | 只看该作者

如同我们先前所做的一样,我们用SDC构成create_clock来定义时钟,我们指定PLL输出是一种起源或是产生的时钟。




在SDC中,它可以使用元件的其他接脚做为参考,来指派信号的输出延时。




这个范例展示了在任何具备ASIC效能的FPGA时续分析仪,能够直接支援SDC的重要性,当工程师在对高效能的FGPA架构设计执行时序分析时,支援SDC能提供所有精密的约束控制。


使用特权

评论回复
5
gaochy1126|  楼主 | 2013-11-27 20:50 | 只看该作者

图 3. 在TimeQuest 时序分析仪中直接支援SDC约束


对时序分析工具的另一个重要软件需求,是有效地整合具备佈局佈线功能的静态时序分析与过滤器引擎,以达到较佳的结果品质(Quality of Results;QoR)。整合佈局佈线与具备时序引擎的过滤器引擎,其所带来的主要效益是便于对设计的关键路径进行检测与除错。整合可让内部的节点保持「可观察性」,并让工程师能够更容易地对设计中任何想要的节点进行追踪,并使其回到原来的时序约束。整合的缺失则在于原始网表与合成引擎所产生的网表之间,可能会产生节点名称不吻合的现象。

TimeQuest时序分析仪

在Quartus II 6.0推出时,Altera针对了FPGA设计师在建立复杂的时钟电路与来源同步介面时发表了新的时序分析仪,也介绍了ASIC设计师早已熟悉的SDC格式。Quartus II软件使用者可以使用TimeQuest时序分析仪来分析上述的范例。

TimeQuest时序分析仪具备快速随选与互动式资料报告介面,可以让设计师快速地分析关键路径,并在当有需要时,可以要求做更细部的时序分析以节省设计师的时间。TimeQuest的快速随选资料报告採用了功能强大的图形使用者介面(Graphical User Interface, GUI),可以使用直觉地、易于了解的图形化格式来报告时序分析资料,进一步增强了设计师的生产力。进阶的设计师则可以透过Tcl介面来无限制地存取所有的TimeQuest功能。

TimeQuest的图形使用者介面可以辅助设计时序约束时的指定工作,图4显示了设计师如何使用TimeQuest时序分析仪来建立参考的时钟定义。另一个相似的介面则可以用于指定额外的时序约束,像是输入、输出或是例外的约束。



图4. TimeQuest时序分析仪的建立时钟(Create Clock)功能


使用特权

评论回复
6
gaochy1126|  楼主 | 2013-11-27 20:50 | 只看该作者

这个介面可让Quartus II的使用者使用SDC格式来撰写约束条件,由于具备直接的支援,TimeQuest的使用者可以採用强大的业界标准时序分析法则,并透过使用(与重覆使用)SDC与TCL架构的描述脚本,来达到最高等级的生产力。对SDC已经相当专精的设计师,则可以在约束档案(*.sdc)中直接输入时序约束与例外命令,对这些设计师而言,TimeQuest时序分析仪也支援强大的Tcl介面,设计师可以自动化重复性的时序分析工作,这在当转移ASIC设计到FPGA时特别有用。



图5. TimeQuest时序分析仪的TCL介面


使用特权

评论回复
7
gaochy1126|  楼主 | 2013-11-27 20:50 | 只看该作者

在指定了时序约束之后,设计师可以执行细部的时序分析,TimeQuest图形使用者介面包括可以存取需要经常执行的工作框,像是网表设定与产生时序报告等,以便于操作存取。工作框是专为提供工程师在工作流程中建立新的时序分析所设计,描绘了在完成时序闭合工作之前所需要执行的流程,进阶的使用者也会发现这种工作框相当有用,因为它也可提供存取TimeQuest分析与报告功能。



图6. TimeQuest时序分析仪的工作框


TimeQuest时序分析仪具有非常快速的互动式报告能力,当在观看简略的报告时,设计师可以要求观看关于特定关键路径的更多资讯。图7描绘了查询的结果。


使用特权

评论回复
8
gaochy1126|  楼主 | 2013-11-27 20:50 | 只看该作者

在TimeQuest观看面板(View Panel)中,设计师可以存取关于所选择简略报告中的所有细节,圆饼图可以提供快速观看关于逻辑(单元)或互联延时的任何时序报告,FPGA设计师可以决定进一步最佳化互联延时,或是设定更内部的延时,来在设计重新编译之前,执行设计/架构的变更。



图7. TimeQuest时序分析仪的快速、互动式报告能力


使用特权

评论回复
9
gaochy1126|  楼主 | 2013-11-27 20:50 | 只看该作者

结论

在制程技术上的进步让FPGA能够在以往专属于ASIC领域的广泛应用中被採用,想要满足市场的需求与达到目标效能,FPGA设计工程师採用了新的设计方式与复杂的时钟电路,像是在10-Mbit、100 Mbit与1-Gigabit乙太网路应用中的时钟多工。此外,它们也嵌入在设计来源同步时钟介面之中(像是DDR与DDR2介面),这是使用传统的FPGA时序分析所难以进行分析的。在分析法则方面,设计师的生产力与使用业界标准的SDC格式来指定设计约束密切相关。从科技的观点来看,时序分析引擎必须与合成与佈局佈线整合,并具有强大的图形使用者介面以便快速地存取关键路径的资料,以确保能够快速与稳定地完成时序闭合。

这些需求是定义与发展TimeQuest时序分析仪的驱动力量,具备新型的ASIC效能的时序分析仪,并可直接支援业界标准的SDC格式。在Quartus II软件版本6.0的订购版中,开始包含了时序分析仪,有了TimeQuest时序分析仪,设计师可以在高阶的FPGA架构设计中执行先进的时序验证,协助他们可以快速且有效率地达到与保持时序闭合。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1061

主题

11320

帖子

26

粉丝