(原創) 給對電機領域有興趣的學弟學妹建議 (IC Design) (C/C++) (C) (Verilog)
2008-01-14 20:50
357 查看
Abstract
假如能重新來過讀大一,你會怎麼讀呢?以下是我對學弟學妹的建議。
Introduction
電機領域很大,有固態電子、IC設計、計算機、通訊、控制、光電、醫工...等,由於我有興趣的是IC設計和計算機,若學弟學妹對此領域有興趣,我有以下建議:
在大一時,頃全力將C語言和Verilog兩個語言搞好,為什麼呢?
1.C語言:
這是軟體語言的代表,這科影響了後續的資料結構、演算法、計算機組織、作業系統、驅動程式、系統程式、韌體實驗、編譯器的學習,也就是說只要是軟體且要寫程式,都逃不掉C語言,C語言沒學好,剩下這幾科根本學不好。
2.Verilog語言:
這是硬體語言的代表,這科影響了後續的邏輯設計、數位設計、計算機組織、VLSI、SOC、FPGA等科目的學習,當你學這些科目時,若你懂硬體語言,可以直接在code中理解背後的理論,所謂『有code有真相』,而且還能藉由理論自己實作來驗證,如在計算機組織學到的pipeline理論,自己可以用Verilog將其實現,這樣將更有感覺。
Conclusion
C語言和Verilog語言分別是軟體語言和硬體語言的代表,若兩個都熟,會幫你同時打通軟體和硬體的任督二脈,尤其嵌入式系統的興起,軟體和硬體已經整合,沒什麼只懂硬體或只懂軟體的人才,兩個都得懂。大一電機系都會教C語言,只要跟著學校好好學就好(當然我承認C語言很難學),但是通常學校將Verilog或者VHDL放到大二或大三才教,我覺得太晚了,建議學弟學妹大一就自修Verilog,這樣大二大三的邏輯設計、數位設計、計算機組織會學得更好,更有感覺,這我有深切的體認。
至於C++呢?我的建議是:『行有餘力,再學C++』,畢竟C語言和Verilog的重要性遠大於C++,雖然C++的物件導向泛型非常有趣,MFC、Qt、SystemC..等也是用C++,但對於電機系大一而言,C語言和Verilog的重要性遠大於C++,所以先將這兩科搞好比較重要。
假如能重新來過讀大一,你會怎麼讀呢?以下是我對學弟學妹的建議。
Introduction
電機領域很大,有固態電子、IC設計、計算機、通訊、控制、光電、醫工...等,由於我有興趣的是IC設計和計算機,若學弟學妹對此領域有興趣,我有以下建議:
在大一時,頃全力將C語言和Verilog兩個語言搞好,為什麼呢?
1.C語言:
這是軟體語言的代表,這科影響了後續的資料結構、演算法、計算機組織、作業系統、驅動程式、系統程式、韌體實驗、編譯器的學習,也就是說只要是軟體且要寫程式,都逃不掉C語言,C語言沒學好,剩下這幾科根本學不好。
2.Verilog語言:
這是硬體語言的代表,這科影響了後續的邏輯設計、數位設計、計算機組織、VLSI、SOC、FPGA等科目的學習,當你學這些科目時,若你懂硬體語言,可以直接在code中理解背後的理論,所謂『有code有真相』,而且還能藉由理論自己實作來驗證,如在計算機組織學到的pipeline理論,自己可以用Verilog將其實現,這樣將更有感覺。
Conclusion
C語言和Verilog語言分別是軟體語言和硬體語言的代表,若兩個都熟,會幫你同時打通軟體和硬體的任督二脈,尤其嵌入式系統的興起,軟體和硬體已經整合,沒什麼只懂硬體或只懂軟體的人才,兩個都得懂。大一電機系都會教C語言,只要跟著學校好好學就好(當然我承認C語言很難學),但是通常學校將Verilog或者VHDL放到大二或大三才教,我覺得太晚了,建議學弟學妹大一就自修Verilog,這樣大二大三的邏輯設計、數位設計、計算機組織會學得更好,更有感覺,這我有深切的體認。
至於C++呢?我的建議是:『行有餘力,再學C++』,畢竟C語言和Verilog的重要性遠大於C++,雖然C++的物件導向泛型非常有趣,MFC、Qt、SystemC..等也是用C++,但對於電機系大一而言,C語言和Verilog的重要性遠大於C++,所以先將這兩科搞好比較重要。
相关文章推荐
- (原創) HDL只是代表一個model (IC Design) (Verilog)
- (原創) 如何用管線(Pipeline)實作無號數乘加運算? (IC Design) (Verilog)
- (原創) 如何使用SignalTap II觀察reg值? (IC Design) (Quartus II) (SignalTap II) (Verilog)
- (原創) Verilog testbench建議的coding style (SOC) (Verilog)
- (原創) 物件導向技術不只用在軟體開發而已,一樣也適用在系統晶片開發 (IC Design) (Verilog) (OO)
- (原創) 無號數及有號數的乘加運算電路設計 (IC Design) (Verilog) (OS) (Linux)
- (原創) 由C語言學習Verilog的思維轉換 (C/C++) (C) (IC Design) (Verilog)
- (原創) 硬體是如何加速軟體呢? (IC Design) (Verilog)
- (原創) wire與reg的差異? (初級) (IC Design) (Verilog)
- (原創) 如何使用integer型別? (IC Design) (Verilog)
- (原創) Verilog入門書籍推薦:Verilog數位電路設計範例寶典(基礎篇) (IC Design) (Verilog)
- (原創) 用HDL設計硬體有什麼優點? (IC Design) (Verilog)
- (原創) 如何產生50MHz的時脈? (IC Design) (Verilog)
- (原創) 硬體思維和軟體思維的差異 (IC Design) (Verilog)
- (原創) 如何讀取/寫入文字檔? (IC Design) (Verilog)
- (原創) 是否該將所有Verilog檔都加入到Quartus II project中? (IC Design) (Quartus II)
- [转载](转帖)如何使用integer型別? (IC Design) (Verilog)
- (原創) 微軟的產品,建議依照產品發表順序裝 (.NET) (Visual Studio) (Database) (SQL Server)
- (原創) 如何有效減少Nios II EDS所編譯程式碼大小? (IC Design) (Nios II)
- (原創) 如何破解ModelSim-Altera 6.1g與ModelSim SE 6.3e? (IC Design) (ModelSim)