1.状态机代码设计与仿真
1.1三角波发生器
代码:
//最简单的状态机,三角波发生器;
module tri_gen(
clk,
res,
d_out
);
input clk;
input res;
output[8:0] d_out;
reg state;//定义主状态机的寄存器;
reg[8:0] d_out;//将来会在awalys里面赋值,是一个实际的值,所以先定义为reg;299为8位;
always@(posedge clk or negedge res)
if(~res) begin
state<=0;d_out=o;
end
else begin
case(state)
0://上升
begin
d_out<=d_out+1;
if(d_out==299) begin
state<=1;
end
end
1://下降
begin
d_out<=d_out-1;
if(d_out==1) begin
state<=0;
end
end
endcase
end
endmodule
Test bench