a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 牛人業話 > 駿龍科技Andrew —— FPGA資深FAE的經驗獨白

駿龍科技Andrew —— FPGA資深FAE的經驗獨白

作者: 時間:2014-09-01 來源:網絡 收藏

  看似簡單的幾個問題,Andrew卻回答的井井有條,小編已經沒有辦法有什么其他詞語去形容了。本文Andrew不僅僅對入門學習流程做了詳細的分享,更是對開發工作的要求分成大公司和小公司兩個層面來分析。你能想象曾經從一個疏忽學業的人成為一名資深的嘛?

本文引用地址:http://www.j9360.com/article/262433.htm

  1. 您認為想學的話,先學好什么才最重要?

  Andrew:我們玩FPGA的通常就是跟數字電路打交道,要想玩得轉,必須先學習并掌握最最基礎的數字電路和HDL硬件描述語言,當然這只是入門必備,實際上遠遠不夠。個人拙見,要入行除了至少掌握一種FPGA的仿真及開發調試流程之外;起碼還要了解一些模擬電路知識,掌握諸如電源紋波、時鐘抖動、信號質量等經常需要測量的硬件參數的測試方法;起碼還要掌握一種原理圖和Layout設計軟件,能夠查看分析調試電路板上的電路模塊,如電源、時鐘、存儲器、配置、I/O和高速收發器等模塊;起碼還要掌握一種單片機的開發流程,項目中難免有一些需要配置控制的需求,使用外置單片機或者內置ARM硬核或者其他軟CPU來實現,簡單又方便;由于本人水平有限,其他方面這里就不再贅述。

  那么,針對FPGA入門學習的一般流程,簡單總結一下,供朋友們參考,有經驗的大牛可以繞道:

  1.首先要有開發平臺,把該準備的都準備好,磨刀不誤砍柴工:

  比如ALTERA的Quartus II軟件、開發板和配置調試工具USB Blaster,以及仿真軟件Modelsim SE。軟件可以從網上下載,入門功能的許可的和諧方法一大堆;開發板和USB Blaster可以借,可以買,動手能力強的朋友,自己畫一塊也行。對于初學者,建議找一塊有詳細配套教程的開發板。

  2. 對于新手來講,按部就班地學習往往就是最快的學習方法:

  照貓畫虎盡管囫圇吞棗一知半解,但起碼能把開發流程摸熟,能跑起來。剛拿到開發板,肯定是丈二和尚摸不著頭腦。這個時候,建議先根據開發板的配套教程,把原理圖上的各項模塊功能厘清,把FPGA周圍的電源、時鐘、復位、配置、GPIO和連接器等的電路原理理一理分析分析。再按照配套教程中介紹的流程,把配套的測試工程跑通,在這個階段,把FPGA開發所涉及的RTL輸入,綜合、前仿真、布局布線、后仿真、配置調試的流程摸清楚。學習新東西的過程中,難免會出現一些不熟悉的“疑難雜癥”,切莫灰心,堅持就是勝利。當然,往往這個時候,有些朋友開始嫌棄教程寫得冗長、寫得爛,或者碰到英文教程推辭看不懂,就開始閉門造車,天天碰壁,逐漸喪失興趣和信心,當開發板上面落滿了灰,你還好意思在跳槽的時候吹牛有過如何豐富FPGA經驗嗎?

  3. 熟悉了開發流程:

  接下來就可以分析或者改寫原教程中的代碼或者模塊,有針對性地去實現一些功能模塊,并且通過一些軟件自帶的調試組件來輔助驗證結果是否符合預期,如SignalTap II等。無論是原廠的單板,還是FPGA愛好者做的單板,配套例程都會有一些經典的電路實現案例,比如基本的分頻器,簡單的I2C通信、SRAM讀寫控制,以及稍微復雜的SDRAM讀寫控制等,認真分析別人如何寫代碼實現所觀測到的時序,與此同時,閱讀相應模塊手冊或者器件內部組件文檔中的時序描述章節來對比分析,查閱網上別人分享的調試心得博客、論文等,直到理解并掌握為止,并且適當地做些筆記歸納總結,所謂時常記記,以防忘記,給其他人或者給以后的自己參考。

  4. 光靠自己研究,有時會被一些問題阻塞思緒,大腦會卡殼:

  那么,加入一些學習小組、專業的討論圈子是有必要的,是利大于弊的,比如論壇、FPGA產業圈QQ群,分享心得,咨詢問題,探討人生。這個過程,也有可能誤入歧途,有些朋友可能過分享受社交的愉悅,迷戀于灌水的浪潮中。建議在學習工作的時候,把精力主要放到學習研究中,切莫墮入無聊的灌水大軍中。除了線上交流,大家也可以參加社區組織的線下沙龍活動,面對面地交流學習,探討問題的同時還可能交往一些好朋友。跟別人討論問題,目的是為了解決問題,處理過程需要一些技巧,建議盡量把已經遇到的問題的器件型號軟件版本、觀測到的癥狀、仿真調試的波形、已嘗試的方法和已分析的可能原因先羅列出來,讓能幫你且有時間有心情幫你的朋友快速及時地分析出原因并給出解決方法,這是一個簡單的討論問題的方法論。別人幫你是恩德,不是義務。如果沒有人幫到你,不要灰心,繼續想其他辦法。

  5. 有一點基礎了,就可以適時選擇一些項目練手:

  不僅可以鍛煉FPGA開發能力,還可以增強信心,沉淀經驗,獲取價值體現。老是拿著開發板玩,思維容易囿于開發板所涉及的小小“圈套”,其實開發板只是個學習工具,開發板玩得再熟,也只是熟悉那上面的幾個小模塊而已。FPGA應用廣泛,相關產品層出不窮,大把的就業及市場機會,如果光學不練,那真是白瞎了時光,浪費了生命。

  2.從事FPGA開發工作有些什么要求呢?

  Andrew:坦白地講,這個問題很難回答,不同的公司、不同的產品、不同的項目組、不同的研發人員需求千差萬別。不過,可以討論討論。公司與研發之間是雙向選擇,公司要求產品具有一定的技術優勢和穩定度,能夠及時上市覆蓋一定的細分行業,研發需要公司按照合同提供合理的待遇和福利。 大公司人員分工相對比較清晰,FPGA工程師需要配合系統工程師、算法工程師、軟件工程師、硬件工程師和測試工程師完成產品單板的功能設計和穩定性測試,因為不是一個人在戰斗,所以更需要注重團隊合作。而且大公司往往與芯片的供應商有戰略合作關系,獲取相應的支持資源在力度和速度的優先級上遠遠高于一般公司,這對FPGA技術層面的修煉是大有裨益的。

  在這樣的公司里工作,竊以為需要培養:

  1. 自我學習能力。公司如果有相關培訓,抓住機會好好學習;如果沒有,平時在工作之余要加強專業知識充電,把自己打造成不可或缺的人才。另外要注意公司不是學校,公司要的是能干實事的員工,不是夸夸其談紙上談兵的趙括,不能天天想著學習而不干活。

  2. 溝通協調能力。遇到疑難問題要及時發起團體討論診斷,切莫蒙頭自己死扛,一來自己壓力大,二來影響項目開發進度,必要時要及時把芯片供應商的支持團隊拉進來共同討論分析。要意識到自己的不足,尊重團隊中其他成員的意見和建議,經常鍛煉自己的溝通協調能力,為以后自己帶團隊做準備。

  3. 抗壓能力。FPGA開發的難度高居主控芯片(CPU,DSP,FPGA,專用芯片等)的榜首,芯片廠家為了配合市場需求,連年不斷升級器件軟件,這對于研發來講就是災難,但是為了提升最終產品的競爭力,提升我們自身的價值,我們不得不去學習掌握。另外公司項目往往嚴格按照預期進度開展,如果遇到難題,加班加點是必須的。所以我們平時一定要多鍛煉身體,多看書,培養一定的興趣愛好,以排解項目開發中的苦悶。像某為那樣,只注重工作效率,把研發當作加班的機器,時不時就有報道研發跳樓的新聞,簡直就是業界的恥辱。

  4. 職業生涯規劃能力。大公司職業任務單一,對專業深度要求高。要逐步規劃調整自己未來的路,往專業深度走,做技術專家;往專業廣度上走,做系統工程師;往技術之外的崗位走,轉行。工作要積極主動,選好的路就好好走下去,切忌朝三暮四,濫竽充數,人浮于事,碰到好光景,還可以混日子;碰到諸如當前這種外企裁人潮,諾基亞、思科、微軟等公司紛紛大裁員,老大不小的南郭處士再就業難度就比較大。凡事都逃不過因果關系,給公司努力工作,就是為自己的未來努力工作。只要有能力,將來還是有機會出去自創企業,創造更多社會價值。

  小公司自由度高,單獨的FPGA工程師的職位設置不太常見,往往圍繞著項目的需求,工程師既要當爹又要當媽,硬件軟件邏輯機械模型一起搞。從表面上看,要做的事情比較雜,新人往往感覺在打醬油,跑龍套。有一些朋友耐心比較差,容易陷入經常跳槽的怪圈。其實呢,小公司有小公司的好,產品的復雜度相對來講不高,研發出項目的速度比較快,數目也比較多,容易積累自身的成就感,這感受和大公司里面有時的無力感有天壤之別。再者小公司由于企業規模小的原因,直接做平臺與大公司競爭的可能性不大,往往都是做一些圍繞大公司平臺的配套產品,或者做一些大公司不愿意做或者尚未注意到的新的細分產品。作為研發,能夠直接或間接接觸終端行業應用,對產品的功能理解直觀透徹,對行業也有一定的調研,將來很容易出去創業,做出更加細分的行業產品。

  在小公司工作,竊以為需要鍛煉:

  1. 產品設計的全局觀。主動去研究產品的應用需求,整合現有的方案,揣摩可能改進的部分,將其開發設計為產品的亮點,贏得細分行業的市場。產品本身技術含量不高,所以我們也沒有必要糾結一些技術細節,只要能實現能出產品,就是研發的價值體現。

  2. 技術的廣度。多了解一些常用的芯片平臺,熱門的實現方案。產品在設計過程中,盡量選擇成熟的芯片平臺和結構,降低產品研發的風險和投資。

  3. 溝通能力。小公司的老板一般不太注重研發,對研發的投入力度有限,研發團隊里往往只有光桿司令幾人。長期欠缺溝通,有些朋友可能表現得比較木訥,比較悶騷,其實對今后的職業生涯是有害處的。一定要找機會與公司其他部門的人溝通交流,不要給自己畫圈。平時要積極參加一些線下沙龍,活動,鍛煉自身的溝通能力。

  4. 耐心。人生漫漫,來日方長,剩者為王。所謂干一行愛一行,機會永遠留給有準備的朋友。

  3. 初級工程師應具備哪些專業技能?

  Andrew:至于FPGA工程師的所需的專業技能,仁者見仁,智者見智,我在第一個問題的回答中也提到若干。

  這里專門羅列一下我個人淺見,僅供參考:

  1. 時序的設計和仿真能力。時序是設計出來的,一些常見的電路模塊必須要掌握,如流水線操作,狀態機,localbus接口,存儲器讀寫等電路的時序設計。FPGA相關的著作多如牛毛,這里推薦兩本:《FPGA Prototyping by Verilog Examples》,美籍華人Pong P. Chu針對Xilinx Spatran3E 開發套件編著的Verilog基礎教材,可以在網上下載英文版的pdf,可以自行打印成冊參考;另外一本有中譯本出版,可以在Amazon購買,作者克里茲,孟憲元翻譯的《高級FPGA設計 結構、實現和優化》,書很好很薄,翻譯得有待改進。這兩本可以作為學習FPGA方法論的“紅寶書”。

  2. 電路調試能力。穩定的產品是建立在不斷調試改進的基礎上的。熟練使用常用的測試工具,如萬用表、示波器、邏輯分析儀等。熟悉FPGA廠家提供的調試工具,對于FPGA設計事半功倍,如前面提到的SignalTap II。一些輔助的調試工具最好也能夠掌握,如串口、網絡報文分析工具等等。電子設計相關的小工具有很多,根據自己的工作需要適當選擇。

  3. 文檔閱讀和編寫能力。作為一名FPGA工程師,免不了與器件軟件的英文文檔打交道,閱讀文檔要先是搞清楚幾條:讀哪些文檔哪個章節,在哪里找這些文檔。我想這些一時半會也講不完,我曾經在某論壇發了一個關于 FPGA資料列表的帖子,很受歡迎,至今仍然在熱帖之中。建議經常主動與相關芯片廠家的溝通,獲取有效的直接的技術支持;當然文檔是需要自己讀的,別人不能永遠幫你讀。再一個,公司內部技術積累,編寫文檔也是必要的,有一些工具需要掌握,如畫波形的TimeGen或者Timing Designer,字處理軟件Word或者WPS等。關于文檔建設,有些公司不太重視,其實文檔很重要很必要,對團隊內部審閱討論,對未來的自己參考都是有用的。

  4. 演講溝通的能力。俗話說,光說不練假把式,光練不說傻把式,又說又練真把式。團隊內部討論產品需求,方案規劃,問題診斷,都需要演講溝通。甚至請求老板加薪,羅列自己的成果也需要一定的演講溝通能力。可以適當地借用工具來輔助,比如ppt。

互感器相關文章:互感器原理


萬用表相關文章:萬用表怎么用


fpga相關文章:fpga是什么


分頻器相關文章:分頻器原理

上一頁 1 2 下一頁

關鍵詞: ALTEAR FPGA FAE

評論


相關推薦

技術專區

關閉