基本輸入輸出函數(shù)實(shí)用教案_第1頁
基本輸入輸出函數(shù)實(shí)用教案_第2頁
基本輸入輸出函數(shù)實(shí)用教案_第3頁
基本輸入輸出函數(shù)實(shí)用教案_第4頁
基本輸入輸出函數(shù)實(shí)用教案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、提綱(tgng) 基本input/output文件(wnjin) 測試程序(Testbenches) ASSERT語句第1頁/共37頁第一頁,共38頁。文件(wnjin)對象 VHDL的對象包括 信號 變量 常量 文件 通過(tnggu)引入文件類型,使得我們可以定義和使用文件對象第2頁/共37頁第二頁,共38頁。文件(wnjin)定義文件可以通過它所存儲的內(nèi)容(nirng)來進(jìn)行區(qū)分type text 是字符串文件;type IntegerFileType 是整數(shù)型文件;VHDL 1987中的文件定義file infile: text is in “inputdata.txt”;file o

2、utfile: text is out “outputdata.txt”;VHDL 1993中的文件定義file infile: text open read_mode is “inputdata.txt”;file outfile: text open write_mode is “outputdata.txt”;第3頁/共37頁第三頁,共38頁。文件(wnjin)定義:二進(jìn)制I/O文件(wnjin)(VHDL 1993)第4頁/共37頁第四頁,共38頁。文件(wnjin)定義:二進(jìn)制I/O文件(wnjin)(VHDL 1993) VHDL支持read(f,value), write(f,

3、value)和 endfile(f)操作; VHDL 93支持File_Open()和File_Close()操作; 直接(zhji)和間接的文件打開操作;第5頁/共37頁第五頁,共38頁。文件(wnjin)定義:二進(jìn)制I/O文件(wnjin)(VHDL 1987)第6頁/共37頁第六頁,共38頁。文件(wnjin)定義:二進(jìn)制I/O文件(wnjin)(VHDL 1987) VHDL1987支持read(f,value), write(f, value)和 endfile(f)操作; 通過(tnggu)文件聲明來間接地進(jìn)行文件打開操作;第7頁/共37頁第七頁,共38頁。文件(wnjin)定義:

4、TEXTIO包第8頁/共37頁第八頁,共38頁。文件(wnjin)定義:TEXTIO包 文件是按行(lines)來組織的; Read()和write()子程序?qū)ine數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作; Readline()和writeline()子程序和文件進(jìn)行數(shù)據(jù)交換; 基于( jy)Text的 I/O操作; 在STD 庫的TEXTIO包中封裝了全部的操作子程序 從行( lines )中讀取和寫入預(yù)定義類型數(shù)據(jù)的子程序; 針對std_input and std_output的預(yù)定義訪問操作; 子程序名的重載(Overloaded);第9頁/共37頁第九頁,共38頁。文件(wnjin)定義:TEXTIO包的

5、使用第10頁/共37頁第十頁,共38頁。文件(wnjin)定義:TEXTIO包的使用第11頁/共37頁第十一頁,共38頁。文件(wnjin)定義:TEXTIO包的使用第12頁/共37頁第十二頁,共38頁。文件定義:擴(kuò)展TEXTIO支持(zhch)其他數(shù)據(jù)類型 對用戶隱藏TEXTIO的ASCII格式; 針對(zhndu)所希望的數(shù)據(jù)類型的讀和寫,如, std_logic_vector ,提供類型轉(zhuǎn)換子程序; 將子程序封裝在包中; 將包( package)安裝在庫( library)中,然后通過use 子句使庫中的內(nèi)容可見;第13頁/共37頁第十三頁,共38頁。代碼(di m)示例:類型轉(zhuǎn)換第14

6、頁/共37頁第十四頁,共38頁。代碼(di m)示例:類型轉(zhuǎn)換第15頁/共37頁第十五頁,共38頁。代碼(di m)示例:(Bhasker95) 輸出格式定義(dngy): write (buf, “This is the header”); writeline (outfile,buf); write (buf, “Clk =”); write (buf, clk); write (buf, “, N1 =”); write (buf, N1); 輸出結(jié)果: This is the header Clk = 0, N1 = 01001011第16頁/共37頁第十六頁,共38頁。代碼(di m

7、)示例:(Bhasker95) 讀入的格式化輸入(shr)行:第17頁/共37頁第十七頁,共38頁。代碼(di m)示例:(Bhasker95)讀入該格式化輸入(shr)行的程序:第18頁/共37頁第十八頁,共38頁。代碼示例(shl):文件名的處理第19頁/共37頁第十九頁,共38頁。代碼示例(shl):文件名的處理在上面的代碼中假定( jidng)“input”映射到模擬器的控制臺通?!癷nput”和 “output”分別映射到標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出第20頁/共37頁第二十頁,共38頁。代碼(di m)示例:測試模塊第21頁/共37頁第二十一頁,共38頁。代碼示例:測試(csh)模塊第22頁/

8、共37頁第二十二頁,共38頁。代碼(di m)示例:測試程序(Testbenches) 測試程序具有一定的通用性 基本策略是:施加測試激勵(lì),測量(cling)和記錄響應(yīng)矢量第23頁/共37頁第二十三頁,共38頁。代碼(di m)示例:測試程序(Testbenches)測試程序產(chǎn)生周期性的時(shí)鐘信號(xnho)并施加測矢量第24頁/共37頁第二十四頁,共38頁。代碼(di m)示例:測試程序(Testbenches)第25頁/共37頁第二十五頁,共38頁。代碼示例(shl):結(jié)構(gòu)化測試模塊第26頁/共37頁第二十六頁,共38頁。測試激勵(lì)(jl)的生成 定義功能測試所需的激勵(lì)矢量和參考矢量 激勵(lì)源

9、局部常數(shù)陣列 I/O文件 時(shí)鐘(shzhng)和復(fù)位信號的生成 通常與激勵(lì)矢量相隔離 實(shí)現(xiàn)周期性的激勵(lì)第27頁/共37頁第二十七頁,共38頁。測試激勵(lì)的生成(shn chn):示例(Smith96)第28頁/共37頁第二十八頁,共38頁。測試激勵(lì)(jl)的生成:示例(Smith96)第29頁/共37頁第二十九頁,共38頁。測試結(jié)果(ji gu)的確認(rèn)(Validation)將測試(csh)響應(yīng)矢量與參考矢量相比較,并在外部文件中記錄其中不匹配的部分(出錯(cuò)點(diǎn));同時(shí)需要記錄出錯(cuò)點(diǎn)所對應(yīng)的仿真時(shí)間點(diǎn);可能需要記錄仿真狀態(tài)。第30頁/共37頁第三十頁,共38頁。斷言(dunyn)(ASSERT) 將

10、測試響應(yīng)矢量與參考矢量相比較,并在外部文件中記錄其中不匹配的部分(出錯(cuò)點(diǎn)); 同時(shí)需要(xyo)記錄出錯(cuò)點(diǎn)所對應(yīng)的仿真時(shí)間點(diǎn); 可能需要(xyo)記錄仿真狀態(tài)。第31頁/共37頁第三十一頁,共38頁。斷言(dunyn)(ASSERT)assert Q = check(1) and Qbar = check(0)report “Test Vector Failed”severity error;仿真器控制臺輸出(shch)示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector Failed : Time: 20 ns,

11、Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.第32頁/共37頁第三十二頁,共38頁。斷言(dunyn)(ASSERT)assert Q = check(1) and Qbar = check(0)report “Test Vector Failed”severity error;仿真器控制臺輸出(shch)示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector

12、Failed : Time: 20 ns, Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.第33頁/共37頁第三十三頁,共38頁。斷言(dunyn)(ASSERT)設(shè)計(jì)者可以在預(yù)定義的級別上報(bào)告出錯(cuò)情況:NOTE,WARNING, ERROR and FAILURE (枚舉類型)報(bào)告的參數(shù)是一個(gè)字符串,該字符串會寫到仿真輸出斷言所對應(yīng)的操作是仿真器相關(guān)(xinggun)的并行 vs. 串行斷言語句在不中斷仿真的情況下TEXTIO比 ASS

13、ERT快第34頁/共37頁第三十四頁,共38頁。斷言(dunyn)(ASSERT):示例(Bhaskar 95)architecture check_times of DFF isconstant hold_time: time:=5 ns;constant setup_time : time:= 2 ns;beginprocessvariable lastevent: time;beginif devent thenassert NOW = 0 ns or (NOW - lastevent) =hold_timereport “Hold time too short”severity FAI

14、LURE;lastevent := NOW;end if;- check setup time- D flip flop behavioral modelend process;end architecture check_times第35頁/共37頁第三十五頁,共38頁??偨Y(jié)(zngji) 基本( jbn)input/output ASCII I/O和 TEXTIO package binary I/O VHDL 87 vs. VHDL 93 測試程序(Testbenches) ASSERT語句第36頁/共37頁第三十六頁,共38頁。感謝您的觀看(gunkn)!第37頁/共37頁第三十七頁,共38頁。NoImage內(nèi)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論