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

干货!数字IC后端入门学习笔记

很多同学想要了解IC后端,今天大家分享了数字IC后端的学习入门笔记,供大家学习参考。
很多人对于后端设计的概念比较模糊,需要做什么也都不甚清楚。
有的同学认为就是跑跑 flow、掌握各类工具。

事实上,后端设计的工作远不止于此。可以说是包含但不限于上述的内容。
如果非要用一句简单的话概括后端设计需要做的工作的话。
就是将前端设计的 RTL 代码转化成门级网表,最终生成 GDSⅡ文件,到这里就可以拿到工厂进行流片生产了。

为了完成上述的工作,后端设计工程师就需要进行逻辑综合、形式验证、物理实现、时钟树综合、寄生参数提取、版图物理验证等一系列高端操作。

在整个芯片设计流程中数字IC后端也是举足轻重的。发展下去,是越老越吃香的,做技术专家也只是时间问题。
布局与布线(Auto Placement & Route ,AP&R)
传统上将布局与布线前的工作称之为前端(Front End),而布局与布线之后的工作称为后端(Back End)。布局的目的在于产生制作掩膜所需的GDSII文件。同时也产生布局后的网表文件(Netlist)及标准延迟文件(SDF)。
在这里插入图片描述
后端设计所用到的工具
• 仿真工具:Mentor modelsim/Questasim
• 综合工具(带DFT):Synopsys DC
• 时序分析:Synopsys PT
• 形式验证:Cadence LEC
• 后端APR(Auto Placement &Route)Cadence SoC Encounter
• 后端参数提取:Mentor Calibre
IC设计全流程

  1. 设计输入 (Ultraedit,Vi等)
  2. 仿真(前、后,Modelsim)
  3. 综合(DC,with DFT)
  4. 形式验证 (Confrml,LEC)
  5. 时序分析 (PT,STA)
  6. 后端APR(Encounter)
  7. 参数提取、验证(Calibre)
    关于IC设计全流程介绍,芯学长网有详细介绍,也有IC设计岗位查询等,对于IC设计不了解的同学,可以点进去网站去看看,对于IC设计有个整体的认识。
    在这里插入图片描述
    理解流程,明确概念
    主要流程:

    RTL——仿真——综合——自动布局布线——参数提取
    • 穿插时序分析,形式验证等步骤
    列举一例,演示一下流程!
    所选实例为:MY_CHIP.v ;
    RTL——仿真——综合
    所使用的工艺为TSMC018
    关于库的一些说明
    在这里插入图片描述
    数据准备
    • 1、新建一个文件夹(如:soce_pad)将所用到的库copy进来:
    lib+addbonding.pl+addIoFiller.cmd+ioPad.list
    • 2、将要用到的源文件添加进来:
    MY_CHIP.vg+MY_CHIP_PAD.v+pad_locs.
    io+MY_CHIP_PAD.sdc
    • 3、实验时使用TSMC 0.18工艺,
    2、关于1中源文件的说明
    MY_CHIP.vg是DC综合之后生成的门级网表文件。
    • MY_CHIP_PAD.v是chip-level Netlist (自己编写),就是输入输出端口,用以IC系统与外部环
    境的接口。与组成集成电路核心电路的单元不同,I/O PAD 是直接与外部世界相连接的特殊单元。
    请参看文档DTS-041028-00-000.pdf,列出了TSMC 0.18所使用的P/G Pad、I/O Pad 和Corner
    名称。参看lib库中tpz973g.lef技术库,列出了相关Pad的宏模块。结合所给例子MY_CHIP_PAD.v,
    编写自己的chip-level Netlist 。
    注意我们使用的是TSMC18工艺,pad名称的部分截图:
    在这里插入图片描述
    pad_locs.io文档就是编写添加进来的pad的摆放位置,如图示:
    在这里插入图片描述
    输入、输出、电源和地的摆放位置示例
    在这里插入图片描述
    MY_CHIP_PAD.sdc文件是DC综合之后的时序约束文件,需要进行修改!只需保留clk和输入输出的
    延迟约束信息,其他删除!修改输入输出信号:输入信号前要加i,输出信号前加o,clk信号不变。参考示例文件进行修改。

相关文章:

干货!数字IC后端入门学习笔记

很多同学想要了解IC后端,今天大家分享了数字IC后端的学习入门笔记,供大家学习参考。 很多人对于后端设计的概念比较模糊,需要做什么也都不甚清楚。 有的同学认为就是跑跑 flow、掌握各类工具。 事实上,后端设计的工作远不止于此。…...

力扣:144. 二叉树的前序遍历(Python3)

题目: 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 示例: 示例 1: 输…...

【数据挖掘 | 数据预处理】缺失值处理 重复值处理 文本处理 确定不来看看?

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

二叉树问题——前/中/后/层遍历(递归与栈)

摘要 博文主要介绍二叉树的前/中/后/层遍历(递归与栈)方法 一、前/中/后/层遍历问题 144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历 102. 二叉树的层序遍历 二、二叉树遍历递归解析 // 前序遍历递归LC144_二叉树的前序遍历 class Solution {publi…...

Nor Flash和Nand Flash的区别——笔记

NorFlash:串行存储器、读取速度比较快(比NandFlash快),适合用于存储程序代码和执行代码,但NorFlash写入速度比较慢、容量比较小。数据线和地址线是分开的。 NandFlash:并行存储器、写入速度比较快&#xf…...

7+共病思路。WGCNA+多机器学习+实验简单验证,易操作

今天给同学们分享一篇共病WGCNA多机器学习实验的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”,这篇文章于2023年5月16日发…...

开发者看亚马逊云科技1024【文末有福利~】

1024,2023年的1024,注定是不平凡的1024,AIGC已经成为了整个年度的主题,亚马逊云科技在这个开发者每年最重要的日子,举办了生成式AI构建者大会,让我们一起再次了解本次生成式AI构建者大会,回顾会…...

操作系统(Linux)外壳程序shell 、用户、权限

文章目录 操作系统和shell外壳Linux用户普通用户的创建和删除用户的切换 Linux 权限Linux 权限分类文件访问权限修改文件的权限权限掩码粘滞位 大家好,我是纪宁。 这篇文章将介绍 Linux的shell外壳程序,Linux用户切换机Linux权限的内容。 操作系统和shel…...

C文件操作

目录 1. 什么是文件 2. 为什么要有文件 3. 文件名 4. 文件类型 5. 文件指针 6. 文件的打开和关闭 7. 文件的顺序读写 7.1. fgetc 7.2. fputc 7.3. fgets 7.4. fputs 7.5. fscanf 7.6. fprintf 7.8. sscanf 7.9. sprintf 7.9. fread 7.10. fwrite 8. 文件的随…...

drawio特性

drawio的特性 drawio是领先的基于Web技术的草图和图表功能功能的应用。 保证数据的安全 集成了各种不同的平台,和提供了在线的免费编辑器,可以使用app.diagrams.net来方案,drawio本身不会存储用户的数据。 随着互联网时代的发展&#xff0…...

LLM-Embedder

1. 目标 训出一个统一的embedding模型LLM-Embedder,旨在全面支持LLM在各种场景中的检索增强 2. 模型的四个关键检索能力 knowledge:解决knowledge-intensive任务memory:解决long-context modelingexample:解决in-context learn…...

xsync 集群远程同步脚本

xsync 集群分发 脚本 (1)需求:循环复制文件到所有节点的相同目录下 (2)需求分析: (a)rsync 命令原始拷贝: rsync -av /opt/module roothadoop103:/opt/(b&am…...

30秒get视频号视频如何下载,保存视频号视频到本地方法!

终于可以告别无法下载视频号视频的烦恼啦!下面是一些只需 30 秒就能get到的t视频号视频如何下载方法,让我们一起来探索如何保存视频号视频到本地方法吧! 首先,要记得这些方法仅适用于个人观看或学习使用,不可用于商业用…...

优化改进YOLOv5算法:加入SPD-Conv模块,让小目标无处遁形——(超详细)

1 SPD-Conv模块 论文:https://arxiv.org/pdf/2208.03641v1.pdf 摘要:卷积神经网络(CNNs)在计算即使觉任务中如图像分类和目标检测等取得了显著的成功。然而,当图像分辨率较低或物体较小时,它们的性能会灾难性下降。这是由于现有CNN常见的设计体系结构中有缺陷,即使用卷积…...

【数据结构】搜索树 与 Java集合框架中的Set,Map

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…...

掌握组件缓存:解开Vue.js中<keep-alive>的奥秘

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...

Ajax学习笔记第5天

无论做什么,都请记得那是为自己而做,那就毫无怨言! 【1. 跨域】 1.什么是跨域 跨域是指浏览器不能执行其他网站的脚本。它是浏览器同源策略造成的,是浏览器对JS实施的安全限制。 2.常见的跨域场景 3.什么事同源策略 &#xff…...

20.1 OpenSSL 字符BASE64压缩算法

OpenSSL 是一种开源的加密库,提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据,还支持SSL/TLS、SSH、S/MIME、PKCS等常见的加密协议和标准。 OpenSSL 的功能非常…...

Panda3d 教程

Panda3d 教程 偶然之余看到了 Panda3d 这个3D引擎,觉得代码开源然后又比较轻量级,感觉还是比较好上手的,因此就想去学习一下,然后把学习过程记录下来。 网上也都找了不少关于Panda3d 方面的教程,但是感觉都不是很好&a…...

除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...