📄 multigenhd_vert.vhd
字号:
attribute INIT_11 of VROM : label is "00088CA000088CA000588CB000188C8D02148C6C02137B8B021275EA02117049";
attribute INIT_12 of VROM : label is "003848F800088CA000284677022446150223353402222F93022129F200280291";
attribute INIT_13 of VROM : label is "0008002000088CA000788CA000388C9D02348C7C02337B9B023275FA02317059";
attribute INIT_14 of VROM : label is "001848E80008466702040006020300050C0646060A0524430A8502A200080281";
attribute INIT_15 of VROM : label is "00088CA000088CA000588CB000188C8D0214000C0213000B0C168C6C0A156AA9";
attribute INIT_16 of VROM : label is "003848F800088CA00028467702240015022300140C2646150A25245200280291";
attribute INIT_17 of VROM : label is "0008002000088CA000788CA000388C9D0234001C0233001B0C368C7C0A356AB9";
attribute INIT_18 of VROM : label is "001848E800084667020446060203352502022F84020129E3028102A200080281";
attribute INIT_19 of VROM : label is "00088CA000088CA000588CB000188C8D02148C6C02137B8B021275EA02117049";
attribute INIT_1A of VROM : label is "003848F800088CA000284677022446150223353402222F93022129F200280291";
attribute INIT_1B of VROM : label is "0008002000088CA000788CA000388C9D02348C7C02337B9B023275FA02317059";
attribute INIT_1C of VROM : label is "001848E80008466702040006020300050C0646060A0524430A8502A200080281";
attribute INIT_1D of VROM : label is "00088CA000088CA000588CB000188C8D0214000C0213000B0C168C6C0A156AA9";
attribute INIT_1E of VROM : label is "003848F800088CA00028467702240015022300140C2646150A25245200280291";
attribute INIT_1F of VROM : label is "0008002000088CA000788CA000388C9D0234001C0233001B0C368C7C0A356AB9";
attribute INIT_20 of VROM : label is "0018000800088C8D02048C2602036A6502025F24020153E30281054200080521";
attribute INIT_21 of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009";
attribute INIT_22 of VROM : label is "0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531";
attribute INIT_23 of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019";
attribute INIT_24 of VROM : label is "0018000800088C8D02040006020300050C068C260A0548A30A85054200080521";
attribute INIT_25 of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009";
attribute INIT_26 of VROM : label is "0038001800088CA000288C9D02240015022300140C268C350A2548B200280531";
attribute INIT_27 of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019";
attribute INIT_28 of VROM : label is "0018000800088C8D02048C2602036A6502025F24020153E30281054200080521";
attribute INIT_29 of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009";
attribute INIT_2A of VROM : label is "0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531";
attribute INIT_2B of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019";
attribute INIT_2C of VROM : label is "0018000800088C8D02040006020300050C068C260A0548A30A85054200080521";
attribute INIT_2D of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009";
attribute INIT_2E of VROM : label is "0038001800088CA000288C9D02240015022300140C268C350A2548B200280531";
attribute INIT_2F of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019";
attribute INIT_30 of VROM : label is "0018000800088C8D02048C2602036A6502025F24020153E30281054200080521";
attribute INIT_31 of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009";
attribute INIT_32 of VROM : label is "0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531";
attribute INIT_33 of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019";
attribute INIT_34 of VROM : label is "0018000800088C8D02040006020300050C068C260A0548A30A85054200080521";
attribute INIT_35 of VROM : label is "00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009";
attribute INIT_36 of VROM : label is "0038001800088CA000288C9D02240015022300140C268C350A2548B200280531";
attribute INIT_37 of VROM : label is "0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019";
attribute INIT_38 of VROM : label is "0118000801085DAD03045D26030346A503023F24030137A30381034201080321";
attribute INIT_39 of VROM : label is "01085DC001085DC001485DD001185DAD0314000C0313000B0312000A03110009";
attribute INIT_3A of VROM : label is "0138001801085DC001285DBD03245D35032346B403223F33032137B201280331";
attribute INIT_3B of VROM : label is "0108002001085DC001685DC001385DBD0334001C0333001B0332001A03310019";
attribute INIT_3C of VROM : label is "0118000801085DAD03040006030300050D065D260B0530230B85034201080321";
attribute INIT_3D of VROM : label is "01085DC001085DC001485DD001185DAD0314000C0313000B0D16000C0B150009";
attribute INIT_3E of VROM : label is "0138001801085DC001285DBD03240015032300140D265D350B25303201280331";
attribute INIT_3F of VROM : label is "0108002001085DC001685DC001385DBD0334001C0333001B0D36001C0B350019";
begin
------------------------------------------------------------------------------
-- Vertical section
--
vrom_addr <= (std & pattern(0) & v_region);
vrom_en <= (ce and v_inc and h_counter_lsb and v_evnt_match) or rst;
VROM : RAMB16_S36
-- Simulation initialization code VROM
-- 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
-- pragma translate_off
generic map (
INIT => X"00048FFFF",
SRVAL => X"00048FFFF",
WRITE_MODE => "READ_FIRST",
INITP_00 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_00 => X"0018582800084E2702044D8602033CA5020237040201316302810A2200080A01",
INIT_01 => X"00089C4000089C4000589C5000189C2D02149BAC02138ACB0212852A02117F89",
INIT_02 => X"0038583800089C4000284E3702244D9502233CB4022237130221317200280A11",
INIT_03 => X"0008002000089C4000789C4000389C3D02349BBC02338ADB0232853A02317F99",
INIT_04 => X"0018582800084E2702040006020300050C064D860A052BC30A850A2200080A01",
INIT_05 => X"00089C4000089C4000589C5000189C2D0214000C0213000B0C169BAC0A1579E9",
INIT_06 => X"0038583800089C4000284E3702240015022300140C264D950A252BD200280A11",
INIT_07 => X"0008002000089C4000789C4000389C3D0234001C0233001B0C369BBC0A3579F9",
INIT_08 => X"001848E800084667020446060203352502022F84020129E3028102A200080281",
INIT_09 => X"00088CA000088CA000588CB000188C8D02148C6C02137B8B021275EA02117049",
INIT_0A => X"003848F800088CA000284677022446150223353402222F93022129F200280291",
INIT_0B => X"0008002000088CA000788CA000388C9D02348C7C02337B9B023275FA02317059",
INIT_0C => X"001848E80008466702040006020300050C0646060A0524430A8502A200080281",
INIT_0D => X"00088CA000088CA000588CB000188C8D0214000C0213000B0C168C6C0A156AA9",
INIT_0E => X"003848F800088CA00028467702240015022300140C2646150A25245200280291",
INIT_0F => X"0008002000088CA000788CA000388C9D0234001C0233001B0C368C7C0A356AB9",
INIT_10 => X"001848E800084667020446060203352502022F84020129E3028102A200080281",
INIT_11 => X"00088CA000088CA000588CB000188C8D02148C6C02137B8B021275EA02117049",
INIT_12 => X"003848F800088CA000284677022446150223353402222F93022129F200280291",
INIT_13 => X"0008002000088CA000788CA000388C9D02348C7C02337B9B023275FA02317059",
INIT_14 => X"001848E80008466702040006020300050C0646060A0524430A8502A200080281",
INIT_15 => X"00088CA000088CA000588CB000188C8D0214000C0213000B0C168C6C0A156AA9",
INIT_16 => X"003848F800088CA00028467702240015022300140C2646150A25245200280291",
INIT_17 => X"0008002000088CA000788CA000388C9D0234001C0233001B0C368C7C0A356AB9",
INIT_18 => X"001848E800084667020446060203352502022F84020129E3028102A200080281",
INIT_19 => X"00088CA000088CA000588CB000188C8D02148C6C02137B8B021275EA02117049",
INIT_1A => X"003848F800088CA000284677022446150223353402222F93022129F200280291",
INIT_1B => X"0008002000088CA000788CA000388C9D02348C7C02337B9B023275FA02317059",
INIT_1C => X"001848E80008466702040006020300050C0646060A0524430A8502A200080281",
INIT_1D => X"00088CA000088CA000588CB000188C8D0214000C0213000B0C168C6C0A156AA9",
INIT_1E => X"003848F800088CA00028467702240015022300140C2646150A25245200280291",
INIT_1F => X"0008002000088CA000788CA000388C9D0234001C0233001B0C368C7C0A356AB9",
INIT_20 => X"0018000800088C8D02048C2602036A6502025F24020153E30281054200080521",
INIT_21 => X"00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009",
INIT_22 => X"0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531",
INIT_23 => X"0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019",
INIT_24 => X"0018000800088C8D02040006020300050C068C260A0548A30A85054200080521",
INIT_25 => X"00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009",
INIT_26 => X"0038001800088CA000288C9D02240015022300140C268C350A2548B200280531",
INIT_27 => X"0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019",
INIT_28 => X"0018000800088C8D02048C2602036A6502025F24020153E30281054200080521",
INIT_29 => X"00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009",
INIT_2A => X"0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531",
INIT_2B => X"0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019",
INIT_2C => X"0018000800088C8D02040006020300050C068C260A0548A30A85054200080521",
INIT_2D => X"00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009",
INIT_2E => X"0038001800088CA000288C9D02240015022300140C268C350A2548B200280531",
INIT_2F => X"0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019",
INIT_30 => X"0018000800088C8D02048C2602036A6502025F24020153E30281054200080521",
INIT_31 => X"00088CA000088CA000488CB000188C8D0214000C0213000B0212000A02110009",
INIT_32 => X"0038001800088CA000288C9D02248C3502236A7402225F33022153F200280531",
INIT_33 => X"0008002000088CA000688CA000388C9D0234001C0233001B0232001A02310019",
INIT_34 => X"0018000800088C8D02040006020300050C068C260A0548A30A85054200080521",
INIT_35 => X"00088CA000088CA000488CB000188C8D0214000C0213000B0C16000C0A150009",
INIT_36 => X"0038001800088CA000288C9D02240015022300140C268C350A2548B200280531",
INIT_37 => X"0008002000088CA000688CA000388C9D0234001C0233001B0C36001C0A350019",
INIT_38 => X"0118000801085DAD03045D26030346A503023F24030137A30381034201080321",
INIT_39 => X"01085DC001085DC001485DD001185DAD0314000C0313000B0312000A03110009",
INIT_3A => X"0138001801085DC001285DBD03245D35032346B403223F33032137B201280331",
INIT_3B => X"0108002001085DC001685DC001385DBD0334001C0333001B0332001A03310019",
INIT_3C => X"0118000801085DAD03040006030300050D065D260B0530230B85034201080321",
INIT_3D => X"01085DC001085DC001485DD001185DAD0314000C0313000B0D16000C0B150009",
INIT_3E => X"0138001801085DC001285DBD03240015032300140D265D350B25303201280331",
INIT_3F => X"0108002001085DC001685DC001385DBD0334001C0333001B0D36001C0B350019"
)
-- pragma translate_on
port map (
DO => vrom_out,
DOP => open,
ADDR => vrom_addr,
CLK => clk,
DI => GND32,
DIP => GND4,
EN => vrom_en,
SSR => rst,
WE => GND
);
v_region <= vrom_out(4 downto 0);
v_next_evnt <= vrom_out(15 downto 5);
v_band_rom <= vrom_out(18 downto 16);
v <= vrom_out(19);
f <= vrom_out(20);
v_clr <= vrom_out(22);
first_line <= vrom_out(23);
y_ramp_inc_sel <= vrom_out(24);
v_band_75_rom <= vrom_out(27 downto 25);
--
-- Vertical counter
--
-- the vertical counter increments once per line. When the v_clr signal
-- is asserted the counter resets to a value of 1.
--
process(clk, rst)
begin
if rst = '1' then
v_counter <= (others => '1');
elsif clk'event and clk = '1' then
if ce = '1' and h_counter_lsb ='1' then
if v_inc = '1' then
if v_clr = '1' then
v_counter <= (0 => '1', others => '0');
else
v_counter <= v_counter + 1;
end if;
end if;
end if;
end if;
end process;
line_num <= v_counter;
--
-- Vertical event comparator
--
-- This logic compares the current vertical counter value with the
-- v_next_evnt field from the VROM. When they match, v_evnt_match is
-- asserted to enable clock of the VROM.
--
v_evnt_match <= '1' when v_next_evnt = v_counter or v_clr = '1' else '0';
--
-- v_band MUX
--
-- When 75% color bars are being generated use the v_band_75_rom bits
-- otherwise use v_band_rom.
--
v_band <= v_band_75_rom when pattern(1) = '1' else v_band_rom;
end synth;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -