当前位置: 首页 > news >正文

数字后端培训实战项目六大典型后端实现案例

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 gen时钟结构图

具体使用分段长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.

  1. innovus中U3775的cell是NOR2B_ΧOP5M_A7TH_C50,两个cell差别如下图。

在这里插入图片描述

  1. 尝试关闭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结构图如下图所示。
IO Domain ESD结构图

相关文章:

数字后端培训实战项目六大典型后端实现案例

Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作? 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时…...

安卓免费多功能工具:一站式解决 PDF 阅读、编辑、转换等需求

软件介绍 今天要给大家介绍一款功能强大的PDF处理软件——PDFgear Android版。它是专为安卓设备打造的,完全免费,无需破解和激活就能使用。 此前,我们分享过它的桌面端,收获了大家的一致好评。今天要着重介绍的手机APP版本&…...

diffuser库使用本地模型生成图像

实验目的 使用diffuser库生成图像的文章是很多的,使用方法也并不复杂,安装库后调用现成的模型和接口即可,但是因为网络原因,模型下载总会遇到问题,对于使用服务器的研究者来说,挂梯子并不可行,…...

递归—基础算法

#基线条件和递归条件 #每个递归函数都有两部分:基线条件和递归条件。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。 #栈:栈是一种数据结构,它是一种线性数据结构&#xff0c…...

全面复习回顾——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 案例分析&#xff1a;5G 基站与终端实现 3.2 卫星通信中的应用3.2.1 抗干扰与纠错编码3.2.2 信号处理与调制解调3.2.3 案例分析&#xff1a;卫星通信系统实例…...

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注&#xff1a;本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门&#xff1a;vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim 基础 命令模式&#xff08;command - mode&…...

无人机遥控器扩频技术解析!

一、扩频技术基本原理 扩频技术&#xff08;Spread Spectrum, SS&#xff09;通过将信号的频谱扩展至远大于原始带宽进行传输&#xff0c;提升抗干扰性、隐蔽性和多用户能力。其核心原理包括&#xff1a; 直接序列扩频&#xff08;DSSS&#xff09; 利用高速伪随机码&#x…...

Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践

在开发 Spring Boot 构建的 RESTful API 项目时&#xff0c;负载均衡和反向代理是提升性能与可用性的关键环节。HAProxy 和 Nginx 作为两种流行的工具&#xff0c;经常被用于流量分发&#xff0c;但它们各有侧重。究竟哪一个更适合你的 Spring Boot API 项目&#xff1f;本文将…...

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 更新局部地图点&#xff08;来自局部关键帧&#xff09;UpdateLocalPoints() 1.3 投影匹配 2. 对比四种跟踪方式以及使用的投影匹配 3.关键帧创建 3.1 判断是否需要创建新关键帧: NeedNewKeyFrame() 3…...

WordPress使用(3)

前面文章讲述了如何利用docker进行wordpress系统的安装及相关设置&#xff0c;本文将介绍如何进行站点数据和数据库数据的备份。 1. 备份数据库 # 进入mysql容器内部 docker exec -it mysqlwp bash# 使用mysqldump 命令导出数据库 mysqldump -u root -p wordpress > wordp…...

Docker基础篇——什么是Docker与Docker的仓库、镜像、容器三大概念

大家好我是木木&#xff0c;在当今快速发展的云计算与云原生时代&#xff0c;容器化技术蓬勃兴起&#xff0c;Docker 作为实现容器化的主流工具之一&#xff0c;为开发者和运维人员带来了极大的便捷 。下面我们一起了解下什么是Docker与与Docker的仓库、镜像、容器三大概念。 …...

Gitlab配置personal access token

1.点击左上角个人账号 -> Preferences 2. 点击左边栏 Access Tokens 3. 点击Add new token &#xff0c;输入token名称&#xff0c;勾选权限&#xff08;注意截至日期 “Expiration date” 可不填&#xff09; 4. 创建成功后&#xff0c;显示token信息&#xff0c;复制到本地…...

使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)

1.打开STM32CubeMX&#xff0c;点击File->New Project&#xff0c;新建一个新工程。 2.搜索芯片型号&#xff0c;选择正确的芯片封装规格&#xff0c;准备对芯片的引脚进行配置。 进行上面的操作后&#xff0c;跳转到如下的页面。 3.选择要配置的引脚进行配置。此处我的LED是…...

django中路由配置规则的详细说明

在 Django 中,路由配置是将 URL 映射到视图函数或类视图的关键步骤,它决定了用户请求的 URL 会触发哪个视图进行处理。以下将详细介绍 Django 中路由配置的规则、高级使用方法以及多个应用配置的规则。 基本路由配置规则 1. 项目级路由配置 在 Django 项目中,根路由配置文…...

游戏引擎学习第138天

仓库:https://gitee.com/mrxiao_com/2d_game_3 资产&#xff1a;game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程&#xff0c;从像素渲染到不使用GPU的方式&#xff0c;我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…...

测试理论快速入门

软件测试的目的是什么 查出缺陷 查找程序的错误&#xff1a;测试功能是否可用&#xff0c;添加的功能是否成功添加实现 发现性能问题&#xff1a;查看响应速度是否在可接受范围内 找出兼容性问题&#xff1a;这个功能是否在多端都能成功使用&#xff0c;例如pc端和mo端 确保交…...

【PostgreSQL】如何免密使用PostgreSQL数据库内置工具

如何免密使用PostgreSQL数据库内置工具 方法 1&#xff1a;使用 .pgpass 文件自动输入密码步骤&#xff1a; 方法 2&#xff1a;使用环境变量 PGPASSWORD步骤&#xff1a; 我们在PostgreSQL数据库自带的各种工具时&#xff0c;每次使用都要输入数据库密码。比如在使用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类的常用方法 第…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...