论文部分内容阅读
引言
现场可编程门阵列(FPGA)市场在过去的几年中发生了很大的变化。硅芯片工艺技术的进步推动了FPGA密度和速率的增长。结果,以前面向ASIC或者ASSP的大量高性能商业应用现在可以在FPGA中成功实现,并且效率很高,非常经济。为达到目标性能,FPGA设计工程师采用了新的时钟规范(通过时钟复用设计方案),而传统的FPGA时序分析工具很难分析其设计接口(例如源同步时钟)。
本文介绍FPGA设计软件必须满足的新要求,软件必须高效迅速的进行时序分析,达到时序逼近。在提高效能方面,包括采用业界标准的时序分析方法,本文将阐述业界标准Synopsys设计约束(SDC)格式的几个实际应用案例。由于将时序分析引擎和布局布线适配引擎整合在一起可以进一步提高效率,Altera根据这些要求开发并实现了Quartus Ⅱ TimeQuest时序分析仪为SDC提供自然的支持。
自然的SDC支持+时序引擎集成=更高效率时序分析
静态时序分析是对设计的时序性能进行分析、调试和验证的方法。它与功能验证(一般是仿真或者原型开发)相结合来验证设计运行是否正确。进行综合或者布局布线(可以包括物理综合)之后,工程师运行时序分析,检查设计编译是否会导致时序违规。
SDC格式是一种业界标准,用于描述设计的时序约束。随着大量的商业应用从ASIC转向FPGA,越来越多的ASIC设计工程师采用基于FPGA的设计软件和技术来开发新的芯片和产品。这些工程师已经非常熟悉基于SDC的时序分析方法。在FPGA设计中重新应用的许多模块通常已经采用了这些约束,因此,再次使用相同的时序约束具有明显的效能优势。由FPGA设计软件时序分析工具完成SDC至约束格式转换过程,不论是手动还是自动进行,在转换中避免出现差错,能够进一步节省时间。
SDC时序分析的另一关键特性是采用工具命令语言(Tcl)并按照Tcl语法规则来描述约束。因此,脚本可以充分利用基于SDC的时序分析,帮助设计人员自动完成与时序相关的任务。在结构化ASIC器件(例如,AlteraHardCopy Ⅱ器件系列)设计中,这就是为什么SDC时序分析是最佳方法的原因之一。此外,对于含有源同步接口(例如DDR和DDR2)和时钟复用设计结构的设计,采用SDC格式可以方便的表达复杂的时序约束。
这些优势相结合后,Quartus Ⅱ设计软件用户从原理图输入转换到Verilog和VHDL等硬件描述语言时,可以显著提高效率。SDC格式受到欢迎的原因之一在于其直观性和易于学习。图1所示是这些约束的基本例子。
锁相环(PLL)为FPGA设计的输出寄存器提供时钟信号。PLL输入是时钟信号SYSCLK。电路板布局分析显示FPGA输出到达外部寄存器(可能在另—FPGA内部)的时间为lns。这一“数据达到时间”确保FPGA驱动的器件能够正常工作。
首先可以通过编写时钟定义来表达时序约束,以名为create_clock的SDC来实现:
采用这一SDC,设计人员必须规定PLL的输出也是一个时钟,它由来自[get_orts CLK_IN]的输入时钟产生。
采用命令set_ou_ut_delay来表达电路板输出和目的器件之间的延时:
这一命令是指两个器件共同使用的同一SYSCLK时钟。这个例子假定时钟和数据之间没有偏移(在图1中,这是“time A”和“time B”之间的差,“time”使出现一些偏移,问题也不大。但是,高频工作时,偏移是妨碍同步设计的主要因素。不管频率如何,偏移对于保持检查也非常重要。保证“time A”和“time B”相同,从而消除了数据和时钟信号之间的偏移——这在实际中很难实现,并且代价很高。
为了克服同步接口的这种频率限制,设计人员开始采用“源同步”接口结构。在这些接口中,数据和时钟信号由主机器件“源出”,因此,在电路板上传输到达目的器件的过程中,它们经历了相同的物理效应。这样实际上种情况下,PLL(PLLCLK)的输出也被用于从外部器件中“源出”时钟。其输出延时要求为2.3ns。
如前所述,采用SDC结构creare_clock来定义时钟,规定PLL输出是衍生或者生成时钟。
利用SDC,可以采用器件的另一引脚作为参考来指定信号输出延时。
这一例子显示了ASlC功能FPGA时序分析仪自然SDC支持的重要性。对SDC的支持为工程师分析高性能FGPA设计时序分析提供了完整的高级约束控制。
时序分析工具的另一关键软件要求是静态时序分析与布局布线和适配引擎能够有效集成,以便获得更好的结果质量(QoR)。布局布线和适配引擎与时序引擎相集成的一个主要优势是简化了设计关键路径的诊断和调试。集成使内部节点保持“可观察性”,方便设计工程师追踪节点至最初的时序约束。缺乏集成性通常会导致最初的网表和综合引擎产生的网表之间出现不匹配。
TimeQuest时序分析仪
TimeQuest时序分析仪为FPGA设计分析提供分析提供自然的SDC支持
随着Quartus Ⅱ 6.O的发布,Altera引入了新的时序分析仪,旨在帮助需要设计复杂时钟方案和源同步接口的FPGA设计人员,以及已经熟悉SDC格式的ASIC设计人员。Quartus Ⅱ设计人员用户可以采用TimeQuest时序分析仪来分析上面的例子。
TimeQuest时序分析仪提供一个快速按需的交互式数据报告界面,帮助设计人员迅速分析关键路径,只在需要时要求更详细的时序分析,从而节省了时间。功能强大的图形用户界面(GUI)以直观、易于理解的图形格式来报告时序分析数据,完善了TimeQuest时序分析仪的快速按需数据报告功能,进一步提高了设计人员的效率。高级设计人员可以通过TCl界面来自由使用所有的TimeQuest功能。
TimeQuest GUI帮助完成设计时序约束任务。图3显示了设计人员怎样利用TimeQuest时序分析仪来定义一个参考时钟。可以采用相似的界面来定义输入、输出以及排除约束等其他的时序约束。
这些界面使Quartus Ⅱ用户能够利用SDC格式来编写约束。由于能够自然的支持SDC,TimeQuest用户可以利用强大的业界标准时序分析方法,采用(并能够重复使用)SDC和基干Tcl的脚本来进一步提高效率。已经非常熟悉SDC的设计人员可以直接在约束文什(*.sdc)中输入时序约束和排除命令。对于这些设计人员,TimeQuest时序分析仪也支持功能强大的Tcl界面。采用这一工具,设计人员能够自动重复时序分析任务,这有利于将ASIC设计导入到FPGA中。
规定好时序约束后,设计人员进行详细的时序分析。TimeQuest GUI含有一个任务条,可以方便的访问网表设置、时序报告生成等常见任务。任务条为静态时序分析新手提供的工作流程阐明了在时序结束之前需要完成的过程。高级用户也会发现这一任务条板很有用,因为它能够访问TimeQuest分析和报告功能。
TimeQuest时序分析仪为FPGA设计分析提供分析提供自然的SDC支持
TimeQuest时序分析仪具有快速交互式报告功能。在查看松弛报告时,设计人员可以查询特殊关键路径更详细的信息。图6显示了查询的结果。
在TimeQuest查看面板上,设计人员可以详细了解所选定的松弛。通过饼形图可以快速查看所产生的时序是来自逻辑(单元)还是互联延时。然后,FPGA设计人员决定是进一步优化互联延时,还是在出现较大内部延时的情况下,在设计编译之前进行设计/结构修改。
可以通过集成平面布局图来交叉探测时序分析仪所分析的全部信号,因此,查看逻辑模块之间的互联密度就可以分析潜在的布线拥塞。
结语
工艺技术的发展促进了FPGA广泛应用,而这些应用领域以前完全由ASIC统治。为了满足市场需求,达到目标性能,FPGA设计工程师采用了新的设计方式和复杂的时钟方案,例如10Mbit、100Mbit和1Gigabit以太网中的时钟复用等。此外,在设计源同步时钟接口(例如DDR和DDR2接口所采用的)时,采用传统的FPGA时序分析很难分析这些时钟方案。在方法上,设计人员的效率取决于使用业界标准SDC格式来进行设计约束的能力。从技术观点看,时序分析引擎必须能够与综合和布局布线集成到一起,具有功能强大的GUI,支持对关键路径的快速访问,确保快速可靠的时序逼近。
这些需求是TimeQuest时序分析仪产生和发展的推动力量,这一新的ASIC功能时序分析仪能够自然的支持业界标准SDC格式。Quartus Ⅱ软件从6.0订购版开始提供该时序分析仪。设计人员采用TimeQuest时序分析仪可以在高端FPGA设计中进行高级时序验证,迅速高效的达到并保持时序逼近。