|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 qinzongqing 于 2012-12-17 00:00 编辑
`timescale 1ns/1ns
interface router_io(input bit clk);
logic [15:0] din;
clocking drvClk @(posedge clk);
output din; endclocking: drvClk //用来同步驱动
modport TEST(clocking drvClk);
modport DUT (input din);
endinterface: router_io
program test(router_io.TEST io);
initial begin
io.drvClk.din<=16'h2;
@(io.drvClk);
io.drvClk.din<=16'h4;
@(io.drvClk);
io.drvClk.din<=16'h7;
@(io.drvClk);
io.drvClk.din<=16'h9;
@(io.drvClk);
io.drvClk.din<=16'h3;
@(io.drvClk);
#50 $finish;
end
endprogram: test
module dut(router_io.DUT io);
initial begin
$monitor("@%0t : io.din=%h ",$time,io.din); //检测变化;
end
endmodule: dut
module top;
bit clk;
always #5 clk=!clk;
router_io io(clk);
test t1(io);
dut d1(io);
endmodule
就是用了接口,同步驱动DUT,问题是:仿真结果是 4--7--9--3,为什么偏偏红色那个2 没有驱动进去呢?仿真结果如下:
|
|