DC綜合check-design(LINT檢查)問(wèn)題總結(jié)_第1頁(yè)
DC綜合check-design(LINT檢查)問(wèn)題總結(jié)_第2頁(yè)
DC綜合check-design(LINT檢查)問(wèn)題總結(jié)_第3頁(yè)
DC綜合check-design(LINT檢查)問(wèn)題總結(jié)_第4頁(yè)
DC綜合check-design(LINT檢查)問(wèn)題總結(jié)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論