FPGA新人求助有关ise14.7仿真程序正确但是仿真输入总是高阻态
时间:10-02
整理:3721RD
点击:
用的很简单的verilog 程序,步骤都是按照教程来的,但是仿真结果输入总是高阻态,试了很多不同的程序都是同样的问题
module xor_2(y,a,b
);
output y;
input a;
input b;
assign y=a^b;
endmodule
testbench:
initial begin
// Initialize Inputs
a = 0;
b = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
#10 (a,b)=2'b01;
#10 (a,b)=2'b10;
#10 (a,b)=2'b11;
#10 $stop;
end
module xor_2(y,a,b
);
output y;
input a;
input b;
assign y=a^b;
endmodule
testbench:
initial begin
// Initialize Inputs
a = 0;
b = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
#10 (a,b)=2'b01;
#10 (a,b)=2'b10;
#10 (a,b)=2'b11;
#10 $stop;
end
试了很多其他的程序还是同样的问题,希望能帮忙解答一下
仿真方法的问题!顶层一定是TB,而功能模块单独编写并要在TB里例化(别说你不知道模块化、层次化设计),简单测试的话就将各种激励写在TB里(也就是在顶层实现),复杂的激励也可以模块化设计并在TB中例化使用。需要注意的是被测试模块输入输出口在TB中的类型,一般在TB内被测试模块的输入信号为reg类型(如clock时钟),模块的输出(可与其他模块输入相连的信号)定义为wire类型,比较特殊的是双向口仿真,需要在TB内定义并实现一组reg信号作为双向口输入信号,另外还要在TB内定义一组wire信号作为双向口的输出信号,上述在TB内定义并实现的端口变量在模块例化时与模块关联。你找些TB的编写资料看看,对初学者来说抽象了点,但值得啃一啃!
我刚开始学这个,所以很多问题~~看了你的回复很有启发性,那我找找tb编写看看,谢谢你能回复这么多~~~我刚把tb改了下出来正确的结果了~感谢