看板 EE_Comment 關於我們 聯絡資訊
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://www.ptt.cc/bbs/EE_Comment/M.1467317906.A.8B1.html
siscon: 推 07/01 21:24