如何通过RTL分析、SDC约束和综合向导进行FPGA设计
大多数FPGA设计人员都充满热情地开展专业化问题解决和创造性工作,当然,他们工作压力也相当大,工作流程也非常单调乏味。幸运的是,EDA 公司和 FPGA 厂商不断开发新的工具和方法,推进繁琐任务的自动化,帮助设计团队集中精力做好创造性工作。下面我们就来看看 FPGA 工具流程的演进发展,了解一下现代FPGA团队是如何利用RTL分析、约束生成和综合导向来减少设计迭代的。
如果您已经是一名FPGA设计专业人士,那么将拥有辉煌的职业发展前景,因为越来越多传统上需要 ASIC 实现的设计现已改用 FPGA。随着新一代芯片工艺技术的推出,设计 ASIC的成本正呈几何级数增加。与此同时,FPGA厂商则能利用最新工艺技术实现新一代产品,且不会让客户承担过重的成本负担。
但不容乐观的是,FPGA设计相当复杂,需要跟 ASIC 流程一样复杂的工具流程,这往往需要整个设计团队的共同努力才能完成,而不能光靠一名设计人员。因此,FPGA设计团队在着手ECO 或新项目之前应认真分析现有的工具套件。那么好消息呢?就是新一代EDA工具如雨后春笋般涌出,可助他们一臂之力。设计人员可选择采用标准数据格式且易于安装和使用的工具,简化流程集成工作,而且能够在选定的平台(不管是 Windows 还是 Linux)上实现本机运行。
FPGA 工具流程的发展演进
这些年来,FPGA 设计日趋复杂,工具流程也随之发展,而且越来越像 ASIC流程。上世纪 90 年代,FPGA 流程(见图 1 的流程 A)跟当时的简易 ASIC 流程一样,最初以 RTL 为基础,并采用综合及布局布线工具。随着设计变得进一步复杂化,FPGA 团队在流程中增加了时序分析功能,帮助客户确保设计能按指定的频率运行。今天的 FPGA已经发展为庞大的系统平台,设计团队通常要通过 RTL 分析来最小化设计迭代,并确保设计能够实现相应的性能目标。
进而言之,由于今天的 FPGA 设计项目非常庞大复杂,所以设计人员需要想尽一切办法更好地了解设计的规模和复杂性,以便更好地控制流程中的工具,加速设计上市进程。现代FPGA 设计团队正在采用一种新型方法,那就是在整个设计流程中贯穿约束机制。我们不妨看看当下最流行的、现已得到赛灵思最新 Vivado 流程支持的一种约束方法——Synopsys 设计约束 (SDC) 格式,以及了解如何通过 SDC 让设计项目受益。法进行时序收敛。随后要反复手动盲目尝试添加 SDC,以实现时序收敛,或让设计能在指定的频率上工作。许多从事过上述工作的设计人员都抱怨说设计迭代要花好几个星期,往往会拖延设计进程。
迭代的另一个问题在于,数名设计人员可能在不同的地点为 SDC 设计不同的模块。这样设计工作会变得非常复杂,设计团队必须想办法验证SDC,避免在芯片级封装阶段出现层级名称的冲突。要确保进行有效的设计协作,就必须采用适当的工具和方法。
流程 C 是现代化流程,除了流程B 的工具之外还采用了分析、SDC约束和高层次综合技术,在解决上述问题方面发挥了重大作用。
综合向导
对典型的FPGA设计而言,综合解决方案还处于探索阶段,不管是面积、速度还是功耗的优化,都存在多个局部最大值和局部最小值。利用智能向导,我们能实现最佳解决方案,避免综合工具聚集到任意的局部最小值。最有效的向导之一就是采用错误路径和多周期路径,避免综合工具为不必要的组件浪费宝贵的优化时间。
不过,找到设计中的所有错误路径 (FP) 和多周期路径 (MCP) 并不容易。花上足够的时间,我们能找到一些简单的 FP 和 MCP,不过一些涉及状态机和计数器的复杂 FP 和 MCP(特别是在多个层级中)则很难找到。幸运的是,FPGA设计人员可采用Blue Pearl Software 等创新公司推出的工具执行自动化 FP 和 MCO 生成,从而确保完整性、全面性和准确性。此外,这些工具还能为每个 FP 和MCP 提供不同的机制,包括原理图、断言和审核路径,从而让用户验证其正确性。
由于 FPGA 厂商和商用 EDA 厂商的合作进一步加强,采用通用接口,设计团队就能够将 Blue Pearl 软件套件集成到他们所青睐的工作流程中。既然赛灵思的最新 Vivado 设计套件支持SDC,那么在不同工具之间沟通设计意图就变得极其简单(图 2)。
除了与赛灵思及其他FPGA厂商协作外,Blue Pearl 公司还同Synopsys 开展密切合作。这两家公司共同研究如何让综合工具接受尽可能多的自动生成的 SDC,同时避免设计人员进行任何手动修改。由于 SDC 格式对不同工具的使用差异很小,因此工作团队快速明确命名方案是顺利实现互操作性的一大挑战。
这里的解决方案是在综合的第一阶段(编译)后截取映射名称,在 BluePearl 软件套件
- 智能调试与综合技术隔离FPGA设计中的错误浅析(01-21)
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...