数字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. django-celery-beat插件使用

    该插件从 Django 管理界面管理celery的定期任务,您可以在其中动态****创建.编辑和删除定期任务以及它们的运行频率. django-celery-beat提供了几种添加定时或周期性任务的方 ...

  2. 【C++】【图像处理】形态学处理(腐蚀、膨胀)算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

    1 void erosion(BYTE* image, int w, int h, BYTE* outImg) 2 { 3 int rept; 4 //腐蚀 5 memcpy(outImg, imag ...

  3. Date、正则表达式练习

    Date.正则表达式练习 package com.guoba.date; import java.text.SimpleDateFormat; import java.util.Calendar; i ...

  4. Web测试基本思路:UI测试、功能测试和兼容性测试

    关于网站测试的基本思路,希望对测试小白有所帮助. 一.UI测试 用户界面测试主要是拿待测网页和设计稿进行对比,主要主要以下4点: 1.注重细节: 这点最基本,就是对比是细心.细心再细心. 2.主要整体 ...

  5. 2023.3 Idea配置Tomcat环境

    tomcat配置 下载tomcat 先到官网(按住Ctrl再左键点击直接打开官网)下载64位的tomcat,网速慢就用魔法下 创建项目.模块 打开idea(我用的是最新的idea的专业版,ui有点变化 ...

  6. 聊聊ChatGLM6B的微调脚本及与Huggingface的关联

    本文首先分析微调脚本trainer.sh的内容,再剖析ChatGLM是如何与Huggingface平台对接,实现transformers库的API直接调用ChatGLM模型,最后定位到了ChatGLM ...

  7. BUUCTF Reverse 新年快乐

    下载文件先查壳,可以看到有UPX壳 用upx脱壳 拖到ida pro32,shift+F12查看字符串,看到关键字flag,双击进去 双击然后f5查看伪代码 main函数伪代码 关键函数: strnc ...

  8. thymeleaf特殊字符输出转义

    thymeleaf特殊字符输出转义,字符串包括/@#¥%&*,正常来说他们输出会被转义掉.主要是使用了th:inline="javascript"标签,它会自动安全转义字符 ...

  9. Go 语言为什么不支持并发读写 map?

    大家好,我是 frank ,「 Golang 语言开发栈」公众号作者. 01 介绍 在 Go 语言项目开发中,我们经常会使用哈希表 map,它的时间复杂度是 O(1),Go 语言中的 map 使用开放 ...

  10. Programming Abstractions in C阅读笔记:p196

    <Programming Abstractions in C>学习第63天,p196总结.涉及到编程之外的知识,依然是读起来很费劲,需要了解作者在书中提到的人物(Edouard Lucas ...