版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖北省定向?qū)ν饨?jīng)濟(jì)貿(mào)易大學(xué)選調(diào)生招錄備考題庫(kù)附答案
- 2026湖南益陽(yáng)市桃江縣中醫(yī)醫(yī)院招聘編外勞務(wù)派遣人員5人參考題庫(kù)附答案
- 2026甘肅慶陽(yáng)華池縣教育事業(yè)單位引進(jìn)高層次和急需緊缺人才15人備考題庫(kù)附答案
- 2026福建省面向北京交通大學(xué)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026福建福州市鼓樓區(qū)司法局專(zhuān)職人民調(diào)解員招聘2人備考題庫(kù)附答案
- 2026西藏日喀則市亞?wèn)|縣糧食公司人員招聘1人備考題庫(kù)附答案
- 2026貴州龍辰(集團(tuán))電氣有限公司招聘3人參考題庫(kù)附答案
- 2026重慶奉節(jié)縣竹園鎮(zhèn)人民政府公益崗招聘7人考試備考題庫(kù)附答案
- 2026陜西省選調(diào)生招錄考試已發(fā)布備考題庫(kù)附答案
- 2026青海西寧市湟源縣水務(wù)發(fā)展(集團(tuán))有限責(zé)任公司招聘8人參考題庫(kù)附答案
- 2025年新能源停車(chē)場(chǎng)建設(shè)項(xiàng)目可行性研究報(bào)告
- 2025年物業(yè)管理中心工作總結(jié)及2026年工作計(jì)劃
- 創(chuàng)傷性脾破裂的護(hù)理
- 蓬深102井鉆井工程(重新報(bào)批)項(xiàng)目環(huán)境影響報(bào)告表
- 馬路切割承包協(xié)議書(shū)
- 大模型金融領(lǐng)域可信應(yīng)用參考框架
- (新教材)2025年人教版七年級(jí)上冊(cè)歷史期末復(fù)習(xí)??贾R(shí)點(diǎn)梳理復(fù)習(xí)提綱(教師版)
- 學(xué)校控輟保學(xué)工作流程及四書(shū)一表一單
- 塔吊拆除應(yīng)急預(yù)案
- 中國(guó)全色盲診療專(zhuān)家共識(shí)2026
- 20052-2024電力變壓器能效限定值及能效等級(jí)
評(píng)論
0/150
提交評(píng)論