新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 8位無符號數(shù)乘法運算HDL設計實例

        8位無符號數(shù)乘法運算HDL設計實例

        作者: 時間:2012-10-17 來源:網(wǎng)絡 收藏

        `timescale 1 ns/ 1 ps

        module mux_vlg_tst();

        reg [7:0] ain;

        reg [7:0] bin;

        reg clk;

        reg enable;

        reg rst_n;

        wire ready;

        wire [31:0] yout;

        reg[8:0] i,j;

        mux i1 (

        .ain(ain),

        .bin(bin),

        .clk(clk),

        .enable(enable),

        .ready(ready),

        .rst_n(rst_n),

        .yout(yout)

        );

        initial begin

        $display(mux example simulation is running.n);

        rst_n = 0;

        clk = 0;

        enable = 0;

        ain = 8'hzz;

        bin = 8'hzz;

        #1000;

        @(posedge clk);

        rst_n = 1;

        for(i=0;i256;i=i+1) begin (1)

        for(j=0;j256;j=j+1) begin (2)

        mux_ab(i,j); (3)

        end

        end

        $display(mux example simulation is over.All right.n); (4)

        $stop;

        end

        always #10 clk = ~clk;

        task mux_ab; (5)

        input[7:0] a;

        input[7:0] b;

        begin

        @(posedge clk); #3;

        ain = a;

        bin = b;

        enable = 1; (6)

        @(posedge ready); (7)

        @(posedge clk); #3;

        if(a*b == yout) $display(%3d * %3d = %5d, it is right.,a,b,yout);

        (8)

        else begin (9)

        $display(%3d * %3d = %5d, it is wrong.,a,b,yout);

        $stop;

        end

        @(posedge clk); #3;

        enable = 0; (10)

        ain = 8'hzz;

        bin = 8'hzz;

        end

        endtask

        endmodule

        • 乘數(shù)ain從0到255遞增。
        • 被乘數(shù)bin從0到255遞增,以此完成全便利測試。
        • 調(diào)用任務,輸入?yún)?shù)i和j分別會賦值給ain和bin用于運算。
        • 所有測試成功完成,則最終打印“mux example simulation is over.All right.”的信息,如果測試中出現(xiàn)任何一個錯誤,則測試腳本會停止運行,也就意味著見不到這條語句。
        • 產(chǎn)生一次任務的激勵。輸入?yún)?shù)a和b分別為運算的輸出乘數(shù)和被乘數(shù)。
        • 使能信號拉高,發(fā)起一次
        • 等待ready信號拉高,表示乘法運算完成,輸出結果有效。
        • 測試模塊輸出的乘法運算結果正確,打印相關信息。
        • 測試模塊輸出的乘法運算結果錯誤,打印錯誤提示并停止測試腳本的運行。
        • 拉低enable信號完成當前運算。

        如圖2所示,為當前測試結果,我們看到了最后的“mux example simulation is over.All right.”提示信息,表示測試通過。

        圖2 mux工程測試結果


        上一頁 1 2 下一頁

        關鍵詞: HDL 8位 符號 乘法運算

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 大宁县| 西华县| 宁河县| 宜兰市| 罗城| 疏勒县| 合水县| 分宜县| 黄平县| 镇巴县| 张北县| 罗山县| 南昌县| 宜昌市| 隆昌县| 兴文县| 饶平县| 普格县| 怀化市| 泗水县| 清河县| 赤城县| 广河县| 增城市| 石景山区| 迭部县| 荣成市| 尉犁县| 连江县| 拜城县| 青阳县| 甘泉县| 浑源县| 吉安市| 额敏县| 读书| 平江县| 息烽县| 静宁县| 博客| 库尔勒市|