hardMacro的后防和后端处理

目录

1.hardMacro及仿真模型

2.后防该怎么做及遇到的问题


1.hardMacro及仿真模型

        在芯片设计中在使用第三方IP时 会有vonder提供hard Macro IP的情况。什么是hard Macro呢?就是vonder最终提供的是GDS(设计版图)文件给后端。

        GDS文件包含了芯片实现的所有信息,包括使用的元器件,布局,布线芯片结构、形状和层次结构等信息。

        比如常见的各种第三方PHY,vonder都是以GDS交付的,所以后面就以PHY为例说明。除了GDS文件,为了仿真,vonder一般会提供:

  • xxx_gtech.v 

        用于前防的verilog仿真模型,通常不是RTL的形式而是gtech网表的形式。【gtech是一种和工艺无关的通用网表】

        这种网表没有延迟信息(即没有specify语句),也不可综合。

  • xxx_gate_level.v + xxx.sdf

        这两个文件用于验证后防。gate_level.v 是有specify的且和sdf匹配。但是这种门级的网表是不可综合的。 

        上面提到给仿真提供的文件,实际上给后端的除了GDS文件,还会给lib文件(lib可自行转db)。为什么要给lib文件呢?

        是因为后端要用lib里的信息完成PHY与设计中外围的数字逻辑的布线和收timing。所以会看到在后端给的final netlist+sdf里 会有PHY的部分。sdf中PHY的部分仔细看就会发现只有PHY的pin与外部逻辑的延迟信息,常见的包含两部分:

DELAY:IOPATH的delay 这些都是phy pin input--->output的feedthrough path的延迟【feedthrough path是可以包含组合逻辑的】

TIMINGCHECK:input信号的WIDTH,input clk和对应寄存器之间的SETUPHOLD等信息。 

2.后防该怎么做及遇到的问题

        上面提到了多个仿真模型和多个sdf文件【后端吐出来的和vonder提供的】,那么后防究竟该用哪些文件呢?答案如下:

  • phy的gate_level仿真模型
  • vonder提供的和phy gate_level仿真模型匹配的sdf【这里的匹配说的是和仿真模型specify匹配】
  • subsys的netlist+sdf【后端吐出来的sdf】
  • 工艺相关的stdCell+mem的仿真模型【这些模型只有gate_level级verilog】

        即使采用了正确的后防文件 在sdf反标的过程中还是会出现无法反标的情况,经过查看无法反标的都是PHY的IOPATH。说明后端根据PHY的lib吐出了这类IOPATH的delay,但是phy的gate_level仿真模型没有对应的specify语句。既然IOPATH的delay是实际存在的,后防无法反标是否有风险?

        在IOPATH delay无法反标的情况下 仔细去看后端的sdf发现有些IOPATH delay全部为0,vonder给出的答案是这部分delay会用 path margin来cover。因为IOPTAH在PHY分析的时候是一条完整的path,但在subsys来看并不是完整的path,用了path margin就会在包含PHY IOPATH这一段的完整path上体现delay。

        一般情况下 后端在做和PHY的接口时候 都会设置path margin。上面这种情况是vonder要求我们用path margin来cover,否则timing有可能过于乐观。

        但还是会发现有IOPATH delay不为0的情况,【这种情况下无论后端加不加path margin 后端timing都是ok的,实现上是没有风险,IOPATH delay反标不上只会影响后防】这种情况下个人猜测仿真时候是vonder把这部分delay分散到PHY sdf的其他部分了【这个没有得到确认】。但基本情况下path margin是比vonder提供的IOPATH delay要大的,所以即使没有反标上,后防也没有问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务系列文章之 Nginx反向代理

Nginx反向代理模块的指令是由ngx_http_proxy_module模块进行解析,该模块在安装Nginx的时候已经自己加装到Nginx中了,接下来我们把反向代理中的常用指令一一介绍下: proxy_pass proxy_set_header proxy_redirect1、proxy_pass 该指令用来设置…

Star History 月度开源精选|2023 年 6 月

上一期 Star History 月度精选是写给市场、运营人员的,而这一期回归到 DevTools 类别,我们六月发现了好一些开发者可以用的不错工具! AI Getting Started 还记得 Supabase “Build in a weekend” 的广告词吗!AI Getting Started…

【C++】C++11 -- 新功能

文章目录 C11 -- 新功能默认成员函数类成员变量初始化强制生成默认函数关键字default禁用生成默认函数的关键字deletefinal and override 关键字 C11 – 新功能 默认成员函数 在C11之前一个类有6个默认成员函数,在C11标准中又新增了两个默认成员函数,分…

23款奔驰S450 4MATIC更换原厂流星雨智能数字大灯,让智能照亮您前行的路

“流星雨”数字大灯,极具辨识度,通过260万像素的数字微镜技术,实现“流星雨”仪式感与高度精确的光束分布;在远光灯模式下,光束精准度更达之前84颗LED照明的100倍,更新增坡道照明功能,可根据导航…

【PCB专题】如何在Allegro中定义字体及批量修改丝印

在PCB板上丝印往往包含了很多信息,比如元件边界、元件参数、元件编号、极性、静电标识、板号等,这些信息在生产、测试及后期维护等都需要使用。一个好的设计往往都能从丝印的布局、丝印的完整性上体现出来。如下所示PCB在电解电容旁有极性丝印、电阻旁有电阻的位号信息等。 …

利用 jenkins 关联 Job 方式完善 RobotFramework 测试 Setup 以及 Teardown 后操作

目录 1.前言 2.Jekins 关联 Job 方式 1.前言 Jenkins是一个流行的持续集成和交付工具,它可以帮助自动化构建、测试和部署软件。与Robot Framework结合使用,可以实现更高效的测试工作流程。 在Robot Framework中,Setup和Teardown是测试用例…

SQL语句GROUP BY、HAVING、EXISTS、SQL函数(Null判断、日期相关、计算数值和字符串操作 )

目录 GROUP BY HAVING EXISTS SQL函数 Null判断函数 日期数据类型及函数 计算数值和字符串操作函数 AVG(平均值) COUNT(数据条数) FIRST/LAST(第一条数据) MAX/MIN(最大值) SUM(列总和) UCASE/ LCASE (转换大小写) MID(截取字符串) LEN(字符值的长度) ROUND(数…

什么是70v转12v芯片?

问:什么是70v转12v芯片? 答:70v转12v芯片是一种电子器件,其功能是将输入电压范围在9v至100v之间的电源转换为稳定的12v输出电压。这种芯片通常被用于充电器、车载电池充电器和电源适配器等设备中。 问:这种芯片的最大…

如何在Microsoft Excel中使用SORT函数

虽然 Microsoft Excel 提供了一个内置的数据排序工具,但你可能更喜欢函数和公式的灵活性。 使用 SORT 函数的好处是,你可以在不同的位置对数据进行排序。如果你想在不干扰原始数据集的情况下操作项目,你会喜欢 Excel 中的 SORT 函数。但是,如果你喜欢对项目进行原位排序,…

ES(4)核心概念

文章目录 索引文档字段映射分片副本分配 索引 一个索引就是一个拥有积分相似特征的文档的集合。我们可以有客户数据的索引、产品目录的索引、订单数据的索引。 对我而言这个索引可能更像是表的概念 文档 一个文档是一个可被检索的最基本的单元,也就是一条数据&…

Spring AOP的介绍与实现

文章目录 Spring AOP1. Spring AOP概念2. Spring AOP的作用3.AOP的组成4. Spring AOP的实现4.1 添加Spring AOP依赖4.2 定义切面(创建切面类)4.3 定义切点(配置拦截规则)4.3.1 切点表达式语法 4.4 定义通知的实现 5. Spring AOP实…

STM32 Proteus仿真全自动洗衣机洗涤脱水-0074

STM32 Proteus仿真全自动洗衣机洗涤脱水-0074 Proteus仿真小实验: STM32 Proteus仿真全自动洗衣机洗涤脱水-0074 功能: 硬件组成:STM32F103R6单片机LCD1602显示器 L298N驱动电机正反转蜂鸣器LED指示灯多个按键(标准洗,快速洗&a…

STM32学习笔记(十二)丨RTC实时时钟

本篇文章包含的内容 一、计算机底层计时系统——时间戳1.1 时间戳简介1.2 GMT/UTC1.3 C语言和time.h库 二、STM32的BKP和RTC时钟2.1 BKP(Backup Registers)备份寄存器2.2 RTC(Real Time Clock)实时时钟2.2.1 RTC简介2.2.2 RTC的内…

javascript 导出表格的excel

一个php网站的表格,需要增加导出excel的功能, 因对web开发不甚了解,开始想着用php导出, 搜索一番发现比较复杂,而且我的表格里已经有数据了, 如果导出又要去库中获取一次,不是负担加倍, 可否把现有表格数据,直接导出来? 答案是肯定的,用js在前端导出 开源js组件…

opencv-07-感兴趣区域(ROI)

在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区 域(Region of Interest,ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。 以下是一些 OpenCV ROI应用场景 …

Blender操作快捷键

视角操作 按住鼠标中键旋转视角 滚动滚轮视角推拉 shift中键 视角平移 其它操作 X 删除物体 I 插入关键帧 N 隐藏属性工具栏 小键盘0 进入摄像机视角 ~ 切换视角 ctrlAltQ 四视图 移动旋转缩放 • G 移动 • S 缩放 (AltS 沿法线方向缩放) • R 旋转 • G(XY…

centos环境搭建nsq单点

简言 下载 启动nsq(单节点) 1. 启动nsqd 2. 启动nsqlookupd 3. 启动nsqadmin 查看状态 简言 1. nsq是go语言实现的分布式消息处理平台,类似我们常用的kafka,rocket mq等,目的是用来大规模地处理每天数以十亿计级别的消息。它具有分布式和…

Java集合工具:列表查找之position和find

操作集合时&#xff0c;查找列表中的元素是常见操作&#xff0c;本文记录两个平常使用的List查找工具方法。 使用示例 Testpublic void testPositionAndFind() {List<Integer> list Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);//查找list中2的下标&#xff0c;不存…

如何用Jmeter做性能测试

目录 性能测试的概念 性能测试类型 性能测试应用场景&#xff08;领域&#xff09; 性能测试常用的指标 性能测试流程 需求分析 搭建测试环境 测试场景设计 测试用例设计和脚本开发 测试数据准备 性能测试执行和管理 性能测试结果分析与调优 测试报告和跟踪 性能测…

AtcoderABC244场

A - Last LetterA - Last Letter 题目大意 给定一个长度为N的字符串S&#xff0c;由小写英文字母组成&#xff0c;打印出S的最后一个字符。 思路分析 题目要求打印出字符串S的最后一个字符&#xff0c;可以直接通过访问S的最后一个元素来获取该字符。可以使用字符串的back()…