<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的VGA可移植模塊終極設計

          基于FPGA的VGA可移植模塊終極設計

          作者: 時間:2012-03-13 來源:網絡 收藏

          b) 進一步偷懶法則

          根據(jù)常用的幾種分辨率,Bingo進行了總結,以下三種應用較多,因此進一步偷懶法則,圍繞他們三者來(不在這三種以內的話,自己模仿著再寫一個):

          _640_480_60FPS_25MHz

          _800_600_72FPS_50MHz

          _1024_768_60FPS_65MHz

          Verilog語法也有define的用法,是否還記得C語言中,大工程的調試經常對相關變量的注釋,注銷來調整整個工程變量的應用,因此此處Bingo套用這種思維模式,定義以上三種模式的變量,通過修改注釋define便可以輕松修改全局。具體如下所示:

          //----------------------------------------

          //vga parameter define

          //`define VGA_640_480_60FPS_25MHz

          //`define VGA_800_600_72FPS_50MHz

          `define VGA_1024_768_60FPS_65MHz

          `ifdef VGA_640_480_60FPS_25MHz

          parameter DUTY_CYCLE = 50;

          parameter DIVIDE_DATA = 2;

          parameter MULTIPLY_DATA = 1;

          parameter H_DISP = 11'd640;

          parameter H_FRONT = 11'd16;

          parameter H_SYNC = 11'd96;

          parameter H_BACK = 11'd48;

          parameter H_TOTAL = 11'd800;

          parameter V_DISP = 10'd480;

          parameter V_FRONT = 10'd10;

          parameter V_SYNC = 10'd2;

          parameter V_BACK = 10'd33;

          parameter V_TOTAL = 10'd525;

          `endif

          `ifdef VGA_800_600_72FPS_50MHz

          parameter DUTY_CYCLE = 50;

          parameter DIVIDE_DATA = 1;

          parameter MULTIPLY_DATA = 1;

          parameter H_DISP = 11'd800;

          parameter H_FRONT = 11'd56;

          parameter H_SYNC = 11'd120;

          parameter H_BACK = 11'd64;

          parameter H_TOTAL = 11'd1040;

          parameter V_DISP = 10'd600;

          parameter V_FRONT = 10'd37;

          parameter V_SYNC = 10'd6;

          parameter V_BACK = 10'd23;

          parameter V_TOTAL = 10'd666;

          `endif

          `ifdef VGA_1024_768_60FPS_65MHz

          parameter DUTY_CYCLE = 50;

          parameter DIVIDE_DATA = 10;

          parameter MULTIPLY_DATA = 13;

          parameter H_DISP = 11'd1024;

          parameter H_FRONT = 11'd24;

          parameter H_SYNC = 11'd136;

          parameter H_BACK = 11'd160;

          parameter H_TOTAL = 11'd1344;

          parameter V_DISP = 10'd768;

          parameter V_FRONT = 10'd3;

          parameter V_SYNC = 10'd6;

          parameter V_BACK = 10'd29;

          parameter V_TOTAL = 10'd806;

          `endif

          四、Display方案以及效果

          1、彩條

          (1)代碼

          always@(posedge clk or negedge rst_n)

          begin

          if(!rst_n)

          vga_data = 16'h0;

          else

          begin

          if (vga_xpos >= 0 vga_xpos (H_DISP>>3))

          vga_data = RED;

          else if(vga_xpos >= (H_DISP>>3)*1 vga_xpos (H_DISP>>3)*2)

          vga_data = GREEN;

          else if(vga_xpos >= (H_DISP>>3)*2 vga_xpos (H_DISP>>3)*3)

          vga_data = BLUE;

          else if(vga_xpos >= (H_DISP>>3)*3 vga_xpos (H_DISP>>3)*4)

          vga_data = WHITE;

          else if(vga_xpos >= (H_DISP>>3)*4 vga_xpos (H_DISP>>3)*5)

          vga_data = BLACK;

          else if(vga_xpos >= (H_DISP>>3)*5 vga_xpos (H_DISP>>3)*6)

          vga_data = YELLOW;

          else if(vga_xpos >= (H_DISP>>3)*6 vga_xpos (H_DISP>>3)*7)

          vga_data = CYAN;

          else// if(vga_xpos >= (H_DISP3)*7 vga_xpos (H_DISP3)*8)

          vga_data = ROYAL;

          end

          end

          通過簡單的對X坐標地址的分割,來得到彩條。這是應該是VGA初學者一開始最興奮的幾個界面吧。



          關鍵詞: FPGA VGA 移植 模塊

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();