實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題_第1頁(yè)
實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題_第2頁(yè)
實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題_第3頁(yè)
實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題_第4頁(yè)
實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一.Modelsim實(shí)驗(yàn)調(diào)試的問(wèn)題編譯過(guò)程中的問(wèn)題1)新建工程后:如果這里選擇是creatnewfile, 一定記得這里把這里的Addfileastype改為verilog因?yàn)檫@里默認(rèn)是VHDL.2)如果是addexistingfile:要把所有的工程文件,包括仿真文件放在projectlocation里面?;蛘咴谙旅娴倪x項(xiàng)卡中:選擇copytoprojectdirectory!!注意了:由于我們用的軟件都是自己破解的,所有,有時(shí)候即便選擇了copytoprojectdirectory有時(shí)候編譯還是會(huì)出錯(cuò),所有我們還是自己把工程文件,v拷貝到我們的工程目錄中吧。。。。2.仿真中出現(xiàn)的問(wèn)題:當(dāng)編譯成功之后我們就可以進(jìn)行仿真了1)在仿真的時(shí)候有些版本的modelsim仿真出來(lái)的波形是直線原因是我們要注意把Optimization中的enableoptimization的選項(xiàng)取消了:二.synplify實(shí)驗(yàn)調(diào)試中出現(xiàn)的問(wèn)題1.第一個(gè)大問(wèn)題就是大部分同學(xué),不明確synplify到底是干什么的,在新建工程之后,當(dāng)添加文件時(shí)竟然都把testbench也加入了工程中,導(dǎo)致run不通過(guò)!解答:Synplify、SynplifyPro和SynplifyPremier是Synplicity(Synopsys公司于2008年收購(gòu)了Synplicity公司)公司提供的專(zhuān)門(mén)針對(duì)FPGA和CPLD實(shí)現(xiàn)的邏輯綜合工具,Synplicity的工具涵蓋了可編程邏輯器件(FPGAs、PLDs和CPLDs)的綜合,驗(yàn)證,調(diào)試,物理綜合及原型驗(yàn)證等領(lǐng)域。2.synplify不能綜合狀態(tài)機(jī)的“default”狀態(tài):編碼風(fēng)格中要求對(duì)case語(yǔ)句的使用要做到取值完全覆蓋,用case來(lái)判斷狀態(tài)機(jī)的狀態(tài),然而用synplify綜合時(shí)出warning:OTHERSclauseisnotsynthesized,這里什么沒(méi)有綜合的原因是什么?FSM分兩大類(lèi):米里型和摩爾型,組成要素有輸入(包括復(fù)位),狀態(tài)(包括當(dāng)前狀態(tài)的操作),狀態(tài)轉(zhuǎn)移條件,狀態(tài)的輸出條件,圖1為狀態(tài)機(jī)結(jié)構(gòu)圖。設(shè)計(jì)FSM的方法和技巧多種多樣,但是總結(jié)起來(lái)有兩大類(lèi):第一種,將狀態(tài)轉(zhuǎn)移和狀態(tài)的操作和判斷等寫(xiě)到一個(gè)模塊中。另一種是將狀態(tài)轉(zhuǎn)移單獨(dú)寫(xiě)成一個(gè)模塊,將狀態(tài)的操作和判斷等寫(xiě)到另一個(gè)模塊中(在Verilog代碼中,相當(dāng)于使用兩個(gè)“always”block)。其中較好的方式是后者。其原因如下:首先FSM和其他設(shè)計(jì)一樣,最好使用同步時(shí)序方式設(shè)計(jì),好處不再贅述。而狀態(tài)機(jī)實(shí)現(xiàn)后,狀態(tài)轉(zhuǎn)移是用寄存器實(shí)現(xiàn)的,是同步時(shí)序部分。狀態(tài)的轉(zhuǎn)移條件的判斷是通過(guò)組合邏輯判斷實(shí)現(xiàn)的,之所以第二種比第一種編碼方式合理,就在于第二種編碼將同步時(shí)序和組合邏輯分別放到不同的程序塊中實(shí)現(xiàn)。這樣做的好處不僅僅是便于閱讀、理解、維護(hù),更重要的是利于綜合器優(yōu)化代碼,利于用戶添加合適的時(shí)序約束條件,利于布局布線器實(shí)現(xiàn)設(shè)計(jì)。顯式的FSM描述方法可以描述任意的FSM(參考Verilog第四版P181有限狀態(tài)機(jī)的說(shuō)明)。兩個(gè)always模塊。其中一個(gè)是時(shí)序模塊,一個(gè)為組合邏輯。時(shí)序模塊設(shè)計(jì)與書(shū)上完全一致,表示狀態(tài)轉(zhuǎn)移,可分為同步與異步復(fù)位。同步:always@(posedgeclk)if(!reset)…………異步:always@(posedgeclkornegedgereset)if(!reset)…………組合邏輯用case語(yǔ)句,sensitivelist包括當(dāng)然狀態(tài)(currentstate)和輸入(a,b,c…)。對(duì)于狀態(tài)機(jī)的輸出可以通過(guò)寄存器寄存一下,消除毛刺,這將另外需要一個(gè)always塊,也就是狀態(tài)機(jī)三個(gè)always塊的寫(xiě)法。編碼風(fēng)格:1)參數(shù)定義用parameter狀態(tài)的定義用parameter定義,不推薦使用`define宏定義的方式,因?yàn)椤甦efine宏定義在編譯時(shí)自動(dòng)替換整個(gè)設(shè)計(jì)中所定義的宏,而parameter僅僅定義模塊內(nèi)部的參數(shù),定義的參數(shù)不會(huì)與模塊外的其他狀態(tài)機(jī)混淆。2)時(shí)序電路中一定要使用”<=”非阻塞賦值方式Verilog的非阻塞行賦值模擬的是實(shí)際硬件中串行寄存器的行為,排除了很多潛在的競(jìng)爭(zhēng)冒險(xiǎn)。在使用非阻塞賦值的時(shí)候,很多設(shè)計(jì)者采用"intra-assignmenttimingdelay"(在非3)Synplify中狀態(tài)機(jī)設(shè)計(jì):可以在Synplify中添加在state定義時(shí)添加如下約束屬性來(lái)限定狀態(tài)機(jī)的編碼:reg[2:0]state/*synthesissyn_encoding="onehot"*/;Synplify中包含一個(gè)強(qiáng)大的FSM編輯器,可以產(chǎn)生在時(shí)間和面積上均得到優(yōu)化的狀態(tài)機(jī)設(shè)計(jì),但這將忽略一些狀態(tài)機(jī)中未定義的狀態(tài)(invalidstate),如果必須在狀態(tài)機(jī)進(jìn)入了未定義的狀態(tài)后能自動(dòng)回到有效狀態(tài),可以在狀態(tài)機(jī)生成時(shí)添加一個(gè)安全屬性(safe),使得到達(dá)無(wú)效狀態(tài)時(shí)能回到初始狀態(tài),這對(duì)電路的時(shí)間和面積產(chǎn)生很小的影響:reg[2:0]state/*synthesissyn_encoding="safe,onehot"*/;這種方法可能與源代碼中實(shí)際描述的不一致,對(duì)于大多數(shù)設(shè)計(jì)來(lái)說(shuō)這不會(huì)產(chǎn)生問(wèn)題,但如果必須與源代碼中描述的狀態(tài)機(jī)流程圖相吻合,可以通過(guò)約束屬性關(guān)掉FSM編輯器:reg[4:0]state/*synthesissyn_preserve=1*/;但這將嚴(yán)重影響電路的時(shí)間和面積特性。synplify不能綜合package庫(kù)文件所以不要自己寫(xiě)一個(gè)用戶庫(kù)文件(包含工程中用到的自定義數(shù)據(jù)類(lèi)型、函數(shù)、元件例化等,這樣其他模塊只要在開(kāi)始處加上“usework.*.all;”就可以使用用戶庫(kù)文件里的各種定義,類(lèi)似于c里的“include”),也有可能軟件的原因,synplif

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論