数字IC设计怎么入门?(附学习全流程)

news2025/2/21 6:48:18

看到很多小伙伴都不了解数字IC设计该怎么学,下面就来给大家来具体讲讲。

其实对于初级数字 IC 设计工程师而言,不仅仅需要较好的 Verilog 语法功底,还要熟悉企业的 Linux 环境以及 EDA 工具,此时你就需要掌握 Shell,Vim,SVN 等公司操作环境,以及 VCS,Verdi,SpyGlass 等公司开发环境。

随着工艺的发展,芯片肯定是尺寸越来越小,至于小到什么样的程度是极限,这很难知道。但不管怎么去生产制造,我们讲时序,你 set up,任何时候都是 set up,这是属于一个基本性的东西,基本上跟你工艺的情况关系不大。

不管你是2纳米的也好,还是200 纳米,我们讲 2000 纳米的这样一个工艺,基础性的东西是一定的,你可能会碰到额外的问题,比如功耗。

建议大家,去打好技术的基础,我们讲了rtl,特别是sta,特别是电路方面的基础。将来你去做不管是 2 纳米也好,5 纳米也好,方法基本上都是类似的,只是迭代的次数更多一点而已。

数字 IC 设计是有一定的门槛的,入门需要需要掌握许多知识点和技能。

  1. 了解数字系统基础知识:掌握了解数字系统的基本概念、逻辑门电路、计算机体系结构等知识,可以从网络上找到一些较好的入门课程和教材。

在这里插入图片描述

  1. 学习EDA工具:掌握EDA工具(集成电路设计工具),了解最常用的仿真、静态时序分析工具和器件模拟等软件,比如:Cadence、Mentor Graphics等,可以通过相关网站申请试用版的EDA工具进行学习和实践。

cadence软件及安装指导

在这里插入图片描述
以上电子文件和cadence软件安装指导可分享给大家(文末按需领取)

各阶段主要工作及EDA工具

芯片架构:根据项目需求确定架构,输出设计规格说明书(design spec)
RTL设计:利用硬件描述语言对电路进行寄存器传输级(RTL)的描述
RTL仿真:检验RTL设计代码是否实现了spec描述的功能,也称为前仿真,综合后再进行的仿真称为后仿真(时序仿真)——工具VCS、NC、Modelsim
逻辑综合:把RTL设计代码映射到特定的工艺库上,添加约束文件,输出成门级网表Netlist——工具DC
形式验证:从功能上对综合后的网表进行验证,保证综合过程中没有改变原先HDL描述的电路功能,常用的就是等价性检查方法——工具Formality
静态时序分析:STA,在时序上对电路进行验证,检查电路是否存在建立时间和保持时间的违例——工具PT
DFT:扫描链插入,使设计中的所有寄存器可以通过设计的输入输出进行控制和观察,用于在芯片生产之后测试芯片的良率
布局布线:布局(确定各种功能电路的摆放位置),时钟树的插入(时钟信号的布线),布线(普通信号的布线)——工具ICC、Innovus
寄生参数提取:提取延迟信息
静态时序分析:加入了布局布线延迟,更真实的时序分析 ——工具PT
版图验证:DRC设计规则检查/LVS版图一致性检查——工具Calibre、Hercules、Diva/dracula

3.学习数字电路和优化方法:掌握数字电路的设计方法和常见的电路结构,了解常见的数字电路优化方法,有助于提高电路的性能和可靠性。

4.掌握常用的数字IC设计流程:可以学习数字IC设计流程,有助于更深入地理解数字IC设计的实现方式和流程。

数字IC设计流程

确定项目需求
确定芯片的具体指标:功能、功耗、性能、IO外设等
市场来提出需求,研发来评估需求
系统级设计
用系统建模语言对各个模块描述
由系统工程师完成
前端设计【逻辑】
RTL设计、RTL仿真(EDA仿真验证)、硬件原型验证(FPGA硬件原型验证)、电路综合(RTL代码映射(MAP)成门级网表(STD CELL))
后端设计【物理】
版图设计、物理验证、后仿真等

5.实践项目:了解常用数字IC设计模块的设计与开发流程,尝试开发简单的有限状态机/逻辑模块或仿真程序等。

图片

本项目设计完成了一个 memory controller 模块,实现了对 array read/write/refresh的控制,其接口完成了 AXI bus 到 array interface 之间的转换。

看完之后大家学会了吗?如果你还是没有学习思路的话,也可以跟行业内工程师具体了解一下学习的方向和方法。上面所涉及到的资料也可以分享给大家。

这里给大家放个口:数字IC设计资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/654004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django 权限管理和guardian插件

内置权限管理 Django内置的权限管理, 是一种表权限, 就是可分别配置某管理员用户对某个表的全部数据有没有增删改查4种权限. 图形界面配置权限 之前提到,使用命令行创建超管用户: python manage.py createsuperuser这其实是在最普通的用户的基础上将…

百度网盘的最新插件(懂得都懂)

下面先给大家介绍一下油猴插件。 这个插件为什么叫油猴? 现在我们经常提到的油猴插件,常指Tampermonkey,但Tampermonkey翻译过来是叫篡改猴,为什么会叫油猴呢?原因是因为另一个插件Greasemonkey,它翻译过…

Qt编写iFIx组态软件日报表插件的实现

一、iFIx中生成report.MDB文件 在Ifxi组态软件的【调度】中新建调度任务【report】添加【定时器调度项】FixTimer5,间隔1h触发一次。通过此任务及脚本程序,将相关变量定时存入自动生成的report.MDB文件中。 用户脚本程序如下: ---- User Co…

Sui对外开放开发者Office Hour

Sui宣布开启新一轮的Sui开发工程师Office Hour。本期的Office Hour由Sui基金会和Mysten Labs共同主办,为Sui上开发的相关技术问题进行答疑解惑并提供支持。 开发工程Office Hour将于每周五1:00 AM(GMT8)开设,时长为1小时。 每个…

程序性能优化实践总结——JAVA

文章目录 1、 衡量程序性能的指标2、Java 程序性能优化切入点3、获取程序的性能数据1、nmon:获取系统性能数据2、jvisualvm:获取JVM性能数据3、jmc:获取Java应用详细性能数据4、arthas:获取单个请求的调用链耗时5、wrk获取Web接口的性能数据 4、应用程序优化1、缓冲区2、缓存3、…

vm.min_free_kbytes调整导致GI异常,kernel: oracle: page allocation failure

有个11204 rac的测试环境,客户反馈凌晨rman全备时偶尔会有内存耗尽导致数据库重启的情况,不是合同内的维护环境,请我们帮忙处理。我估计是没配置vm.min_free_kbytes,之前也调整多次每次都成功完成,就没有多想&#xff…

ROS1 图像数据转发

为节约带宽提高效率采用jpeg: sensor_msgs::CompressedImage image_msg; ros::Publisher img_pub n.advertise<sensor_msgs::CompressedImage>(“image1”, 10); image_msg.format“jpeg” ; image_msg.data.resize(jpeg_data_size); memcpy(image_msg.data.data(),jpeg…

【CUDA编程】 动态体素化实现

动态体素化实现 动态体素化DV克服了硬体素化HV的一些缺点。动态体素化DV保留了分组grouping阶段&#xff0c;相反&#xff0c;它没有采样固定的点数或体素容量&#xff0c;它保留了点和体素之间的完全映射。因此&#xff0c;体素数和每个体素中的点数都是动态的&#xff0c;依…

深入理解 SpringBoot 日志框架:从入门到高级应用——(七)SpringBoot日志配置

SpringBoot 官方文档&#xff1a;https://docs.spring.io/spring-boot/docs/2.7.12/reference/htmlsingle SpringBoot 底层依赖 Spring Boot 对所有内部日志记录使用 Commons Logging&#xff0c;但使底层日志实现保持为打开状态。 为 Java Util Logging、Log4J2 和 Logback …

【计算机网络自顶向下】如何学好计网-第一章概论

相关术语 URI&#xff1a;Uniform Resource Identifier 统一资源标识符&#xff0c;指的是一个资源 URL&#xff1a;Uniform Resource Location 统一资源定位符&#xff0c;URI的子集&#xff0c;用地址定为的方式指定一个资源 URN&#xff1a;Uniform Resource Name 统一资…

DBeaver连接SQLite数据库

一、前言 SQLite小巧轻便的开源免费关系型数据库&#xff0c;适合嵌入单机应用随身携带。桌面版推荐使用DBeaver。 官网&#xff1a;SQLite Download Page github&#xff1a;GitHub - sqlite/sqlite: Official Git mirror of the SQLite source tree 类似的开源免费且小巧…

vue+elementui实现app布局小米商城,样式美观大方

目录 一、效果图 1.首页效果图 2.分类 3.购物车 4.我的 5.登录注册 6.商品详情 7.搜索 二、项目实现 1.项目结构、设计说明 2.路由配置实现 3.首页实现源码 4.登录注册实现&#xff0c;模拟登录注册流程&#xff0c;用户数据存储到本地浏览器缓存 三、总结 一、效果…

『2023北京智源大会』开幕式以及基础模型前沿技术论坛

『2023北京智源大会』开幕式以及基础模型前沿技术论坛 文章目录 一. 黄铁军丨智源研究院院长1. 大语言模型2. 大语言模型评测体系FlagEval3. 大语言模型生态(软硬件)4. 三大路线通向 AGI(另外2条路径) 二. Towards Machines that can Learn, Reason, and Plan(杨立昆丨图灵奖得…

UE4/5样条线学习(四):样条线的创建和自然摆动

这一次我们创建一个actor蓝图&#xff0c;不过我们这次并不需要在一开始就创建样条线组件&#xff0c;而是在游戏中根据两个点去创建样条线&#xff0c;然后用时间轴根据样条线带动物品旋转位移。 制作&#xff1a; 组件部分&#xff1a; 第一步&#xff0c;创建一个actor蓝图…

CSDN铁粉增长秘籍

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

【Jmeter】在进行综合场景压测时,由于不同的请求,要求所占比例不同,那如何实现呢?

在进行综合场景压测时&#xff0c;由于不同的请求&#xff0c;要求所占比例不同&#xff0c;那如何实现呢&#xff1f; 有人说将这些请求分别放到单独的线程组下&#xff0c;然后将线程组的线程数按照比例进行配置&#xff0c;这种方法不是很好&#xff0c;想想&#xff0c;不…

【计算机网络自顶向下】如何学好计网-第二章应用层

第二章 应用层 应用层协议原理 网络应用程序体系结构 客户机/服务器体系结构&#xff1a;至少有一个服务器&#xff0c;一个客户机&#xff0c;其中服务器总是打开的&#xff0c;具有固定的众所周知的IP地址&#xff0c;主机群集常被用于创建强大的虚拟服务器&#xff0c;而客…

OpenCV 笔记_1

笔记_1 文章目录 笔记_1Mat类数据类型读取Mat类支持的运算图像读取&#xff0c;显示&#xff0c;保存imread 图像读取namedWindow 创建要显示的窗口imshow 窗口显示imwrite 图像保存 视频加载与摄像头的使用VideoCapture 加载视频或摄像头get 获取属性VideoWriter 保存视频 图像…

vue 生命周期

人的-生命周期 一组件从 创建 到 销毁 的整个过程就是生命周期 Vue_生命周期 1. 钩子函数 Vue 框架内置函数&#xff0c;随着组件的生命周期阶段&#xff0c;自动执行 作用: 特定的时间点&#xff0c;执行特定的操作 场景: 组件创建完毕后&#xff0c;可以在created 生命周期…

实际项目中使用gorm-gen来生成实体类

一、为什么要使用gorm-gen来生成实体类和查询 1、根据gorm官网地址&#xff0c;正常的写法是先写数据模型,然后由数据模型自动同步生成到数据库中,但是这样的工作量会比较大,对于写后端的人来说都熟悉sql语句,正常来说都是先自己手动创建表,利用工具将表字段同步到项目实体类中…