作者pwh17 (胖丁)
看板EE_Comment
标题数位ic领域修课分享
时间Fri Jul 1 04:18:23 2016
Hi 各位学弟妹学长姐同学好:
受到同学感招,我想在这边分享我在电机系修课的一些经验。
本文以数位ic组为主题,不一定正确,不过希望能帮助到需要的同学。
数位ic的技能本质上有几大类:
1.Domain Knowledge:Router 晶片、无线晶片、CPU、影像处理晶片,所需要的知识都
不一样。这部分的知识有几个作用:
A.这会帮助你了解这晶片是做什麽的,和上层怎麽桥接的(系统观)
B.了解在高阶演算法要怎麽做,让你有做成晶片的基础。
C.重要的理论基础(像是数位讯号处理对於通讯就很重要)
像是以Router晶片,Domain Knowledge有:
A.演算法(Router硬体本身要做的演算法)
B.和软韧体的搭配(嵌入式的知识、或是这晶片上面搭配什麽软体来达到整个功能)
C.系统观(电网导所学、让我们知道这晶片建构出的子系统到底在整个网路中做什麽)
这部分的学习,要靠专题或领域课程。像CPU,你就需要修计算机结构。通讯就需要修DSP
数位通讯、通讯积体电路设计等课。
------------------
2.晶片设计的底子。这包括
A.数位电路设计的基本概念
像是Multiple Clock Domain, Setup time or Hold time, Latch/Flip-Flop
阙老师或卢老师所开设的积体电路设计就是在讲这部分。
有点理论,有点庞杂,但很重要。有了这些概念,会帮助你在实际设计或Debug时更快。
B.Verilog/SystemVerilog
这部分需要靠数位系统设计(实作MIPS CPU),以及数电实验这两门课。
在练习的过程中,除了增进你实作的能力,你会接触到更多数位设计的例子,像是
数电的I2C protocol、Altera的Avalon Bus。具体的例子将会帮助你对於有更多的
了解,也会打开SoC这个在研究所课程会比较专门处理的课题(这部分我也还在学Q)
C.EDA tool的使用
这部分会帮助你了解写完Verilog程式码以後,到底都发生了什麽。包括Synthesis、APR
、LVS。在数位系统设计里,会接触到Synthesis。但如果要接触到整个流程,修积体电
路设计实验,实际上下一颗晶片,会对於整个流程有较大的了解。
这部分也需要不少理论知识,不过通常都在操作软体的过程,一边介绍。
这部分,是非常花心力的。因为软体较难学,还要搭配上不少观念。所以会特别花心力。
----------------
3.晶片架构设计
研究所课程比较有,介绍整个SoC。Bus要用哪个Protocol、Memory System要用哪种。
Processor要多快、各种系统层级性的内容
(这部分说实话我也还没修过,尚待同学补充CVSD或多媒体晶片系统设计有?)
-----------
4.完整版的晶片设计流程
这部分也是研究所,或是去工作时,才会练到的。
这包括STA、Design Verification(UVM/SystemVerilog)、SystemC。
有些听说CVSD会教,但UVM学校通常不教,太Engineering。
---------------------------
所以总结起来,如果想在大学时,修数位ic相关的课程。
可以修
1.积体电路设计(基础知识)
2.数电实验(学FPGA、练习Verilog、看Verilog例子)
3.数位系统设计
4.Domain Knowledge课程
像是计算机结构、数位讯号处理
5.积体电路设计实验
---------研究所时可以修或可能有帮助---------
嵌入式相关(了解跟软体的连结)
更多的Domain Knowledge课程
更多晶片设计专业知识(CVSD)
类比积体电路(还不确定,不过会更懂电子,要不然太多CodingQQ)
以上是小弟个人的经验分享,不一定正确,但希望可以帮助更多学弟妹
有啥漏或错的再麻烦各位同学加个~感谢大家~
NTUEE116 07/01/2016
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.204.96
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EE_Comment/M.1467317906.A.8B1.html
1F:推 siscon: 推 07/01 21:24