新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA實戰開發技巧(4)

        FPGA實戰開發技巧(4)

        作者: 時間:2017-10-13 來源:網絡 收藏

        5.3.2 基于的仿真

        在代碼編寫完畢后,需要借助于測試平臺來驗證所設計的模塊是否滿足要求。 提供了兩種測試平臺的建立方法,一種是使用HDL Bencher 的圖形化波形編輯功能編寫,另一種就是利用HDL 語言,相對于前者使用簡單、功能強大。下面介紹基于Verilog 語言建立測試平臺的方法。

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

        首先在工程管理區將“Sources for”設置為Behavioral SimulaTIon,在任意位置單擊鼠標右鍵,并在彈出的菜單中選擇“New Source”命令,然后選中“Verilog Test Fixture”類型,輸入文件名為“test_test”,再點擊“Next”進入下一頁。這時,工程中所有Verilog Module 的名稱都會顯示出來,設計人員需要選擇要進行測試的模塊。

        用鼠標選中test,點擊“Next”后進入下一頁,直接點擊“Finish”按鍵, 會在源代碼編輯區自動顯示測試模塊的代碼:

        `TImescale 1ns / 1ps
        module test_test_v;
        // Inputs
        reg clk;
        reg [7:0] din;
        // Outputs
        wire [7:0] dout;
        // InstanTIate the Unit Under Test (UUT)
        test uut (
        .clk(clk),
        .din(din),
        .dout(dout)
        );
        iniTIal begin
        // Initialize Inputs
        clk = 0;
        din = 0;
        // Wait 100 ns for global reset to finish
        #100;
        // Add stimulus here
        end
        endmodule

        由此可見,ISE 自動生成了測試平臺的完整架構,包括所需信號、端口聲明以及模塊調用的完成。所需的工作就是在initial…end 模塊中的“// Add stimulus here”后面添加測試向量生成代碼。添加的測試代碼如下:

        forever begin
        #5;
        clk = !clk;
        if(clk == 1)
        din = din + 1;
        else
        din = din;
        end

        完成測試平臺后。在工程管理區將“Sources for”選項設置為Behavioral Simulation,這時在過程管理區會顯示與仿真有關的進程,如圖5-7 所示。

        圖5-7 仿真過程示意圖

        選中圖5-7 中Xilinx ISE Simulator 下的Simulate Behavioral Model 項,點擊鼠標右鍵,選擇彈出菜單的Properties項,會彈出如圖5-8 所示的屬性設置對話框,最后一行的Simulation Run Time 就是仿真時間的設置,可將其修改為任意時長,本例采用默認值。

        圖5-8 仿真屬性設置對話框

        仿真參數設置完后,就可以進行仿真了,直接雙擊ISE Simulator 軟件中的Simulate Behavioral Model,則ISE 會自動啟動ISE Simulator 軟件,并得到如圖5-9所示的仿真結果,從中可以看到設計達到了預計目標。

        圖5-9 test模塊的仿真結果



        關鍵詞: FPGA ISE

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 城固县| 通城县| 浦城县| 紫金县| 蒙城县| 宜兰市| 安吉县| 从江县| 吉木乃县| 鸡泽县| 友谊县| 双辽市| 孙吴县| 南陵县| 靖安县| 当涂县| 广灵县| 大兴区| 神木县| 深圳市| 兴化市| 城市| 清水县| 灌阳县| 金寨县| 永胜县| 济宁市| 大港区| 张家界市| 乌拉特后旗| 通渭县| 镇江市| 玉林市| 手游| 桐乡市| 肇庆市| 思南县| 兴隆县| 海兴县| 晋城| 临城县|