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

数字IC设计流程

目录

 

一、引例——RFID芯片

二、数字IC设计流程的发展史

第一阶段:人工设计

第二阶段:人工为主、计算机为辅 

第三阶段:人工与计算机平分秋色

第四阶段:计算机为主、人工辅助

三、目前主流的数字IC设计流程

 1、ASIC设计流程

 2、Soc设计流程

四、Top-Down设计流程

五、工艺库

5.1 概述

5.2 标准单元库示例:上升沿D触发器(D flipflop)

5.2.1 基本信息

5.2.2 延迟信息

5.2.3 对输入和时钟的要求

5.2.4 电路原理图 ​编辑

5.3 设计验证所需的库文件


 

一、引例——RFID芯片

        大家应该对RFID并不陌生,所谓的RFID技术其实就是无线电射频技术 ( Radio Frequency Identification,RFID)的英文简称,该技术主要借助于磁场或者是电磁场原理,通过无线射频方式实现设备之间的双向通信,从而实现交换数据的功能,该技术最大特点就是不用接触就可以获得对方的信息。

        其中的无源RFID系统通过电磁感应线圈获取能量来对自身短暂供电,完成信息交换。其结构简单、成本低、故障率低,使用寿命较长。然而,无源 RFID的有效识别距离通常较短,一般用于近距离的接触式识别。无源RFID系统的典型应用包括:公交卡、二代身份证和校园卡等。

        其内部结构如下:

e93aa811a6ca40e39fda404b370cd3b7.jpeg

        其内部主要分成了射频电路模块、模拟电路模块、数字电路模块和存储电路模块。

        主要设计流程如下:

e4bd23082cdb4334805b246de797f828.jpeg

        可以看到,设计的时候模拟IC与数字IC是分开的,模拟的部分首先设计出电路原理图,然后经过管级仿真模拟、布局布线;数字的部分则是通过行为级描述和仿真得出门级网表,然后经过物理设计。在此之后统一进行物理验证、晶圆制造、封装等过程,最终得到我们的IC产品。这里我们关注的重点是数字IC设计的流程。

二、数字IC设计流程的发展史

第一阶段:人工设计

        这个阶段的设计规模大概是几百个门。其设计流程如下:

cc9f1ebd96d040a3b3d7b8d854d9fc2e.jpeg

第二阶段:人工为主、计算机为辅 

        这个阶段的设计规模大概是几万个门。采用Bottom-up流程,使用计算机工具:CAD(Computer-Aided Design)工具。其设计流程如下:

0d470225b5254baab3f22e2727623446.jpeg

第三阶段:人工与计算机平分秋色

        这个阶段的设计规模大概是几百万个门。采用Top-down流程,使用计算机工具:EDA(Electron Design Automation)工具。其设计流程如下:

21e8ca52115a4f0ab05f1734b5b8e1ad.jpeg

第四阶段:计算机为主、人工辅助

        这个阶段的设计规模大概是几亿个门。采用Top-down与Bottom-up结合的流程,使用ESL(Electron System Level)工具。其设计流程如下:

ef92481cbfbf48d081e0ef1c3f24d41c.jpeg

三、目前主流的数字IC设计流程

1、ASIC设计流程

        瀑布式,由顶向下,先时序后物理,先硬件后软件,层次清晰,容易实现

e9eff33cd3fe47f0ab3956bf6289942f.jpeg

2、Soc设计流程

螺旋式,由顶向下与自底向上的结合,时序、物理并行,硬件、软件并行,层次复杂,难以实现。
5a17e8ce4a254b0a9217b01e0ae20851.jpeg

 

四、Top-Down设计流程

9ae0a20a61ae449f8ea8cdd692512336.jpeg

五、工艺库

5.1 概述

由代工厂提供的基于特定工艺的电路单元库,包括功能、时序、功耗、拓扑等信
息,通常包括:
  • 标准单元(Standard cell):基本组合逻辑门和时序控制单元等
  • 宏单元(Macro block):加法器、ALU、SRAM、多路选择器等
  • 输入/输出单元(I/O pad cell):输出缓冲器、ESD保护单元等

5.2 标准单元库示例:上升沿D触发器(D flipflop)

5.2.1 基本信息

        AME CMOS 0.8μm工艺 库名ms080cmosxCells

a509d868dc014c85b42a32ed1b136c9b.jpeg

5.2.2 延迟信息

518435aa13db4fd1827195b0bf7f264d.jpeg

5.2.3 对输入和时钟的要求

68c0a33d63c249bba88dfc926cf9a1b7.jpeg

5.2.4 电路原理图 45fc1ef4a190452582a446b7a443b3f4.jpeg

5.3 设计验证所需的库文件

  • DEF(Design Exchange Format)文件:设计交换文件,给出被设计电路的网表,用于在不同设计系统之间传递电路设计信息,可用于参数提取、功耗分析、电压降分析等
  • LEF(Library Exchange Format)文件:物理库文件,描述单元的物理拓扑信息以及对互连尺寸约束(端口位置、层定义和通孔定义等),以.lef为后缀,主要用于布局布线
  • SDF(Standard Delay Format)文件 :时序库文件,描述单元及互连的时序信息,包括管脚与管脚之间、时钟与数据之间以及内部互连的延迟,以.lib为后缀,主要用于静态时序分析
  • Cell LEF文件:定义标准单元、宏单元、I/O单元和其他特殊单元的物理信息,包括单元的放置区域、对称性、面积大小,I/O口的布线层、几何形状以及不可布线区域等
  • Technology LEF文件:定义布局布线的设计规则和晶圆厂的工艺信息,包括互连线的最小间距、最小宽度、厚度,典型电阻、电容、电流密度大小,布线通道宽度,通孔种类等
14e9cdc579fe41759db76c26e53b02e7.jpeg

        这里拓展说一下时序库的内容:时序库文件SDF(Standard Delay Format):ASCII格式,存放由EDA工具生成的时延数据。

1、数据主要内容

  • 电路时延(Circuit Delay):单元或器件的时延,有端口到端口(黑盒)和分布时延(白盒)两种建模方式
  • 互连时延(Interconnect Delay):连线或互连网络的时延,有点到点的interconnect结构和将互连等效成单元的Port结构

 2、数据来源

  • 正标(Forward-annotation):布局布线前,根据线负载模型以及用户的时间约束来定义延迟,通常用于逻辑综合和有时间驱动的布局布线
  • 反标(Back-annotation):布局布线后,从实际提取的网表中计算得到的时延,包含了网络的电容和互连的RC时延,通常用于布局布线后的静态时序分析

 

相关文章:

  • MongoDB 数据类型
  • WPF 消息日志打印帮助类:HandyControl+NLog+彩色控制台打印+全局异常捕捉
  • Matlab仿真2ASK/OOK、2FSK、2PSK、QPSK、4QAM在加性高斯白噪声信道中的误码率与归一化信噪比的关系
  • Python入门学习篇(十四)——模块文件操作
  • java之树筛选
  • 判断电话号码是否重复-excel
  • x-cmd pkg | openssl - 密码学开源工具集
  • 【JavaFX】基于JavaFX11 构建可编辑、对象存储、修改立即保存、支持条件过滤的TableView
  • LeetCode976. Largest Perimeter Triangle
  • docker +gitee+ jenkins +maven项目 (一)
  • C语言 指针初阶
  • 【Redis-08】Redis主从复制的实现原理
  • Linux驱动开发之杂项设备注册和Linux2.6设备注册
  • Android IdleHandler闲时加载
  • 《Python机器学习原理与算法实现》学习笔记
  • [译] 怎样写一个基础的编译器
  • 【技术性】Search知识
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • extract-text-webpack-plugin用法
  • linux学习笔记
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • unity如何实现一个固定宽度的orthagraphic相机
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 项目管理碎碎念系列之一:干系人管理
  • HanLP分词命名实体提取详解
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #define与typedef区别
  • #if 1...#endif
  • (¥1011)-(一千零一拾一元整)输出
  • (pojstep1.3.1)1017(构造法模拟)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转)jdk与jre的区别
  • (转载)hibernate缓存
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .gitignore
  • .NET Core中Emit的使用
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • [ 网络通信基础 ]——网络的传输介质(双绞线,光纤,标准,线序)
  • [@Controller]4 详解@ModelAttribute
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • [CSS]中子元素在父元素中居中
  • [Django 0-1] Core.Checks 模块
  • [GYCTF2020]Ez_Express
  • [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明
  • [java面试]宇信易诚 广州分公司 java笔试题目回忆录