Verilog仿真求助:ld_tx_data_scope信号始终为低的问题排查
Verilog仿真问题:
ld_tx_data_scope信号始终保持低电平 我需要实现的功能:ld_tx_data_scope信号在clk_50的前5个上升沿过后变为高电平,保持5个clk_50上升沿周期后变为低电平并一直保持。但实际仿真后,这个信号始终是低电平。
问题代码
module test( clk_50, ld_tx_data_scope ); input clk_50; reg ld_tx_data; output reg ld_tx_data_scope; reg tx_enable; reg [7:0] my_tx_data; reg rx_enable; reg [16:0] ld_tx_counter_debug; reg ld_tx_toggle; reg [16:0] ld_tx_data_scope_uptime; initial begin tx_enable <= 1; rx_enable <= 0; my_tx_data <= 8'b01010101; end always @* begin ld_tx_data_scope = ld_tx_data; end always@(posedge clk_50) begin ld_tx_counter_debug <= ld_tx_counter_debug + 1; //rx_counter <= rx_counter + 1; if(ld_tx_counter_debug == 5 && ld_tx_toggle == 0) //5000 begin ld_tx_counter_debug <= 0; ld_tx_data <= 1; ld_tx_toggle = 1; end if (ld_tx_toggle == 1) begin ld_tx_data_scope_uptime = ld_tx_data_scope_uptime + 1; if (ld_tx_data_scope_uptime == 5)//100 begin ld_tx_data <= 0; ld_tx_data_scope_uptime = 0; end end end endmodule
仿真环境与复现步骤
我使用Quartus的Simulation Waveform editor进行仿真,将输入clk_50设置为50 MHz,仿真后ld_tx_data_scope始终为低。
复现步骤
- 加载项目后,打开test.qpf文件,通过
File-->Open打开包含上述代码的test.v文件 - 通过
File-->Open打开Waveform.vwf文件,需选择“All Files(.)”选项以显示该文件 - 打开Waveform.vwf文件后可见对应信号
- 点击最右侧的“Run Functional Simulation”按钮运行仿真
- 仿真完成后即可看到
ld_tx_data_scope信号始终为低
可选:自行创建波形文件步骤
- 选择
File-->New-->University Program VWF,右键空白区域点击“Insert Node or bus” - 在弹出窗口中点击“Node Finder”,再点击“List”,选中
clk_50和ld_tx_data_scope信号后点击>>添加到“Selected Nodes”,点击OK - 右键
clk_50信号,选择Overwrite clock将其设置为50 MHz - 在
Simulation-->Simulation Settings中,为ModelSim脚本添加-suppress 12110以避免novopt相关错误,脚本如下:
vsim -novopt -suppress 12110 -c -t 1ps -L cyclonev_ver -L altera_ver -L altera_mf_ver -L 220model_ver -L sgate_ver
恳请各位帮忙排查问题。
内容的提问来源于stack exchange,提问作者programmer25
相关产品推荐
相关产品推荐

