此文的目的,鼓勵大家,更加積極學習FPGA、嵌入式系統設計...
若有問題,歡迎賜教
簡單介紹下
本博主:phdwong,開博時間為Sep.24,2010。
2011年碩士畢業,2011年3月就職於一家通訊公司。從研究生開始,自學FPGA,摸爬滾打,目前具備的系統級設計能力。現在供職於一家創業型公司,FPGA系統產品開發負責人。或許,時間很短,或許不具備上述技能,但是,我確實做到了。
掌握HDL;熟悉FPGA開發流程,熟悉Xilinx FPGA 開發環境ISE、EDK,熟悉Altera Quartus 開發環境,熟練使用Modelsim進行模擬,掌握TCL/DO檔案的編寫應用。
掌握常用介面的開發設計如DDR3 SDRAM、DDR2
SDRAM、SRAM、SPI、I2C、UART。精通Xilinx
MicroBlaze系統級構架,並基於MicroBlaze,進行數字預失真(DPD)設計,優化達到15dB。熟悉C/C++、MATLAB,具備算
法級開發能力。熟練使用Protel/Candence進行設計......................
做個的專案:
基於超聲波測量風速
基於超聲波工業檢測-探傷
基於超聲波醫療器械-B超/PW/CFM....
基於Xilinx 乙太網/DDR3設計
基於MicroBlazeDPD設計,全部智慧財產權,達到15dB
基於FPGA的數字中頻的設計實現,FIR/DUC/DDC/CIC...
基於FPGA的RRU/BBU設計
基於FPGA的光口設計。。。。。。。。。。。。。。
2008年~2011年,在研究生學習階段,專業方向,並不是FPGA,只是本科具備了C/C++、MATLAB、HDL、數字訊號處理基礎,經過一段時間的實習,毅然投身FPGA偉大事業。
大四畢業那年,我們寢室四兄弟,在討論,在大學畢業時刻,我們真正得到了什麼?學到了什麼?我們當時得到的一致結論時:怎麼樣與人相處、以及自己的學習能力!
結束了大學四年的學習生活,步入研究生階段的學習,那股衝勁,依舊不減。
在研二階段,實習過後,當時的職位是硬體工程師,每天套個牌牌,感覺自然不錯,對FPGA產生了濃厚的興趣,當然,演算法也不例外。就FPGA而言,所有的方方面面,都是自己花時間學習的,有問題想盡一切辦法去解決。
曾經有位老師與我分享了一句話:這個社會相當浮躁,沉下來,你就是偉人!當然,這個偉人,參考物件,是你本人。我覺得此話很有道理。
就這樣,真正學習FPGA是2009年11月。由於本科階段的東西,只是打了個基礎。忘記得差多不了。基本是從0開始:
首先:學習了51微控制器,對C語言進行溫習,對硬體設計的原理圖,相關術語進行了解與掌
握,比如IO、定時器等等。這個我是花了2個月的時間,作為FPGA的過渡期。現在看來,是很有必要的。因為當你作為一個系統工程師、演算法工程師、瞭解原
理圖(數字部分)更好的提升你的數字設計、演算法設計。
其次:接下來的工作就是學習FPGA。學習FPGA的基礎是:首先學習HDL、選擇一家公司(如Xilinx /Altera...)開發環境進行熟悉、學會結合Modelsim進行模擬,這個是FPGA設計基本的入門基礎吧
熟悉HDL、熟悉開發環境與設計流程,只能說明你有些FPGA的基礎,此時,千萬不能急躁。買塊板子,我09年買了塊800元,簡直就坑人,那個Demo板,進行實戰設計演練,強化熟悉開發流程。
對於基礎而言(Xilinx):大家需要知道的
HDL RTL級的描述;
ISE的使用;
如何閱讀FPGA
datasheet,由於FPGA是一個比較大型的器件(對於Xilinx
高階器件,資料更多),需要大家,有針對性的進行閱讀。比如此時,在瞭解JTAG
CHAIN,那麼需要閱讀configuration資料;比如進行器件選型,需要閱讀具備資源的資料等等。
UCF檔案的編寫;UCF,使用者約束檔案,包括IO約束、時序約束、物理約束等。對於綱接觸的使用者,可能更多的是設計IO約束。
ISE聯合Modelsim的模擬,對於大型設計,建議自己寫Testbench,採用Modelsim進行功能模擬,以確保前期的功能驗證。對於熟練使用Xilinx ISE fpga邏輯設計,可以考慮學習更高階的MicroBlaze、SystemGenerator等工具。
如何掌握MATLAB產生模擬激勵訊號,這個也非常重要。
對於基礎階段的學習,大家需要做的太多太多,遇到問題,可以Google進行答案尋找,可以與網友進行溝通交流。
後續心得,繼續更新中..........................
每天一點點進步
原作者: phdwong