<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ò) 收藏

            上一篇文章我介紹了一下一片簡(jiǎn)易CPU的設(shè)計(jì),今天的課程我講仿真,也即前仿真。這次課程,小墨同學(xué)將和大家從建立工程開始,一步步梳理testbench的書寫過程,幫助大家對(duì)仿真有一個(gè)深刻的概念。以后在做項(xiàng)目時(shí),不要?jiǎng)硬粍?dòng)就把程序下到板子里調(diào)試,看問題不對(duì)再去改程序,再下到板子里調(diào)試,如此往返,會(huì)浪費(fèi)大量的時(shí)間,簡(jiǎn)單的項(xiàng)目還好,但是到了大型項(xiàng)目的話,是不可能有這么多時(shí)間讓我們這樣調(diào)的。因此,小墨同學(xué)在這里說,testbench很重要,做好了仿真,可以為我們節(jié)約大量的開發(fā)時(shí)間。

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

            下面我們開始吧~

            一、什么是testbench?

            從字面意思上來理解,testbench就是一個(gè)測(cè)試平臺(tái),我們之前已經(jīng)設(shè)計(jì)好了我們需要的cpu模塊,我們?cè)趺粗牢覀冊(cè)O(shè)計(jì)的對(duì)于不對(duì)呢?我們可以給其施加一個(gè)測(cè)試激勵(lì),例如,給他送時(shí)鐘和復(fù)位信號(hào),由于時(shí)鐘和復(fù)位信號(hào)是我們自定義的,因此我們可以產(chǎn)生任意頻率的時(shí)鐘信號(hào)和在任意時(shí)間給系統(tǒng)復(fù)位。

            當(dāng)然我們還可以觀察我們cpu的輸出,將我們想要觀察的輸出信號(hào)引出來甚至是反饋到cpu內(nèi)部,都可以,testbench沒有像RTL代碼設(shè)計(jì)那樣嚴(yán)謹(jǐn),我們可以在符合語法規(guī)則的前提下,隨意編寫我們的測(cè)試文件,有些在RTL代碼中不可綜合的語句,我們可以在testbench中實(shí)現(xiàn)。

            

          360桌面截圖20141122115631.jpg

           

            二、testbench的結(jié)構(gòu)

            小墨同學(xué)認(rèn)為testbench的結(jié)構(gòu)可以分為這幾個(gè)方面:

            1.要先對(duì)接口進(jìn)行例化,即模塊之間的鏈接關(guān)系

            2.對(duì)我們的設(shè)計(jì)添加激勵(lì)

            3.觀察設(shè)計(jì)輸出是否符合要求

            三、測(cè)試模塊設(shè)計(jì)

            要測(cè)試我們的cpu需要ROM和RAM模塊,這就需要我們先做好這兩個(gè)模塊

            

          360桌面截圖20141122121423.jpg

           

            這里定義了一個(gè) 1024 x 8 的RAM

            

          360桌面截圖20141122122057.jpg

           

            再定義一個(gè)8192 x 8 的ROM

            ROM和RAM都還沒有裝入數(shù)據(jù),等會(huì)我們會(huì)調(diào)用函數(shù)給他們裝數(shù)據(jù)

            接下來是地址譯碼器,來控制ROM和RAM的打開與關(guān)閉

            

          360桌面截圖20141122122622.jpg

           

            各模塊建立好之后我們就開始仿真了

            四、仿真

            這次教學(xué)我們用的是modelsim SE 10.0 版本進(jìn)行教學(xué),以下是小墨同學(xué)習(xí)慣的仿真過程,因個(gè)人習(xí)慣不同,各位朋友可以按照你們 的方法來做

            我習(xí)慣直接先在quartus II中建一個(gè).v文件將其保存在原來的工程文件目錄中,并命名為cpu_top.v,直接在這里寫測(cè)試代碼

            

          360桌面截圖20141126133646.jpg

           

            下面大家可以跟著小墨的步驟一起做,來完成cpu 的仿真過程了

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



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA Testbenth

          評(píng)論


          相關(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); })();