数字IC设计全流程设计

  • 掌握数字集成电路设计的流程
  • 数字设计流程中每个阶段主要做哪些工作?
  • 数字设计流程中每个阶段使用的主要EDA工具?

    数字电路常用软件公司Mentor(questasim),Synopsys(VCS),Candence(incisive)

1.手机芯片简介





  • 电子设备中集成了很多的芯片,通常由不同的厂商进行提供

2.集成电路产业链

  • design house:进行芯片设计,算法,架构,前端,后端,仿真,,,,
  • Fab:晶圆厂,提供设计资源与技术支持
  • Packaging:封测厂,晶圆厂和封测厂临近
  • Assembing:组装厂

3常见SoC架构图

  • system on chip
  • CPU(ARM,X86) -- 整个系统的核心
  • AHB,APB -- 进行各个模块之间的通信,上面可以外挂很多模块;快速设备挂载在AHB上(内存),慢速设备挂载在APB总线上

3.1 SoC中IP的功能



3.2 芯片功能

  • SDC -- SD controller

4.数字IC设计流程

  • 指标:频率,内存
  • 制定芯片的具体目标:市场人员到市场上进行调研,今年会生产什么样的Soc,使用的架构是什么,关于DDR4或者是DDR5、USB2.0、USB3.0等。
  • 系统级设计:C语言或者是Matlab进行算法的仿真。对于成熟的模块是不需要进行算法建模的。
  • 前端设计:RTL设计、RTL仿真、硬件原型验证(FPGA)、电路综合。
  • 后端设计:版图设计、物理验证、后仿真等;后端设计会进行布局布线(PR)。
  • RTL:寄存器传输级的硬件描述语言。在硬件描述语言中所描述的电路,都是由Gate进行设计出来的,所以需要进行逻辑综合,将RTL转化为电路,进行验证。

5.数字IC设计具体指标

  • PPAF--Performance,Power,Area,Function
  • 工艺:28nm,14nm,10nm
  • 制作工艺决定性能,新工艺往往使用在手机和电脑的CPU
  • die面积越小,成本越低,按wafer进行计算
  • 封装受到pin数量的影响,需要考虑散热问题
  • 接口用于不同module之间的交互

6.基于Standcell的Asic的设计流程

  • StandCell -- 标准库单元
  • RTL -- 寄存器传输级硬件描述语言
  • System Verilog进行设计和验证
  • 电路版图--基于Netlist进行布局布线





PR阶段:会固定放置standcell,固定的时候会考虑时序(standcell放置的越远,delay越大)、物理空间等。

7.Digital IC design flow



Design Spec-设计规格说明书



C/C++进行设计reference model

验证更多的是行为级的描述





前期是根据design spec进行coding,仿真验证都是根据RTL进行Verification;RTL进行Sysnthesis之后得到的是Gate Level NetList,需要对Gate Level Netlist进行仿真,时间比较长。进行形式验证,形式验证是为了保证逻辑正确,简单理解就会使输入0,输出1,是否正确。





设计过程中可以保证逻辑和function是正确的。在实际进行流片的时候,由于工艺原因导致芯片内部出现一些问题。为了避免这些问题,在拿到裸片之后,可以进行测试。



8.前端设计(RTL to Netlist)

9.后端设计(Netlist to Layout)

10.VLSI设计

数字IC设计全流程介绍的更多相关文章

  1. VerilogHDL概述与数字IC设计流程学习笔记

    一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...

  2. 数字IC设计流程

    数字IC设计流程 简单介绍数字IC设计流程

  3. 数字IC设计工程师的知识结构

    刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...

  4. 数字IC设计入门书单

    首发于观芯志 写文章     数字IC设计入门书单 Forever snow   1 年前 作者:Forever snow链接:你所在领域的入门书单? - 知乎用户的回答来源:知乎著作权归作者所有,转 ...

  5. UED视觉交互设计与流程介绍

    UED视觉交互设计与流程介绍 ------------------------------------------------------------------ 今天先到这儿,希望对您技术领导力, ...

  6. 【转载】数字IC设计流程及开发工具

    原文链接:https://www.zhihu.com/question/28322269/answer/42048070 Design Flow <img src="h ...

  7. (转)IC设计完整流程及工具

    IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计. 前端设计的主要流程: 1.规格制定 ...

  8. github Pull Request合入全流程介绍

    图解全流程 详细步骤 1. fork仓库 2. clone fork仓库到本地 3. 关联upstream原仓库 在fork本地仓库输入下面命令进行关联: git remote add upstrea ...

  9. 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

    一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...

  10. 数字IC设计-15-DPI(延续)

    简介 供SV,无论是构建测试激励,或模拟硬件的并行行为,DPI这是非常方便.上次我们介绍SV内通"import"导入和电话C性能. 在本节,通过一个简单的例子来说明C什么语言的函数 ...

随机推荐

  1. Python+Selenium4自动化之JS属性

    应用场景 在自动化中, 能对JS代码进行增.删.改的话,可以帮助我们解决很多问题, 如:修改<a>标签的target属性,让它不打开新的窗口(_blank),从而不用频繁使用switch_ ...

  2. STM32CubeMX教程9 USART/UART 异步通信

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK ...

  3. CSS3学习笔记-文字特效

    CSS3中提供了许多有趣和实用的文字特效,可以让我们的文本内容更加生动有趣,下面介绍一些常用的文字特效. 文本阴影 使用text-shadow属性可以为文本添加阴影效果,语法如下: text-shad ...

  4. 一行代码解决Three.js中只能在一侧看到物体的问题

    项目场景:   因为该项目比较复杂庞大,在此就简单介绍一下:   通过Three.js创建若干个物体进行了组装,从而形成了一个类似眼球模拟模型的项目,用户可以通过拖动鼠标来达到控制视角(摄像机)的目的 ...

  5. 【Python】人工智能-机器学习——不调库手撕深度网络分类问题

    1. 作业内容描述 1.1 背景 数据集大小150 该数据有4个属性,分别如下 Sepal.Length:花萼长度(cm) Sepal.Width:花萼宽度单位(cm) Petal.Length:花瓣 ...

  6. 如何实现gif格式图片倒放效果?

    不知道大家看电影的时候有没有发现出现过这样的一个神奇场景: 一个子弹竟然从远处飞回到手枪中,整个场景呈现一种时空倒流的感觉? 正文 先来几个有趣的倒放动图娱乐一下~ 猫:我谢谢你们全家 萌娃快乐针 尊 ...

  7. Mybatis源码4 Cache的实现和其原理

    Mybatis CachingExecutor, 二级缓存,缓存的实现 一丶二级缓存概述 上一章节,我们知道mybaits在构造SqlSession的时候,需要让SqlSession持有一个执行器,如 ...

  8. 2023-09-05:请用go语言编写。一个图像有n个像素点,存储在一个长度为n的数组arr里, 每个像素点的取值范围[0,s]的整数, 请你给图像每个像素点值加上一个整数k(可以是负数), 像素值会

    2023-09-05:请用go语言编写.一个图像有n个像素点,存储在一个长度为n的数组arr里, 每个像素点的取值范围[0,s]的整数, 请你给图像每个像素点值加上一个整数k(可以是负数), 像素值会 ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (31)-- 算法导论5.2 3题

    三.利用指示器随机变量来计算掷n 个骰子之和的期望值. 文心一言: 为了计算掷n个骰子之和的期望值,我们需要先了解一个重要的概念:指示器随机变量. 指示器随机变量是一种特殊的随机变量,它只有两个取值: ...

  10. ElasticSearch系列:基本操作(SpringDataElasticSearch)

    一.创建工程.导入坐标 1.选择Next 2.填写名称.选择位置.填写公司或组织.选择Finish 3.导入坐标 <?xml version="1.0" encoding=& ...