Board logo

标题: 求助!熟悉定制外设的高手请进! [打印本页]

作者: coldicesong    时间: 2006-5-26 14:30     标题: 求助!熟悉定制外设的高手请进!

我要在DE2板上实现静态图像显示,用的是DMA方式。我自己定义了一个VGA流模式控制器,在顶层模块图上直接调用没有问题,行场同步信号输出都正确,但是作为定制外设放入处理器内部就没有行场同步信号输出了,但vgaclk输出正常,那位高手帮我看看问题出在什么地方,谢谢!


VGA控制器源代码如下:


module vga_controller_stream(
      address, iclk, reset,chipselect,write,writedata,readyfordata, endofpacket, hsync,
      vsync,
      sync,
      blank,
      vgaclk,


      oVGA_R,
      oVGA_G,
      oVGA_B
      );
input address;
input iclk;
input reset;
input chipselect;
input write;
input [31:0]writedata;
output readyfordata;
output endofpacket;
output hsync;
output vsync;
output sync;
output blank;
output vgaclk;
output  [9:0] oVGA_R;
output  [9:0] oVGA_G;
output  [9:0] oVGA_B;
wire readyfordata;
wire endofpacket;
wire hsync;
wire vsync;
wire sync;
wire blank;
wire [31:0]pix_val;
wire read_next_pixel;
wire end_of_picture;
wire [9:0] fifo_cnt;
reg  [19:0] pixel_count;
reg sync_end_of_picture;
wire vgaclk;
assign readyfordata=((fifo_cnt<10'd1000)&&(pixel_count<(640*480))&&(!sync_end_of_picture))?1'b1:1'b0;
always @(posedge iclk or posedge reset)
 begin
  if(reset==1'b1)
    begin
     pixel_count<=11'h000;
     sync_end_of_picture<=1'b0;
    end
 else
   begin
    sync_end_of_picture<=end_of_picture;
      if(sync_end_of_picture&&(pixel_count>((640*480)-1)))
         begin
            pixel_count<=20'h000;
         end
      else
         begin
           if(chipselect&&write&&readyfordata)
             begin
              pixel_count<=pixel_count+1'b1;
             end
         end
        end
  end
vga_timing vga_timing_inst(
.iRST_N(reset),
.oVGA_CLOCK(vgaclk),
.oVGA_H_SYNC(hsync),
.oVGA_V_SYNC(vsync),
.pix_val(pix_val),
.oVGA_BLANK(blank),
.read_next_pixel(read_next_pixel),
.end_of_picture(end_of_picture),
.oVGA_R(oVGA_R),
.oVGA_G(oVGA_G),
.oVGA_B(oVGA_B),
.iCLK(iclk)


);


fifo  fifo_inst(
.aclr(sync_end_of_picture),
.clock(iclk),
.data(writedata),
.rdreq(read_next_pixel),
.wrreq(chipselect&write&readyfordata),
.q(pix_val),
.usedw(fifo_cnt)
);
endmodule


作者: kzw    时间: 2006-5-26 21:36

这个在altera的文档中有这个的详细讲解阿 。
作者: coldicesong    时间: 2006-5-27 10:19

哪个文档?能不能给我发一份?谢了!我的邮箱:coldicesong1984@sina.com
作者: kzw    时间: 2006-5-29 10:50

在document的an333,你看看吧,并且altera官方也有例子,你去下。
作者: zswlove    时间: 2006-7-5 17:26

想问一下kzw版主,关于VGA处理的altera官方例子哪里有?谢谢!
作者: kzw    时间: 2006-7-7 15:49

在altera的官方网站,可以直接用,不过程序是nios一代的,需要移植到二代上来。是用流模式传输。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0