IPO 发表于 2011-4-1 08:29:26

module three(clkin, clkout);

module three(clkin, clkout);
input clkin;//定义输入端口
output clkout;//定义输出端?
reg step1, step;
always @(posedge clkin)
begin
case (step)
2'b00: step<=2'b01;
2'b01: step<=2'b10;
2'b10: step<=2'b00;
default :step<=2'b00;
endcase
end
always @(negedge clkin)
begin
case (step1)
2'b00: step1<=2'b01;
2'b01: step1<=2'b10;
2'b10: step1<=2'b00;
default :step1<=2'b00;
endcase
end
assign clkout=~(step|step1);
endmodule

中step【1】是step的前一位的值吗?

IPO 发表于 2011-4-1 08:29:47

是的是的是的

哦十全 发表于 2011-4-1 11:37:17

1.你的step和step1没有赋初值,modelsim仿真器会默认为未知态。所以看不到你想要的波形。
2.看程序,你的step和step1好像是想实现一个两位二进制数自加的过程。要是这样的话你可以改写如下:
always @(posedge clkin)
begin
if(!rst) step<=2'b00;
elsestep<=step+1'b1;
end
always @(negedge clkin)
begin
if(!rst) step1<=2'b00;
elsestep1<=step1+1'b1;
end
页: [1]
查看完整版本: module three(clkin, clkout);