modelsim中信号一直处于高阻状态为什么?拜托拜托
`timescale1ns/1nsmoduletest;regclk,reset,set,d;wireq,qn;dff_syndff1(q,qn,d,clk,reset,...
`timescale 1ns/1ns
module test;
reg clk,reset,set,d;
wire q,qn;
dff_syn dff1(q,qn,d,clk,reset,set,);
always
begin
clk=1;
#5 clk=0;
#5 clk=1;
end
initial begin
reset=1'b0;set=1'b0;d=1'b0;
#10 reset=1'b1;set=1'b0;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
end
initial $monitor($time,,,"clk=%b reset=%b set=%b d=%b q=%b qn=%b",clk,reset,set,d,q,qn);
endmodule
module dff_syn(q,qn,d,clk,reset,set);
input d,clk,set,reset;
output reg q,qn;
always@(posedge clk)
begin
if(!reset) begin q<=1'b0;qn<=1'b1;end
else if(~set) begin q<=1'b1;qn<=1'b0;end
else begin q<=d; qn<=~d;end
end
endmodule 展开
module test;
reg clk,reset,set,d;
wire q,qn;
dff_syn dff1(q,qn,d,clk,reset,set,);
always
begin
clk=1;
#5 clk=0;
#5 clk=1;
end
initial begin
reset=1'b0;set=1'b0;d=1'b0;
#10 reset=1'b1;set=1'b0;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b0;
#10 reset=1'b1;set=1'b1;d=1'b1;
end
initial $monitor($time,,,"clk=%b reset=%b set=%b d=%b q=%b qn=%b",clk,reset,set,d,q,qn);
endmodule
module dff_syn(q,qn,d,clk,reset,set);
input d,clk,set,reset;
output reg q,qn;
always@(posedge clk)
begin
if(!reset) begin q<=1'b0;qn<=1'b1;end
else if(~set) begin q<=1'b1;qn<=1'b0;end
else begin q<=d; qn<=~d;end
end
endmodule 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询