Hej,
Я хотел бы получить сигнал HDMI из моего Spartan 7 (FPGA).
Разрешение: 640 x 480 @ 60 Гц с 25,2 МГц для моих пиксельных часов.
Это означает, что у меня будет в общей сложности (с временем гашения) 800 x 525 при 60,0 Гц
Но как монитор узнает, какие часы являются первыми?
В HDMI нет ничего похожего на hsync иvsync как в VGA, верно?
Так, например, если я запускаю свои данные через HDMI и подключаю монитор после этого.
Как tf узнает, что монитор начинает следующий кадр?
Просто4 интересует вот код ->
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_unsigned.all;
Library UNISIM;
use UNISIM.vcomponents.all;
entity Takt is
Port (
CLK100MHZ : in STD_LOGIC; -- Pin R2
clk_out_p : out STD_LOGIC; -- Pin L18 (1)
clk_out_n : out STD_LOGIC; -- Pin L17 (2)
clk_out_25Mhz : inout STD_LOGIC; -- Pin M14 (3)
clk_out_250Mhz : out STD_LOGIC; -- Pin N14 (4)
controll_LED : out STD_LOGIC -- Pin E13 (LED4)
);
end Takt;
architecture Behavioral of Takt is
signal locked : std_logic;
-- init clock
--25.20 MHz 800 x 525 @ 60.000000000 Hz (exact) <-- go with that
--25.20 MHz 840 x 500 @ 60.000000000 Hz (exact)
component myclock
port
(-- Clock in ports
clk_in1 : in std_logic;
-- Clock out ports
clk_out1 : out std_logic;
clk_out2 : out std_logic;
-- Status and control signals
reset : in std_logic;
locked : out std_logic
);
end component;
begin
--Controll LED einschalten
controll_LED <= '1';
-- Erzeugen der ClockSignale durch pregenerated Code by clockingWizard tool by Xilinx
clock_inst : myclock
port map (
-- Clock out ports
clk_out1 => clk_out_25Mhz,
clk_out2 => clk_out_250Mhz,
-- Status and control signals
locked => locked,
reset => '0',
-- Clock in ports
clk_in1 => CLK100MHZ
);
-- via OBUFDS buffern des signals und aufsplitten auf clk_p und clk_n
OBUFDS_inst : OBUFDS
generic map (
IOSTANDARD => "DEFAULT", -- Specify the output I/O standard
SLEW => "SLOW") -- Specify the output slew rate
port map (
O => clk_out_p, -- Diff_p output (connect directly to top-level port)
OB => clk_out_n, -- Diff_n output (connect directly to top-level port)
I => clk_out_25Mhz -- Buffer input
);
--nach Xilinx ist DDR nötig wenn aus "externen" Speicher gelesen wird
end Behavioral;