第一階段:入門 -> 熟練克服心理恐懼– 代碼這么寫可以編譯通過– 下載程序不會燒毀電路板建立思維定勢– “事非經(jīng)過不知易”學會了便是“自古華山一條路”
沒用過便是“亂花漸欲迷人眼
第二階段:提高 -> 精通EDA工具——從感性認識到理性認識– 站在EDA工具的角度理解FPGA開發(fā)流程EDA工具各個流程的意義,各個階段的輸入輸出EDA工具輸出的報告:Infor和warningHDL語言——積累設計模式– 跨時鐘域處理電路– 有限狀態(tài)機電路– 特定領域的數(shù)據(jù)通路電路– 片上總線FPGA芯片——從邏輯特性到物理特性
– 搞定時序分析和約束– 看懂RTL視圖和Technology視圖第三階段:從業(yè) -> 專業(yè)從產(chǎn)品需求出發(fā)認識你的芯片– 芯片之內(nèi)深刻理解FPGA底層結構與應用場合的對應關系– 芯片之外FPGA外圍支持電路以及高速接口FPGA與軟件接口的設計和調(diào)試做出你的產(chǎn)品– 公司業(yè)務– 項目流程– 領域知識
個人的成長+成功的項目給剛剛從業(yè)的FPGA工程師的幾點忠告– 珍視你的第一份工作從工作中學習,在工作中成長記工作日志,寫博客– FPGA工程師學點軟件,學點“不可綜合語句”數(shù)據(jù)的分析和可視化工具之間的“膠水”– 使用Linux OS腳本
免費工具開源精神
第二部分:FPGA開發(fā)中的敏捷實踐FPGA開發(fā)本質(zhì)上是敏捷的– 相對于芯片開發(fā):靈活 + 快速 = 敏捷
可以隨時更新– 更短的迭代周期可以上板驗證 – 更快的反饋速度敏捷開發(fā)的思想需要結合FPGA的自身特點– 相對于軟件開發(fā):上板調(diào)試代價更高 – 仿真驗證的必要性距離真實世界更近 – 開發(fā)驗證、調(diào)試工具的必要性? 驗證、調(diào)試工具不是最終產(chǎn)品的一部分? 開發(fā)工具、積累工具,合理重用刻意地模仿芯片或者軟件開發(fā)都是不可取的案例分享案例一:用Virtual JTAG加速上板驗證
– 問題1:缺少外部芯片的仿真模型。– 解決1:用VJ虛擬出一個“串口控制臺”,通過接口邏輯層,向外部芯片發(fā)送“寫”和“讀”命令。驗證接口邏輯層,積累操作外部芯片的腳本。通過這一接口,把最終產(chǎn)品中需要用狀態(tài)機來實現(xiàn)的控制電路,暫時替換為可以用PC機軟件來實現(xiàn)的腳本;把FPGA上的硬件調(diào)試轉化為了PC端軟件調(diào)試,加速了調(diào)試過程。– 敏捷思想:把項目中的風險,在早期的迭代中加以解決。
– 問題2:外部設備行為復雜,測試向量覆蓋率不夠、仿真速度慢。– 解決2:用VJ設計一個真實行為捕獲模塊,豐富測試向量。用VJ虛擬未實現(xiàn)的關鍵邏輯模塊,上板測試調(diào)試。– 敏捷思想:反思回顧,發(fā)現(xiàn)開發(fā)瓶頸,持續(xù)改進方法、工具。提早集成、提早測試。案例二:FPGA開發(fā)中引入回歸測試和持續(xù)構建
– 問題1:軟件的驅(qū)動層(C)和FPGA的接口層(V)需要測試和調(diào)試FPGA需要回歸測試來保證持續(xù)開發(fā)的質(zhì)量– 解決1:用SystemVerilog DPI連接C和Verilog用CppUtest測試框架搭建FPGA回歸測試環(huán)境– 敏捷思想:回歸測試
– 問題2:多人協(xié)作開發(fā)中代碼的質(zhì)量保證FPGA需要自動構建來實現(xiàn)及時發(fā)布– 解決2:用Tcl腳本實現(xiàn)項目編譯、仿真的自動化用Hudson CI來實現(xiàn)多個仿真、編譯工程的自動構建和健康度報告– 敏捷思想:每日構建
-
FPGA
+關注
關注
1629文章
21729瀏覽量
602986 -
芯片
+關注
關注
455文章
50714瀏覽量
423138 -
EDA工具
+關注
關注
4文章
267瀏覽量
31785
原文標題:如何成長為一名優(yōu)秀的FPGA 工程師?
文章出處:【微信號:edn-china,微信公眾號:EDN電子技術設計】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論