当前位置:首页 > EDA > 电子设计自动化
[导读]简介作为国内唯一一家具有完全自主知识产权的FPGA与可配置应用平台CAP(Configurable Application Platform)产品供应商,京微雅格一直在快节奏的改进与产品配套的软件开发环境。最近,新一代FPGA/CAP设计套件Primace5

简介

作为国内唯一一家具有完全自主知识产权的FPGA与可配置应用平台CAP(Configurable Application Platform)产品供应商,京微雅格一直在快节奏的改进与产品配套的软件开发环境。最近,新一代FPGA/CAP设计套件Primace5.0正式发布了。Primace5.0完整的支持了基于时序驱动的布局布线实现流程(Timing-Driven Placement&Routing Flow),提高了布局布线的成功率,减少了设计与验证时间。此外,Primace5.0还配套改进了Synopsys SDC兼容的设计约束输入界面, 方便用户更加准确高效的输入时序约束。配合新型的自动寻找最佳实现的优化工具iXplorer,Primace 5.0可以极大的加速用户设计时序收敛过程。为了方便用户准确描述设计,改善RTL 代码质量,Primace5.0新增了RTL Template功能,其中包括了常用的Verilog设计元素。Primace5.0还第一次完整支持了8051MCU的SoC仿真以及时序仿真(Timing Simulation)。相对上一代版本,新一代Primace显著改进了用户信息提示以及流程的稳定性。本文将简要介绍这些改进以及对用户使用体验的影响,并推荐几种可以有效改进设计流程,加速设计过程的方法。

Primace5.0主要新增/改善的功能

Primace5.0中基本设计流程保持了一贯的简洁的特点,如图1所示,主要包括设计输入(RTL编辑等),设计实现(综合、布局布线等),时序收敛(以静态时序分析为基础的设计、实现调整),以及码流下载和片上调试(DebugWare等)。

图1: Primace中FPGA/CAP开发流程

基于时序驱动的布局布线

时序驱动的布局布线是一种已经被广泛证明与接受的设计方法,设计人员通过描述设计的时序约束(包括核心频率约束,I/O约束,例外约束,特定路径约束,跨时钟域约束等)可以有效指导布局布线程序高效、高质量的完成设计实现。Primace5.0中接受的时序约束包括:

Basic Timing Path

Clock Setup/Hold, Falling edge

Tsu/Th, Tco, Tpd

Advanced Timing Path

False path

Generated clock

User edited sdc

时序约束输入辅助

为了方便用户可以准确高效的输入时序约束,Primace5.0还配套改进了兼容Synopsys SDC的设计约束输入界面。如下图所示:

图2: 选择时钟界面

图3:时钟约束设置界面

各类SDC最终汇总在统一的SDC约束文件里,用户可以集中编辑:

图4:SDC编辑界面

时序收敛工具iXplorer

配合新型的自动寻找最佳实现的优化工具iXplorer,用户可以极大的加速设计时序收敛过程。

图5:iXplorer配置界面

Primace5.0对iXplorer进行了多项重要改进。首先,引入了支持并行执行流程的新一代流程控制引擎,充分的利用了主流多核系统的计算资源。其次,新开发的新型fMAX扫描算法Range-Scan,在充分利用了并行计算优势的基础上,可以智能扫描时序约束(目前主要是时钟频率约束),用最短的时间寻找不同时序约束下设计实现的最佳fMAX。此外,iXplorer支持多种扫描结束条件,方便用户在多种需求下的灵活使用。最后,当用户得到最佳fMAX结果后,iXplorer提供了便捷的方式让用户把相应的约束条件设置到用户环境,从而可以得到相应的结果。

RTL模板

为了方便用户准确描述设计,改善RTL 代码质量,Primace5.0新增了RTL Template功能,其中包括了常用的Verilog设计元素。通过使用RTL Template,用户可以方便快捷的在设计中插入经过Primace软件验证的RTL代码,简化了用户设计输入过程并提高了设计代码质量。目前Primace RTL Template主要支持了以下几类设计元素:

通用语法(注释,编译器控制语法等)

可综合语法(目前仅支持Verilog可综合子集,以及Memory, Multiplier等可以自动推断的代码模式)

用户自定义模板

图6:RTL模板浏览界面

SoC仿真与时序仿真

Primace5.0还第一次完整支持了8051MCU的SoC仿真,以及时序仿真(Timing Simulation)。首先,通过简明易用的工程文件管理,方便用户对设计文件和测试平台文件进行编辑和管理;其次,引入了对8051MCU的SoC仿真支持,完全改变了过去调试8051MCU需要依赖第三方工具的调试模式,大大提升了用户SoC设计的调试效率,加快了用户SoC设计的整个验证和调试流程。最后,引入了对时序仿真的支持,为解决用户设计中遇到的时序收敛问题提供了一条全新的分析和调试的途径,加快了用户设计时序收敛的过程。

图7:仿真调用界面

流程及信息提示

相对上一代版本,新一代Primace显著改进了用户信息提示以及流程的稳定性。Primace 5.0对用户设计实现中各个阶段的流程信息重新进行了划分,将所有信息分为4类:命令信息,执行信息,警告信息和错误信息,对每一类信息逐条进行了编号,并引入了同类信息的折叠显示,方便用户通过流程信息了解设计实现的实时情况。此外,良好的用户信息分类和显示也提升了流程日志的可用性,进一步方便用户了解设计实现的过程。

图8:信息提示界面

使用技巧

时序约束设置方法

时序约束设置基本可以遵循先整体后局部,先高层后低层的规律分阶段、分步骤的逐步细化设置。用户可以按照以下顺序设置时序约束:

核心频率约束

通过约束每个时钟的时钟频率以及相位关系,可以完成基础的核心频率约束。目前Priamce5.0支持的这类约束包括Clock Setup,Clock Hold,Falling edge, Generated Clock。

I/O约束

I/O约束包括引脚分配位置、空闲引脚驱动方式、外部走线延时(InputDelay、OutputDelay)、上下拉电阻、驱动电流强度等。加入I/O约束后的时序约束,才是完整的时序约束。FPGA作为PCB上的一个器件,是整个PCB系统时序收敛的一部分。FPGA作为PCB设计的一部分,是需要PCB设计工程师像对待所有COTS器件一样,阅读并分析其I/O Timing Diagram的。FPGA不同于COTS器件之处在于,其I/O Timing是可以在设计后期在一定范围内调整的;虽然如此,最好还是在PCB设计前期给与充分的考虑并归入设计文档。正因为FPGA的I/O Timing会在设计期间发生变化,所以准确地对其进行约束是保证设计稳定可控的重要因素。许多在FPGA重新编译后,FPGA对外部器件的操作出现不稳定的问题都有可能是由此引起的。目前Primace5.0支持的这类约束包括Tsu,Th,Tco,Tpd。

时序例外约束

时序例外约束可以指出在全局约束下的特殊路径集合,使得最终的时序约束准确,严格。正确的应用例外约束可以提高时序分析报告质量,加快时序收敛过程。目前Primace5.0通过FalsePath来支持时序例外约束。

“好的时序是设计出来的,不是约束出来的”,好的约束必须以好的设计为前提。没有好的设计,在约束上下再大的功夫也是没有意义的。不过,通过正确的约束也可以检查设计的优劣,通过时序分析报告可以检查出设计上时序考虑不周的地方,从而加以修改。通过几次“分析-修改-分析”的迭代也可以达到完善设计的目标。应该说,设计是约束的根本,约束是设计的保证,二者是相辅相成的关系。

基于iXplorer的时序收敛方法

时序收敛(Timing Closure)指时序的不断逼近,原理是采用多次迭代(循环)的技术。因此时序收敛就是一个不断反复的过程,以确保设计中的每个路径都满足时序要求。iXplorer是京微雅格定义的,嵌入在Primace工具中的时序收敛设计流程。Primace有很多选项设置和策略,但是无法保证哪种选项或约束会对所有的设计带来最佳的效果。iXplorer技术能够帮助用户找到最佳的工具选项来实现时序要求或者找到设计的最高性能。iXplorer通过采用不同策略和选项来运行多个布局布线版本并找出满足时序要求的实现结果。目前iXplorer支持三种搜索算法来满足不同场景下的使用需求:

Target fMAX,用户指定期望的fMAX,启动iXplorer后,iXplorer开始尝试不同约束与选项,直到达到给定的fMAX停止。

Max Loop Count,用户指定最多iXplorer尝试不同约束与选项组合的次数,从给定次数的运行结果中找到最佳实现结果。

Ending Before Time,用户给定最晚结束时间,iXplorer会尽可能多的搜索约束与选项的组合,并在给定结束时间时停止。例如,用户可以设结束时间为第二天早上八点,然后在下班前启动,第二天上班时去查看结果。

iXplorer会用时序驱动的技术根据频率目标是否达到来加强或放松时序目标,这样就可以判断出所指定时钟域的最高频率限制。在优化结束后,用户可以从iXplorer报告中看到究竟哪种策略和选项对目前的设计是最佳的。

总结

Primace5.0是京微雅格最新发布的FPGA/CAP设计套件。本文简要介绍了Primace5.0包括基于时序驱动的布局布线等新功能,并针对时序收敛问题给出了两种基于Primace5.0的设计方法。限于篇幅,本文不能尽述Primace5.0对用户设计体验的改变,如果读者对Primace5.0有任何问题、意见或建议,请与京微雅格的销售支持联系。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭