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
展开
 我来答
棠棠球
2015-01-02 · TA获得超过940个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:89万
展开全部

问题出在这一句:

dff_syn dff1(q,qn,d,clk,reset,set,);  //set后面多了一个逗号


应改为:dff_syn dff1(q,qn,d,clk,reset,set);    


已调试,可以成功!

另外,clk的写法有点奇怪啊,常规写法都是

always #5 clk = ~clk;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式