📄 multigenhd_output.vhd
字号:
attribute INIT_11 of CROM : label is "00800B4400800B4400800B4400800B4400800B4400800B4400800B4400800B44";
attribute INIT_12 of CROM : label is "00800B4400800B4400800B4400800B4400800B4400800B4400800B4400800B44";
attribute INIT_13 of CROM : label is "0075C1FC00F001FC0075C1FC00F001FC00800B4400800B4400800B4400800B44";
attribute INIT_14 of CROM : label is "0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC";
attribute INIT_15 of CROM : label is "00C70C7000000000008001000080010000800100008001000080080000000000";
attribute INIT_16 of CROM : label is "00DA0DA0000000000062C3D0009903D0009D43D4006703D400800EB000800EB0";
attribute INIT_17 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_18 of CROM : label is "00800EB200800EB200800EB200800EB20080010100800101008A4DB400100DB4";
attribute INIT_19 of CROM : label is "00800EB200800EB200800EB200800EB200800EB200800EB200800EB200800EB2";
attribute INIT_1A of CROM : label is "00800EB200800EB200800EB200800EB200800EB200800EB200800EB200800EB2";
attribute INIT_1B of CROM : label is "00F003E8006643E800F003E8006643E800800EB200800EB200800EB200800EB2";
attribute INIT_1C of CROM : label is "0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC";
attribute INIT_1D of CROM : label is "00C70C7000000000008001000080010000800100008001000080080000000000";
attribute INIT_1E of CROM : label is "00DA0DA0000000000097823500AE423500800101008001010080010100800101";
attribute INIT_1F of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_20 of CROM : label is "00800EB000800EB0008001000080010000800100008001000080030C0080030C";
attribute INIT_21 of CROM : label is "0080010000800100008001000080010000800EB000800EB000800EB000800EB0";
attribute INIT_22 of CROM : label is "008001000080010000800148008001480080010000800100008000B8008000B8";
attribute INIT_23 of CROM : label is "0080030C0080030C0080030C0080030C00800100008001000080018C0080018C";
attribute INIT_24 of CROM : label is "0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC";
attribute INIT_25 of CROM : label is "00C70C7000000000008001000080010000800100008001000080080000000000";
attribute INIT_26 of CROM : label is "00DA0DA000000000008001000080010000800100008001000080010000800100";
attribute INIT_27 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_28 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_29 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_2A of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_2B of CROM : label is "00C0066000C00660008001000080010000800100008001000080010000800100";
attribute INIT_2C of CROM : label is "0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC";
attribute INIT_2D of CROM : label is "00C70C7000000000008001000080010000800100008001000080080000000000";
attribute INIT_2E of CROM : label is "00DA0DA000000000008001000080010000800100008001000080010000800100";
attribute INIT_2F of CROM : label is "008001000080010000C0064000C0064000C0066000C0066000C0066000C00660";
attribute INIT_30 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_31 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_32 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_33 of CROM : label is "0080044000800440008001000080010000800100008001000080010000800100";
attribute INIT_34 of CROM : label is "0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC";
attribute INIT_35 of CROM : label is "00C70C7000000000008001000080010000800100008001000080080000000000";
attribute INIT_36 of CROM : label is "00DA0DA000000000008001000080010000800100008001000080010000800100";
attribute INIT_37 of CROM : label is "0080010000800100008004400080044000800440008004400080044000800440";
attribute INIT_38 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_39 of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3A of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3B of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3C of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3D of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3E of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
attribute INIT_3F of CROM : label is "0080010000800100008001000080010000800100008001000080010000800100";
begin
------------------------------------------------------------------------------
-- Color ROM
--
crom_addr <= (v_band & h_region & h_counter_lsb);
CROM : RAMB16_S36
-- Simulation initialization code CROM
-- 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"000800100",
SRVAL => X"000800100",
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"0080010000800100008001000080010000800100008001000080010000800100",
INIT_01 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_02 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_03 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_04 => X"0000000000FFCFFC008001000080010000B60B60000000000000000000FFCFFC",
INIT_05 => X"00EC0EC0000000000080010000800100008001000080010000AB0AB000000000",
INIT_06 => X"00F10F1000000000008001000080010000800100008001000080010000800100",
INIT_07 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_08 => X"0087CA88002C0A880087CA88002C0A8800800B4400800B440080067800800678",
INIT_09 => X"00CC43EC00C0C3EC0033C858003F48580033C858003F4858002C091400934914",
INIT_0A => X"00D40330006CC33000D40330006CC33000CC43EC00C0C3EC00CC43EC00C0C3EC",
INIT_0B => X"00800678008006780080067800800678007841BC00D401BC00D40330006CC330",
INIT_0C => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_0D => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_0E => X"00DA0DA00000000000800B4400800B4400800B4400800B4400800B4400800B44",
INIT_0F => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_10 => X"00800B4400800B4400800B4400800B4400800B4400800B4400100BC80099CBC8",
INIT_11 => X"00800B4400800B4400800B4400800B4400800B4400800B4400800B4400800B44",
INIT_12 => X"00800B4400800B4400800B4400800B4400800B4400800B4400800B4400800B44",
INIT_13 => X"0075C1FC00F001FC0075C1FC00F001FC00800B4400800B4400800B4400800B44",
INIT_14 => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_15 => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_16 => X"00DA0DA0000000000062C3D0009903D0009D43D4006703D400800EB000800EB0",
INIT_17 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_18 => X"00800EB200800EB200800EB200800EB20080010100800101008A4DB400100DB4",
INIT_19 => X"00800EB200800EB200800EB200800EB200800EB200800EB200800EB200800EB2",
INIT_1A => X"00800EB200800EB200800EB200800EB200800EB200800EB200800EB200800EB2",
INIT_1B => X"00F003E8006643E800F003E8006643E800800EB200800EB200800EB200800EB2",
INIT_1C => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_1D => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_1E => X"00DA0DA0000000000097823500AE423500800101008001010080010100800101",
INIT_1F => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_20 => X"00800EB000800EB0008001000080010000800100008001000080030C0080030C",
INIT_21 => X"0080010000800100008001000080010000800EB000800EB000800EB000800EB0",
INIT_22 => X"008001000080010000800148008001480080010000800100008000B8008000B8",
INIT_23 => X"0080030C0080030C0080030C0080030C00800100008001000080018C0080018C",
INIT_24 => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_25 => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_26 => X"00DA0DA000000000008001000080010000800100008001000080010000800100",
INIT_27 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_28 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_29 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_2A => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_2B => X"00C0066000C00660008001000080010000800100008001000080010000800100",
INIT_2C => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_2D => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_2E => X"00DA0DA000000000008001000080010000800100008001000080010000800100",
INIT_2F => X"008001000080010000C0064000C0064000C0066000C0066000C0066000C00660",
INIT_30 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_31 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_32 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_33 => X"0080044000800440008001000080010000800100008001000080010000800100",
INIT_34 => X"0000000000FFCFFC0080010000800100009D09D0000000000000000000FFCFFC",
INIT_35 => X"00C70C7000000000008001000080010000800100008001000080080000000000",
INIT_36 => X"00DA0DA000000000008001000080010000800100008001000080010000800100",
INIT_37 => X"0080010000800100008004400080044000800440008004400080044000800440",
INIT_38 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_39 => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3A => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3B => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3C => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3D => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3E => X"0080010000800100008001000080010000800100008001000080010000800100",
INIT_3F => X"0080010000800100008001000080010000800100008001000080010000800100"
)
-- pragma translate_on
port map (
DO => crom_out,
DOP => open,
ADDR => crom_addr,
CLK => clk,
DI => GND32,
DIP => GND4,
EN => VCC,
SSR => rst,
WE => GND
);
y_ramp_reload <= crom_out(0);
y_ramp_en <= crom_out(1);
y_rom <= crom_out(y_rom'high + 2 downto 2);
c_rom <= crom_out(c_rom'high + 14 downto 14);
--
-- Y Ramp increment selection
--
-- This MUX selects the Y Ramp increment value. Different increment values are
-- used for formats with 1920 active samples per line vs. 1280 active samples
-- per line. This is because the Y Ramp pattern contains less samples if there
-- are only 1280 active samples per line, so the increment value must be
-- bigger in order to reach the maximum Y value by the end of the Y Ramp
-- pattern.
--
-- The control for this MUX comes from an output of the VROM. The VROM decodes
-- the std input code and controls this MUX appropriately.
--
y_ramp_inc <= Y_INC_1280 when y_ramp_inc_sel = '1' else Y_INC_1920;
--
-- Y Ramp register & adder
--
process(clk, rst)
begin
if rst = '1' then
y_ramp <= YRAMP_INIT;
elsif clk'event and clk = '1' then
if ce = '1' then
if y_ramp_reload = '1' then
y_ramp <= YRAMP_INIT;
else
y_ramp <= y_ramp + y_ramp_inc;
end if;
end if;
end if;
end process;
--
-- Y Ramp rounder
--
y_ramp_round <= y_ramp + YRAMP_RND;
y_ramp_out <= y_ramp_round(y_ramp_round'high downto y_ramp_round'high - y_ramp_out'high);
--
-- Y output mux
--
y_ramp_mux <= y_ramp_out when y_ramp_en = '1' else y_rom;
y <= y_ramp_mux;
c <= c_rom;
end synth;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -