后仿之SDF 反标Warning的描述和解决

在后仿中SDF的反标log中Error是必须要解决的,但是Warning有时候可能并不会影响到实际的内容,而是工具严格的检查得到的一些警告,因此可能就需要我们仔细的来甄别是否warning需要被解决;针对此,将平时看到的一些warning进行整理,帮助之后解决这些问题:

1. SDFCOM_UHICD:Up-hierarchy Interconnect Delay ignored

     这个warning是指将hier间的delay放在device delay上体现,可以不用处理;对跨层次的端口标注INTERCONNECT delay时出现该warning,在层次铺平之后是不会有问题的。

2. SDFCOM_IWSBA:INTERCONNECT will still be annotated

    也不用处理,delay实际上也是反标了。

    vcs是无法识别assign语句代表的是单纯的连线还是作为一个device存在,所以当vcs检测到对assign语句反标INTERCONNECT delay时会报出该警告,但是依然会将INTERCONNECT delay标注。要求designer做出进一步的确认,如果确认assign只是连线,那么是可以选择屏蔽这条warning。不过我们是推荐使用相同的变量连接两个同一层级下cell的端口,并仅对这两个端口标注INTERCONNECT delay。

3. SDFCOM_INF: IOPATH not found

    这个一般是sdf和specify中的没有对应上,这个需要判别是否需要处理。
    这个会造成sdf反标失败  -- 要针对对应的case来判别有没有影响:
    clk  to clk 的警告应该还好;但是clk to Q -- 这个就要好好检查

4. SDFCOM_CFTC: Cannot find timing check

    这个一般是sdf和specify中的没有对应上;
    比如某些时候,两者中 一个是多bit一个是拆分bit,这个会造成match不上;对这种位宽拆分的可以在编译时添加: -tcheckvecsplit, 其他的情况就需要检查为何不匹配。需要被解决。

5. SDFCOM_TANE:TIMINGCHECK Annotation Not Enabled

    SDF中有timing check,但是verilog没有这个specify的指定,这个sdf 的约束就没有意义了
正常情况下是需要解决掉的。

6. SDFCOM_IANE: IOPATH Annotation Not Enabled

    SDF中有对应IOPATH约束,但是verilog没有这个specify的指定,这个sdf 的约束就没有意义了
正常情况下是需要解决掉的

7. SDFCOM_STCLOR: SCALED TC Limit Out of Range

    vcs 用32bit做为deay,所以就是2^31, 超过最大delay就会报;
有时候没有超过delay也会报,因为module没有指定timesale,但是采用的是top的timescale来计算,还是超过了。修改delay或者用 -override_timiescale= 重新指定timescale来覆盖之前的timescale来解决这个问题。

8. SDFCOM_RLTPD:RETAIN value larger than IOPATH delay

     RETAIN delay一定不能比IOPATH delay大。首先得去确认是否需要RETAIN,如果不需要就去掉RETAIN的编译选项,如果需要就去确认为什么出现这种不合理的延时关系

9. SDFCOM_SWC:Simple Wire Connection

    这个提示是啥Y->A之间不是简单的wire连接,在经过了几级assign,可能是会这么report的,但是delay还是吃上了的。可以不用修改,只要符合实际设计就可以。

10. SDFCOM_NICD: INTERCONNECT Delay encountere

    仿真器对应的处理是根据前后级的关系来处理的,可以参考:SDF 优先级和相关的概念
一般来讲,仿真工具在默认情况下,是会将负值当成0处理,这样一来,约束就会更紧
如果想正常处理这些负延迟数值,除了要添加仿真工具使能选项之外,还要确认SDF文件或者specify模型中,关于时序定义是否支持负值,比如$setup不支持,而$setuphold就支持。

    本质上都是因为负的延时无法被补偿为正值,需要仔细确认。

11. SDFCOM_NTCDNC- Negative Timing Check Did Not Converge

    当vcs无法converge多条negative timing check中的delay时会报告这条warning,可能有两种原因,第一种是vcs无法识别互斥condition导致的。第二种是timing出问题导致delay无法收敛,需要仔细检查并去解决;

12. SDFCOM_NDMD - NTC Delay is larger than ModPath Delay

    ModPath Delay小于NTC Delay是不合理的,需要解决。

备注1:针对3-6项,warning都是关于SDF 和Library model之间的不匹配导致的,当出现不匹配时vcs默认的行为是忽略SDF中多余的check和delay,需要前端和后端确认哪一个才是golden。

本节只摘录了部分的sdf warning的情况,实际上可能还有各种各样的类型,这里的warning都需要被认真的对待,这样才能保证sdf的反标没有问题,同时后仿也没问题,否则可能会导致大量且无效的debug的工作。

Read more

虚拟世界的AI魔法:AIGC引领元宇宙创作革命

虚拟世界的AI魔法:AIGC引领元宇宙创作革命

云边有个稻草人-ZEEKLOG博客——个人主页 热门文章_云边有个稻草人的博客-ZEEKLOG博客——本篇文章所属专栏 ~ 欢迎订阅~ 目录 1. 引言 2. 元宇宙与虚拟世界概述 2.1 什么是元宇宙? 2.2 虚拟世界的构建 3. AIGC在元宇宙中的应用 3.1 AIGC生成虚拟世界环境 3.2 AIGC生成虚拟角色与NPC 3.3 AIGC创造虚拟物品与资产 4. AIGC在虚拟世界与元宇宙的技术实现 4.1 生成式对抗网络(GANs)在元宇宙中的应用 4.2 自然语言处理(NLP)与虚拟角色的对话生成 4.3 计算机视觉与物理引擎 5. 持续创新:AIGC与元宇宙的未来趋势 5.1 个人化与定制化体验 5.

企业级工作流引擎低代码开发实战指南:RuoYi-Flowable-Plus全攻略

企业级工作流引擎低代码开发实战指南:RuoYi-Flowable-Plus全攻略 【免费下载链接】RuoYi-Flowable-Plus本项目基于 RuoYi-Vue-Plus 进行二次开发扩展Flowable工作流功能,支持在线表单设计和丰富的工作流程设计能力。如果觉得这个项目不错,麻烦点个star🌟。 项目地址: https://gitcode.com/gh_mirrors/ru/RuoYi-Flowable-Plus RuoYi-Flowable-Plus是基于RuoYi-Vue-Plus二次开发的开源工作流框架,融合Flowable引擎与可视化流程设计能力,为企业级应用提供低代码工作流解决方案。本文将从项目定位、核心能力到部署实践,全方位解析这款框架的技术架构与应用场景,帮助开发者快速构建企业级工作流系统。 1. 项目定位:企业级工作流解决方案的技术选型 在数字化转型浪潮中,企业对流程自动化的需求日益迫切。RuoYi-Flowable-Plus定位为"开箱即用的企业级工作流引擎",基于成熟的Spring Boot生态与Flowable BPMN 2.0引擎,提供从流

多旋翼物流无人机节能轨迹规划(Python代码实现)

👨‍🎓个人主页 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 💥1 概述 多旋翼物流无人机的节能轨迹规划是一项重要的技术,可以有效减少无人机的能量消耗,延长飞行时间,提高物流效率。下面是一些常见的节能轨迹规划方法: 1. 最短路径规划:通过寻找起点和终点之间的最短路径,减少飞行距离,从而节省能量消耗。可以使用经典的最短路径算法如Dijkstra算法和A*算法来实现。 2. 动态路径规划:考虑当前环境的动态变化,比如风速、天气状况和地形高度等因素,并实时优化飞行路径。这样可以避免飞行过程中遭受很大的阻力,从而减少能量消耗。 3. 高效充电站布置:合理规划充电站的位置,使得无人机在物流任务执行过程中可以方便地进行补充能量。这样无人机可以减少回程飞行距离,节省能量。 4. 光伏充电:在无人机上安装太阳能电池板,通过太阳能充电来提供能源。这种方式可以减少对传统电力的依赖,减少碳排放。

Verilog 零基础入门:语法、仿真与 FPGA 实战

一、入门前提 Verilog 是 FPGA 开发的核心硬件描述语言,学习需具备两大基础:一是数字电子技术常识(理解逻辑门、时序 / 组合逻辑等概念),二是 C 语言基础(有助于快速适应语法结构)。学习核心是掌握 “代码→硬件” 的映射逻辑,而非单纯记忆语法。 二、仿真环境选择 根据开发场景选择适配环境,需重点注意路径约束: * FPGA 开发环境:Xilinx Vivado(主流推荐)、Xilinx ISE(已停更)、Intel Quartus II * ASIC 开发环境:Synopsys VCS * 关键约束:电脑用户名、软件安装路径、工程路径必须全英文(无中文 / 特殊符号),否则会导致软件启动失败、编译报错或仿真异常。 三、Verilog 设计流程