7位数码管模10计数器,板子跑不起来,请看看问题出在哪里?

1.写的verilog代码

module counter(
    input clk,
    input reset,
    output reg [6:0] p);

    reg [3:0] q;
always @(posedge clk) begin 
    if(!reset) 
        q <= 4'b0000;
    else if(q == 4'b1001)
        q <= 4'b0000;
    else 
        q <= q + 1'b1;
    end

always @(q)begin
    case(q)
        4'b0000: p = 7'b1111110;
        4'b0001: p = 7'b0110000;
        4'b0010: p = 7'b1101101;
        4'b0011: p = 7'b1111001;
        4'b0100: p = 7'b0110011;
        4'b0101: p = 7'b1011011;
        4'b0110: p = 7'b1011111;
        4'b0111: p = 7'b1110000;
        4'b1000: p = 7'b1111111;
        4'b1001: p = 7'b1111011;
        default: p = 7'bx;
    endcase
end
endmodule

2.引脚分配

我是把p接到了数码管的7位上
clk,reset接到了两个拨动开关上。

3.出现的问题

并不会按照0-9循环计数,就在那卡着,只有 p[0] 亮着,reset也不管用。

请问问题出在哪里?谢谢大佬回答。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除
cloud_mist 头像