0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我们该如何应对SOC中越来越庞大和复杂的SDC约束?

roborobo_0706 来源:ExASIC 2024-03-13 14:52 次阅读

SOC设计变得越来越复杂,成本越来越高,设计和验证也越来越困难。设计尺寸、众多的IP、先进威廉希尔官方网站 节点、时钟和时钟域数量的增加,以及multi-mode/multi-coner组合中为时序收敛造成设计约束变得越来越复杂。为高效的应对复杂的设计约束,需要一个完整的产品来生成、管理,整合和验证与静态时序分析引擎相关的设计约束,以确保设计的正确性。

在约束、时钟或时序方面的错误所造成的巨大代价通常迫使设计团队采取最小化策略——设计一个完全最小的、安全的、最不容易出错的时序约束集合。设计领域经验丰富的领导者认识到这是一个复杂的、多方面的问题,需要各种能力和威廉希尔官方网站 来解决。简单的结构或语义工具和方法只能捕获简单的问题,而且会产生大量的误报信息,需要设计人员进行检查。一个完善的解决方案应该是辅助和帮助设计团队创建设计约束条件,覆盖设计需求,使其满足功耗、性能和面积目标,同时最小化由于时钟或时序问题而导致的其他风险。

为解决上述问题,Excellicon公司提供了Conman和Concert的组合解决方案,来帮助设计公司应对各种在设计中出现的SDC问题。

Conman:设计约束文件的编译和管理

ConMan是第一个商用的形式化设计约束编译器工具,它可以自动为任何层次结构和SoC的任何模式生成SDC,从而大大缩短了时序收敛的周期。ConMan提供了一种直观的方法,可以自动编译和管理针对于不同设计的sign off质量级别的、构造及正确的时间约束文件,且工具已经通过ISO2626认证

ab42d178-e088-11ee-a297-92fbcf53809c.png

ConMan还通过在设计周期的早期将前端与后端对齐来重新定义时序约束,从而消除了仿真测试中假设的时序与SDC文件中用于实现时序之间的断层。 ConMan生成并维护单一数据源,供前端和后端设计人员使用,以捕获、生成和管理所有操作模式的设计时序约束,同时在设计的所有阶段向设计人员提供反馈。使用ConMan,设计人员可以从前端工程师开始RTL开发,一直到后端团队的实现阶段,开始生成时序约束。所有信息通过ConMan跟踪,并可以通过报告或可视化的interwetten与威廉的赔率体系 计时数据进行查看。

ab552cb0-e088-11ee-a297-92fbcf53809c.png

设计人员可以手动提供时序信息,也可以选择从旧的SDC或通过设计层次结构的任何块的仿真结果提取时序信息。ConMan使用其强大的形式化符号仿真引擎自动验证所有的输入数据,然后在设计层次结构中组装和传播所有的时序数据,解决时序冲突,并在需要时向设计师提供数据以进一步细化。

ConMan平台包含以下组件:

仅以RTL或gate作为输入的多模式约束生成Multi-Mode Constraints

约束管理

约束设定的提升(promotion)

时钟可视化与分析

Multi-Mode Constraints Generation

ConMan生成SDC格式的全面时序约束,适用于任何设计层次和任何模式。不需要SDC语法知识。

ab64f258-e088-11ee-a297-92fbcf53809c.png

sdc用于任何层次结构,任何模式和任何类型- RTL或Gates

不同类型:单模式,合并模式-层次化或者扁平化100%发现所有时钟和模式引脚

完整的SDC时序约束,包含时钟,时序异常,Case Analysis,IO延迟,时钟组,drc等。

单数据库多模式,RTL和Gate的时序约束

约束管理

约束管理

ConMan提供了Excel的无缝接口,通过该接口,所有的时序约束都可以在工具外部进行管理或修改。这种双向接口允许设计师使用熟悉的Excel电子表格格式来检查时序数据,并在需要时修改它。

ab7ec8ae-e088-11ee-a297-92fbcf53809c.png

约束条件的提升(Promotion)

目前,约束的大多数传播都是使用操作层次分隔符的手工方法完成的。这种威廉希尔官方网站 增加了在编辑过程中引入错误和丢失约束的风险。Excellicon的多传播功能不仅自动化方式节省设计师手工编辑数据需要花费数周的过程,而且还为设计师提供了很大的灵活性来处理他们可能遇到的任何情况,既然他们试图生成适当的高质量的约束。

ab8c75e4-e088-11ee-a297-92fbcf53809c.png

ConMan提供了三种威廉希尔官方网站 ,用于将较低级别的时序约束提升到层次结构的任何层。支持混合使用这三种方法。

集成方法- IP时序约束允许改变作为顶层设计结构的结果

隔离方法—IP时序约束保持原样。

上下文方法——顶层和低级别的约束都可用,但它们不在彼此的上下文中。随着设计者定义和指导的时序约束的增量传播而进行推广。

时钟可视化与分析

理解任何设计的时钟总是最困难的任务之一,并且非常容易出错。现有的解决方案绘制了一个完整的逻辑示意图,从其中识别时钟逻辑不仅是困难的,有时是不可能的。

ConMan利用一种直观的抽象方法来显示时钟图(自动从HDL中提取),从中设计者可以快速理解任何层次结构、全平面或分层视图的时钟逻辑。此外,ConMan使用其正式引擎使设计人员能够执行时钟传播的“假设”分析,以创建不同的操作模式。

ab9c83d0-e088-11ee-a297-92fbcf53809c.jpg

ConCert :约束证明平台

ConCert 是一个sign off平台,为 ASIC/SOC 或 FPGA 流程的任何阶段的提供时序约束验证、降级(Demotion)和预算(Budgeting)独一无二的系统。

abac57f6-e088-11ee-a297-92fbcf53809c.jpg

ConCert 平台包含以下组件:

约束验证

Exception工具箱

Demotion和Budgeting工具箱

等价检查

设计分析

约束验证

ConCert 使用形式化算法来验证时序约束,从而提供对设计及其相关时序约束的准确深入分析。ConCert 的约束验证方法不同于当今市场上可用的传统工具。传统工具主要是通过使用数千条规则来关注语法和基本正确性的 SDC linter。这总是会在输出报告中产生大量噪音。此外,时序意图丢失并且无法通过此类传统工具进行分析。

ConCert 除了 linting 之外,还利用其形式化引擎来分析设计和 SDC 文件的行为。提取设计的时序意图和相关的 SDC 文件并进行比较,以生成精确的分析报告。这种方法可以消除噪声输出,并将约束验证领域扩展到下一代,远远超出语法和基本检查。

abc3bdba-e088-11ee-a297-92fbcf53809c.png

此外,通过 ConCert,设计人员还可以在原始 SDC 缺少约束的情况下生成增量 SDC,或者使 SDC 信号完整性相兼容。

例外工具箱

时序约束文件通常包含大量异常,例如错误路径 (FP) 和多周期路径 (MCP)。此类例外通常分为“结构”和“时间意图”例外。结构异常取决于设计结构,可以通过形式化威廉希尔官方网站 进行验证。然而,时序意图类型的异常与设计结构无关,即它们基于设计人员的意图(例如对所有复位引脚设置错误路径约束),因此不能使用形式化威廉希尔官方网站 来验证它们。

典型时序约束文件中大约 20% 的 FP 和 MCP 异常属于结构类型。然而,挑战在于其余 80% 的例外情况,这些例外情况属于 RTL 设计人员在功能设计时定义的时序意图性质。由于形式化威廉希尔官方网站 不能用于此类异常,设计人员传统上通过手动审查约束文件来验证它们。

abddc502-e088-11ee-a297-92fbcf53809c.png

ConCert-ET 是 ConCert 的一个插件,是当今市场上唯一的工具,不仅可以通过形式化方式验证结构异常,还可以使用专有方法验证时序意图类型的异常。

约束模拟

通常,对 RTL 进行仿真以确保功能正确性。与设计相关的时序以 SDC 格式捕获,与 RTL 功能无关。设计的两个方面,即功能和时序,仅在设计周期后期执行 SDF 反标的GLS仿真时才对齐。

即使有了约束验证工具、LEC、STA、CDC 分析和故障分析工具等静态工具的可用性,人们仍会假设不需要 GLS。然而,今天不存在可以验证时序约束的时序意图性质的 EDA 解决方案。时序意图是指独立于设计结构但基于设计者意图的约束。例如,SDC文件中定义的复杂时钟波形;或在 SDC 文件中指定的错误/多周期路径不是基于逻辑结构,而是基于设计人员的经验和只是来指定。

这就需要 GLS 来捕捉这些类型的问题。但是,GLS 的一个主要问题是设置 GLS 环境是一项极其繁琐的任务。为了规避这些问题并帮助在 ASIC 周期的早期阶段仿真设计(无需通过 SDF 进行延迟反标),Excellicon 开发了一种 ABSV(基于断言的 SDC 验证)功能,其中相关的时序约束被转换为可在仿真期间使用的 SVA。

abfbe820-e088-11ee-a297-92fbcf53809c.png

这种方法消除了运行 SDF反标的 GLS 的需要,从而显着减少了循环迭代时间。SVA 也可以在 RTL 阶段进行仿真,从而完全简化整个流程。

ac05e816-e088-11ee-a297-92fbcf53809c.png

降级和预算

ConCert-BT 是 ConCert 的一个附加组件,使设计人员能够以从 RTL 到物理实现的不同精度级别执行约束降级(demotion)和分层预算(budgeting)。

该产品具有完整的功能:

约束降级

预算生成

基于百分比

基于逻辑的层次

基于固有单元延迟和布局寄生的延迟

验证所有设计macros的预算

手动细化预算

根据 STA 时序slack值自动重新分配时序预算

具有每个macros过去的预算历史进行分层预算管理

ac14abbc-e088-11ee-a297-92fbcf53809c.png

使用 ConMan,设计人员可以将 IP 约束提升到顶层,随后通过 ConCert-BT 可以将约束降级到 P&R 活动的宏观层面。ConCert-BT 在配置工具以选择性地降级某些约束或自动降级所有约束方面提供了充分的灵活性。

随着设计在物理实现过程的趋于稳定,时序预算也会不断变化。这包括对 ECO 的 RTL 更改,这可能会导致设计中各个模块之间的时序不平衡,这需要调整 IO 延迟值以解决macros之间的时序违反问题。设计人员必须找到一种重新分配预算的方法,以解决False路径的时序问题;手动完成的方式会导致长时间的迭代,并且通常是芯片的次优时序。

由于物理实现工程师团队在他们自己的模块上并行工作,接口时序必须考虑准确的预算,以使顶层时序顺利通过而没有任何违反。前端设计人员可以使用 ConCert-BT 在实施周期的早期阶段使用基于百分比或基于逻辑的预算生成适当的预算,而后端工程师可以利用最强大的物理预算生成使用平面图信息进行预算,并在整个时序收敛周期中管理预算,包括创建时序模型,从而在流片前进行最终迭代。

ac2bafba-e088-11ee-a297-92fbcf53809c.png

ConCert-BT 提供了一个全面的解决方案,不仅可以跨macros验证现有预算的正确性,还可以通过其直观的 Budget Map GUI 显示预算。通过 BudgetMap,设计人员可以轻松调试失败的路径并采取纠正措施。

等价检查

随着设计从一个设计阶段进展到另一个设计阶段,约束总是会发生变化。可能会添加新的约束或修改现有的约束,这可能会导致时序约束不等效并失去最初的意图。

由于 SoC 是层次化设计的,因此可能存在模块级时序可能与顶层时序不相关的情况。当执行顶层完全扁平(flatten) STA 时,这可能会出现问题。

因此,需要证明约束之间的时序等效性。ConCert 提供两种等效方法:

Top to Top——检查设计周期不同阶段之间的约束等效性

Top to Block – 检查顶层约束和模块间的约束等效性

ac3ab258-e088-11ee-a297-92fbcf53809c.png


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • EDA工具
    +关注

    关注

    4

    文章

    267

    浏览量

    31789
  • SoC设计
    +关注

    关注

    1

    文章

    148

    浏览量

    18774
  • 信号完整性
    +关注

    关注

    68

    文章

    1405

    浏览量

    95459
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59763
  • SDC
    SDC
    +关注

    关注

    0

    文章

    48

    浏览量

    15534

原文标题:SOC中的SDC约束正变得越来越庞大和复杂,我们该如何应对

文章出处:【微信号:ExASIC,微信公众号:ExASIC】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC datasheet为什么越来越薄了?

    刚毕业的时候IC spec动则三四百页甚至一千页,这种设置和使用方法很详尽,但是这几年IC datasheet为什么越来越薄了,还分成了IC功能介绍、code设置、工厂量产等等规格书,很多东西都藏着掖着,想了解个IC什么东西都要发邮件给供应商,大家有知道这事为什么的吗?
    发表于 03-06 13:55

    新人报道,祝论坛越来越

    新人报道,祝论坛越来越旺。
    发表于 04-02 15:12

    蓝牙威廉希尔官方网站 越来越鸡肋

    蓝牙威廉希尔官方网站 越来越鸡肋热43已有 1631 次阅读2012-04-26 10:06标签:蓝牙威廉希尔官方网站 蓝牙是现代数字无线领域中的一个小小奇迹,但这项威廉希尔官方网站 正在变得越来越鸡肋,让一部分用户深感无奈
    发表于 09-16 05:05

    为什么RF滤波器越来越重要?

    为什么RF滤波器越来越重要? 移动无线数据和4G LTE 网络的快速增长导致了对新频段以及通过载波聚合来组合频段的需求不断增长,以容纳无线流量。3G 网络只使用了大约五个频段,LTE 网络现在
    发表于 07-30 06:10

    请问时序约束文件SDC支持哪些约束

    时序约束文件SDC支持哪些约束
    发表于 08-11 09:27

    看门狗功能在 MCU 应用中越来越重要

    由于多线程、实时和多任务嵌入式系统的情况纷繁复杂,使我们越来越难以预料微处理器会在什么时候出现问题。
    发表于 06-02 08:53 7次下载
    看门狗功能在 MCU 应用<b class='flag-5'>中越来越</b>重要

    如何将Altera的SDC约束转换为Xilinx XDC约束

    了解如何将Altera的SDC约束转换为Xilinx XDC约束,以及需要更改或修改哪些约束以使Altera的约束适用于Vivado设计软件
    的头像 发表于 11-27 07:17 5126次阅读

    黑科技大盘点 机器人已经在我们的生活中越来越普及

    近两年,机器人已经在我们的生活中越来越普及。可是你知道这些“黑科技”是怎么实现的吗?不如先来看看今年最热点、最有趣的机器人背后的秘密吧!
    发表于 12-11 15:40 1363次阅读

    不得不承认人类越来越像人工智能了!

    算法当道 为什么人类和人工智能越来越像? 算法告诉我们如何思考,而这正在改变我们。随着计算机学会如何模仿,我们是否正开始变得
    发表于 04-04 09:10 532次阅读

    如何应对越来越强的物联网攻击

    物联网应用越来越广泛,针对物联网的攻击也日渐增加。
    发表于 07-24 10:03 661次阅读

    自动驾驶供应链的关系越来越复杂 成本问题成发展的核心

    自动驾驶供应链的关系,正在变得越来越复杂。其中的核心问题,在于投入威廉希尔官方网站 研发、验证测试及量产的成本高居不下,而且看起来像是个“无底洞”。
    发表于 12-09 08:37 1120次阅读

    看门狗功能在 MCU 应用中越来越重要

    由于多线程、实时和多任务嵌入式系统的情况纷繁复杂,使我们越来越难以预料微处理器会在什么时候出现问题。 在某种程度上独立运行的服务程序是如此之多,其中一些很有可能会生存下来,而其它的则被锁定、废弃或者执行无用代码。
    发表于 02-09 11:08 2次下载
    看门狗功能在 MCU 应用<b class='flag-5'>中越来越</b>重要

    为什么FPGA在原型验证中越来越重要

    升级。与此同时,随着芯片制造工艺越来越先进,芯片设计的复杂度呈指数级增长。这种近乎矛盾的发展趋势让芯片设计公司面临着巨大的创新压力,同时先进工艺高昂的量产成本进一步增加了企业的经营风险。
    的头像 发表于 05-18 10:34 1324次阅读
    为什么FPGA在原型验证<b class='flag-5'>中越来越</b>重要

    可穿戴设备中的传感器:尺寸越来越“小”,左右越来越“大”

    MEMS器件具有重量轻、体积小、成本低、功耗小等优点,非常有利于MEMS器件在电信和消费电子等行业中的应用。近年来,MEMS威廉希尔官方网站 在汽车行业尤其是包括安全气囊系统在内的车辆安全系统中越来越受到青睐。
    的头像 发表于 05-20 15:01 2348次阅读
    可穿戴设备中的传感器:尺寸<b class='flag-5'>越来越</b>“小”,左右<b class='flag-5'>越来越</b>“大”

    我们的城市为什么越来越热?

    全球气候在变暖,我们焚烧石油,煤炭等化石燃料,产生了大量二氧化碳等温室气体,导致全球气候变暖,尤其大陆气温升高,城市变得越来越热。图:上海前滩的夜晚,被太阳晒热的建筑热岛效应夏天天太热,在阳光
    的头像 发表于 08-03 08:14 539次阅读
    <b class='flag-5'>我们</b>的城市为什么<b class='flag-5'>越来越</b>热?