2020.8.31
1、重要思想——數字ic設計中的重要指標:ppaf
(performance, power, area, functions)
學生時代的我們或者剛踏入職場的我們,平時coding的時候可能最注重的是functions,所以接到乙個任務時,系統層面的思考並不多,總想著趕緊coding,趕緊實現功能。
然而,正如有經驗的前輩所說,這樣的工作方式效率並不高。
所以事不過三,下次一定要靜下心來統籌設計(注意要有分層思想,大的模組間要reg out,小的module不必)。
2、注意細節
2-1. always, if-else塊裡如果只有一行code,最好不要再加 begin-end 了;
2-2. if(condition)…裡的condition如果些許複雜,最好提出來:
assign cnt_full = condition;
alwaya …
if(cnt_full)
…2-3. 同乙個clk domain 裡寫狀態機時,最好用one-hot碼(便於後期新增、減少狀態等公升級優化操作),而不是一味的用格雷碼!格雷碼只是在跨時鐘域時才比較有用,可以減少亞穩態的發生。
2-4. 學生時代學的三段式狀態機並不總是最好的。比如第三段,其實最好不要在時序電路裡用case語句。另外,如果每個狀態下的輸出,它們之間如沒有太大關係,最好拆開寫,用多個always塊來寫。
2-5. 常用的counter盡量要小,盡量可以復用。
2-6. 重要思想:
在設計時,要總想著出現各種 fault,errors我的設計該怎麼處理,而不是總認為各方面(環境,電路,電壓,溫度)都是友好的,會按我的預期進行(幼稚!哈哈哈~)。
比如以cnt的數值為準進行狀態轉換,我天,那只要有乙個cnt計數出錯,整個系統不就崩了。。。。。。
2-7. 移位賦值時最好直接用<<,而不是用連線符{}。
2020.9.2
2-8. 例項化時,頂層模組的訊號都是wire型,因為都只是連線。
2-9. 看波形時發現fsm的狀態/計數器怎麼都跳不過去,要看看狀態/計數器的位寬是否寫對!。。。
數字IC設計流程
數字後端 待補充 數字ic設計筆試題簡答 1 專案需求 確定晶元的具體指標 spec 2 系統級設計 用系統建模語言對各模組進行描述 3 前端設計 rtl設計 硬體原型驗證 電路綜合 4 後端設計 版圖設計 物理驗證 後 5 封裝和測試 工具 designcompiler rtl compiler。...
遊戲設計思想與細節
圓角矩形,選擇的字型,顏色,邊框,盡量搭配,突出主題,簡約而不簡單。有些時候,我們在創新的時候,往往會試圖改變其原有的設計,在改變之前必須了解之前的設計,為什麼會這樣設計,會與哪些模組關聯,如果沒有經過細緻的分析,不僅不會有錦上添花的效果,而且還會畫蛇添足。盡可能減少不必要的麻煩的操作,不是改變功能...
跟sky學數字IC前端設計 數字IP FPGA實戰
1 培訓目標 培訓使用的fpga開發板 2塊 培訓demo效果 2 培訓內容設計 a 專案功能介紹 b 培訓課題設計 siliconthink提供整套fpga開發板 原始的vivado設計工程 demo可以跑起來 學員根據自身能力與興趣,自行決定自己需要設計哪個 或多個 ip block 然後自己進...