这两天想实现一个计数器的功能,能够根据给定的输入值来输出相应宽度的高低电平,但是仿真的结果总是不对,现贴出程序,希望大家帮帮忙!
`timescale 1ns/1ns
module lb_counter(clock,dout,dout1,dout2);
parameter data_width=3;
input wire [data_width:0]din;
input wire enable,load,clock;
output reg[3:0] dout;//输出计数值
output reg dout1,dout2;//希望产生对应高低电平的输出信号端
initial
begin
dout="0";//这个地方的设置不知道有没有问题
dout1=1;
dout2=0;
end
always@(posedge clock)
begin
if(load)//load//信号来加载输入
dout<=din;
else if(enable)//使能信号来开始计数
dout<=dout+1;
else if(dout==1111)//输出的计数值为1111时改变另外两个输出端的值,感觉
begin //写的像C语言,不清楚在这里可不可以
dout1<=0;
dout2<=1;
end
end
endmodule
用户972891 2009-10-30 16:06