数字IC设计学习比较实用的资料推荐

!!!!!!!!!!!!!!!!!!!!!!

审核麻烦看一下,无下载,只是推荐书单。谢谢

!!!!!!!!!!!!!!!!!!!!!!

0 引言

数字IC设计或者FPGA在笔试、或者面试中的基础知识提问环节,考察的知识点范围还是比较广的,个人整理主要包括:

  1. 基本的Verilog、SystemVerilog语法相关的问题。
  2. 数电模电的基础知识。
  3. FPGA相关知识。这一块主要包括FPGA基本结构、电路映射、高速收发器、时钟树等问题。可能很多人(包括我自己)在校园都没有流片经验,更多的是涉及FPGA相关的知识,FPGA设计与IC设计涉及到的基础知识有一部分是相通的,所以也是一个比较常考的部分。
  4. HDL设计相关知识。这一块主要包括FIFO设计、复位电路、同步异步电路、跨时钟域、状态机、速度优化、面积优化、功耗优化等设计具体电路设计相关的知识。
  5. 静态时序分析相关知识。
  6. 数字IC基础知识。主要包括PVT(工艺(Process)、电压(Voltage)、温度(Temperature))的影响、7.3 ASIC设计流程/FPGA设计流程、低功耗设计方法等。另外不可避免的还会涉及到验证相关的一些知识。
  7. 其他的主要有计算机体系结构相关知识、总线协议等。

这些知识我在找工作过程中也整理成文档了,后续会发布在这个专栏的“知识整理篇”。这篇文章主要是推荐一些学习这些知识过程中比较有用的参考资料。

省流:

序号知识推荐资料
1Verilog、SystemVerilog语法《2005 V:Verilog IEEE Std(1364-2005)》、《2005SV:IEEE Std 1800-2005(System Verilog)》、《Verilog数字系统设计教程.夏宇闻》、《SYSTEM VERILOG验证-测试平台编写指南》
2数电模电《数字逻辑电路与系统设计(第二版).蒋立平》 、《模拟电子技术基础(第四版).华成英》
3FPGA相关Xilinx的官方文档:UG474、UG472、UG901、UG906、UG903
4HDL设计《硬件架构的艺术-数字电路的设计方法与技术.Mohit Arora著.李海东译》、《FPGA设计实战演练(高级技巧篇).王敏志》
5静态时序分析《wp-01082-quartus-ii-metastability》、《Static Timing Analysis for Nanometer Design》、《Contraining Designs for Synthesis and Timing Analysis》
6数字IC基础《SOC设计方法与实现(第3版)_郭炜》、《高级ASIC芯片综合.Himanshu Bhatnagar著.张文俊译》、《数字集成电路-电路、系统与设计(第二版)》、《UVM实战(卷Ⅰ)_张强》、《芯片验证漫游指南》
7其他AMBA协议规范、《计算机组成与设计-硬件软件接口-原书第5版》、《Perl语言入门_中文版_第六版》、《Tcl_Tk入门经典(第2版)》

链接:
以上资料我都整理好了,由于CSDN版权原因不能公布,后面再想办法发布。

多嘴:

  • 除了基础知识需要详细的阅读资料进行学习外,其他的建议归纳或做题中去查阅进行学习。
  • 网上看了再多的知识整理都没有自己去看一遍原资料好,自己看了原文才有更好的理解。

1 Verilog、SystemVerilog语法相关

推荐资料:《2005 V:Verilog IEEE Std(1364-2005)》、《2005SV:IEEE Std 1800-2005(System Verilog)》
辅助资料:《Verilog数字系统设计教程.夏宇闻》、《SYSTEM VERILOG验证-测试平台编写指南》

1.1 介绍

  1. IEEE语法标准是最权威的资料,涉及到Verilog、SystemVerilog语法问题的考点,我推荐直接查看IEEE标准就可以了。
  2. 除了可以对一些问题涉及的知识点进行查询外,有的题目甚至直接就是IEEE标准中的例子。

例子:
比如有一个涉及到{}连接符用法的题目,考察知识点是连接符内不能为空白,verilog标准中就有这个代码的示例。
原文来源:Verilog IEEE STD(2005) 5.1.14 Concatenations:

parameter P = 32;
// The following is legal for all P from 1 to 32
assign b[31:0] = { {32-P{1’b1}}, a[P-1:0] } ;
// The following is illegal for P=32 because the zero
// replication appears alone within a concatenation
assign c[31:0] = { {{32-P{1’b1}}}, a[P-1:0] }
// The following is illegal for P=32
initial
$displayb({32-P{1’b1}}, a[P-1:0]);

有些公司笔试题就直接引用的原文,问是否有语法问题、什么问题 之类的。

1.2 封面

《2005 V:Verilog IEEE Std(1364-2005)》:
在这里插入图片描述

《2005SV:IEEE Std 1800-2005(System Verilog)》:
在这里插入图片描述

2 数电模电基础知识

推荐资料:优先推荐你自己上课使用的教材。其他书籍就算写得再全面,也没有你曾经上课的教材使用效果来的好。因为需要使用到的也只是其中一小部分基础知识。
如果没有学习过相关课程,推荐

  1. 《数字逻辑电路与系统设计(第二版).蒋立平
  2. 《模拟电子技术基础(第四版).华成英》

1.1 介绍

最基本的基础知识就不用过多介绍了。
数电主要复习不同编码及其特点、卡诺图化简、逻辑门电路、竞争与冒险、组合时序逻辑基本电路的结构。
模电主要复习:CMOS电路的特性,这对于理解时序有很大的帮助,因为这是最底层的原因。可以参考 深扒“亚稳态”的底裤,从MOS管到CMOS门电路,再到亚稳态分析

1.2 封面

《数字逻辑电路与系统设计(第二版).蒋立平》
在这里插入图片描述

《模拟电子技术基础(第四版).华成英》
在这里插入图片描述

3 FPGA相关知识

FPGA相关的知识只推荐Xilinx的官方文档,涵盖了所有FPGA相关的知识。

介绍几篇比较重要的:

序号名称内容参考
0UG474. 7 Series FPGAs Configurable Logic Block User Guide主要学习Xilinx的FPGA中可编程逻辑块(Configurable Logic Block,CLB)的结构,SliceL与SliceM的区别,另外重点需要看的是不同电路(分布式RAM、移位寄存器、数据选择器、进位逻辑)对应的CLB映射结构,这个是FPGA相关工作必问的。UG474】可配置逻辑块(configurable logic block,CLB)资源学习
1UG472. 7 Series FPGAs Clocking Resources User Guide主要学习 FPGA 时钟树架构,如果找FPGA相关工作,如果回答上来了非常加分,另外在回答IC时钟树相关的问题、或者FPGA与ASIC区别的问题时也可以带着介绍。
2UG901. Vivado Design Suite User Guide - Synthesis除了作为FPGA综合相关知识学习的文档外,主要学习第4章 HDL Coding Techniques:包含寄存器、锁存器,三态缓冲器、移位寄存器、数据选择器、FIR、FSM等编程教学。第7章 Verilog Language Support:主要包含vivado对verilog语法是否可综合的支持,学习这个就可以回答大部分是否可综合的问题了。以Vivado synthesis支持的Verilog结构来学习 Verilog语句可综合性
3UG906. Vivado Design Suite User Guide - Design Analysis and Closure Techniques如果你是做FPGA开发的,学习完这篇文章肯定会对功力提升有很大的帮助。主要学习时序收敛的基础知识与FPGA时序分析的方法UG906学习笔记:Xilinx官方时序分析教程,时序分析基础知识,Vivado时序分析方法,时序报告查看
4UG903. Vivado Design Suite User Guide - Using Constraints主要学习第3~6章时序约束相关的知识,包括时钟约束、输入输出延迟约束、时序例外约束、跨时钟域约束。FPGA时序约束学习(1)-如何约束时钟

以上是一些常用的,Xilinx的每篇手册都可以学习到很多知识,比如,如果遇到FPGA低功耗设计的问题,就可以整理好ug907-vivado-power-analysis-optimization中低功耗设计的注意点进行回答,遇到FIFO相关的问题可以查看pg057-fifo-generator,里面就有各种FIFO的结构。有时间的话可以多看多学习。

4 HDL设计相关知识

1.1 介绍

  1. 上文的《UG901. Vivado Design Suite User Guide - Synthesis》第4章 HDL Coding Techniques 主要是一些基本电路设计的参考。
  2. 《硬件架构的艺术-数字电路的设计方法与技术.Mohit Arora著.李海东译》第一章 亚稳态的世界 对亚稳态的概念介绍的比较好。
  3. 《FPGA设计实战演练(高级技巧篇).王敏志》中对跨时钟域、复位、状态机、速度优化、面积优化设计介绍的很详细。

1.2 封面

《硬件架构的艺术-数字电路的设计方法与技术.Mohit Arora著.李海东译》
在这里插入图片描述

《FPGA设计实战演练(高级技巧篇).王敏志》
在这里插入图片描述

5 静态时序分析相关知识

1.1 介绍

  1. 上文的Xilinx文档 《UG906. Vivado Design Suite User Guide - Design Analysis and Closure Techniques 》对FPGA中时序分析与时序收敛技术做了详细的介绍。另外altera有一篇文档《wp-01082-quartus-ii-metastability》对亚稳态的介绍非常通俗易懂。

  2. 《Static Timing Analysis for Nanometer Design》:主要是基本概念学习,包括时序分析在IC、FPGA设计流程中的作用、静态时序分析的基本概念(特点是从硬件电路底层介绍了时序的由来),包括传播延迟、信号间的偏斜、时序弧、最小最大时序路径这些进行静态时序分析前必须了解的基础知识。

  3. 《Contraining Designs for Synthesis and Timing Analysis》,对应中文翻译版为《综合与时序分析的设计约束-Synopsys设计约束(SDC)实用指南》:详细介绍了各种时序的基本概念以及如何进行约束。包括时钟、生成时钟、时钟组、输入输出延迟、虚假路径、多周期路径等时序约束,非常全面。

1.2 封面

《Static Timing Analysis for Nanometer Design》:
在这里插入图片描述

《Contraining Designs for Synthesis and Timing Analysis》:
在这里插入图片描述

6 数字IC基础知识

1.1 介绍

  1. 《SOC设计方法与实现(第3版)_郭炜》:这个属于是基本概念介绍,大致有总体概念。我一般用来查找一些验证和可测性设计相关的知识。
  2. 《高级ASIC芯片综合.Himanshu Bhatnagar著.张文俊译》:主要学习ASIC设计流程以及涉及到的一些EDA工具。
  3. 《数字集成电路-电路、系统与设计(第二版)》:用于了解ASIC生产流程,以及互联引起的寄生效应相关的知识,基本上只用来找答案 😃。
  4. 《UVM实战(卷Ⅰ)_张强》:主要介绍UVM相关知识,由于我对验证不熟悉,所有遇到验证相关的问题基本上是需要查阅这本书。另外就是路桑的《芯片验证漫游指南》。

1.2 封面

《SOC设计方法与实现(第3版)_郭炜》:
在这里插入图片描述

《高级ASIC芯片综合.Himanshu Bhatnagar著.张文俊译》:
在这里插入图片描述

《数字集成电路-电路、系统与设计(第二版)》:
在这里插入图片描述

《UVM实战(卷Ⅰ)_张强》:
在这里插入图片描述

7 其他

1.1 介绍

  1. AMBA协议规范:去RAM官网搜索AMBA即可。CHI、AXI、AHB、APB这些通信协议至少熟悉一个、其他都了解,能回答上面试问题就行。
  2. 《计算机组成与设计-硬件软件接口-原书第5版》
  3. 脚本语言知识查阅:《Perl语言入门_中文版_第六版》、《Tcl_Tk入门经典(第2版)》

1.2 封面

《AMBA® AXI and ACE Protocol Specification 》:
在这里插入图片描述

《计算机组成与设计-硬件软件接口-原书第5版》:
在这里插入图片描述

《Perl语言入门_中文版_第六版》:
在这里插入图片描述

《Tcl_Tk入门经典(第2版)》:
在这里插入图片描述

  • 3
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
学习IC设计,首先需要掌握一定的基础知识,包括模拟电路、数字电路、电子器件、半导体物理等,这些知识可以通过大学课程、自学书籍或者网上课程来学习。接下来,需要选择一个较为成熟的EDA工具,例如Cadence或者Mentor Graphics等,学习其使用方法。此外,还需要了解IC设计的流程和常用设计方法,例如CMOS工艺、低功耗设计、时钟和电源管理等。 针对IC设计学习资料的获取途径,可以从以下几个方面入手: 1. 学校和课程:如果是在大学里学习IC设计,可以直接参加相应的课程,此外许多大学也会提供相应的资料和文献。 2. 书籍:有很多关于IC设计的经典书籍,例如《CMOS Digital Integrated Circuits》,《The Art of Electronics》等。这些书籍可以通过购买或者下载PDF版本来获取。 3. 网络资源:目前有很多网络资源提供IC设计的相关资料和文献,例如IEEE Xplore、ScienceDirect、Springer等。此外,也可以通过搜索技巧,找到国内外一些技术论坛和博客,获取一些IC设计的教学视频、课件等资料。 4. EDA工具官网:如果使用的是某些商业化EDA工具,可以直接在官网上找到相应的教程和资料,例如Cadence的官网上提供了完整的IC设计教学视频和文献资料。 总之,在学习IC设计的过程中,需要注重实践,不断尝试和实践,不断探索,才能更好的学习和掌握该领域的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lu-ming.xyz

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值