資料介紹
本篇對SOC設計,FPGA設計也有相當大的借鑒意義.本著幫助別人,提升自己的宗旨,記錄,總結,回憶從接觸這個行業的所聽,所記,所感.其中一部分經驗是自己實戰總結的,一部分經驗是從書上看到的,一部分經驗是從別人那學到的.難免會有錯誤,還請大家不吝指正.
IC設計其實是一個門檻特別高的行業,要學的專業特別多,要會的工具特別多,要走的流程特別長,要花的時間也要足夠,所以你可以理解為他是一個要求特別多的行業.你可以認為他是高富帥行業,也可以認為他是屌絲行業,但是這都不妨礙他對這個社會的巨大貢獻.因而學會IC設計于己于人都是相當有誘惑力的.
本篇介紹從5個方面來談IC設計實戰經驗:
一:設計架構的劃分,這一塊是相當重要的,你可以在很多的書籍中看到,很多的書籍中也都會談論如何進行架構的劃分.架構的劃分好比蓋房子,設計好整個房子的結構,后面才能一磚一瓦的網上填,最后的摩天大樓才能建成.架構的劃分又可以分為如下幾個方面:
1 ) 軟硬件劃分,什么歸軟件來做,什么歸硬件來做,如何達到效率的最高效;這個方面其實很困難的,一般都是相當有經驗的人才來做架構的劃分,但是一般會遵循一些原則,即:軟件的靈活性比較大,所以一般做一些控制類的活兒,硬件的并行性比較大,所以一般用來做加速,遵循這些原則的話,劃分以來或許簡單一些.當前比較流行的做法是軟硬件協同設計,具體可以參考相關的書籍.
2)算法設計,例如快速搜索,快速比對,軟件的一些思維未必適合硬件實現,因為硬件需要考慮資源問題,需要考慮速度和面積,需要考慮組合邏輯的延時等等,不能一味的追求單方面而忽略了其他的方面.
3)性能因素的考慮,譬如帶寬為多少合適,太寬并不一定就會很快,要考慮如何提升吞吐率,可以從各個方面入手.
4)模塊設計的劃分,一個太大的模塊不適合實現,也不適合維護,當別人接手時也很難快速的理解,所以模塊劃分要得當,可以基于接口,基于功能,基于靈活性,一個好的劃分會帶來很多的好處,例如易于維護,易于理解,出錯概率低,相反,會看起來很臃腫,很奇怪,也難以維護升級.另外模塊代碼的行數不易過多,當然也沒必要劃分出幾十個小的模塊,那樣維護起來也是相當的痛苦.
二:設計技巧,這一部分包括如下幾個方面:
1)利用腳本加速開發,例如利用腳本進行接口的自動連線,快速復制相似的代碼,如果恰當合適的利用腳本,會使你的開發事半功倍.
2)狀態機的設計,組合邏輯和時序邏輯分開,狀態機不宜過大,否則會出現很大的比較器.
3)one hot編碼推薦使用,這個在后面的ECO時比較方便更改。
4)流水線技術,這個技術可以提高吞吐率,有利于時序的優化,利用流水線技術可以高效發訪問DDR,但是流水線也有弊端,例如某個階段的時間太長,或者某個階段依賴于前一個階段,流水線一定要設計得當,否則可能會弄巧成拙。
5)利用鏈表技術可以節省memory的使用,當然這個很多時候要看具體的應用場景。
6)在設計模塊的時候,可以簡單的設計一個可以綜合的Testbench,這樣你可以不依賴單獨設計Testbench的人,你可以繼續往后推進你的模塊設計,你可以上FPGA開發板上簡單的驗證。
三:設計實現技巧,你的設計一定要是可實現的,否則你的設計沒有任何意義,就是一堆垃圾字母而已。該技巧包括如下幾個方面:
1)你的電路要具有可測試性DFT,這個可以在后端插入scan,你的電路中的memory要有mbist的電路,用于自動產生數據讀寫RAM,自動比對結果,一般這都是到后端后會接觸的東西。
2)你的電路要能夠做STA,你的電路中最好只用一個沿來采樣(DDR這種情況除外),因為很難保證兩個沿都能卡的很好。
3)注意跨時鐘域的處理,跨時鐘域如何進行驗證。
4)功耗和面積之間的權衡,門控時鐘的使用,RAM的使用。
5)FPGA的選擇,到一定程度時,電路需要到FPGA上進行驗證,快速的FPGA十分的昂貴,便宜的可能又達不到項目的需求,所以一定要權衡好兩者之間的關系。
6)關于RAM的實現,可以用register實現,也可以采用生成的ram實現,一般比較小時采用register實現(一般小于512bits),而且RAM要盡量成正方形,因為太深或者太寬的ram不好布局布線,他占了一塊面積后,其他的只能擾很的距離來布局布線,不利于時序的優化。
四:設計調試技巧,你的設計在后面將轉為大量的調試,無論是波形仿真的調試,還是上FPGA的調試,或者是芯片回來的調試,都是一份相當大,相當困難,相當耗時的艱巨任務。該技巧包括如下幾個方面:
1)你在設計的時候就要充分考慮如何進行后續的驗證,你可以拉出一些信號進行調試,但是由于出pin的數量限制,所以你可以利用mux分級拉出信號,然后用寄存器配置的方式,選擇哪些pin被拉出,這樣你可以拉出很多的pin.
2) 你可以加一些寄存器用于調試,例如中斷寄存器,error寄存器,狀態機寄存器,拉出狀態,看狀態跳轉的是否正確。
3)如果你的設計中有ram,你要充分考慮ram該如何驗證,否則ram出錯的話將是十分頭疼的事情。
4)如果你做的是通信類的設計,要考慮loop_back模式的測試,這樣不需要和別的設計進行連接。
五:溝通的技巧,這一塊說不重要其實可以說是最重要的,設計的要和驗證的溝通,硬件的要和軟件的溝通,做技術支持的要和客戶溝通,上下級要溝通,反正溝通無處不在。所以你要注意下面幾個方面:
1)保留平時的溝通記錄,可以幫助你到時候進行review,也可以幫助你到時出錯時作為證據。
2)通過各種手段進行溝通,例如郵件,電話,會議等等,要充分讓別人懂你說的,你也懂別人說的,開會不要漫無目的,要把握時間。
3)溝通的最主要目的是發現問題,解決問題,所以怎么高效怎么辦。
來源:面包板博主——sunyzz博主
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 電源設計經驗50談
- 嵌入式項目實戰經驗
- 五個方面剖析SIP封裝工藝,看懂SIP封裝真正用途資料下載
- 在高速PCB設計中的70個超實用經驗資料下載
- 四個方面看SoC 設計資料下載
- 4個 5G NR 實戰經典案例資料下載
- 老工程師經驗談,高速運算放大器電路PCB布線資料下載
- 從單片機的PCB設計到軟件處理方面來介紹對電磁兼容性的處理資料下載
- 6個方面。嵌入式的硬件構架資料下載
- FPGA設計經驗技巧,用數學思維來簡化設計邏輯!資料下載
- 從定性的角度談電源去耦資料下載
- PCB布線百問:一個布線工程師談PCB設計的經驗資料下載
- 四個方面區分MPK和CBB電容資料下載
- ARM全國產云平臺部署容器實戰經驗分享 71次下載
- 開關電源維修方法和實戰經驗 48次下載
- STM32H5 DA證書鏈實戰經驗 844次閱讀
- IC之間的信號線為什么要接一個小電阻? 1332次閱讀
- 分享兩個STM32應用中的實戰案例 3170次閱讀
- 從焊接角度談下設計PCB的5個建議 770次閱讀
- 生活的案例LDO異常損壞的原因之一 1.4w次閱讀
- 辨別PCB線路板好壞可以從兩個方面入手 3437次閱讀
- 深度解析人臉識別技術 1.1w次閱讀
- 從EMC設計的角度來解析無人機 5617次閱讀
- WEBENCH:DC-DC方面的設計經驗分享 1440次閱讀
- “事件導向”的新型機器視覺技術之實戰經驗 5875次閱讀
- 年度IP眾籌:張飛PFC電源實戰視頻教程 86次閱讀
- 介紹初次接觸ARM開發應該從哪幾方面來理清開發思路 4081次閱讀
- 介紹初次接觸ARM開發應該從4個方面來理清開發思路 4425次閱讀
- 濾波器分類與選型實戰經驗總結 1.7w次閱讀
- 步進電機驅動的設計、選型實戰經驗總結 2042次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多