在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 8位無符號數(shù)乘法運(yùn)算HDL設(shè)計(jì)實(shí)例

            8位無符號數(shù)乘法運(yùn)算HDL設(shè)計(jì)實(shí)例

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

            `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)用任務(wù),輸入?yún)?shù)i和j分別會賦值給ain和bin用于運(yùn)算。
            • 所有測試成功完成,則最終打印“mux example simulation is over.All right.”的信息,如果測試中出現(xiàn)任何一個(gè)錯(cuò)誤,則測試腳本會停止運(yùn)行,也就意味著見不到這條語句。
            • 產(chǎn)生一次任務(wù)的激勵(lì)。輸入?yún)?shù)a和b分別為運(yùn)算的輸出乘數(shù)和被乘數(shù)。
            • 使能信號拉高,發(fā)起一次
            • 等待ready信號拉高,表示乘法運(yùn)算完成,輸出結(jié)果有效。
            • 測試模塊輸出的乘法運(yùn)算結(jié)果正確,打印相關(guān)信息。
            • 測試模塊輸出的乘法運(yùn)算結(jié)果錯(cuò)誤,打印錯(cuò)誤提示并停止測試腳本的運(yùn)行。
            • 拉低enable信號完成當(dāng)前運(yùn)算。

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

            圖2 mux工程測試結(jié)果


            上一頁 1 2 下一頁

            關(guān)鍵詞: HDL 8位 符號 乘法運(yùn)算

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉