<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2012-10-17 來(lái)源:網(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

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

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

圖2 mux工程測試結果


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>