MyFPGA Forum

 找回密码
 注册
搜索
查看: 7466|回复: 2
打印 上一主题 下一主题

UP_IP_VGA使用的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-8-2 21:06:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 maidong 于 2009-8-2 21:10 编辑

我安装了从Altera的FTP上下载到的大学计划IP核:
ftp://ftp.altera.com/up/pub/Univ ... /UP_IP_Library.exe.
其中包括了VGA组件。
我看过了其中VGA相关的文档,但在最后编译的时候出错了,下面我说一下我的做法和遇到的问题,使用的是7.2版本的软件。

基于DE1_NIOS的工程模板,打开SOPC Builder添加University Program DE1 Board->VGA,如下设置:

其余标签默认设置,然后Generate。

回到Quartus II,参考新生成的system_0.v,例化VGA相关的信号:
system_0 DUT
    (
  //省略
    .VGA_R_from_the_vga_0           (VGA_R),
      .VGA_G_from_the_vga_0           (VGA_G),
      .VGA_B_from_the_vga_0           (VGA_B),
      .VGA_HS_from_the_vga_0          (VGA_HS),
      .VGA_VS_from_the_vga_0          (VGA_VS)
/*
      .SRAM_ADDR_from_the_vga_0       (SRAM_ADDR_from_the_vga_0),
      .SRAM_CE_N_from_the_vga_0       (SRAM_CE_N_from_the_vga_0),
      .SRAM_DQ_to_and_from_the_vga_0  (SRAM_DQ_to_and_from_the_vga_0),
      .SRAM_LB_N_from_the_vga_0       (SRAM_LB_N_from_the_vga_0),
      .SRAM_OE_N_from_the_vga_0       (SRAM_OE_N_from_the_vga_0),
      .SRAM_UB_N_from_the_vga_0       (SRAM_UB_N_from_the_vga_0),
      .SRAM_WE_N_from_the_vga_0       (SRAM_WE_N_from_the_vga_0),

      .VGA_BLANK_from_the_vga_0       (VGA_BLANK_from_the_vga_0),
      .VGA_SYNC_from_the_vga_0        (VGA_SYNC_from_the_vga_0),
*/
    );
后面注释中是我不确定的部分,VGA_BLANK和VGA_SYNC应该不用分配吧,跟SRAM相关的信号不知如何分配。这个VGA组件中Pixel_Buffer使用了SRAM,Charactor_Buffer使用了Onchip_RAM,但我不是很清楚如何连接了的。
就按上面的整体编译,通过。

打开NIOS II IDE,新建一个hello world工程,编译出错:
**** Build of configuration Debug for project VGA ****

make -s all includes
Creating generated_app.mk...
Compiling alt_sys_init.c...
system_description/alt_sys_init.c:79: error: `VGA_0_NAME' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.dev.name')
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.dev')
system_description/alt_sys_init.c:79: error: `VGA_0_BASE' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.pixel_base')
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.char_base')
system_description/alt_sys_init.c:79: error: `VGA_0_SPAN' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.pixel_slave_span')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_X_RESOLUTION' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_X_RESOLUTION')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_Y_RESOLUTION' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_Y_RESOLUTION')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_X_RESOLUTION' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_X_RESOLUTION')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_Y_RESOLUTION' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_Y_RESOLUTION')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_X_COORD_OFST' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_X_COORD_OFST')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_X_COORD_MSK' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_X_COORD_MSK')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_Y_COORD_OFST' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_Y_COORD_OFST')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_Y_COORD_MSK' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_Y_COORD_MSK')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_X_COORD_OFST' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_X_COORD_OFST')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_X_COORD_MSK' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_X_COORD_MSK')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_Y_COORD_OFST' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_Y_COORD_OFST')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_CHAR_Y_COORD_MSK' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_CHAR_Y_COORD_MSK')
system_description/alt_sys_init.c:79: error: `VGA_0_ALT_UP_VGA_PIX_COLOR_MASK' undeclared here (not in a function)
system_description/alt_sys_init.c:79: error: initializer element is not constant
system_description/alt_sys_init.c:79: error: (near initialization for `vga_0.ALT_UP_VGA_PIX_COLOR_MSK')
make[1]: *** [obj/alt_sys_init.o] Error 1
make: *** [system_project] Error 2
Build completed in 20.937 seconds

貌似是没有包含某个头文件引起的。我试着包含提供的"altera_up_avalon_vga_regs.h"、"altera_up_avalon_vga.h",还是一样的问题。



我想知道这个过程中有没有什么问题,实现VGA有没有其它更好的方案,谢谢!
2#
发表于 2010-3-30 21:18:06 | 只看该作者
.SRAM_ADDR_from_the_vga_0       (SRAM_ADDR_from_the_vga_0),
      .SRAM_CE_N_from_the_vga_0       (SRAM_CE_N_from_the_vga_0),
      .SRAM_DQ_to_and_from_the_vga_0  (SRAM_DQ_to_and_from_the_vga_0),
      .SRAM_LB_N_from_the_vga_0       (SRAM_LB_N_from_the_vga_0),
      .SRAM_OE_N_from_the_vga_0       (SRAM_OE_N_from_the_vga_0),
      .SRAM_UB_N_from_the_vga_0       (SRAM_UB_N_from_the_vga_0),
      .SRAM_WE_N_from_the_vga_0       (SRAM_WE_N_from_the_vga_0),

      .VGA_BLANK_from_the_vga_0       (VGA_BLANK_from_the_vga_0),
      .VGA_SYNC_from_the_vga_0        (VGA_SYNC_from_the_vga_0),
括号里面应该改成你的DE1板上对应的引脚,例如.VGA_BLANK_from_the_vga_0(VGA_BLANK),
3#
发表于 2010-4-11 10:11:18 | 只看该作者
回复 3# yuhengzhou
这个问题就是设计到FPGA与外围设备相互方薇的问题。因为你把这个SRAM当做你的像素的存储空间,就说你吧像素值直接写到SRAM,然后VGA在从SRAM读出要显示的数据。而FPGA要访问SRAM,你就必须要对SRAM芯片提供满足FPGA放入控制逻辑,而控制SRAM时序很简单,然后你把你板子上FPGA对应SRAM的引脚分配好就可以正常的访问了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-3 00:21 , Processed in 0.048168 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表