Verilog低电平复位计数器失效问题排查(Quartus+ModelSim)
计数器低电平复位失效问题排查求助
我正尝试在Quartus Prime环境下使用Verilog编写一款简单计数器,并通过Questa FPGA ModelSim运行Verilog测试台开展验证工作。
设计需求
- 时钟上升沿触发计数,计数至7后自动归零
- 低电平复位信号(rst_n)有效时,计数器需立即归零
问题现象
目前计数器的计数功能及计数到7后归零的逻辑均正常工作,但低电平复位信号触发时无法实现归零操作,特此求助排查问题。
模块代码
// TFT_LCD_Driver Second Version module TFT_LCD_Driver( input clk, input rst_n, output reg [3:0] cnt ); initial cnt = 0; always @(posedge clk or negedge rst_n) begin if (!rst_n) cnt <= 0; if (cnt == 4'd7) cnt <= 0; else cnt <= cnt + 4'd1; end endmodule
测试台代码
// TFT_LCD_Driver_tb // spi driver test bench `define clk_period 20 module TFT_LCD_Driver_tb(); reg clk; reg rst_n; wire [3:0] cnt; TFT_LCD_Driver tft( .clk(clk), .rst_n(rst_n), .cnt(cnt) ); initial begin clk = 1'b1; rst_n = 1'b1; #30 rst_n = 1'b0; #30 rst_n = 1'b1; end always #(`clk_period/2) clk = ~clk; endmodule
波形异常说明
我预期低电平复位信号拉低时计数器立即归0,但波形显示计数器仍持续计数至7后才归零,图中已标记出预期复位的异常位置:
内容的提问来源于stack exchange,提问作者Reeve Prinson Fernandes
相关产品推荐
相关产品推荐

