⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multigenhd_horz_logo.vhd

📁 SDI接口的源程序,包括扰码编码,并串转换,用VHDL硬件描述语言编写
💻 VHD
📖 第 1 页 / 共 2 页
字号:
-------------------------------------------------------------------------------- 
-- Copyright (c) 2004 Xilinx, Inc. 
-- All Rights Reserved 
-------------------------------------------------------------------------------- 
--   ____  ____ 
--  /   /\/   / 
-- /___/  \  /   Vendor: Xilinx 
-- \   \   \/    Author: John F. Snow, Advanced Product Division, Xilinx, Inc.
--  \   \        Filename: $RCSfile: multigenHD_horz_logo.vhd,rcs $
--  /   /        Date Last Modified:  $Date: 2004-12-09 15:00:20-07 $
-- /___/   /\    Date Created: May 25, 2004 
-- \   \  /  \ 
--  \___\/\___\ 
-- 
--
-- Revision History: 
-- $Log: multigenHD_horz_logo.vhd,rcs $
-- Revision 1.1  2004-12-09 15:00:20-07  jsnow
-- Cosmetic changes only.
--
-- Revision 1.0  2004-08-26 15:03:31-06  jsnow
-- Translated from Verilog.
--
-------------------------------------------------------------------------------- 
--   
--   XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" 
--   AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND 
--   SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, 
--   OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, 
--   APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION 
--   THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, 
--   AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE 
--   FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY 
--   WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE 
--   IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR 
--   REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF 
--   INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
--   FOR A PARTICULAR PURPOSE. 
--
-------------------------------------------------------------------------------- 
-- This module contains the horizontal sequencer for the HD video pattern 
-- generator. A block RAM is used as a finite state machine to sequence through
-- the various horizontal regions of the video patterns. The module outputs a
-- horizontal region code indicating which horizontal region of the video 
-- pattern is currently active.
--
-- This is a slightly modified version of the multigenHD_horz module from
-- XAPP682. The only difference is that this module outputs the entire
-- horizontal counter value as a port.
-------------------------------------------------------------------------------

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
use ieee.numeric_std.all;

use work.hdsdi_pkg.all;
use work.multigenHD_pkg.all;

library unisim; 
use unisim.vcomponents.all; 

entity multigenHD_horz_logo is
    port (
        clk:            in  std_logic;                      -- video clock
        rst:            in  std_logic;                      -- async reset
        ce:             in  std_logic;                      -- clock enable
        std:            in  std_logic_vector(2 downto 0);   -- video standard select
        pattern:        in  std_logic_vector(1 downto 0);   -- selects pattern type (colorbars or checkfield)
        user_opt:       in  std_logic_vector(1 downto 0);   -- selects colorbars options
        first_line:     in  std_logic;                      -- asserted during first active video line
        f:              in  std_logic;                      -- odd/even field indicator
        v_inc:          out std_logic;                      -- increment vertical counter
        trs:            out std_logic;                      -- asserted during 4 words of TRS
        xyz:            out std_logic;                      -- asserted during XYZ word of TRS
        h:              out std_logic;                      -- horizontal blanking interval indicator
        h_region:       out hrgn_type;                      -- horizontal region code
        h_counter_lsb:  out std_logic;                      -- LSB of horizontal counter
        h_counter:      out hd_hpos_type                    -- horizontal counter
    );
end multigenHD_horz_logo;

architecture synth of multigenHD_horz_logo is

-------------------------------------------------------------------------------
-- Signal definitions
--
signal hrom_addr :          std_logic_vector(8 downto 0);           -- HROM address
signal hrom_out :           std_logic_vector(31 downto 0);          -- HROM output
signal h_counter_int :      hd_hpos_type;                           -- horizontal counter
signal h_next_evnt :        std_logic_vector(H_EVNT_MSB downto 0);  -- next horizontal event
signal h_evnt_match :       std_logic;                              -- output of horizontal event comparator
signal hrom_en :            std_logic;                              -- EN input to horizontal ROM
signal h_region_rom :       hrgn_type;                              -- current horizontal region
signal h_next_region :      hrgn_type;                              -- next horizontal region
signal h_clr :              std_logic;                              -- clears the horizontal counter
signal usropt_rgn :         std_logic;                              -- horz region where h_region is affected by user_opt inputs
signal ceqpol_rgn :         std_logic;                              -- horz region where h_region is affected by ceq polarity
signal eav2_rgn :           std_logic;                              -- last two words of EAV
signal sav2_rgn :           std_logic;                              -- last two words of SAV
signal GND :                std_logic := '0';
signal VCC :                std_logic := '1';
signal GND4 :               std_logic_vector(3 downto 0) := "0000";
signal GND32 :              std_logic_vector(31 downto 0) := (others => '0');

attribute INIT : string;
attribute SRVAL : string;
attribute WRITE_MODE : string;
attribute INITP_00 : string;
attribute INITP_01 : string;
attribute INITP_02 : string;
attribute INITP_03 : string;
attribute INITP_04 : string;
attribute INITP_05 : string;
attribute INITP_06 : string;
attribute INITP_07 : string;
attribute INIT_00 : string;
attribute INIT_01 : string;
attribute INIT_02 : string;
attribute INIT_03 : string;
attribute INIT_04 : string;
attribute INIT_05 : string;
attribute INIT_06 : string;
attribute INIT_07 : string;
attribute INIT_08 : string;
attribute INIT_09 : string;
attribute INIT_0A : string;
attribute INIT_0B : string;
attribute INIT_0C : string;
attribute INIT_0D : string;
attribute INIT_0E : string;
attribute INIT_0F : string;
attribute INIT_10 : string;
attribute INIT_11 : string;
attribute INIT_12 : string;
attribute INIT_13 : string;
attribute INIT_14 : string;
attribute INIT_15 : string;
attribute INIT_16 : string;
attribute INIT_17 : string;
attribute INIT_18 : string;
attribute INIT_19 : string;
attribute INIT_1A : string;
attribute INIT_1B : string;
attribute INIT_1C : string;
attribute INIT_1D : string;
attribute INIT_1E : string;
attribute INIT_1F : string;
attribute INIT_20 : string;
attribute INIT_21 : string;
attribute INIT_22 : string;
attribute INIT_23 : string;
attribute INIT_24 : string;
attribute INIT_25 : string;
attribute INIT_26 : string;
attribute INIT_27 : string;
attribute INIT_28 : string;
attribute INIT_29 : string;
attribute INIT_2A : string;
attribute INIT_2B : string;
attribute INIT_2C : string;
attribute INIT_2D : string;
attribute INIT_2E : string;
attribute INIT_2F : string;
attribute INIT_30 : string;
attribute INIT_31 : string;
attribute INIT_32 : string;
attribute INIT_33 : string;
attribute INIT_34 : string;
attribute INIT_35 : string;
attribute INIT_36 : string;
attribute INIT_37 : string;
attribute INIT_38 : string;
attribute INIT_39 : string;
attribute INIT_3A : string;
attribute INIT_3B : string;
attribute INIT_3C : string;
attribute INIT_3D : string;
attribute INIT_3E : string;
attribute INIT_3F : string;

-- XST synthesis initialization code HROM
-- Created by multigenHD_romgen.v
-- Video format mapping:
--   000 =  SMPTE 295M - 1080i  25Hz (1250 lines/frame)
--   001 =  SMPTE 274M - 1080sF 24Hz & 23.98Hz         
--   002 =  SMPTE 274M - 1080i  30Hz & 29.97 Hz        
--   003 =  SMPTE 274M - 1080i  25Hz                   
--   004 =  SMPTE 274M - 1080p  30Hz & 29.97Hz         
--   005 =  SMPTE 274M - 1080p  25Hz                   
--   006 =  SMPTE 274M - 1080p  24Hz & 23.98Hz         
--   007 =  SMPTE 296M - 720p   60Hz & 59.94Hz         
attribute INIT of HROM : label is "00060FFFF";
attribute SRVAL of HROM : label is "00060FFFF";
attribute WRITE_MODE of HROM : label is "READ_FIRST";
attribute INITP_00 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_01 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_02 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_03 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_04 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_05 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_06 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_07 of HROM : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_00 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_01 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_02 of HROM : label is "00170010011678720115785611B4946001939454011294330991783501907811";
attribute INIT_03 of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";
attribute INIT_04 of HROM : label is "0007001000060010000500100004001000030010000200100001001000000010";
attribute INIT_05 of HROM : label is "004F77F0000E0010000D0010000C0010000B0010000A00100009001000080010";
attribute INIT_06 of HROM : label is "00170010011678720115785611B4947D01939454011294330991783501907811";
attribute INIT_07 of HROM : label is "015F0012001E0010041D003C001C77CF001B0010001A00100019001000180010";
attribute INIT_08 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_09 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_0A of HROM : label is "00170010011678720115785611B4ABC00193ABB40112AB930991783501907811";
attribute INIT_0B of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";
attribute INIT_0C of HROM : label is "0007001000060010000500100004001000030010000200100001001000000010";
attribute INIT_0D of HROM : label is "004F77F0000E0010000D0010000C0010000B0010000A00100009001000080010";
attribute INIT_0E of HROM : label is "00170010011678720115785611B4ABDD0193ABB40112AB930991783501907811";
attribute INIT_0F of HROM : label is "015F0012001E0010041D003C001C77CF001B0010001A00100019001000180010";
attribute INIT_10 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_11 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_12 of HROM : label is "00170010011678720115785611B4896001938954011289330991783501907811";
attribute INIT_13 of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";
attribute INIT_14 of HROM : label is "0007001000060010000500100004001000030010000200100001001000000010";
attribute INIT_15 of HROM : label is "004F77F0000E0010000D0010000C0010000B0010000A00100009001000080010";
attribute INIT_16 of HROM : label is "00170010011678720115785611B4897D01938954011289330991783501907811";
attribute INIT_17 of HROM : label is "015F0012001E0010041D003C001C77CF001B0010001A00100019001000180010";
attribute INIT_18 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_19 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_1A of HROM : label is "00170010011678720115785611B4A4E00193A4D40112A4B30991783501907811";
attribute INIT_1B of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";
attribute INIT_1C of HROM : label is "0007001000060010000500100004001000030010000200100001001000000010";
attribute INIT_1D of HROM : label is "004F77F0000E0010000D0010000C0010000B0010000A00100009001000080010";
attribute INIT_1E of HROM : label is "00170010011678720115785611B4A4FD0193A4D40112A4B30991783501907811";
attribute INIT_1F of HROM : label is "015F0012001E0010041D003C001C77CF001B0010001A00100019001000180010";
attribute INIT_20 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_21 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_22 of HROM : label is "00170010011678720115785611B4896001938954011289330991783501907811";
attribute INIT_23 of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";
attribute INIT_24 of HROM : label is "0007001000060010000500100004001000030010000200100001001000000010";
attribute INIT_25 of HROM : label is "004F77F0000E0010000D0010000C0010000B0010000A00100009001000080010";
attribute INIT_26 of HROM : label is "00170010011678720115785611B4897D01938954011289330991783501907811";
attribute INIT_27 of HROM : label is "015F0012001E0010041D003C001C77CF001B0010001A00100019001000180010";
attribute INIT_28 of HROM : label is "000746880006424700053BE600043585000328A40002222302011BC200000EE1";
attribute INIT_29 of HROM : label is "004F77F0000E77CF000D68EE000C5C0D000B57CC000A536B00094F2A00084AC9";
attribute INIT_2A of HROM : label is "00170010011678720115785611B4A4E00193A4D40112A4B30991783501907811";
attribute INIT_2B of HROM : label is "015F0012001E0010001D0010001C0010001B0010001A00100019001000180010";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -