如何更改输入时序?

How to change the Input Timing?

我正在尝试跟随 this wiki 页面(特别是 'Supporting Example Material' 下的 quartus 项目文件)来弄清楚如何使用提供的 vga 控制器。我的主要 objective 是让黄色块出现在我的显示器上,如这个 quartus 项目中的代码所示。然而,在我将项目导入 quartus 后,编译它,然后将它放在板上,我的显示器说,"The current input timing is not supported by the monitor display. Please change your input timing to 1920 x 1080 60 Hz or any other monitor listed timing as per the monitor specifications." 任何帮助表示赞赏。

刷新率必须与视频信号的同步周期(HSYNC、VSYNC)一起改变。时间由 VESA. A good start is to search for VESA Coordinated Video Timing (CVT), then you will find a spreadsheet to calculate the required timing. The spreadsheet is part of the VESA Free Standards.

标准化

wiki 的示例设计使用 1920x1200 @ 60 Hz (!) 的分辨率,没有减少消隐,这需要 193.25 MHz 的像素时钟频率。根据文档,使用 FPGA 内部的 PLL 从 50 MHz 板时钟生成 193.16 MHz 时钟。因此,刷新率实际上是:60 Hz * 193.16 MHz / 193.25 MHz = 59.97 Hz。这在大多数 TFT 显示器的允许范围内(59 至 61 Hz)。

要将分辨率更改为 1920x1080@60Hz,所需的像素时钟频率在不减少消隐的情况下降低到 173.0 MHz,或者在减少消隐的情况下进一步降低到 138.5 MHz(仅适用于 TFT)。在提供的示例代码中,Mega Wizard 插件管理器 已用于生成适当的 PLL 配置。从 Quartus-II 的 Tools 菜单打开向导,然后 select 已经存在的配置 altpll0.vhd 并相应地编辑设置。 (vga_pll.vhd 适用于较旧的 FPGA 类型。)

请注意,您还必须更改由vga_controller模块的类属配置的HSYNC和VSYNC时序。所需的数字可以在 CVT 电子表格或任何其他 modeline 计算器中找到。