我试图跟随this维基页面(特别是“支持示例材料'”下的quartus项目文件)来弄清楚如何使用提供的vga控制器。我的主要目标是让黄色块出现在我的显示器上,如本Quartus项目中的代码所示。然而,在我将项目导入quartus之后,编译它,然后将它放在我的监视器上所说的板上,"监视器显示不支持当前的输入时序。请根据显示器规格将您的输入时序更改为1920 x 1080 60 Hz或任何其他显示器列出的时间。"任何帮助表示赞赏。
答案 0 :(得分:2)
刷新率必须与视频信号的同步周期(HSYNC,VSYNC)一起改变。时间由VESA标准化。一个好的开始是搜索 VESA协调视频时序(CVT),然后你会找到一个电子表格来计算所需的时间。电子表格是VESA Free Standards。
的一部分wiki的示例设计使用1920x1200 @ 60 Hz(!)的分辨率而不减少消隐,这需要像素时钟频率193.25 MHz。根据文档,使用FPGA内部的PLL,它在50 MHz板时钟之外产生193.16 MHz时钟。因此,刷新率实际上是:60Hz * 193.16MHz / 193.25MHz = 59.97Hz。这大多数都在大多数TFT显示器的允许范围内(59到61 Hz)。
要将分辨率更改为1920x1080 @ 60Hz,所需的像素时钟频率会降低至173.0 MHz而不会降低消隐,甚至会降低至138.5 MHz并降低消隐(仅适用于TFT)。在提供的示例代码中, Mega Wizard插件管理器已用于生成适当的PLL配置。从Quartus-II的 Tools 菜单打开向导,然后选择现有配置altpll0.vhd
并相应地编辑设置。 (vga_pll.vhd适用于较旧的FPGA类型。)
请注意,您还必须更改由vga_controller
模块的泛型配置的HSYNC和VSYNC时序。所需数字可在CVT电子表格或任何其他模式行计算器中找到。