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