DC綜合check-design(LINT檢查)問題總結(jié)_第1頁
DC綜合check-design(LINT檢查)問題總結(jié)_第2頁
DC綜合check-design(LINT檢查)問題總結(jié)_第3頁
DC綜合check-design(LINT檢查)問題總結(jié)_第4頁
DC綜合check-design(LINT檢查)問題總結(jié)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

DC綜合check_design問題總結(jié)如下圖所示,當(dāng)我們DC綜合之后查看check_design報告,出現(xiàn)的一些warning以及解決方法進(jìn)行總結(jié)如下。LINT-2:drivebypinxxxhasnoloads常用在檢查輸出端口。當(dāng)綜合之后出現(xiàn)這種類型的warning時,說明你的代碼中在實例化某個模塊的時候輸出端口未連接負(fù)載,或者你只把該信號的某幾bit連接到了該模塊的端口上,這種警告的出現(xiàn)是比較常見的,比如上圖所示:這表明在代碼中send_check_bus_addr是一個11bit的輸入信號,它的第6~10bit沒有連接到該模塊的端口上,即:這樣的警告雖然對DC綜合的結(jié)果沒有太大的影響,但是必須按照代碼規(guī)范的要求,把未連接負(fù)載的部分信號重新以NC(NotConnect)為后綴來命名。LINT-28:xxxisnotconnectedtoanynets常用在檢查輸入端口。DC綜合如果出現(xiàn)這樣的warning,就說明你的這個信號的某些bit的懸空的,對于總線的輸入數(shù)據(jù)信號bus_data_i是一個32bit的信號,但是當(dāng)前模塊中只用到了低20bit,而高12bit是沒有連接到任何信號上面去的,那么DC就會給出這樣的警告。這種警告的消除方法就是:在你的該模塊中你用到了某個信號的多少bit,那么你在頂層調(diào)用該模塊的時候只把你用到的該信號對應(yīng)的那些bit連進(jìn)來,這樣就不會出現(xiàn)這樣的警告。另外需要說明的是,有些時候我們?yōu)榱舜a的簡潔性,必須要把某個信號完全連到該模塊,那么這個時候造成這種warning我們是可以接受的。還有一種可能就是有些時候你的設(shè)計需要發(fā)生變化,比如某個信號要去掉卻忘記把該信號的端口連接給刪掉,這樣就會導(dǎo)致這個信號的所有bit都是沒有連接到任何信號,這樣的情況就是必須進(jìn)行修改的,否則會對DC的綜合造成不必要的影響。LINT-29:inputportxxxisconnecteddirectlytooutputport用在檢查輸入端口。當(dāng)DC綜合后出現(xiàn)這類警告的時候,說明你的相關(guān)模塊中出現(xiàn)了把輸入信號或者輸入信號的某些位直接賦值到了輸出端口信號,這類警告的出現(xiàn)是正常的,只需檢查你的設(shè)計是否確實是這樣即可。LINT-31:outputportxxxisconneteddirectlytooutputportxxx用在檢查輸出端口。這類警告的意思是輸出端口某信號的一些比特直接和另外一些比特相連。這類警告的出現(xiàn)可能是正常的,只需檢查你的設(shè)計是否確實是這樣即可。本例的設(shè)計代碼如下所示:輸出信號PushSize的位寬為9比特,而實際取值為有限幾個數(shù)值:0、128、416、496。恰好所有二進(jìn)制數(shù)值的最低四位為0。所以信號PushSize的這四位比特連接的都是零。LINT-32:xxxisconnetedtologic0or1用在檢查輸入端口。當(dāng)DC綜合出現(xiàn)這種類型的警告的時候,就說明你的代碼中在模塊調(diào)用的時候,直接把常值0連接到該模塊的某個信號中了,這種警告的出現(xiàn)是正常的,因為我們的設(shè)計有些時候就是要把某些信號接0或者接1,例如:那么對于信號DC綜合的時候就會報出這樣的警告。所以真的這樣的警告我們只需要檢查代碼,看出現(xiàn)警告的地方我們的設(shè)計是不是這樣設(shè)計的,這樣會防止粗心大意給某個端口錯誤的賦了一個常值1或者0。LINT-33:isconnectedtomorethanonepin當(dāng)DC綜合后出現(xiàn)上圖的warning時,表明在模塊實例化的時候,你將一個相同的信號同時連到了調(diào)用模塊中不同的兩個或者幾個端口信號中,例如上述警告在代碼中的體現(xiàn)就是:即:把Reset信號同時連到了Clear和Reset這兩個端口信號上了。這樣warning是否正常的,必須檢查自己的設(shè)計意圖。該例子中,設(shè)計師把模塊的Clear和Reset信號分開使用,所以以上端口連接錯誤,需要修改。LINT-52:outputportxxxisconnecteddirectlytologic0or1用在檢查輸出端口。DC綜合結(jié)果出現(xiàn)上述警告時,說明輸出端口的某些信號的某些位直接被賦值常數(shù)0(也可以是1,跟具體設(shè)計有關(guān)),如圖所示,表明輸出信號PushSize[8:0]的第0bit~3bit被直接賦值0。這種warning的出現(xiàn)也可能是正常的,需檢查是否與當(dāng)前設(shè)計相符合。在該例子中,PushSize的取值為有限幾個數(shù)值:0、128、416、496。恰好所有二進(jìn)制數(shù)值的最低四位為0。LINT-63:netxxxhasasingletri-statedirver這種警告一般出現(xiàn)在設(shè)計中調(diào)用存儲器的模塊中,例如延遲線,F(xiàn)IFO等模塊,并且warning的位置都是存儲器的DOUT端口。此warning是說明DOUT端口用三態(tài)電路的驅(qū)動方式。這樣的warning也是正常的,檢查是否與當(dāng)前設(shè)計相符合即可。(這里面警告的對象都為ram的輸出DOUT,對于其他信號如果出現(xiàn)此類warning就需要檢查是否設(shè)計就是這樣設(shè)置的)signedtounsigned當(dāng)出現(xiàn)這種signedtounsignedwarning出現(xiàn)的時候一般是代碼中出現(xiàn)了一下兩種不規(guī)范的寫法:第一種:例如:wiredata_Aassigndata_A=(判斷條件)?1:0;即:定義一個wire類型的信號data_A,然后通過一個判斷條件的真假來個data_A進(jìn)行賦1或者0,那么這樣的寫法就會造成上面例句的warning,這是因為在verilog中直接寫1或者0,那么verilog就會把1或者0默認(rèn)為整型變量,而整型變量默認(rèn)的是有符號數(shù),而我們定義的data_A是一個無符號信號,那么正確的寫法應(yīng)該為wiredata_Aassigndata_A=(判斷條件)?1’b1:1’b0,這樣寫才是規(guī)范的寫法。即把常數(shù)賦值給給無符號數(shù)時,一定要加上位寬描述,不能寫成整形常數(shù)。第二種:這種情況warning主要出現(xiàn)在一些用到了有符號數(shù)運(yùn)算的電路中,比如我們要計算兩個8bit有符號數(shù)的加法、減法、乘法等,而其中一個有符號數(shù)要通過別的寄存器進(jìn)行賦值,比如總線寄存器(即:要進(jìn)行運(yùn)算的數(shù)通過總線賦值),那么我們可能會這樣寫:wiresigned[7:0]A;assignA=bus_data_reg[7:0],這樣寫verilog就會把bus_data_reg[7:0]默認(rèn)為一個無符號數(shù),可是我們的A要求是一個有符號數(shù),故就會出現(xiàn)上面列舉的warn

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論