• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    8位無符號數乘法運算HDL設計實例

    作者: 時間:2012-10-17 來源:網絡 收藏

    `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

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

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

    圖2 mux工程測試結果


    上一頁 1 2 下一頁

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

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 郯城县| 故城县| 福鼎市| 沭阳县| 高唐县| 屯留县| 景东| 峡江县| 顺义区| 咸阳市| 巫溪县| 新泰市| 康平县| 新竹市| 安宁市| 漳州市| 昂仁县| 周宁县| 贞丰县| 郓城县| 时尚| 和顺县| 遵化市| 乐东| 高密市| 商水县| 九江市| 汤阴县| 道真| 陆河县| 万载县| 星子县| 凤阳县| 怀化市| 松原市| 邵阳县| 阳西县| 监利县| 南雄市| 通道| 阳西县|