数字后端培训实战项目六大典型后端实现案例
Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作?
这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时钟结构比较复杂的设计,我们一般会编写一个用来长clock tree的sdc,避免工具默认的skew group之间出现乱做clock balance的情况。
比如下图所示的Clock Gen设计,这里面包含无毛刺时钟切换电路,分频电路(包含整数分频,小数分频电路),低速scan测试电路,高速时钟测试电路等。
数字SoC芯片复杂时钟结构设计时钟树综合典型案例(最复杂的时钟案例也不过如此!)

具体使用分段长clock tree技术的流程如下:
1)创建使用分段长clock tree 对应的constraint mode
create_constraint_mode -sdc_files /home_new/top_data/scripts/cts.tcl -name cts
2)创建做时钟树综合的analysis view(可以使用多个view做clock tree)
create_analysis_view -name view_cmax_cts -constraint_mode {cts} -delay_corner {corner_cmax}
set_analysis_view -setup {view_cmax_cts} -hold {view_cmax_cts}
3)设置长clock tree使用的corner或view
set_analysis_view -setup {view_cmax} -hold {view_cmax}
4)设置特殊sink type定义和insertion delay约束
#source …/input/floating.tcl
foreach pin_name $floating_pin_0 { set_ccopt_property sink_type -pin $pin_name ignore### set_ccopt_property insertion_delay 0.1 -pin $pin_name}
Q2:请问星主,从功耗角度来看,clock net上的总cap如果比较大有什么优化方法呢?
核心方法就是确保clock tree长度最短,确保高频时钟clock net总线长最短!
比如我们可以控制ICG的位置和ICG带的fanout reg位置。这里可以是手工摆放ICG和它对应的寄存器,还可以使用clock gating aware以及clock merge等技术来实现clock tree network的低功耗指标。

复杂时钟设计时钟树综合(clock tree synthesis)常见20个典型案例
Q3: 我想问一下模拟给了一个lef里头有pin的位置,boundary位置,innovus有没有lappend lef之后输个命令就直接把这些floorplan做好的操作,我现在是根据lef中的boundary位置信息,在innovus中输入命令,请问有没有更简单的方法?
这个问题在数模混合芯片中是肯定会涉及到的一个实现要点,特别是当芯片的顶层是模拟,数字设计是子模块的时候。如下图所示为某个以模拟为主的芯片,其中数字模块的出pin分成五大块。其实这个数字模块的切分和摆放pin是不是就是我们数字后端hierarchical flow中所讲的block partition和pin assignment。只不过我们PR工具做partition后是写出子模块block的floorplan def,而模拟不太会写这个文件,而是提供通用的GDS或LEF文件。
PS:如果模拟版图能提供数字模块的def文件,那后端做实现时可以直接defIn这个文件即可加载当前数字模块的形状和io port信息。

那有了模拟设计提供的GDS文件后,我们还是不能直接提供给PR工具来使用。
如果模拟那边提供的是GDS,我们可以通过GDS转LEF的golden脚本来生成对应的LEF文件。

那是不是有lef后,我们就可以开始做子模块block的后端实现了呢?
显然不可以。如果这个子模块block是我们数字顶层的一个子模块,那么我们直接读入它的LEF就可以实现调用,注意是调用。
而我们今天这个案例是要去做这个数字模块的后端实现,所以需要有这个数字模块的boundary和io pin信息。而这个信息的呈现形式不可能是LEF,因为PR工具initial boundary不支持读入设计本身的LEF文件。
所以,我们还需要进一步把LEF文件转换成Milkyway数据格式,最后再通过Milkyway database来输出对应的floorplan def或io file。

Q4: 星主你好,我用pt修完时序导出eco脚本,在innovus中导入时报错,请问是什么原因导致的?
1)报错信息如下: ecoChangeCell -inst U3775 -cell NOR2XB_X1M_A7TH_C50Ignoring all MSV checks during this manual ECO operation.
**ERROR: (IMPOPT-628): No equivalent cell found in the library for the substitution. Use “setEcoMode -LEQCheck false” to allow the swapping of cells if the two cells are of different functionality.
Type ‘man IMPOPT-628’ for more detail.
- innovus中U3775的cell是NOR2B_ΧOP5M_A7TH_C50,两个cell差别如下图。

- 尝试关闭LEQCheck检查后替换,又报pin names不匹配。
**ERROR: (IMPOPT-340): Cannot determine how to connect NAND2XB_X3M_A7TR_C50. There is a mismatch in pin names between the cells being swapped. Use ecoChangeCell -pinMap to specify pin mapping when swapping cells with different pin names。
咱们社区钉钉知识库目前支持自动化回复EDA工具使用过程中遇到的问题。比如这个案例对应的错误代码,我们可以直接拿来问“AI助理”。AI助理会在10s内回答你的问题,而且会使用中文来回答。

由于这个星友问题是非常典型的项目问题,小编今天特地拎出来编写了一份专用教程。具体可以通过关键词搜索或访问钉钉上的知识星球目录查看。

比如我们问时钟树综合包含的步骤,看看AI助理是如何回答的。


Q5: 星主,tessent里面的tck和ssn clock同时经过一个MUX,需要case analysis让一路pass吗,如果需要的话是让tck过还是让ssn clock过呢?tck频率更低。
这个其实就是典型OCC电路的长clock tree策略问题。小编已经使用三个不同颜色来标出三条clock tree的长tree情况。
1)高速时钟fast clock直接穿过Mux一路长到所有sink点(精细化的做法还需要在mux的输出端添加一个guide buffer并创建时钟)
2)slock clock穿过下方第一个mux长到第二个Mux的I1 Pin即可
3)ijtag_tck时钟长到Mux的I1 Pin即可

Q6: 关于TOP IO Ring的设计问题。主要考查IO Cell类型的选型,ESD和Noise相关方案。


每个IO Domain的组成部分和ESD结构图如下图所示。

相关文章:
数字后端培训实战项目六大典型后端实现案例
Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作? 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时…...
安卓免费多功能工具:一站式解决 PDF 阅读、编辑、转换等需求
软件介绍 今天要给大家介绍一款功能强大的PDF处理软件——PDFgear Android版。它是专为安卓设备打造的,完全免费,无需破解和激活就能使用。 此前,我们分享过它的桌面端,收获了大家的一致好评。今天要着重介绍的手机APP版本&…...
diffuser库使用本地模型生成图像
实验目的 使用diffuser库生成图像的文章是很多的,使用方法也并不复杂,安装库后调用现成的模型和接口即可,但是因为网络原因,模型下载总会遇到问题,对于使用服务器的研究者来说,挂梯子并不可行,…...
递归—基础算法
#基线条件和递归条件 #每个递归函数都有两部分:基线条件和递归条件。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。 #栈:栈是一种数据结构,它是一种线性数据结构,…...
全面复习回顾——C++语法篇2
23、字符串相加 string s3;s3s1s2;cout<<s3; 24、结构体基本操作 struct student {// write your code here......string name;int age;double height0.0; };int main() {// write your code here......student s;cin>>s.name;cin>>s.age;cin>>s.hei…...
探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比
文章目录 三、算法在现代通信系统中的应用3.1 5G 通信中的应用3.1.1 信道编码与调制解调3.1.2 大规模 MIMO 技术3.1.3 案例分析:5G 基站与终端实现 3.2 卫星通信中的应用3.2.1 抗干扰与纠错编码3.2.2 信号处理与调制解调3.2.3 案例分析:卫星通信系统实例…...
Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴
注:本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门:vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim 基础 命令模式(command - mode&…...
无人机遥控器扩频技术解析!
一、扩频技术基本原理 扩频技术(Spread Spectrum, SS)通过将信号的频谱扩展至远大于原始带宽进行传输,提升抗干扰性、隐蔽性和多用户能力。其核心原理包括: 直接序列扩频(DSSS) 利用高速伪随机码&#x…...
Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践
在开发 Spring Boot 构建的 RESTful API 项目时,负载均衡和反向代理是提升性能与可用性的关键环节。HAProxy 和 Nginx 作为两种流行的工具,经常被用于流量分发,但它们各有侧重。究竟哪一个更适合你的 Spring Boot API 项目?本文将…...
OpenBMC:BmcWeb构造connect对象
OpenBMC:BmcWeb server.run-CSDN博客 server在接收了tcp连接请求后,会构造一个ConnectionType对象,然后通过post调度,运行该对象的start函数 1.ConnectionType类型 其实也就是using ConnectionType = Connection<Adaptor, Handler>;类型 由于ConnectionType实例化于…...
ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)
目录 1.局部地图跟踪 1.1 更新局部关键帧UpdateLocalKeyFrames 1.2 更新局部地图点(来自局部关键帧)UpdateLocalPoints() 1.3 投影匹配 2. 对比四种跟踪方式以及使用的投影匹配 3.关键帧创建 3.1 判断是否需要创建新关键帧: NeedNewKeyFrame() 3…...
WordPress使用(3)
前面文章讲述了如何利用docker进行wordpress系统的安装及相关设置,本文将介绍如何进行站点数据和数据库数据的备份。 1. 备份数据库 # 进入mysql容器内部 docker exec -it mysqlwp bash# 使用mysqldump 命令导出数据库 mysqldump -u root -p wordpress > wordp…...
Docker基础篇——什么是Docker与Docker的仓库、镜像、容器三大概念
大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起了解下什么是Docker与与Docker的仓库、镜像、容器三大概念。 …...
Gitlab配置personal access token
1.点击左上角个人账号 -> Preferences 2. 点击左边栏 Access Tokens 3. 点击Add new token ,输入token名称,勾选权限(注意截至日期 “Expiration date” 可不填) 4. 创建成功后,显示token信息,复制到本地…...
使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)
1.打开STM32CubeMX,点击File->New Project,新建一个新工程。 2.搜索芯片型号,选择正确的芯片封装规格,准备对芯片的引脚进行配置。 进行上面的操作后,跳转到如下的页面。 3.选择要配置的引脚进行配置。此处我的LED是…...
django中路由配置规则的详细说明
在 Django 中,路由配置是将 URL 映射到视图函数或类视图的关键步骤,它决定了用户请求的 URL 会触发哪个视图进行处理。以下将详细介绍 Django 中路由配置的规则、高级使用方法以及多个应用配置的规则。 基本路由配置规则 1. 项目级路由配置 在 Django 项目中,根路由配置文…...
游戏引擎学习第138天
仓库:https://gitee.com/mrxiao_com/2d_game_3 资产:game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程,从像素渲染到不使用GPU的方式,我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…...
测试理论快速入门
软件测试的目的是什么 查出缺陷 查找程序的错误:测试功能是否可用,添加的功能是否成功添加实现 发现性能问题:查看响应速度是否在可接受范围内 找出兼容性问题:这个功能是否在多端都能成功使用,例如pc端和mo端 确保交…...
【PostgreSQL】如何免密使用PostgreSQL数据库内置工具
如何免密使用PostgreSQL数据库内置工具 方法 1:使用 .pgpass 文件自动输入密码步骤: 方法 2:使用环境变量 PGPASSWORD步骤: 我们在PostgreSQL数据库自带的各种工具时,每次使用都要输入数据库密码。比如在使用pg_dump 备…...
模块15.常用API
文章目录 模块15.常用API第一章.Math类1.Math类介绍2.Math类方法 第二章.BigInteger1.BigInteger介绍2.BigInteger使用 第三章.BigDecimal类1.BigDecimal介绍2.BigDecimal使用3.BigDecimal除法过时方法解决 第四章.Date日期类1.Date类的介绍2.Date类的使用3.Date类的常用方法 第…...
从微信聊天到在线游戏:聊聊UDP和TCP在你手机App里的那些‘小心思’
从微信聊天到在线游戏:聊聊UDP和TCP在你手机App里的那些‘小心思’ 每天我们都在用手机App聊天、打游戏、看视频,但很少有人注意到这些应用背后隐藏的网络协议选择。为什么微信文字消息总能准确送达,而语音通话偶尔会断断续续?为…...
CSS 嵌套语法最佳实践:从入门到精通的完整指南
CSS 嵌套语法最佳实践:从入门到精通的完整指南 CSS 是流动的韵律,JS 是叙事的节奏。而 CSS 嵌套,是让这份韵律更加优雅、结构更加清晰的魔法。 一、CSS 嵌套:现代样式表的革命 CSS 嵌套(Nesting)是 CSS 原…...
Chord实战效果:一段30秒视频的深度解析,展示其视觉定位与描述能力
Chord实战效果:一段30秒视频的深度解析,展示其视觉定位与描述能力 1. 引言:为什么选择这段30秒视频 今天我要带大家近距离观察Chord视频理解工具的实际表现。不同于传统的技术参数罗列,我们将通过一段精心挑选的30秒视频&#x…...
Windows主题自由革命:SecureUxTheme安全启动兼容的内存补丁终极指南
Windows主题自由革命:SecureUxTheme安全启动兼容的内存补丁终极指南 【免费下载链接】SecureUxTheme 🎨 A secure boot compatible in-memory UxTheme patcher 项目地址: https://gitcode.com/gh_mirrors/se/SecureUxTheme 厌倦了Windows千篇一律…...
图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧
图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧 【免费下载链接】ComfyUI-BrushNet ComfyUI BrushNet nodes 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BrushNet 在数字创作与内容修复领域,如何快速高效地消除图像瑕疵…...
Umi-OCR:重新定义离线文字识别的全场景解决方案
Umi-OCR:重新定义离线文字识别的全场景解决方案 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHub_Tre…...
OpenClaw调试技巧:百川2-13B任务失败时的日志分析与修复
OpenClaw调试技巧:百川2-13B任务失败时的日志分析与修复 1. 当自动化任务突然罢工时 上周三凌晨2点,我的OpenClaw突然停止了工作——这个本该在深夜自动整理会议纪要并归档的助手,悄无声息地宕机了。监控屏幕显示它卡在"正在调用百川2…...
Tao-8k辅助学术研究:从研究想法到LateX论文草稿
Tao-8k辅助学术研究:从研究想法到LateX论文草稿 作为一名研究生或科研人员,你是否经常被这样的场景困扰:脑子里有个模糊的研究想法,却不知如何系统化地展开;面对海量文献,梳理综述耗时耗力;实验…...
IBM System/4 Pi:航空航天计算机的兴衰与技术传奇
【导语:1981 年航天飞机首飞,其发射和大部分飞行环节由 IBM 的 System/4 Pi 系列 AP - 101B 计算机控制。该系列于 1967 年推出,广泛应用于航空航天等领域,虽发挥重要作用,但相关信息却较难获取。】System/4 Pi&#x…...
高效获取Sketchfab 3D资源:Firefox专属下载工具使用指南
高效获取Sketchfab 3D资源:Firefox专属下载工具使用指南 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 在3D设计与开发领域,获取高质量模型…...
