新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > FPGA驗證之功能仿真和時序仿真的區別與方法

        FPGA驗證之功能仿真和時序仿真的區別與方法

        作者: 時間:2016-12-12 來源:網絡 收藏

        這里我們使用一個波形發生器作為例子,來說明如何使用Modelsim對Quartus II生成的IP Core和相應的HDL文件進行功能仿真時序仿真。這個例子里面使用到了由Quartus II生成的一個片上ROM存儲單元。這種存儲單元和RAM一樣,都是基本的FPGA片上存儲單元,在以后的設計里面會經常使用到。

        本文引用地址:http://www.104case.com/article/201612/328598.htm

        功能仿真

        (1)在Quartus II中設置第三方仿真工具,選擇“Assignments-Settings-EDA Tool Settings-Simulation”,選擇“ModelSim-Verilog”。如圖1所示。

        圖1 EDA工具設置

        (2)編譯工程。編譯帶有IP Core的工程文件。

        (3)編譯完成后會在工程目錄下生成“simulation-modelsim”的目錄,如圖2所示。其中包含了3個文件:“.vo”是仿真網表文件,可以用來代替設計文件;“.xrf”是Quartus編譯生成的信息文件;“.sdo”是工程延時信息。

        圖2 編譯生成文件(4)加入仿真庫文件。

        仿真庫的路徑為“C:alteraquartus50edasim_lib”,包含了如下3個仿真庫文件。

        · 220model.v:帶有用戶原語類型的Quartus自帶的IP核的庫文件。

        · altera_mf.v:Quartus自帶的IP核的庫文件。

        · cyclone_atoms.v:相應系列的器件庫。

        在本例中需要添加altera_mf.v,cyclone_atoms.v兩個庫文件。

        (5)將測試文件粘貼到剛才生成的目錄中,如圖3所示。

        圖3 添加測試文件

        (7)打開modelsim。

        (8)創建工程并添加源文件,如圖4所示。

        圖4 為工程添加源文件(9)編譯工程。結合庫文件一起進行編譯、如圖5和6所示。

        圖5 全部編譯前

        圖6 全部編譯后

        (10)修改wave.vo文件。將文件中的延時信息注釋掉,即:

        //initial $sdf_annotate("WAVE_v.sdo");

        (11)重新編譯wave.vo文件。

        時序仿真

        (1)將功能仿真第(10)步中對wave.vo文件做的注釋改回來,重新進行編譯。

        (2)重新打開開始仿真對話框,選擇頂層模塊。

        (3)選擇“SDF”選項卡。

        (4)加入“.sdo”文件,將兩個SDF Options都選中。

        (5)和功能仿真一樣,為波形窗口添加信號,開始進行仿真。

        (6)通過波形圖,查看時序仿真的延時。



        關鍵詞: FPGA仿真時序仿

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 冕宁县| 利辛县| 巨鹿县| 蛟河市| 永济市| 大悟县| 长海县| 文成县| 永顺县| 镶黄旗| 福清市| 平果县| 公安县| 博罗县| 当雄县| 九龙城区| 庐江县| 凤阳县| 山阴县| 灵丘县| 罗城| 姚安县| 济源市| 章丘市| 沿河| 衡阳县| 天镇县| 安多县| 兰溪市| 平罗县| 太康县| 裕民县| 松阳县| 南充市| 汾西县| 鹰潭市| 潼关县| 乌鲁木齐县| 罗源县| 武城县| 孟州市|