如何自学芯片设计?
众所周知,芯片设计自学还是比较困难的,更不存在速成的。这里简单说一下学习的规划。
学会相应的知识
无论是科班毕业,还是理工科专业,想要入行IC,那就一定要具备相关的基础知识。尤其是在学校里,学习的很多东西偏向学术,并不是实战。
需要学习的东西主要包括C语言、微机原理、数电基础、verilog基础。这是入行之前需要学习的基础知识。当然,掌握这些是远远不够的,想要提升自身的竞争力,那就要掌握更多,比如熟悉某些EDA工具的应用。
这里以前端工程师为例,前端设计一般需要掌握的知识有Linux操作基础、数字电子基础、verilog语言、计算机体系结构、脚本语言、EDA仿真工具等。
数字前端设计工程师这个岗位门槛比较高,需要学习和掌握的东西也很多,所以一定要有完整和系统的学习方案。随便学学,三天打鱼两天晒网的学习是没有效率的,毕竟想要高收入也没那么容易,吃得苦中苦方为人上人。
具备一定的项目经验
从去年以来,企业更看重项目经验,做过项目和没做过项目,在面试官眼里有很大的差别。这里就建议大家尽可能多参与项目,从企业中获取项目,真正跟着公司做过事情的人面试时的表现是不同的。社招的话有无项目经历、项目的方向、项目完成度都是非常重要的。尤其是社招,项目经验是岗位匹配度的一个重要参考标准。
在此推荐几本书籍:
1、《现代集成电路半导体器件》电子工业出版社,作者:胡正明。

这本书系统介绍了现代集成电路中的半导体器件,是一本深入阐述半导体器件的物理机制和工作原理并与实践相结合的教材。
2、《数字集成电路分析与设计(第2版)》电子工业出版社,作者:David A. Hodges。

该书以半导体器件物理为基础,阐述了深亚微米工艺中数字集成电路的设计技术。内容包括器件模型和公式、基本门电路、静态与动态电路、存储器设计、互连线产生的效应和芯片中电源网格与时钟的分布等。该书的讨论主要基于0.18 μm和0.13 μm CMOS工艺进行的,突出了深亚微米工艺中互连线带来的新问题及其对设计的影响。
此外,书中强调了SPICE模拟工具在电路设计中的应用。该书反映了深亚微米数字集成电路的设计技术发展可作为高等院校微电子、计算机、电子工程等专业本科生和研究生的教材和参考书,也可供从事相关领域工作的技术人员参考。
3、《数字集成电路物理设计》科学出版社,作者:陈春、艾霞、王国雄。

这是国内第一本全面、完整介绍当今数字集成电路后端布局布线设计技术的专门教材。作者结合自身多年理论研究和丰富的实践与教学经验,详细介绍了基于标准单元的数字集成电路从门级网表到最终布局布线版图生成过程中所涉及的多方面重要工作,包括布图规划、电源规划、布局、时钟树综合、布线、寄生参数提取、静态时序分析、签收验证和物理验证等。
《数字集成电路物理设计》对基本概念的讲授通俗易懂,相关内容、配套习题和实验都与实际工程紧密联系,以使读者能够打下坚实的工程实践基础。
可作为高等院校集成电路设计相关专业工程硕士的教材,也可作为相关专业本科生和研究生的教材,并可供集成电路设计工程师参考。
4、《Verilog数字系统设计教程》北京航空航天大学出版社,作者:夏宇闻。

本书的教学方式以每2学时讲授一章为宜,每次课后需要花10 h复习思考。完成10章学习后,就可以开始做上机练习,由简单到复杂,由典型到一般,循序渐进地学习Verilog HDL基础知识。
按照书上的步骤,可以使大学电子类及计算机工程类本科及研究生,以及相关领域的设计工程人员在半年内掌握Verilog HDL设计技术。
本书可作为电子工程类、自动控制类、计算机类的大学本科高年级及研究生教学用书,亦可供其他工程人员自学与参考。
5、《微机原理及汇编语言》清华大学出版社,作者:赵伟。

这本书主要以当前国内外广泛流行的16 /32位微处理器为背景,以Intel8086/808816位机为基础,追踪Intel主流系列高性能微机的技术发展方向。具体内容有计算机中数的表示、数制转换、8086/8088微型计算机的基本结构、系统总线、8086/8088指令系统、汇编语言程序设计、DOS功能调用、存储器的设计、Cache的原理、存储器的管理、输入/输出的方式、中断、8259中断控制器、8255并行口、8250串行口、模/数转换和数/模转换。
本书以让学生掌握微机硬件基础知识和汇编语言程序设计为编写目的,是普通高等院校非计算机专业本科生的教材,也可作为成人高等教育的培训教材,又可作为广大从事微型计算机应用与开发的科技人员的自学参考书。
自学最大的问题是慢,而且自学到一定程度就会遇到天花板。没有真正做一个实际的有深度的项目是很难学到一定水平的。自学也好,报班也好,最好的情况肯定是在找工作时已经达到了最后的标准。
需要学习资料的同学,可以私信留下正确的联系方式,老师会主动联系你发送学习资料!
相关文章:
如何自学芯片设计?
众所周知,芯片设计自学还是比较困难的,更不存在速成的。这里简单说一下学习的规划。 学会相应的知识 无论是科班毕业,还是理工科专业,想要入行IC,那就一定要具备相关的基础知识。尤其是在学校里,学习的很…...
通过中断控制KUKA机器人暂停与再启动的具体方法示例
通过中断控制KUKA机器人暂停与再启动的具体方法示例 中断程序的基本介绍: 当出现例如输入信号变化等事先定义的事件时,机器人控制器中断当前程序,并处理一个已定义好的子程序 由中断而调用的子程序称为中断程序 最多允许同时声明32个中断 同一时间最多允许有16个…...
pandas基本操作
df.head()/tail() 查看头/尾5条数据;df.info 查看表格简明概要;df.dtypes 查看字段数据类型;df.index 查看表格索引;df.columns 查看表格列名;df.values 以array形式返回指定数据的取值;list(dt.groupby(&q…...
论文笔记NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF使用神经网络来表示场景。给定一个场景,输入该场景稀疏的视角图片,NeRF可以合成该场景新的视角的图片。 神经辐射场 神经辐射场(neural radiance field,NeRF)使用5D的向量值函数表示一个场景。 输入是连续的5D坐…...
花3个月面过京东测开岗,拿个20K不过分吧?
背景介绍 计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在…...
Leetcode DAY 35:柠檬水找零and根据身高重建队列 and用最少数量的箭引爆气球
860.柠檬水找零 class Solution { public:bool lemonadeChange(vector<int>& bills) {int five 0;int ten 0;for(int i 0; i < bills.size(); i) {if(bills[i] 5) {five;} else if(bills[i] 10) {ten;five--;if(five < 0){return false;}} else {if(ten …...
java-spring_bean实例化
bean是如何创建的实例化bean的三种方式构造方法静态工厂(了解)实例工厂与FactoryBean实例工厂FactoryBeanbean是如何创建的实例化bean的三种方式 构造方法 bean本质上就是对象,创建bean使用构造方法完成 提供可访问的构造方法 public clas…...
微信中如何接入机器人才比较安全(不会收到警告或者f号)之第三步正式接入
大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 前面两篇文章分别介绍了下chatgpt接入方式: 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第一步登录微信 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第二步注入dll文件…...
高通平台开发系列讲解(Sensor篇)IAM20680驱动程序的使用
文章目录 一、相关编译宏二、设备树配置三、打开iio自动挂载脚本四、模块加载验证沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 IAM20680 驱动程序。 一、相关编译宏 目录:arch/arm/configs CONFIG_IIO_BUFFER=y CONFIG_IIO_KFIFO_BUF=y CONFIG_II…...
【VictoriaMetrics】VictoriaMetrics集群伪分布式部署(二进制版)
VictoriaMetrics支持单机版以及集群版部署,通常情况下,官方建议使用单节点版本,而不是集群版本,如果摄取速率低于每秒一百万个数据点,单节点版本可以完美地扩展CPU内核、RAM和可用存储空间的数量。与集群版本相比,单节点版本更容易配置和操作,因此在选择集群版本之前要三…...
华为手表开发:WATCH 3 Pro(7)获取电量信息
华为手表开发:WATCH 3 Pro(7)获取电量信息初环境与设备文件夹:文件新增第二页面showBatteryInfo.hmlshowBatteryInfo.js修改首页 -> 新建按钮 “ 跳转 ”index.hmlindex.js 引用包:system.router首页效果点击结果初…...
【数据结构】动态顺序表的接口实现(附图解和源码)
动态顺序表的接口实现(附图解和源码) 文章目录动态顺序表的接口实现(附图解和源码)前言一、定义结构体二、每一个接口的实现原理(附图解)1.初始化顺序表2.增容顺序表3.尾插数据4.删除顺序表信息(…...
L2-003 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的&#…...
volatile不等于原子操作
volatile作用 确保数据每次都从源头读取,即每次都从内存中读取,不从缓存中读取。 这样做的目的是确保不会被优化 int i 0;int main(int argc, char **argv) {const char *str;if (i 0) {str "hello";} else {str "world";}ret…...
每天10个前端小知识 【Day 15】
👩 个人主页:不爱吃糖的程序媛 🙋♂️ 作者简介:前端领域新星创作者、CSDN内容合伙人,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀! ✨系列专栏:前端…...
异构数据库同步方案
目录 1 概述 2 原理 3 参数 1 概述 将企业生产系统产生的业务数据实时同步到大数据平台,通过对业务数据的联机实时分析,快速制定或调整商业计划,提升企业的核心竞争力。 依据同步数据是否需要加工处理,采用不同的技术方案&am…...
MySQL-系统信息函数
获取 MySQL 版本号的函数VERSION()例:返回当前mysql版本信息mysql> select version(); ----------- | version() | ----------- | 5.7.40 | ----------- 1 row in set (0.01 sec)查看当前用户的连接数的ID函数CONNECTION_ID()例1:查看当前用户连接…...
Windows环境下使用Pycharm运行sh文件
博主在调试一些程序时,时常遇到 .sh文件,这是Linux中的shell脚本文件,那么这种文件在windows下如何运行呢,其实我们可以通过git来实现,接下来看我操作。 首先我们需要安装Git,关于其安装过程可以参考博主这…...
Flutter启动流程浅析
一,Mixins1,定义:Mixins 是一种在多个类层次结构中重用类代码的方法。个人理解:就是一个类,这个类有一些方法,其他类可以在不继承这个类的情况下使用这个类的方法。2,几个关键词(1&a…...
004:NumPy的应⽤-2
数组的运算 使⽤NumPy 最为⽅便的是当需要对数组元素进⾏运算时,不⽤编写循环代码遍历每个元素,所有的运算都会⾃动的⽮量化(使⽤⾼效的、提前编译的底层代码来对数据序列进⾏数学操作)。简单的说就是,NumPy 中的数学运…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
