为什么modelsim仿真时时间信号输出总是高阻

程序:moduledoudong(clk,pb_in,pb_out,count_sel);inputclk;inputpb_in;outputpb_out;output[... 程序:

module doudong(clk,pb_in,pb_out,count_sel);
input clk;
input pb_in;
output pb_out;
output [1:0] count_sel;
reg [23:0] count_high=0;
reg [23:0] count_low=0;
reg pb_reg=0;
reg [1:0] count_sel_reg=0;
assign pb_out=pb_reg;
assign count_sel=count_sel_reg;

always @(posedge clk)
if(pb_in==1'b0)
count_low<=count_low+1;
else
count_low<=24'h000000;

always @(posedge clk)
if(pb_in==1'b1)
count_high<=count_high+1;
else
count_high<=24'h000000;

always @(posedge clk)
if(count_high==24'h4C4B40)
pb_reg<=1'b1;
else if (count_low==24'h4C4B40)
pb_reg<=1'b0;
else
pb_reg<=pb_reg;

always @(posedge pb_reg)
count_sel_reg<=count_sel_reg+1;
endmodule
是一个防抖动程序,计数器门限值到达24'h4C4B40的时候才会输出(时钟频率100MHz,按钮稳定时间至少50ms)
testbench文件:
module doudong_vlg_tst();

reg eachvec;

reg clk;
reg pb_in;

wire [1:0] count_sel;
wire pb_out;
parameter period=10000;

doudong i1 (
.clk(clk),

.count_sel(count_sel),
.pb_in(pb_in),
.pb_out(pb_out)
);
initial
begin
clk=0;
pb_in=1'b1;
end
always begin
repeat(40) begin
#(period)clk=~clk;
pb_in=~pb_in;
end
end
endmodule
我已经给了clk的初始化,但是仿真结果里什么都没,clk是高阻
展开
 我来答
百度网友e301c72
2015-06-19 · TA获得超过1474个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:536万
展开全部

我帮你仿了一下  可以啊

要不你加上`timescale 1ns/1ns 试试

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式