亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vga.vhd

?? xst3_video.ZIP是基于XILINX的XST3開發(fā)板的視頻采集源碼
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
--------------------------------------------------------------------
-- Company       : XESS Corp.
-- Engineer      : Dave Vanden Bout
-- Creation Date : 05/17/2005
-- Copyright     : 2005, XESS Corp
-- Tool Versions : WebPACK 6.3.03i
--
-- Description:
--    VGA generator that displays pixels on a VGA monitor.
--
-- Revision:
--    1.1.0
--
-- Additional Comments:
--    1.1.0:
--        The description of the input buffer FIFO was moved into a 
--        separate file.
--    1.0.0:
--        Initial release.
--
-- License:
--    This code can be freely distributed and modified as long as
--    this header is not removed.
--------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;

package vga_pckg is
  component vga
    generic (
      FREQ            :     natural := 50_000;  -- master clock frequency (in KHz)
      CLK_DIV         :     natural := 1;  -- FREQ / CLK_DIV = pixel clock
      PIXEL_WIDTH     :     natural := 8;  -- pixel width: 1, 2, 4, 8, or 16 bits
      PIXELS_PER_LINE :     natural := 800;  -- pixels per video scan line
      LINES_PER_FRAME :     natural := 600;  -- scan lines per video frame
      NUM_RGB_BITS    :     natural := 2;  -- width of R, G and B color output buses (2 or 3 are only valid values)
      FIT_TO_SCREEN   :     boolean := true  -- fit width x length to monitor screen
      );
    port (
      rst             : in  std_logic;  -- reset
      clk             : in  std_logic;  -- master clock
      wr              : in  std_logic;  -- write-enable for pixel buffer
      pixel_data_in   : in  std_logic_vector(15 downto 0);  -- input databus to pixel buffer
      full            : out std_logic;  -- pixel buffer full
      eof             : out std_logic;  -- end of vga frame
      r, g, b         : out std_logic_vector(NUM_RGB_BITS-1 downto 0);  -- R,G,B color output buses
      hsync_n         : out std_logic;  -- horizontal sync pulse
      vsync_n         : out std_logic;  -- vertical sync pulse
      blank           : out std_logic   -- blanking signal
      );
  end component vga;
end package vga_pckg;



library IEEE, unisim;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
use unisim.vcomponents.all;
use work.fifo_pckg.all;
use work.common.all;

entity vga is
  generic (
    FREQ            :     natural := 50_000;  -- master clock frequency (in KHz)
    CLK_DIV         :     natural := 1;  -- FREQ / CLK_DIV = pixel clock
    PIXEL_WIDTH     :     natural := 4;  -- pixel width: 1, 2, 4, 8, or 16 bits
    PIXELS_PER_LINE :     natural := 1024;  -- pixels per video scan line
    LINES_PER_FRAME :     natural := 512;  -- scan lines per video frame
    NUM_RGB_BITS    :     natural := 2;  -- width of R, G and B color output buses
    FIT_TO_SCREEN   :     boolean := true  -- fit width x length to monitor screen
    );
  port (
    rst             : in  std_logic;    -- reset
    clk             : in  std_logic;    -- master clock
    wr              : in  std_logic;    -- write-enable for pixel buffer
    pixel_data_in   : in  std_logic_vector(15 downto 0);  -- input databus to pixel buffer
    full            : out std_logic;    -- pixel buffer full
    eof             : out std_logic;    -- end of vga frame
    r, g, b         : out std_logic_vector(NUM_RGB_BITS-1 downto 0);  -- R,G,B color output buses
    hsync_n         : out std_logic;    -- horizontal sync pulse
    vsync_n         : out std_logic;    -- vertical sync pulse
    blank           : out std_logic     -- blanking signal
    );
end entity vga;


architecture vga_arch of vga is
  constant NORM : natural := 1000;      -- normalization factor for us * KHz

  -- video timing parameters for FIT_TO_SCREEN mode
  constant HSYNC_START_F  : natural := (NORM * PIXELS_PER_LINE * CLK_DIV)/FREQ + 1;  -- start of horiz. sync pulse with a scanline (us)
  constant HSYNC_PERIOD_F : natural := HSYNC_START_F + 6;  -- horizontal scanline period (us)
  constant HSYNC_WIDTH_F  : natural := 4;  -- width of horiz. sync pulse (us)
  constant HSYNC_FREQ_F   : natural := NORM / HSYNC_PERIOD_F;  -- scanline frequency (KHz) 
  constant VSYNC_START_F  : natural := HSYNC_PERIOD_F * LINES_PER_FRAME + 340;  -- start of vert. sync pulse within a frame (us)
  constant VSYNC_PERIOD_F : natural := VSYNC_START_F + 1084;  -- video frame period (us)
  constant VSYNC_WIDTH_F  : natural := 64;  -- width of vert. sync pulse (us)

  -- video timing for 31 KHz horizontal, 60 Hz vertical screen refresh
  constant HSYNC_START  : natural := 26;  -- start of horiz. sync pulse with a scanline (us)
  constant HSYNC_PERIOD : natural := 32;  -- horizontal scanline period (us)
  constant HSYNC_WIDTH  : natural := 4;  -- width of horiz. sync pulse (us)
  constant HSYNC_FREQ   : natural := NORM / HSYNC_PERIOD;  -- scanline frequency (KHz) 
  constant VSYNC_START  : natural := 15_700;  -- start of vert. sync pulse within a frame (us)
  constant VSYNC_PERIOD : natural := 16_784;  -- video frame period (us)
  constant VSYNC_WIDTH  : natural := 64;  -- width of vert. sync pulse (us)

  signal   clk_div_cnt                :     natural range 0 to 255;
  signal   cke                        :     std_logic;
  signal   line_cnt, pixel_cnt        :     std_logic_vector(15 downto 0);  -- current video line and pixel within line
  signal   fifo_rst                   :     std_logic;
  signal   fifo_level                 :     std_logic_vector(7 downto 0);
  signal   eof_i, eof_x, eof_r        :     std_logic;
  signal   v_gate, cke_v_gate         :     std_logic;
  signal   h_blank, v_blank, visible  :     std_logic;
  constant PIX_PROC_DELAY             :     natural := 3;  -- time delay to read a pixel from the FIFO and colormap it
  signal   hsync_x, hsync_r           :     std_logic_vector(PIX_PROC_DELAY downto 1);
  signal   blank_x, blank_r           :     std_logic_vector(PIX_PROC_DELAY downto 1);
  signal   cke_rd, rd_x, rd_r         :     std_logic;
  signal   pixel                      :     std_logic_vector(PIXEL_WIDTH-1 downto 0);
  signal   pixel_data_x, pixel_data_r :     std_logic_vector(15 downto 0);
  signal   pixel_data_out             :     std_logic_vector(15 downto 0);
  signal   rgb_x, rgb_r               :     std_logic_vector(3*NUM_RGB_BITS-1 downto 0);
  component fifo_cc
    port (
      clk                             : in  std_logic;
      rst                             : in  std_logic;
      rd                              : in  std_logic;
      wr                              : in  std_logic;
      data_in                         : in  std_logic_vector(15 downto 0);
      data_out                        : out std_logic_vector(15 downto 0);
      full                            : out std_logic;
      empty                           : out std_logic;
      level                           : out std_logic_vector(7 downto 0)
      );
  end component fifo_cc;
  component sync
    generic (
      FREQ                            :     natural := 50_000;  -- master clock frequency (in KHz)
      PERIOD                          :     natural := 32;  -- period of sync pulse (in us)
      START                           :     natural := 26;  -- time sync pulse starts within the period (in us)
      WIDTH                           :     natural := 4;  -- width of sync pulse (in us)
      VISIBLE                         :     natural := 1024  -- number of visible pixels/line or lines/frame
      );
    port (
      rst                             : in  std_logic;  -- reset
      clk                             : in  std_logic;  -- master clock
      cke                             : in  std_logic;  -- clock-enable
      sync_n                          : out std_logic;  -- sync pulse
      gate                            : out std_logic;  -- single-clock pulse at start of sync pulse
      blank                           : out std_logic;  -- blanking signal
      cnt                             : out std_logic_vector(15 downto 0)  -- output the timing counter value
      );
  end component sync;

begin

  -- clock divider for reducing the pixel clock rate
  process(clk, rst)
  begin
    if rst = YES then
      clk_div_cnt   <= 0;
      cke           <= YES;
    elsif rising_edge(clk) then
      if clk_div_cnt = CLK_DIV-1 then
        clk_div_cnt <= 0;
        cke         <= YES;
      else
        clk_div_cnt <= clk_div_cnt + 1;
        cke         <= NO;
      end if;
    end if;
  end process;

  -- pixel data buffer
  cke_rd <= rd_x and cke;
  fifo : fifo_255x16_cc
    port map (
      clk      => clk,
      rd       => cke_rd,
      wr       => wr,
      data_in  => pixel_data_in,
      rst      => fifo_rst,
      data_out => pixel_data_out,
      full     => open,
      empty    => open,
      level    => fifo_level
      );
  full   <= YES when fifo_level(7 downto 3) = "11111" else NO;

  -- the clock enable for the vertical sync module is also combined with a gate signal
  -- that is generated at the end of every scanline by the horizontal sync module
  cke_v_gate <= cke and v_gate;

  -- generate the horizontal and vertical sync pulses for FIT_TO_SCREEN mode
  gen_syncs_fit : if FIT_TO_SCREEN = true generate
    hsync       : sync
      generic map (
        FREQ    => FREQ / CLK_DIV,      -- master pixel-clock frequency
        PERIOD  => HSYNC_PERIOD_F,      -- scanline period (32 us)
        START   => HSYNC_START_F,       -- start of horizontal sync pulse in scan line
        WIDTH   => HSYNC_WIDTH_F,       -- width of horizontal sync pulse
        VISIBLE => PIXELS_PER_LINE
        )
      port map (
        rst     => rst,
        clk     => clk,                 -- master clock
        cke     => cke,                 -- a new pixel is output whenever the clock is enabled
        sync_n  => hsync_x(1),          -- send pulse through delay line
        gate    => v_gate,              -- send gate signal to increment vertical sync pulse generator once per scan line
        blank   => h_blank,             -- blanking signal within a scan line
        cnt     => pixel_cnt            -- current pixel within the scan line
        );

    vsync : sync
      generic map (
        FREQ    => HSYNC_FREQ_F,        -- scanline frequency
        PERIOD  => VSYNC_PERIOD_F,      -- image frame period
        START   => VSYNC_START_F,       -- start of vertical sync pulse in frame
        WIDTH   => VSYNC_WIDTH_F,       -- width of vertical sync pulse
        VISIBLE => LINES_PER_FRAME
        )
      port map (
        rst     => rst,
        clk     => clk,                 -- master clock
        cke     => cke_v_gate,          -- enable clock once per horizontal scan line
        sync_n  => vsync_n,             -- send pulse through delay line
        gate    => eof_x,               -- indicate the end of a complete frame
        blank   => v_blank,             -- blanking signal within a frame
        cnt     => line_cnt             -- current scan line within a frame
        );
  end generate;

  -- generate the horizontal and vertical sync pulses for 31 KHz horizontal, 60 Hz vertical screen refresh
  gen_syncs_nofit : if FIT_TO_SCREEN = false generate
    hsync         : sync
      generic map (
        FREQ    => FREQ / CLK_DIV,      -- master pixel-clock frequency
        PERIOD  => HSYNC_PERIOD,        -- scanline period (32 us)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品国产一区二区4080| 91九色02白丝porn| 亚洲女同一区二区| 精品国产一区二区在线观看| 欧美日韩你懂得| av一区二区三区| 激情文学综合插| 性做久久久久久| 亚洲天堂久久久久久久| 久久久亚洲欧洲日产国码αv| 欧美日韩精品二区第二页| 91亚洲永久精品| 激情综合五月婷婷| 奇米精品一区二区三区在线观看 | 不卡一卡二卡三乱码免费网站| 日韩av一区二区三区| 亚洲免费av观看| 国产精品色婷婷久久58| 日韩欧美色综合| 欧美日韩一区中文字幕| 一本色道**综合亚洲精品蜜桃冫| 国产精品一区在线观看乱码| 精彩视频一区二区| 免费欧美高清视频| 日本麻豆一区二区三区视频| 午夜亚洲福利老司机| 一区二区三区波多野结衣在线观看| 欧美激情一区三区| 精品国产伦一区二区三区免费| 欧美日韩久久久久久| 欧美性生活一区| 欧美图区在线视频| 色www精品视频在线观看| 99免费精品在线| 成人动漫一区二区| 95精品视频在线| 91成人免费电影| 欧美日韩另类国产亚洲欧美一级| 欧美日韩国产系列| 欧美日本精品一区二区三区| 4438x亚洲最大成人网| 制服.丝袜.亚洲.另类.中文| 538prom精品视频线放| 欧美精选在线播放| 91精品国产综合久久蜜臀| 日韩欧美综合一区| xnxx国产精品| 国产人久久人人人人爽| 中文字幕亚洲在| 一区二区三区av电影| 狠狠色丁香久久婷婷综合丁香| 天堂午夜影视日韩欧美一区二区| 视频一区二区三区中文字幕| 美女视频一区在线观看| 狠狠狠色丁香婷婷综合激情| 国产精品99久久久久| av在线不卡网| 在线观看精品一区| 日韩一区和二区| 国产三级精品视频| 亚洲精品视频在线观看免费| 性久久久久久久| 精品午夜久久福利影院| 国产激情91久久精品导航 | 欧美一区二区三区系列电影| 精品少妇一区二区三区在线视频| 久久精品欧美一区二区三区麻豆| 成人欧美一区二区三区白人| 亚洲图片欧美色图| 国产一区二区主播在线| 99久久久久久99| 91精品国产综合久久精品app | 欧美日韩中字一区| 久久亚洲私人国产精品va媚药| 国产精品网站在线播放| 亚洲午夜一区二区三区| 国模大尺度一区二区三区| 99在线精品视频| 在线播放亚洲一区| 国产精品免费人成网站| 爽好多水快深点欧美视频| 国产寡妇亲子伦一区二区| 欧美亚洲一区三区| 国产亚洲综合在线| 亚洲mv在线观看| 国产福利一区二区三区| 欧美日韩精品一区视频| 国产精品女主播在线观看| 日韩国产高清影视| 成a人片国产精品| 精品久久久影院| 亚洲h动漫在线| 99热99精品| 国产午夜精品理论片a级大结局| 香蕉久久一区二区不卡无毒影院| 成人一区二区在线观看| 日韩一区二区电影网| 亚洲免费在线电影| 国产精选一区二区三区| 4438x成人网最大色成网站| 亚洲女性喷水在线观看一区| 国产美女精品人人做人人爽 | 欧美系列一区二区| 中文成人av在线| 久草热8精品视频在线观看| 欧美日韩一区二区不卡| 国产精品理论片在线观看| 久草在线在线精品观看| 欧美一区二区在线看| 亚洲美女在线一区| 欧美三区免费完整视频在线观看| 国产精品蜜臀av| 国产精品乡下勾搭老头1| 日韩欧美成人激情| 偷窥国产亚洲免费视频| 日本丰满少妇一区二区三区| 国产精品麻豆视频| 国产乱码精品一区二区三区av | 亚洲午夜羞羞片| 色婷婷av一区二区三区gif| 国产精品丝袜在线| 国产黄人亚洲片| 久久综合资源网| 久久成人久久鬼色| 日韩一区二区三区三四区视频在线观看| 在线观看日韩精品| 中文字幕一区二区不卡| jiyouzz国产精品久久| 亚洲国产精品精华液2区45| 国产精品一区二区在线看| 精品国产一区二区三区av性色 | 色综合视频在线观看| 综合激情成人伊人| 91蝌蚪porny| 一区二区不卡在线视频 午夜欧美不卡在| av电影在线观看一区| 国产精品二区一区二区aⅴ污介绍| 国产福利一区二区三区视频在线 | 欧美在线影院一区二区| 亚洲久本草在线中文字幕| 91蜜桃婷婷狠狠久久综合9色| 国产精品卡一卡二| 色噜噜久久综合| 亚洲国产婷婷综合在线精品| 欧美人与z0zoxxxx视频| 人人狠狠综合久久亚洲| 欧美电影免费观看高清完整版在线| 麻豆91在线播放免费| 精品剧情v国产在线观看在线| 裸体健美xxxx欧美裸体表演| 亚洲精品一区二区在线观看| 国产高清在线精品| 亚洲免费毛片网站| 91超碰这里只有精品国产| 青青草原综合久久大伊人精品| 久久综合色之久久综合| 99综合影院在线| 午夜成人免费电影| 久久久精品黄色| 91香蕉视频污在线| 三级久久三级久久久| 久久亚洲影视婷婷| 91网站黄www| 奇米影视在线99精品| 国产亚洲短视频| 在线观看亚洲精品| 毛片一区二区三区| 中文字幕中文字幕一区二区| 欧美视频中文字幕| 国产一区二三区好的| 亚洲综合一区二区| 日韩精品一区二区三区三区免费 | 偷拍一区二区三区| 国产精品天干天干在线综合| 欧美一级在线免费| 成人免费高清视频| 日韩一区精品字幕| 国产欧美日韩三区| 欧美二区三区的天堂| 国产成人精品1024| 日日噜噜夜夜狠狠视频欧美人 | 欧美一卡二卡在线观看| 成人午夜精品在线| 麻豆精品新av中文字幕| 亚洲色图制服诱惑| 欧美精品一区男女天堂| 欧美色爱综合网| 成人免费精品视频| 麻豆91精品视频| 一区二区三区国产精华| 国产日韩欧美精品一区| 欧美一区二区三区日韩| 99国产欧美另类久久久精品| 久久电影网站中文字幕 | 蜜桃精品视频在线观看| 中文字幕在线一区| 欧美精品一区二区三区高清aⅴ| 欧美日韩一级大片网址| thepron国产精品| 韩国成人福利片在线播放|