当前位置: 首页 > 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) 时间复杂…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...