Verilog Design's Tips
FPGA設計簡易流程:
?
1、讀要用到的芯片手冊,主要看輸入輸出端口定義、設計約束及示例說明;
2、通過給定要求,構建設計模塊的電路圖及定義端口;
3、使用Verilog HDL代碼實現電路;
4、使用testbench測試電路功能要求。
?
設計中要注意的地方:
在整個芯片設計項目中,行為設計和結構設計的編碼是最重要的一個步驟。它對邏輯綜合和布線結果、時序測定、校驗能力、測試能力甚至產品支持都有重要的影響。考慮到仿真器和真實的邏輯電路之間的差異,為了有效的進行仿真測試:
1、避免使用內部生成的時鐘
????內部生成的時鐘稱為門生時鐘(gated clock)。如果外部輸入時鐘和門生時鐘同時驅動,則不可避免的兩者的步調不一致,造成邏輯混亂,而且,門產生時鐘將會增加測試的難度和時間。
?
2、絕對避免使用內部生成的異步置位/清零信號
????內部生成的置位/清零信號會引起測試問題,使某些輸出信號被置位或清零,無法正常進行測試。
3、避免使用鎖存器
????鎖存器可能引起測試問題。對于測試向量自動生成(ATPG),?為了使掃描進行,鎖存器需要置為透明模式(transparent mode),反過來,測試鎖存器需要構造特定的向量,這可非同一般。
?
4、時序過程要有明確的復位值
????使觸發器帶有復位端,在制造測試、ATPG以及模擬初始化時,可以對整個電路進行????快速復位。
5、避免模塊內的三態/雙向
????內部三態信號在制造測試和邏輯綜合過程中難于處理,如果使用inout雙端口的話,一般要引用另一個寄存器作緩存。
設計中還要注意:
1、敏感變量的描述要完備;
2、條件的描述也要完備,例如,如果if語句和case語句的條件描述不完備,會造成不必要的鎖存器;
3、assign語句的左端變量必須是wire;直接用"="給變量賦值時左端變量必須是reg;
4、端口的I/O與數據類型的關系:
????端口的I/O?????????????????????? ??端口的數據類型
??????????????????? ???????? module內部??????????????module外部
???? ?input?????????????????? ?wire?????????????????? ?wire或reg
????output?????????????? ?wire或reg????????????????????wire
???? ?inout???????????????wire??????????????????? ????wire
轉載于:https://www.cnblogs.com/Jerome_Lee/archive/2009/11/19/1606127.html
總結
以上是生活随笔為你收集整理的Verilog Design's Tips的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Aspose.Cells的基础知识整
- 下一篇: 我的Blog页面设计