FPGA 学习小组
直播中

陈杰

7年用户 1405经验值
私信 关注

Verilog设计一异步复位、模9,带进位端的计数器

  

  • module mo9(clk,clr,z,out);
  • input clk,clr;
  • output reg z;
  • output reg [3:0] out;
  • parameter  s0=0,s1=1,s2=2, s3=3,s4=4, s5=5,s6=6,s7=7,s8=8;
  • reg [3:0]  next_state,state;
  • always @(posedge clk or posedge clr)
  • begin
  •         if(clr)         state<=s0;
  •         else                 state<=next_state;
  • end
  • always @(state)
  • begin
  • case (state)
  •                 s0: begin next_state<=s1; out<=state;end
  •                 s1: begin next_state<=s2; out<=state;end
  •                 s2: begin next_state<=s3; out<=state;end
  •                 s3: begin next_state<=s4; out<=state;end
  •                 s4: begin next_state<=s5; out<=state;end
  •                 s5: begin next_state<=s6; out<=state;end
  •                 s6: begin next_state<=s7; out<=state;end
  •                 s7: begin next_state<=s8; out<=state;end
  •                 s8: begin next_state<=s0; out<=state;end
  •                 default: begin next_state<=s0; out<=state;end
  •                 endcase
  •                 end
  • always @(state)
  • begin
  •         case(state)
  •                 s8: z<=1'b1;
  •                 default:z<=1'b0;
  •          endcase
  • end
  • endmodule




全部资料下载地址:
    mo9.rar  



更多回帖

发帖
×
20
完善资料,
赚取积分