<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 零基礎(chǔ)學(xué)FPGA(十五)Testbenth 很重要,前仿真全過程筆記(上篇)

          零基礎(chǔ)學(xué)FPGA(十五)Testbenth 很重要,前仿真全過程筆記(上篇)

          —— 零基礎(chǔ)學(xué)FPGA(十七)Testbenth 很重要,前仿真全過程筆記(上篇)
          作者: 時(shí)間:2015-02-27 來源:網(wǎng)絡(luò) 收藏

            1. 首先,我們需要將我們剛寫好的那幾個(gè)模塊包含進(jìn)去,即CPU模塊,ROM模塊,RAM模塊,地址譯碼器模塊,并寫好時(shí)間測量度,見下圖

          本文引用地址:http://www.ex-cimer.com/article/270154.htm

            

          360桌面截圖20141126133956.jpg

           

            2.定義頂層模塊

            由于我們的設(shè)計(jì)只有兩個(gè)輸入,即時(shí)鐘模塊和復(fù)位模塊,凡是輸入信號在testbench中通一定義成reg型變量,凡是輸出或者雙向輸入輸出信號通一定義成wire型變量,我們的設(shè)計(jì)只有輸入沒有輸出,故只定義輸入和連線即可

            

          360桌面截圖20141126134439.jpg

           

            下圖便是我們要組成的測試頂層模塊圖,我們定義的wire型變量,實(shí)際就是我們頂層模塊中,模塊模塊與模塊間的連線。而這些連線就是我們cpu的輸出,這樣我們就可以用我們的測試模塊來測試我們的cpu是否能正確工作

            

          360桌面截圖20141126134607.jpg

           

            3. 元件例化

            就是將各個(gè)模塊連接起來即可,這里就不做太多的說明了,因?yàn)橐郧岸紝戇^很多次了

            

          360桌面截圖20141126135242.jpg

           

            4.測試激勵(lì)的書寫

            小墨同學(xué)習(xí)慣上上來先寫好時(shí)鐘產(chǎn)生模塊和復(fù)位模塊.并將復(fù)位模塊用task任務(wù)封裝,這樣我們在測試過程中就可以隨時(shí)調(diào)用復(fù)位任務(wù)進(jìn)行復(fù)位

            時(shí)鐘為50Mhz,復(fù)位時(shí)間為20ns

            

          360桌面截圖20141126135613.jpg

           

            然后,我們再用task封裝我們需要的模塊,我們來想一下,上電后,CPU會從ROM中讀兩個(gè)時(shí)鐘周期的數(shù)據(jù)是吧,但是我們的ROM現(xiàn)在還是空的,所以我們需要一個(gè)任務(wù)是往ROM中裝入程序,給ROM中裝數(shù)據(jù)我們可以用系統(tǒng)函數(shù)$readmemb,即打開一個(gè)文件,并將其中的數(shù)據(jù)送到我們之前定義的ROM中去

            

          360桌面截圖20141126140142.jpg

           

            而test1.pro文件時(shí)需要我們自己定義的,我們可以在quartusII中再新建一個(gè).v文件,在里面寫上我們自己定義的程序,并將其保存為.pro文件即可,至于寫什么程序,是我們隨便定義的,大家可以參考我之前在上一篇文章中上傳的程序中,有一個(gè)test1.pro文件,打開之后可以看到是一些16位的數(shù)字碼,這些碼就是我們ROM的地址,從第一行開始,每8位數(shù)據(jù)位一個(gè)地址,注意我們每個(gè)地址的高三位是用下劃線隔開的,這表明前三位是指令碼,這三位會被狀態(tài)機(jī)進(jìn)行譯碼,控制CPU執(zhí)行相應(yīng)的操作

            

          360桌面截圖20141126140637.jpg

           

            裝完ROM和RAM的數(shù)據(jù)之后,按說就可以了進(jìn)行波形仿真了,因?yàn)閏pu是自動(dòng)讀取數(shù)據(jù)的,下面我們先來做第一步仿真,我先把之后的代碼注釋掉,大家先看沒有被注釋掉的代碼

            

          360桌面截圖20141126141526.jpg

           

            里面都是我們之前封裝好的函數(shù),剛開始進(jìn)行復(fù)位,然后進(jìn)行第一步測試,之后停止

          fpga相關(guān)文章:fpga是什么




          關(guān)鍵詞: FPGA Testbenth

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();