You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Verilog VGA仿真时VGA_HS/VGA_VS为未知X值 线网传递问题排查求助

问题根因

你遇到的VGA_HS、VGA_VS输出为X的核心问题是VGADesign模块内部例化DisplayTimings时复位信号连接错误,导致时序模块没有正常复位工作:

  1. VGADesign的输入复位端口名为btn_rst,但你在内部例化DisplayTimings时,给rst端口连接了不存在的内部信号RSTN
    // 错误代码
    DisplayTimings VGATimings(
       .Clk_px(clk_25Mhz),
       .rst(RSTN), // RSTN是Testbench中的信号,VGADesign内部没有定义,处于悬空状态为X
       .sx(),
       .sy(),
       .Hsync(vgaHS),
       .Vsync(vgaVS),
       .de()
    );
    
  2. 悬空的复位信号会导致DisplayTimings内部所有寄存器初始状态为未知,输出的同步信号自然也是X值。

修复方法

把VGADesign中DisplayTimings例化的rst端口改成连接模块的输入复位btn_rst即可:

// 修正后的代码
DisplayTimings VGATimings(
   .Clk_px(clk_25Mhz),
   .rst(btn_rst), // 改为连接模块输入的复位信号
   .sx(),
   .sy(),
   .Hsync(vgaHS),
   .Vsync(vgaVS),
   .de()
);

额外调试建议

  • 可先观察Testbench中直接例化的VGATimings输出的HSync、VSync信号,如果这两个信号输出正常,即可确认问题仅出在VGADesign内部的连接错误
  • 仿真时建议延长运行时间,至少跑满一整行的同步周期,方便观察完整的同步信号波形

内容的提问来源于stack exchange,提问作者user10995546

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:54:02