diff options
Diffstat (limited to 'testsuite/ghdl-issues/issue1307/hdmi_io.vhd')
-rw-r--r-- | testsuite/ghdl-issues/issue1307/hdmi_io.vhd | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/testsuite/ghdl-issues/issue1307/hdmi_io.vhd b/testsuite/ghdl-issues/issue1307/hdmi_io.vhd new file mode 100644 index 0000000..ded6a12 --- /dev/null +++ b/testsuite/ghdl-issues/issue1307/hdmi_io.vhd @@ -0,0 +1,110 @@ +library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+entity hdmi_io is
+ port (
+ clk100 : in STD_LOGIC;
+ -------------------------------
+ -- Control signals
+ -------------------------------
+ clock_locked : out std_logic;
+ data_synced : out std_logic;
+ debug : out std_logic_vector(7 downto 0);
+
+ -------------------------------
+ --HDMI input signals
+ -------------------------------
+ hdmi_rx_cec : inout std_logic;
+ hdmi_rx_hpa : out std_logic;
+ hdmi_rx_scl : in std_logic;
+ hdmi_rx_sda : inout std_logic;
+ hdmi_rx_txen : out std_logic;
+ hdmi_rx_clk_n : in std_logic;
+ hdmi_rx_clk_p : in std_logic;
+ hdmi_rx_n : in std_logic_vector(2 downto 0);
+ hdmi_rx_p : in std_logic_vector(2 downto 0);
+
+ -------------
+ -- HDMI out
+ -------------
+ hdmi_tx_cec : inout std_logic;
+ hdmi_tx_clk_n : out std_logic;
+ hdmi_tx_clk_p : out std_logic;
+ hdmi_tx_hpd : in std_logic;
+ hdmi_tx_rscl : inout std_logic;
+ hdmi_tx_rsda : inout std_logic;
+ hdmi_tx_p : out std_logic_vector(2 downto 0);
+ hdmi_tx_n : out std_logic_vector(2 downto 0);
+
+ pixel_clk : out std_logic;
+ -------------------------------
+ -- VGA data recovered from HDMI
+ -------------------------------
+ in_hdmi_detected : out std_logic;
+ in_blank : out std_logic;
+ in_hsync : out std_logic;
+ in_vsync : out std_logic;
+ in_red : out std_logic_vector(7 downto 0);
+ in_green : out std_logic_vector(7 downto 0);
+ in_blue : out std_logic_vector(7 downto 0);
+ is_interlaced : out std_logic;
+ is_second_field : out std_logic;
+
+ -----------------------------------
+ -- VGA data to be converted to HDMI
+ -----------------------------------
+ out_blank : in std_logic;
+ out_hsync : in std_logic;
+ out_vsync : in std_logic;
+ out_red : in std_logic_vector(7 downto 0);
+ out_green : in std_logic_vector(7 downto 0);
+ out_blue : in std_logic_vector(7 downto 0);
+ -------------------------------------
+ -- Audio Levels
+ -------------------------------------
+ audio_channel : out std_logic_vector(2 downto 0);
+ audio_de : out std_logic;
+ audio_sample : out std_logic_vector(23 downto 0);
+
+ -----------------------------------
+ -- For symbol dump or retransmit
+ -----------------------------------
+ symbol_sync : out std_logic; -- indicates a fixed reference point in the frame.
+ symbol_ch0 : out std_logic_vector(9 downto 0);
+ symbol_ch1 : out std_logic_vector(9 downto 0);
+ symbol_ch2 : out std_logic_vector(9 downto 0)
+ );
+end entity;
+
+architecture Behavioral of hdmi_io is
+
+ signal fourfourfour_V : std_logic_vector(11 downto 0);
+ signal fourfourfour_W : std_logic_vector(11 downto 0);
+
+ component conversion_to_RGB is
+ port ( clk : in std_Logic;
+ in_V : in std_logic_vector(11 downto 0);
+ in_W : in std_logic_vector(11 downto 0);
+ out_R : out std_logic_vector(11 downto 0);
+ out_G : out std_logic_vector(11 downto 0)
+ );
+ end component;
+
+ signal rgb_R : std_logic_vector(11 downto 0);
+ signal rgb_G : std_logic_vector(11 downto 0);
+begin
+
+i_conversion_to_RGB: conversion_to_RGB
+ port map (
+ clk => clk100,
+ in_V => fourfourfour_V,
+ in_W => fourfourfour_W,
+ out_G => rgb_G,
+ out_R => rgb_R
+ );
+
+ in_green <= rgb_G(11 downto 4);
+ in_red <= rgb_R(11 downto 4);
+
+
+end Behavioral;
|