1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-01-20 09:44:38 +00:00

move rom to sdram

This commit is contained in:
Gehstock 2019-12-26 23:46:32 +01:00
parent 825d25ce6c
commit c6d769f64a
19 changed files with 638 additions and 1525 deletions

Binary file not shown.

View File

@ -192,20 +192,11 @@ set_global_assignment -name VHDL_FILE rtl/llander.vhd
set_global_assignment -name VHDL_FILE rtl/llander_vg.vhd
set_global_assignment -name VHDL_FILE rtl/llander_ram.vhd
set_global_assignment -name VHDL_FILE rtl/llander_dw.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_VEC_ROM_2.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_VEC_ROM_1.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_VEC_ROM_0.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_PROG_ROM_3.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_PROG_ROM_2.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_PROG_ROM_1.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_PROG_ROM_0.vhd
set_global_assignment -name VHDL_FILE rtl/rom/LLANDER_DVG_ROM.vhd
set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
set_global_assignment -name VHDL_FILE rtl/ovo.vhd
set_global_assignment -name VHDL_FILE rtl/base_pack.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
set_global_assignment -name VERILOG_FILE rtl/p2ram.v
set_global_assignment -name VERILOG_FILE rtl/pll.v
set_global_assignment -name QIP_FILE ../../../common/CPU/T65/T65.qip
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip

View File

@ -0,0 +1,134 @@
## Generated SDC file "vectrex_MiST.out.sdc"
## Copyright (C) 1991-2013 Altera Corporation
## Your use of Altera Corporation's design tools, logic functions
## and other software and tools, and its AMPP partner logic
## functions, and any output files from any of the foregoing
## (including device programming or simulation files), and any
## associated documentation or information are expressly subject
## to the terms and conditions of the Altera Program License
## Subscription Agreement, Altera MegaCore Function License
## Agreement, or other applicable license agreement, including,
## without limitation, that your use is for the sole purpose of
## programming logic devices manufactured by Altera and sold by
## Altera or its authorized distributors. Please refer to the
## applicable agreement for further details.
## VENDOR "Altera"
## PROGRAM "Quartus II"
## VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition"
## DATE "Sun Jun 24 12:53:00 2018"
##
## DEVICE "EP3C25E144C8"
##
# Clock constraints
# Automatically constrain PLL and other generated clocks
derive_pll_clocks -create_base_clocks
# Automatically calculate clock uncertainty to jitter and other effects.
derive_clock_uncertainty
# tsu/th constraints
# tco constraints
# tpd constraints
#**************************************************************
# Time Information
#**************************************************************
set_time_format -unit ns -decimal_places 3
#**************************************************************
# Create Clock
#**************************************************************
create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_ports {SPI_SCK}]
set sys_clk "pll|altpll_component|auto_generated|pll1|clk[0]"
set sdram_clk "pll|altpll_component|auto_generated|pll1|clk[0]"
#**************************************************************
# Create Generated Clock
#**************************************************************
#**************************************************************
# Set Clock Latency
#**************************************************************
#**************************************************************
# Set Clock Uncertainty
#**************************************************************
#**************************************************************
# Set Input Delay
#**************************************************************
set_input_delay -add_delay -clock_fall -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}]
set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}]
set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}]
set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}]
set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}]
set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}]
set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 6.6 [get_ports SDRAM_DQ[*]]
set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min 3.5 [get_ports SDRAM_DQ[*]]
#**************************************************************
# Set Output Delay
#**************************************************************
set_output_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DO}]
set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_L}]
set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_R}]
set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {LED}]
set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {VGA_*}]
set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 1.5 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}]
set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min -0.8 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}]
#**************************************************************
# Set Clock Groups
#**************************************************************
set_clock_groups -asynchronous -group [get_clocks {SPI_SCK}] -group [get_clocks {pll|altpll_component|auto_generated|pll1|clk[*]}]
#**************************************************************
# Set False Path
#**************************************************************
#**************************************************************
# Set Multicycle Path
#**************************************************************
set_multicycle_path -to {VGA_*[*]} -setup 2
set_multicycle_path -to {VGA_*[*]} -hold 1
#**************************************************************
# Set Maximum Delay
#**************************************************************
#**************************************************************
# Set Minimum Delay
#**************************************************************
#**************************************************************
# Set Input Transition
#**************************************************************

View File

@ -13,7 +13,7 @@ module LunarLander_MiST(
input SPI_SS2,
input SPI_SS3,
input CONF_DATA0,
input CLOCK_27/*,
input CLOCK_27,
output [12:0] SDRAM_A,
inout [15:0] SDRAM_DQ,
@ -26,13 +26,13 @@ module LunarLander_MiST(
output [1:0] SDRAM_BA,
output SDRAM_CLK,
output SDRAM_CKE
*/
);
`include "rtl\build_id.v"
localparam CONF_STR = {
"LunarLander;;",
"LLANDER;ROM;",
"O12,Scanlines,None,CRT 25%,CRT 50%,CRT 75%;",
"O3,Test,Off,On;",
"O45,Language,English,Spanish,French,German;",
@ -41,8 +41,10 @@ localparam CONF_STR = {
"V,v1.00.",`BUILD_DATE
};
assign LED = 1;
assign LED = ~ioctl_downl;
assign AUDIO_R = AUDIO_L;
assign SDRAM_CLK = clk_50;
assign SDRAM_CKE = 1;
wire clk_50, clk_25, clk_6, locked;
pll pll(
@ -70,45 +72,81 @@ wire [7:0] audio;
wire key_strobe;
wire key_pressed;
wire [7:0] key_code;
//this must go to sdram
wire [18:0] vram_write_addr;
wire [3:0] vram_write_data;
wire [18:0] vram_read_addr;
wire [3:0] vram_read_data;
wire vram_wren;
/*
sdram sdram (
.SDRAM_DQ(SDRAM_DQ),
.SDRAM_A(SDRAM_A),
.SDRAM_DQML(SDRAM_DQML),
.SDRAM_DQMH(SDRAM_DQMH),
.SDRAM_BA(SDRAM_BA),
.SDRAM_nCS(SDRAM_nCS),
.SDRAM_nWE(SDRAM_nWE),
.SDRAM_nRAS(SDRAM_nRAS),
.SDRAM_nCAS(SDRAM_nCAS),
.SDRAM_CKE(SDRAM_CKE),
.init(~locked), // init signal after FPGA config to initialize RAM
.clk(clk_50), // sdram is accessed at up to 128MHz
.clkref(clk_25), // reference clock to sync to
.din(vram_write_data), // data input from chipset/cpu
.dout(vram_read_data), // data output to chipset/cpu
.raddr(vram_read_addr), // 25 bit byte address
.waddr(vram_write_addr), // 25 bit byte address
.rd(~vram_wren), // cpu/chipset requests read
.we(vram_wren)
);*/
wire [12:0] cpu_rom_address;
wire [15:0] cpu_rom_data;
wire [12:0] vector_rom_address;
wire [15:0] vector_rom_data;
wire ioctl_downl;
wire [7:0] ioctl_index;
wire ioctl_wr;
wire [24:0] ioctl_addr;
wire [7:0] ioctl_dout;
//reduced ram size
data_io data_io(
.clk_sys ( clk_25 ),
.SPI_SCK ( SPI_SCK ),
.SPI_SS2 ( SPI_SS2 ),
.SPI_DI ( SPI_DI ),
.ioctl_download( ioctl_downl ),
.ioctl_index ( ioctl_index ),
.ioctl_wr ( ioctl_wr ),
.ioctl_addr ( ioctl_addr ),
.ioctl_dout ( ioctl_dout )
);
reg port1_req, port2_req;
sdram sdram(
.*,
.init_n ( locked ),
.clk ( clk_50 ),
// port1 used for main CPU
.port1_req ( port1_req ),
.port1_ack ( ),
.port1_a ( ioctl_addr[23:1] ),
.port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ),
.port1_we ( ioctl_downl ),
.port1_d ( {ioctl_dout, ioctl_dout} ),
.port1_q ( ),
.cpu1_addr ( ioctl_downl ? 15'h7fff : {3'b000, cpu_rom_address[12:1]} ),
.cpu1_q ( cpu_rom_data ),
// port2 for sound board
.port2_req ( port2_req ),
.port2_ack ( ),
.port2_a ( ioctl_addr[23:1] - 16'h1000 ),
.port2_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ),
.port2_we ( ioctl_downl ),
.port2_d ( {ioctl_dout, ioctl_dout} ),
.port2_q ( ),
.snd_addr ( ioctl_downl ? 15'h7fff : {3'b000, vector_rom_address[12:1]} ),
.snd_q ( vector_rom_data )
);
always @(posedge clk_25) begin
reg ioctl_wr_last = 0;
ioctl_wr_last <= ioctl_wr;
if (ioctl_downl) begin
if (~ioctl_wr_last && ioctl_wr) begin
port1_req <= ~port1_req;
port2_req <= ~port2_req;
end
end
end
reg reset = 1;
reg rom_loaded = 0;
always @(posedge clk_25) begin
reg ioctl_downlD;
ioctl_downlD <= ioctl_downl;
if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1;
reset <= status[0] | buttons[1] | ~rom_loaded;
end
p2ram p2ram (
.clock(clk_25),
.data(vram_write_data),
.rdaddress(vram_read_addr[15:0]),
.wraddress(vram_write_addr[15:0]),
.wren(vram_wren),
.q(vram_read_data)
);
LLANDER_TOP LLANDER_TOP (
.ROT_LEFT_L(~m_left),
@ -137,14 +175,13 @@ LLANDER_TOP LLANDER_TOP (
.VID_VBLANK(vb),
.VGA_DE(vgade),
.DIP({1'b0,1'b0,status[4],status[5],~status[6],1'b1,status[7],status[8]}),//todo dip full
.RESET_L(~(status[0] | buttons[1])),
.RESET_L(~(reset)),
.clk_6(clk_6),
.clk_25(clk_25),
.vram_write_addr(vram_write_addr),
.vram_write_data(vram_write_data),
.vram_read_addr(vram_read_addr),
.vram_read_data(vram_read_data),
.vram_wren(vram_wren)
.cpu_rom_address(cpu_rom_address),
.cpu_rom_data (cpu_rom_address[0] ? cpu_rom_data[15:8] : cpu_rom_data[7:0] ),
.vector_rom_address(vector_rom_address),
.vector_rom_data (vector_rom_address[0] ? vector_rom_data[15:8] : vector_rom_data[7:0] )
);
ovo #(

View File

@ -84,7 +84,11 @@ entity LLander is
Y_VECTOR : out std_logic_vector(9 downto 0);
Z_VECTOR : out std_logic_vector(3 downto 0);
BEAM_ON : out std_logic;
BEAM_ENA : out std_logic
BEAM_ENA : out std_logic;
cpu_rom_address : out std_logic_vector(12 downto 0);
cpu_rom_data : in std_logic_vector( 7 downto 0);
vector_rom_address : out std_logic_vector(12 downto 0);
vector_rom_data : in std_logic_vector( 7 downto 0)
);
end;
@ -430,56 +434,15 @@ begin
end case;
end process;
rom0 : entity work.LLANDER_PROG_ROM_0
port map (
addr => c_addr(10 downto 0),
data => rom0_dout,
clk => CLK_6
);
--rom : entity work.llander_cpu_rom
-- port map (
-- clk => CLK_6,
-- addr => c_addr(12 downto 0),
-- data => rom_dout
--);
rom1 : entity work.LLANDER_PROG_ROM_1
port map (
addr => c_addr(10 downto 0),
data => rom1_dout,
clk => CLK_6
);
rom2 : entity work.LLANDER_PROG_ROM_2
port map (
addr => c_addr(10 downto 0),
data => rom2_dout,
clk => CLK_6
);
rom3 : entity work.LLANDER_PROG_ROM_3
port map (
addr => c_addr(10 downto 0),
data => rom3_dout,
clk => CLK_6
);
p_rom_mux : process(c_addr, rom0_dout, rom1_dout, rom2_dout, rom3_dout)
begin
rom_dout <= (others => '0');
case c_addr(12 downto 11) is
when "00" => rom_dout <= rom0_dout;
when "01" => rom_dout <= rom1_dout;
when "10" => rom_dout <= rom2_dout;
when "11" => rom_dout <= rom3_dout;
when others => null;
end case;
end process;
-- Zero-page RAM
--RAM: Entity work.RAM256
--port map(
-- clock => clk_6,
-- address => c_addr(7 downto 0),
-- data => c_dout,
-- wren => ram_we,
-- q => ram_dout
-- );
cpu_rom_address <= c_addr(12 downto 0);
rom_dout <= cpu_rom_data;
RAM: Entity work.gen_ram
generic map(
@ -639,7 +602,9 @@ end process;
ENA_1_5M_E => ena_1_5m_e,
RESET_L => reset_l,
CLK_6 => CLK_6,
CLK_25 => CLK_25
CLK_25 => CLK_25,
vector_rom_address => vector_rom_address,
vector_rom_data => vector_rom_data
);
BEAM_ENA <= ena_1_5m;

View File

@ -57,30 +57,24 @@ library ieee;
entity LLANDER_DW is
port (
RESET : in std_logic;
clk_25 : in std_logic;
clk_6 : in std_logic;
RESET : in std_logic;
clk_25 : in std_logic;
clk_6 : in std_logic;
X_VECTOR : in std_logic_vector(9 downto 0);
Y_VECTOR : in std_logic_vector(9 downto 0);
Z_VECTOR : in std_logic_vector(3 downto 0);
BEAM_ON : in std_logic;
BEAM_ENA : in std_logic;
X_VECTOR : in std_logic_vector(9 downto 0);
Y_VECTOR : in std_logic_vector(9 downto 0);
Z_VECTOR : in std_logic_vector(3 downto 0);
BEAM_ON : in std_logic;
BEAM_ENA : in std_logic;
VIDEO_R_OUT : out std_logic_vector(3 downto 0);
VIDEO_G_OUT : out std_logic_vector(3 downto 0);
VIDEO_B_OUT : out std_logic_vector(3 downto 0);
HSYNC_OUT : out std_logic;
VSYNC_OUT : out std_logic;
VID_DE : out std_logic;
VID_HBLANK : out std_logic;
VID_VBLANK : out std_logic;
vram_write_addr : out std_logic_vector(18 downto 0);
vram_write_data : out std_logic_vector(3 downto 0);
vram_read_addr : out std_logic_vector(18 downto 0);
vram_read_data : in std_logic_vector(3 downto 0);
vram_wren : out std_logic
VIDEO_R_OUT : out std_logic_vector(3 downto 0);
VIDEO_G_OUT : out std_logic_vector(3 downto 0);
VIDEO_B_OUT : out std_logic_vector(3 downto 0);
HSYNC_OUT : out std_logic;
VSYNC_OUT : out std_logic;
VID_DE : out std_logic;
VID_HBLANK : out std_logic;
VID_VBLANK : out std_logic
);
end;
@ -129,7 +123,7 @@ architecture RTL of LLANDER_DW is
signal vcount : std_logic_vector(8 downto 0);
signal hcount : std_logic_vector(8 downto 0);
signal pxcount : std_logic_vector(8 downto 0);
-- signal vram_wren : std_logic;
signal vram_wren : std_logic;
@ -431,20 +425,18 @@ begin
end process;
--video_rgb : work.dpram generic map (19,4)
--port map(
-- clock_a => clk_25,
-- wren_a => vram_wren,
-- address_a => dw_addr(18 downto 0),
-- data_a => vid_data,
video_rgb : work.dpram generic map (16,4)
port map
(
clock_a => clk_25,
wren_a => vram_wren,
address_a => dw_addr(15 downto 0),
data_a => vid_data,
-- clock_b => clk_25,
-- address_b => (screen & up_addr(17 downto 0)),
--);
vram_write_addr <= dw_addr(18 downto 0);
vram_write_data <= vid_data;
vram_read_addr <= screen & up_addr(17 downto 0);
vid_out <= vram_read_data;
clock_b => clk_25,
address_b => (screen & up_addr(14 downto 0)),
q_b => vid_out
);
-- job done !
end architecture RTL;

View File

@ -97,18 +97,17 @@ entity LLANDER_TOP is
VID_HBLANK : out std_logic;
VID_VBLANK : out std_logic;
DIP : in std_logic_vector(7 downto 0);
DIP : in std_logic_vector(7 downto 0);
RESET_L : in std_logic;
-- ref clock in
clk_6 : in std_logic;
clk_25 : in std_logic;
vram_write_addr : out std_logic_vector(18 downto 0);
vram_write_data : out std_logic_vector(3 downto 0);
vram_read_addr : out std_logic_vector(18 downto 0);
vram_read_data : in std_logic_vector(3 downto 0);
vram_wren : out std_logic
cpu_rom_address : out std_logic_vector(12 downto 0);
cpu_rom_data : in std_logic_vector(7 downto 0);
vector_rom_address : out std_logic_vector(12 downto 0);
vector_rom_data : in std_logic_vector(7 downto 0)
);
end;
@ -203,7 +202,11 @@ port map(
y_vector => y_vector,
z_vector => z_vector,
beam_on => beam_on,
BEAM_ENA => beam_ena
BEAM_ENA => beam_ena,
cpu_rom_address => cpu_rom_address,
cpu_rom_data => cpu_rom_data,
vector_rom_address => vector_rom_address,
vector_rom_data => vector_rom_data
);
y_vector_w_offset<= y_vector+100;
@ -228,13 +231,7 @@ port map(
VSYNC_OUT => VSYNC_OUT,
VID_DE => VGA_DE,
VID_HBLANK => VID_HBLANK,
VID_VBLANK => VID_VBLANK,
vram_write_addr => vram_write_addr,
vram_write_data => vram_write_data,
vram_read_addr => vram_read_addr,
vram_read_data => vram_read_data,
vram_wren => vram_wren
VID_VBLANK => VID_VBLANK
);

View File

@ -52,26 +52,28 @@ library ieee;
entity LLANDER_VG is
port (
C_ADDR : in std_logic_vector(15 downto 0);
C_DIN : in std_logic_vector( 7 downto 0);
C_DOUT : out std_logic_vector( 7 downto 0);
C_RW_L : in std_logic;
VMEM_L : in std_logic;
C_ADDR : in std_logic_vector(15 downto 0);
C_DIN : in std_logic_vector( 7 downto 0);
C_DOUT : out std_logic_vector( 7 downto 0);
C_RW_L : in std_logic;
VMEM_L : in std_logic;
DMA_GO_L : in std_logic;
DMA_RESET_L : in std_logic;
HALT_OP : out std_logic;
DMA_GO_L : in std_logic;
DMA_RESET_L : in std_logic;
HALT_OP : out std_logic;
X_VECTOR : out std_logic_vector(9 downto 0);
Y_VECTOR : out std_logic_vector(9 downto 0);
Z_VECTOR : out std_logic_vector(3 downto 0);
BEAM_ON : out std_logic;
X_VECTOR : out std_logic_vector(9 downto 0);
Y_VECTOR : out std_logic_vector(9 downto 0);
Z_VECTOR : out std_logic_vector(3 downto 0);
BEAM_ON : out std_logic;
ENA_1_5M : in std_logic;
ENA_1_5M_E : in std_logic;
RESET_L : in std_logic;
CLK_6 : in std_logic;
Clk_25 : in std_logic
ENA_1_5M : in std_logic;
ENA_1_5M_E : in std_logic;
RESET_L : in std_logic;
CLK_6 : in std_logic;
Clk_25 : in std_logic;
vector_rom_address : out std_logic_vector(12 downto 0);
vector_rom_data : in std_logic_vector( 7 downto 0)
);
end;
@ -117,14 +119,10 @@ architecture RTL of LLANDER_VG is
signal vram1_l : std_logic;
signal vram2_l : std_logic;
signal vrom1_l : std_logic;
signal vrom2_l : std_logic;
signal vrom3_l : std_logic;
signal vrom_l : std_logic;
signal vram1_t1_l : std_logic;
signal vram2_t1_l : std_logic;
signal vrom1_t1_l : std_logic;
signal vrom2_t1_l : std_logic;
signal vrom3_t1_l : std_logic;
signal vrom_t1_l : std_logic;
signal am_bus : std_logic_vector(12 downto 0);
signal vw_l : std_logic;
@ -144,9 +142,7 @@ architecture RTL of LLANDER_VG is
signal ram_din : std_logic_vector(7 downto 0);
signal ram_dout_1 : std_logic_vector(7 downto 0);
signal ram_dout_2 : std_logic_vector(7 downto 0);
signal rom_dout_1 : std_logic_vector(7 downto 0);
signal rom_dout_2 : std_logic_vector(7 downto 0);
signal rom_dout_3 : std_logic_vector(7 downto 0);
signal rom_dout : std_logic_vector(7 downto 0);
signal memory_dout : std_logic_vector(7 downto 0);
begin
@ -403,18 +399,16 @@ begin
begin
vram1_l <= '1';
vram2_l <= '1';
vrom1_l <= '1';
vrom2_l <= '1';
vrom3_l <= '1';
vrom_l <= '1';
case am_bus(12 downto 10) is
when "000" => vram1_l <= '0';
when "001" => vram2_l <= '0';
when "010" => vrom1_l <= '0';
when "011" => vrom1_l <= '0';
when "100" => vrom2_l <= '0';
when "101" => vrom2_l <= '0';
when "110" => vrom3_l <= '0'; -- AJS?
when "111" => vrom3_l <= '0';
when "010" => vrom_l <= '0';
when "011" => vrom_l <= '0';
when "100" => vrom_l <= '0';
when "101" => vrom_l <= '0';
when "110" => vrom_l <= '0'; -- AJS?
when "111" => vrom_l <= '0';
when others => null;
end case;
@ -425,9 +419,7 @@ begin
wait until rising_edge(CLK_6);
vram1_t1_l <= vram1_l;
vram2_t1_l <= vram2_l;
vrom1_t1_l <= vrom1_l;
vrom2_t1_l <= vrom2_l;
vrom3_t1_l <= vrom3_l;
vrom_t1_l <= vrom_l;
end process;
-- only cpu can write to vector ram
@ -457,28 +449,17 @@ begin
CLK => CLK_6
);
u_vector_rom_0 : entity work.LLANDER_VEC_ROM_0
port map (
addr => am_bus(10 downto 0),
data => rom_dout_1,
clk => CLK_6
);
-- u_vector_rom : entity work.llander_vec_rom
-- port map (
-- clk => CLK_6,
-- addr => am_bus(12 downto 0),
-- data => rom_dout
--);
u_vector_rom_1 : entity work.LLANDER_VEC_ROM_1
port map (
addr => am_bus(10 downto 0),
data => rom_dout_2,
clk => CLK_6
);
u_vector_rom_2 : entity work.LLANDER_VEC_ROM_2
port map (
addr => am_bus(10 downto 0),
data => rom_dout_3,
clk => CLK_6
);
vector_rom_address <= am_bus(12 downto 0);
rom_dout <= vector_rom_data;
p_memory_data_mux : process(vram1_t1_l, vram2_t1_l, vrom1_t1_l, vrom2_t1_l, vrom3_t1_l,ram_dout_1, ram_dout_2, rom_dout_1, rom_dout_2,rom_dout_3)
p_memory_data_mux : process(vram1_t1_l, vram2_t1_l, vrom_t1_l, ram_dout_1, ram_dout_2, rom_dout)
begin
-- cpu buffer enabled when VMEM_L = 0
memory_dout <= (others => '0');
@ -486,16 +467,12 @@ u_vector_rom_2 : entity work.LLANDER_VEC_ROM_2
memory_dout <= ram_dout_1;
elsif (vram2_t1_l = '0') then
memory_dout <= ram_dout_2;
elsif (vrom1_t1_l = '0') then
memory_dout <= rom_dout_1; -- AJS??
elsif (vrom2_t1_l = '0') then
memory_dout <= rom_dout_2; -- AJS??
elsif (vrom3_t1_l = '0') then
memory_dout <= rom_dout_3; -- AJS??
elsif (vrom_t1_l = '0')then
memory_dout <= rom_dout; -- AJS??
else
memory_dout <= (others => 'X');
end if;
end process;
end process;
--
-- data memory latches
--

View File

@ -1,215 +0,0 @@
// megafunction wizard: %RAM: 2-PORT%
// GENERATION: STANDARD
// VERSION: WM1.0
// MODULE: altsyncram
// ============================================================
// File Name: p2ram.v
// Megafunction Name(s):
// altsyncram
//
// Simulation Library Files(s):
// altera_mf
// ============================================================
// ************************************************************
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
//
// 13.1.0 Build 162 10/23/2013 SJ Web Edition
// ************************************************************
//Copyright (C) 1991-2013 Altera Corporation
//Your use of Altera Corporation's design tools, logic functions
//and other software and tools, and its AMPP partner logic
//functions, and any output files from any of the foregoing
//(including device programming or simulation files), and any
//associated documentation or information are expressly subject
//to the terms and conditions of the Altera Program License
//Subscription Agreement, Altera MegaCore Function License
//Agreement, or other applicable license agreement, including,
//without limitation, that your use is for the sole purpose of
//programming logic devices manufactured by Altera and sold by
//Altera or its authorized distributors. Please refer to the
//applicable agreement for further details.
// synopsys translate_off
`timescale 1 ps / 1 ps
// synopsys translate_on
module p2ram (
clock,
data,
rdaddress,
wraddress,
wren,
q);
input clock;
input [3:0] data;
input [16:0] rdaddress;
input [16:0] wraddress;
input wren;
output [3:0] q;
`ifndef ALTERA_RESERVED_QIS
// synopsys translate_off
`endif
tri1 clock;
tri0 wren;
`ifndef ALTERA_RESERVED_QIS
// synopsys translate_on
`endif
wire [3:0] sub_wire0;
wire [3:0] q = sub_wire0[3:0];
altsyncram altsyncram_component (
.address_a (wraddress),
.clock0 (clock),
.data_a (data),
.wren_a (wren),
.address_b (rdaddress),
.q_b (sub_wire0),
.aclr0 (1'b0),
.aclr1 (1'b0),
.addressstall_a (1'b0),
.addressstall_b (1'b0),
.byteena_a (1'b1),
.byteena_b (1'b1),
.clock1 (1'b1),
.clocken0 (1'b1),
.clocken1 (1'b1),
.clocken2 (1'b1),
.clocken3 (1'b1),
.data_b ({4{1'b1}}),
.eccstatus (),
.q_a (),
.rden_a (1'b1),
.rden_b (1'b1),
.wren_b (1'b0));
defparam
altsyncram_component.address_aclr_b = "NONE",
altsyncram_component.address_reg_b = "CLOCK0",
altsyncram_component.clock_enable_input_a = "BYPASS",
altsyncram_component.clock_enable_input_b = "BYPASS",
altsyncram_component.clock_enable_output_b = "BYPASS",
altsyncram_component.intended_device_family = "Cyclone III",
altsyncram_component.lpm_type = "altsyncram",
altsyncram_component.numwords_a = 131072,
altsyncram_component.numwords_b = 131072,
altsyncram_component.operation_mode = "DUAL_PORT",
altsyncram_component.outdata_aclr_b = "NONE",
altsyncram_component.outdata_reg_b = "CLOCK0",
altsyncram_component.power_up_uninitialized = "FALSE",
altsyncram_component.ram_block_type = "M9K",
altsyncram_component.read_during_write_mode_mixed_ports = "DONT_CARE",
altsyncram_component.widthad_a = 17,
altsyncram_component.widthad_b = 17,
altsyncram_component.width_a = 4,
altsyncram_component.width_b = 4,
altsyncram_component.width_byteena_a = 1;
endmodule
// ============================================================
// CNX file retrieval info
// ============================================================
// Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
// Retrieval info: PRIVATE: ADDRESSSTALL_B NUMERIC "0"
// Retrieval info: PRIVATE: BYTEENA_ACLR_A NUMERIC "0"
// Retrieval info: PRIVATE: BYTEENA_ACLR_B NUMERIC "0"
// Retrieval info: PRIVATE: BYTE_ENABLE_A NUMERIC "0"
// Retrieval info: PRIVATE: BYTE_ENABLE_B NUMERIC "0"
// Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
// Retrieval info: PRIVATE: BlankMemory NUMERIC "1"
// Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
// Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_B NUMERIC "0"
// Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
// Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_B NUMERIC "0"
// Retrieval info: PRIVATE: CLRdata NUMERIC "0"
// Retrieval info: PRIVATE: CLRq NUMERIC "0"
// Retrieval info: PRIVATE: CLRrdaddress NUMERIC "0"
// Retrieval info: PRIVATE: CLRrren NUMERIC "0"
// Retrieval info: PRIVATE: CLRwraddress NUMERIC "0"
// Retrieval info: PRIVATE: CLRwren NUMERIC "0"
// Retrieval info: PRIVATE: Clock NUMERIC "0"
// Retrieval info: PRIVATE: Clock_A NUMERIC "0"
// Retrieval info: PRIVATE: Clock_B NUMERIC "0"
// Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
// Retrieval info: PRIVATE: INDATA_ACLR_B NUMERIC "0"
// Retrieval info: PRIVATE: INDATA_REG_B NUMERIC "0"
// Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_B"
// Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
// Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
// Retrieval info: PRIVATE: MEMSIZE NUMERIC "524288"
// Retrieval info: PRIVATE: MEM_IN_BITS NUMERIC "0"
// Retrieval info: PRIVATE: MIFfilename STRING ""
// Retrieval info: PRIVATE: OPERATION_MODE NUMERIC "2"
// Retrieval info: PRIVATE: OUTDATA_ACLR_B NUMERIC "0"
// Retrieval info: PRIVATE: OUTDATA_REG_B NUMERIC "1"
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "2"
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_MIXED_PORTS NUMERIC "2"
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_B NUMERIC "3"
// Retrieval info: PRIVATE: REGdata NUMERIC "1"
// Retrieval info: PRIVATE: REGq NUMERIC "1"
// Retrieval info: PRIVATE: REGrdaddress NUMERIC "1"
// Retrieval info: PRIVATE: REGrren NUMERIC "1"
// Retrieval info: PRIVATE: REGwraddress NUMERIC "1"
// Retrieval info: PRIVATE: REGwren NUMERIC "1"
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
// Retrieval info: PRIVATE: USE_DIFF_CLKEN NUMERIC "0"
// Retrieval info: PRIVATE: UseDPRAM NUMERIC "1"
// Retrieval info: PRIVATE: VarWidth NUMERIC "0"
// Retrieval info: PRIVATE: WIDTH_READ_A NUMERIC "4"
// Retrieval info: PRIVATE: WIDTH_READ_B NUMERIC "4"
// Retrieval info: PRIVATE: WIDTH_WRITE_A NUMERIC "4"
// Retrieval info: PRIVATE: WIDTH_WRITE_B NUMERIC "4"
// Retrieval info: PRIVATE: WRADDR_ACLR_B NUMERIC "0"
// Retrieval info: PRIVATE: WRADDR_REG_B NUMERIC "0"
// Retrieval info: PRIVATE: WRCTRL_ACLR_B NUMERIC "0"
// Retrieval info: PRIVATE: enable NUMERIC "0"
// Retrieval info: PRIVATE: rden NUMERIC "0"
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
// Retrieval info: CONSTANT: ADDRESS_ACLR_B STRING "NONE"
// Retrieval info: CONSTANT: ADDRESS_REG_B STRING "CLOCK0"
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_B STRING "BYPASS"
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_B STRING "BYPASS"
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
// Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "131072"
// Retrieval info: CONSTANT: NUMWORDS_B NUMERIC "131072"
// Retrieval info: CONSTANT: OPERATION_MODE STRING "DUAL_PORT"
// Retrieval info: CONSTANT: OUTDATA_ACLR_B STRING "NONE"
// Retrieval info: CONSTANT: OUTDATA_REG_B STRING "CLOCK0"
// Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
// Retrieval info: CONSTANT: RAM_BLOCK_TYPE STRING "M9K"
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_MIXED_PORTS STRING "DONT_CARE"
// Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "17"
// Retrieval info: CONSTANT: WIDTHAD_B NUMERIC "17"
// Retrieval info: CONSTANT: WIDTH_A NUMERIC "4"
// Retrieval info: CONSTANT: WIDTH_B NUMERIC "4"
// Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
// Retrieval info: USED_PORT: clock 0 0 0 0 INPUT VCC "clock"
// Retrieval info: USED_PORT: data 0 0 4 0 INPUT NODEFVAL "data[3..0]"
// Retrieval info: USED_PORT: q 0 0 4 0 OUTPUT NODEFVAL "q[3..0]"
// Retrieval info: USED_PORT: rdaddress 0 0 17 0 INPUT NODEFVAL "rdaddress[16..0]"
// Retrieval info: USED_PORT: wraddress 0 0 17 0 INPUT NODEFVAL "wraddress[16..0]"
// Retrieval info: USED_PORT: wren 0 0 0 0 INPUT GND "wren"
// Retrieval info: CONNECT: @address_a 0 0 17 0 wraddress 0 0 17 0
// Retrieval info: CONNECT: @address_b 0 0 17 0 rdaddress 0 0 17 0
// Retrieval info: CONNECT: @clock0 0 0 0 0 clock 0 0 0 0
// Retrieval info: CONNECT: @data_a 0 0 4 0 data 0 0 4 0
// Retrieval info: CONNECT: @wren_a 0 0 0 0 wren 0 0 0 0
// Retrieval info: CONNECT: q 0 0 4 0 @q_b 0 0 4 0
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram.v TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram.inc FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram.cmp FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram.bsf FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram_inst.v FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL p2ram_bb.v FALSE
// Retrieval info: LIB_FILE: altera_mf

View File

@ -1,38 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_DVG_ROM is
port (
clk : in std_logic;
addr : in std_logic_vector(7 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_DVG_ROM is
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0F",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0F",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"0D",X"0F",X"0C",X"0B",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"0B",X"0D",X"01",X"00",X"08",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"08",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"09",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"09",X"0C",X"0A",X"0E",
X"00",X"01",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0A",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0F",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0F",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"0D",X"0F",X"0C",X"0B",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"0B",X"0D",X"01",X"00",X"08",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"08",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"09",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"09",X"0C",X"0A",X"0E",
X"09",X"02",X"0D",X"0D",X"05",X"06",X"07",X"0D",X"09",X"0D",X"01",X"00",X"0A",X"0C",X"0A",X"0E");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_PROG_ROM_0 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_PROG_ROM_0 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"6B",X"20",X"13",X"62",X"A9",X"80",X"85",X"5D",X"24",X"97",X"30",X"0F",X"A9",X"00",X"85",X"22",
X"85",X"97",X"24",X"5D",X"10",X"4C",X"20",X"13",X"62",X"D0",X"28",X"A5",X"22",X"D0",X"21",X"20",
X"13",X"62",X"A9",X"F0",X"A2",X"08",X"20",X"5F",X"79",X"A2",X"00",X"86",X"23",X"86",X"A4",X"86",
X"A5",X"A9",X"11",X"85",X"63",X"A9",X"20",X"A6",X"98",X"D0",X"01",X"4A",X"85",X"22",X"D0",X"03",
X"20",X"35",X"62",X"20",X"A9",X"73",X"A2",X"2C",X"A0",X"CA",X"A5",X"21",X"F0",X"04",X"A2",X"A0",
X"A0",X"C3",X"A5",X"22",X"29",X"20",X"F0",X"04",X"A2",X"00",X"A0",X"F0",X"8E",X"00",X"40",X"8C",
X"01",X"40",X"A2",X"40",X"A0",X"04",X"A5",X"86",X"4A",X"90",X"04",X"A2",X"42",X"A0",X"84",X"86",
X"28",X"84",X"27",X"A5",X"22",X"29",X"20",X"D0",X"2D",X"20",X"95",X"67",X"20",X"39",X"65",X"20",
X"67",X"65",X"20",X"AD",X"65",X"A5",X"22",X"29",X"10",X"D0",X"1B",X"24",X"22",X"10",X"1D",X"A5",
X"62",X"29",X"0F",X"F0",X"0B",X"A5",X"29",X"85",X"27",X"A5",X"2A",X"85",X"28",X"20",X"95",X"75",
X"20",X"D6",X"68",X"4C",X"CE",X"60",X"20",X"7E",X"68",X"4C",X"CE",X"60",X"20",X"9D",X"66",X"24",
X"22",X"50",X"18",X"A5",X"23",X"D0",X"0B",X"A5",X"86",X"29",X"0F",X"C9",X"08",X"D0",X"03",X"20",
X"09",X"65",X"20",X"9E",X"68",X"20",X"FF",X"67",X"4C",X"CE",X"60",X"20",X"9F",X"79",X"A0",X"DE",
X"A9",X"4B",X"A2",X"06",X"20",X"A6",X"7E",X"AD",X"00",X"20",X"29",X"02",X"F0",X"FE",X"20",X"2D",
X"65",X"A0",X"02",X"A2",X"F0",X"A5",X"86",X"4A",X"90",X"04",X"A2",X"E1",X"A0",X"42",X"8E",X"03",
X"40",X"8C",X"02",X"40",X"8D",X"00",X"30",X"E6",X"86",X"A2",X"00",X"AD",X"00",X"20",X"29",X"04",
X"D0",X"02",X"A2",X"20",X"A9",X"1F",X"20",X"53",X"79",X"20",X"E6",X"62",X"20",X"14",X"64",X"24",
X"22",X"30",X"37",X"50",X"1F",X"20",X"32",X"6B",X"20",X"3C",X"63",X"20",X"71",X"6B",X"20",X"1B",
X"75",X"A5",X"01",X"C9",X"10",X"D0",X"02",X"A9",X"0F",X"4A",X"09",X"01",X"AA",X"A9",X"30",X"20",
X"53",X"79",X"D0",X"0D",X"A9",X"20",X"A2",X"00",X"20",X"53",X"79",X"A5",X"22",X"29",X"20",X"D0",
X"09",X"20",X"68",X"6C",X"20",X"4F",X"6D",X"20",X"1C",X"71",X"A5",X"22",X"F0",X"5B",X"20",X"AB",
X"62",X"24",X"22",X"30",X"33",X"70",X"55",X"A2",X"00",X"A5",X"86",X"29",X"10",X"D0",X"02",X"A2",
X"10",X"A9",X"0F",X"20",X"5F",X"79",X"2C",X"00",X"24",X"30",X"06",X"A9",X"40",X"85",X"25",X"D0",
X"04",X"06",X"25",X"B0",X"0D",X"24",X"5D",X"10",X"0C",X"20",X"13",X"62",X"A9",X"10",X"85",X"22",
X"D0",X"03",X"4C",X"40",X"60",X"4C",X"62",X"60",X"24",X"62",X"50",X"0E",X"24",X"5C",X"10",X"04",
X"24",X"5D",X"30",X"06",X"20",X"68",X"6C",X"20",X"4F",X"6D",X"A5",X"86",X"4A",X"B0",X"E6",X"E6",
X"56",X"10",X"E2",X"06",X"56",X"A5",X"62",X"85",X"5D",X"4C",X"08",X"60",X"A5",X"5D",X"30",X"28",
X"20",X"AA",X"64",X"24",X"97",X"30",X"0C",X"A5",X"8D",X"C9",X"05",X"90",X"03",X"4C",X"01",X"60",
X"4C",X"62",X"60",X"2C",X"05",X"24",X"30",X"06",X"A9",X"40",X"85",X"68",X"D0",X"F2",X"06",X"68",
X"90",X"EE",X"A9",X"64",X"85",X"56",X"D0",X"E8",X"20",X"E0",X"6B",X"A5",X"5D",X"85",X"62",X"0A",
X"D0",X"07",X"A0",X"00",X"A9",X"50",X"20",X"13",X"63",X"20",X"90",X"6B",X"20",X"94",X"76",X"A2",
X"00",X"86",X"AF",X"86",X"B0",X"86",X"B1",X"A0",X"0A",X"96",X"57",X"88",X"10",X"FB",X"A9",X"20",
X"20",X"53",X"79",X"06",X"22",X"A9",X"01",X"85",X"56",X"A9",X"0A",X"85",X"61",X"A9",X"41",X"85",
X"63",X"D0",X"AD",X"8D",X"00",X"3E",X"A2",X"08",X"86",X"02",X"BD",X"0E",X"78",X"95",X"06",X"BD",
X"B3",X"4B",X"95",X"0C",X"CA",X"D0",X"F3",X"86",X"60",X"86",X"61",X"A5",X"74",X"85",X"5F",X"A9",
X"11",X"85",X"63",X"10",X"53",X"A5",X"74",X"29",X"03",X"85",X"33",X"18",X"69",X"01",X"29",X"03",
X"85",X"34",X"A5",X"74",X"4A",X"4A",X"29",X"0F",X"C9",X"0F",X"D0",X"02",X"A9",X"04",X"20",X"9E",
X"62",X"85",X"35",X"49",X"0F",X"20",X"9E",X"62",X"85",X"36",X"A2",X"03",X"BD",X"13",X"78",X"95",
X"5E",X"BD",X"0F",X"78",X"95",X"07",X"BD",X"AE",X"55",X"95",X"11",X"CA",X"10",X"EE",X"A9",X"00",
X"AA",X"A0",X"07",X"96",X"9C",X"88",X"10",X"FB",X"A9",X"40",X"85",X"22",X"A9",X"0F",X"20",X"5F",
X"79",X"A9",X"10",X"85",X"02",X"20",X"BE",X"62",X"A2",X"00",X"A0",X"0E",X"96",X"4F",X"88",X"10",
X"FB",X"CA",X"A0",X"07",X"96",X"79",X"88",X"10",X"FB",X"A9",X"40",X"85",X"4E",X"60",X"C9",X"04",
X"B0",X"04",X"69",X"01",X"09",X"0A",X"60",X"11",X"11",X"22",X"11",X"2C",X"04",X"24",X"10",X"2D",
X"06",X"24",X"90",X"2D",X"E6",X"23",X"A5",X"23",X"29",X"03",X"85",X"23",X"A5",X"02",X"0A",X"0A",
X"85",X"67",X"A9",X"00",X"A2",X"03",X"95",X"03",X"CA",X"10",X"FB",X"85",X"66",X"A6",X"23",X"BD",
X"A7",X"62",X"85",X"63",X"BD",X"E2",X"62",X"AA",X"A9",X"F0",X"4C",X"5F",X"79",X"A9",X"40",X"85",
X"24",X"60",X"08",X"04",X"02",X"01",X"20",X"6B",X"79",X"D0",X"07",X"24",X"97",X"70",X"03",X"20",
X"09",X"63",X"A6",X"B6",X"F0",X"05",X"C6",X"B6",X"20",X"09",X"63",X"A6",X"B8",X"F0",X"09",X"C6",
X"B8",X"20",X"09",X"63",X"C6",X"99",X"D0",X"F9",X"60",X"A5",X"98",X"0A",X"AA",X"BD",X"2A",X"63",
X"BC",X"2B",X"63",X"A2",X"FF",X"86",X"97",X"F8",X"18",X"65",X"AD",X"AA",X"98",X"65",X"AE",X"D8",
X"90",X"03",X"A9",X"99",X"AA",X"85",X"AE",X"86",X"AD",X"60",X"00",X"09",X"50",X"04",X"00",X"06",
X"50",X"07",X"00",X"09",X"00",X"11",X"00",X"13",X"50",X"15",X"00",X"18",X"A5",X"56",X"F0",X"01",
X"60",X"A5",X"23",X"C9",X"03",X"F0",X"03",X"4C",X"D4",X"63",X"A5",X"66",X"18",X"65",X"03",X"85",
X"66",X"A5",X"67",X"65",X"04",X"85",X"67",X"4A",X"4A",X"29",X"1F",X"85",X"02",X"A0",X"00",X"A5",
X"03",X"A6",X"04",X"F0",X"0A",X"E8",X"D0",X"0B",X"C9",X"C0",X"90",X"07",X"88",X"30",X"04",X"C9",
X"41",X"90",X"F9",X"84",X"05",X"24",X"97",X"10",X"5A",X"20",X"04",X"64",X"0A",X"0A",X"0A",X"0A",
X"A0",X"00",X"29",X"F0",X"F0",X"25",X"90",X"01",X"88",X"18",X"65",X"03",X"AA",X"98",X"65",X"04",
X"10",X"0A",X"C9",X"FC",X"B0",X"0E",X"A9",X"FC",X"A2",X"00",X"F0",X"08",X"C9",X"04",X"90",X"04",
X"A9",X"03",X"A2",X"E0",X"85",X"04",X"86",X"03",X"4C",X"FE",X"63",X"A5",X"05",X"F0",X"1E",X"A5",
X"06",X"F0",X"05",X"A9",X"00",X"AA",X"F0",X"11",X"A5",X"03",X"05",X"04",X"F0",X"0F",X"A9",X"50",
X"A2",X"00",X"24",X"04",X"10",X"03",X"A9",X"B0",X"CA",X"86",X"04",X"85",X"03",X"A5",X"03",X"05",
X"04",X"85",X"06",X"60",X"24",X"97",X"10",X"FB",X"20",X"04",X"64",X"F0",X"F6",X"18",X"65",X"67",
X"85",X"67",X"AA",X"4A",X"4A",X"29",X"1F",X"85",X"02",X"A5",X"23",X"D0",X"11",X"E8",X"F0",X"06",
X"E0",X"42",X"D0",X"0A",X"A9",X"10",X"85",X"02",X"0A",X"0A",X"85",X"67",X"90",X"D5",X"A2",X"00",
X"A0",X"06",X"D0",X"5D",X"A2",X"00",X"2C",X"06",X"24",X"10",X"01",X"CA",X"2C",X"07",X"24",X"10",
X"01",X"E8",X"8A",X"60",X"24",X"22",X"50",X"04",X"A5",X"56",X"D0",X"44",X"A5",X"84",X"4A",X"4A",
X"AA",X"4A",X"85",X"37",X"A0",X"00",X"E4",X"82",X"B0",X"1A",X"A5",X"84",X"38",X"E5",X"82",X"A0",
X"0F",X"90",X"11",X"C5",X"37",X"90",X"0D",X"A5",X"82",X"A4",X"84",X"20",X"C0",X"70",X"8A",X"4A",
X"4A",X"4A",X"4A",X"A8",X"84",X"01",X"A0",X"00",X"A5",X"85",X"C9",X"4B",X"90",X"08",X"E6",X"83",
X"C6",X"84",X"C6",X"84",X"84",X"85",X"24",X"97",X"10",X"04",X"A5",X"22",X"D0",X"02",X"84",X"01",
X"60",X"A9",X"00",X"F8",X"85",X"39",X"86",X"38",X"84",X"37",X"A5",X"AC",X"38",X"E5",X"37",X"A8",
X"A5",X"AD",X"E5",X"38",X"AA",X"A5",X"AE",X"E5",X"39",X"B0",X"14",X"24",X"97",X"10",X"29",X"A9",
X"40",X"85",X"97",X"A9",X"00",X"85",X"AC",X"85",X"AD",X"85",X"AE",X"85",X"8D",X"F0",X"0A",X"84",
X"AC",X"86",X"AD",X"85",X"AE",X"05",X"AD",X"F0",X"E2",X"18",X"A0",X"02",X"A2",X"00",X"B5",X"A1",
X"75",X"37",X"95",X"A1",X"E8",X"88",X"10",X"F6",X"D8",X"60",X"A0",X"00",X"A5",X"56",X"F0",X"49",
X"24",X"97",X"10",X"46",X"A5",X"86",X"4A",X"90",X"1A",X"A5",X"02",X"C9",X"08",X"90",X"0A",X"F0",
X"12",X"C9",X"19",X"B0",X"04",X"C6",X"02",X"D0",X"07",X"18",X"69",X"01",X"29",X"1F",X"85",X"02",
X"20",X"BC",X"62",X"A5",X"5F",X"D0",X"04",X"85",X"5E",X"F0",X"02",X"C6",X"5F",X"A5",X"02",X"C9",
X"08",X"D0",X"16",X"A5",X"56",X"C9",X"3C",X"B0",X"0A",X"24",X"5C",X"30",X"06",X"A5",X"61",X"C9",
X"10",X"B0",X"09",X"A9",X"10",X"85",X"01",X"C6",X"56",X"60",X"84",X"01",X"84",X"56",X"60",X"04",
X"04",X"02",X"82",X"04",X"08",X"02",X"82",X"07",X"F0",X"A2",X"02",X"B5",X"5E",X"85",X"37",X"B5",
X"5F",X"A0",X"05",X"4A",X"66",X"37",X"88",X"D0",X"FA",X"85",X"38",X"B5",X"5E",X"38",X"E5",X"37",
X"95",X"5E",X"B5",X"5F",X"E5",X"38",X"95",X"5F",X"CA",X"CA",X"10",X"DF",X"60",X"46",X"73",X"90",
X"FC",X"AD",X"00",X"20",X"4A",X"90",X"FA",X"60",X"2E",X"A5",X"4F",X"0A",X"85",X"8C",X"0A",X"85",
X"8B",X"24",X"4E",X"70",X"0D",X"A9",X"E2",X"A2",X"51",X"20",X"D5",X"7E",X"A9",X"BA",X"A2",X"51",
X"D0",X"0B",X"A9",X"BC",X"A2",X"4B",X"20",X"D5",X"7E",X"A9",X"F0",X"A2",X"44",X"A4",X"27",X"84",
X"2D",X"A4",X"28",X"84",X"2E",X"D0",X"2B",X"24",X"4E",X"50",X"1C",X"A2",X"A1",X"20",X"9E",X"65",
X"A9",X"FE",X"A2",X"52",X"20",X"92",X"65",X"24",X"22",X"70",X"01",X"60",X"A2",X"A3",X"20",X"9E",
X"65",X"A9",X"0E",X"A2",X"53",X"D0",X"0B",X"A9",X"16",X"A2",X"54",X"20",X"D5",X"7E",X"A9",X"EE",
X"A2",X"53",X"18",X"65",X"8C",X"A8",X"8A",X"69",X"00",X"A2",X"0A",X"4C",X"A6",X"7E",X"A9",X"00",
X"85",X"37",X"85",X"39",X"85",X"3A",X"86",X"38",X"A0",X"37",X"4C",X"DC",X"7E",X"20",X"84",X"66",
X"A0",X"0D",X"A9",X"00",X"85",X"3E",X"85",X"40",X"20",X"A4",X"7E",X"A5",X"27",X"85",X"29",X"A5",
X"28",X"85",X"2A",X"A5",X"02",X"C9",X"09",X"B0",X"06",X"20",X"6E",X"66",X"4C",X"C9",X"7E",X"A2",
X"04",X"A0",X"04",X"C6",X"3E",X"C6",X"40",X"C9",X"10",X"90",X"0E",X"C9",X"19",X"90",X"06",X"A2",
X"00",X"E6",X"40",X"F0",X"08",X"29",X"0F",X"10",X"09",X"A0",X"00",X"E6",X"3E",X"20",X"F9",X"67",
X"29",X"07",X"86",X"3D",X"84",X"3F",X"20",X"6E",X"66",X"84",X"37",X"85",X"38",X"A0",X"00",X"B1",
X"37",X"0A",X"85",X"39",X"C8",X"B1",X"37",X"29",X"0F",X"09",X"20",X"2A",X"85",X"3A",X"24",X"4E",
X"50",X"05",X"A5",X"39",X"18",X"90",X"18",X"88",X"B1",X"39",X"0A",X"85",X"64",X"C8",X"B1",X"39",
X"29",X"0F",X"09",X"20",X"2A",X"85",X"65",X"20",X"37",X"66",X"A5",X"39",X"18",X"69",X"02",X"85",
X"64",X"A5",X"3A",X"69",X"00",X"85",X"65",X"A0",X"00",X"B1",X"64",X"91",X"27",X"C8",X"B1",X"64",
X"C9",X"A0",X"90",X"08",X"C9",X"F0",X"B0",X"17",X"88",X"4C",X"F8",X"74",X"45",X"3F",X"91",X"27",
X"C8",X"B1",X"64",X"91",X"27",X"C8",X"B1",X"64",X"45",X"3D",X"91",X"27",X"C8",X"D0",X"DA",X"45",
X"3F",X"91",X"27",X"88",X"B1",X"27",X"45",X"3D",X"91",X"27",X"C8",X"C8",X"D0",X"CB",X"0A",X"85",
X"8B",X"24",X"4E",X"50",X"07",X"69",X"F4",X"A8",X"A9",X"4D",X"D0",X"05",X"69",X"A2",X"A8",X"A9",
X"4B",X"69",X"00",X"60",X"A5",X"08",X"A6",X"07",X"20",X"EF",X"6C",X"85",X"10",X"84",X"0F",X"A5",
X"0A",X"A6",X"09",X"20",X"EF",X"6C",X"84",X"0D",X"09",X"A0",X"85",X"0E",X"60",X"A5",X"01",X"F0",
X"FB",X"A5",X"8B",X"24",X"4E",X"50",X"03",X"18",X"69",X"12",X"AA",X"BC",X"72",X"67",X"BD",X"71",
X"67",X"24",X"3E",X"10",X"03",X"20",X"F9",X"67",X"85",X"3D",X"98",X"24",X"40",X"10",X"03",X"20",
X"F9",X"67",X"85",X"3F",X"A5",X"01",X"A0",X"74",X"20",X"EF",X"70",X"A8",X"A5",X"86",X"4A",X"90",
X"01",X"C8",X"A5",X"01",X"18",X"69",X"10",X"0A",X"0A",X"0A",X"90",X"02",X"A9",X"F0",X"85",X"8F",
X"84",X"39",X"98",X"A4",X"3F",X"20",X"EF",X"70",X"86",X"3A",X"A5",X"3D",X"20",X"F9",X"67",X"A8",
X"A5",X"39",X"20",X"EF",X"70",X"86",X"39",X"A5",X"3E",X"45",X"40",X"10",X"06",X"20",X"28",X"67",
X"4C",X"09",X"67",X"20",X"09",X"67",X"4C",X"28",X"67",X"A0",X"00",X"A5",X"3A",X"18",X"65",X"3D",
X"10",X"01",X"88",X"85",X"19",X"84",X"1A",X"A2",X"00",X"A5",X"39",X"18",X"65",X"3F",X"10",X"01",
X"CA",X"85",X"1B",X"86",X"1C",X"4C",X"4A",X"67",X"A5",X"3A",X"20",X"F9",X"67",X"A2",X"00",X"18",
X"65",X"3D",X"10",X"01",X"CA",X"85",X"19",X"86",X"1A",X"A5",X"39",X"20",X"F9",X"67",X"A2",X"00",
X"18",X"65",X"3F",X"10",X"01",X"CA",X"85",X"1B",X"86",X"1C",X"A5",X"3E",X"45",X"40",X"10",X"1E",
X"A5",X"19",X"F0",X"0B",X"20",X"F9",X"67",X"85",X"19",X"A5",X"1A",X"49",X"FF",X"85",X"1A",X"A5",
X"1B",X"F0",X"0B",X"20",X"F9",X"67",X"85",X"1B",X"A5",X"1C",X"49",X"FF",X"85",X"1C",X"4C",X"43",
X"78",X"00",X"F9",X"02",X"FA",X"03",X"FA",X"04",X"FB",X"05",X"FB",X"06",X"FC",X"06",X"FD",X"07",
X"FE",X"07",X"00",X"00",X"FC",X"01",X"FC",X"01",X"FC",X"02",X"FD",X"03",X"FD",X"03",X"FE",X"04",
X"FF",X"04",X"FF",X"04",X"00",X"A0",X"3C",X"A9",X"55",X"20",X"A4",X"7E",X"A9",X"A4",X"20",X"EB",
X"67",X"A0",X"01",X"A9",X"9D",X"18",X"20",X"5A",X"7B",X"A2",X"02",X"20",X"AA",X"7E",X"A0",X"01",
X"A9",X"9C",X"20",X"ED",X"67",X"A9",X"AD",X"20",X"EB",X"67",X"A9",X"AF",X"20",X"F4",X"67",X"20",
X"D1",X"7E",X"A9",X"A6",X"20",X"F4",X"67",X"20",X"D1",X"7E",X"A9",X"A9",X"20",X"F4",X"67",X"A9",
X"55",X"A0",X"AA",X"20",X"A4",X"7E",X"A5",X"9B",X"0A",X"69",X"60",X"20",X"E3",X"67",X"A5",X"9A",
X"0A",X"69",X"5A",X"A8",X"A9",X"55",X"69",X"00",X"4C",X"C9",X"7E",X"A0",X"02",X"18",X"20",X"5A",
X"7B",X"4C",X"D1",X"7E",X"A0",X"03",X"4C",X"59",X"7B",X"49",X"FF",X"18",X"69",X"01",X"60",X"A2");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_PROG_ROM_1 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_PROG_ROM_1 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"03",X"86",X"41",X"B5",X"33",X"85",X"37",X"0A",X"0A",X"85",X"8B",X"A2",X"4E",X"A9",X"06",X"A0",
X"03",X"24",X"4E",X"70",X"04",X"A9",X"42",X"A0",X"0F",X"84",X"3E",X"20",X"76",X"68",X"A6",X"4F",
X"86",X"3D",X"20",X"E4",X"7E",X"A5",X"27",X"85",X"2B",X"A5",X"28",X"85",X"2C",X"A6",X"37",X"BD",
X"54",X"6C",X"85",X"8B",X"A2",X"47",X"A9",X"00",X"24",X"4E",X"70",X"04",X"A2",X"4E",X"A9",X"7E",
X"20",X"76",X"68",X"20",X"A4",X"7E",X"A5",X"86",X"29",X"10",X"D0",X"0A",X"A0",X"03",X"B1",X"2B",
X"29",X"0F",X"91",X"2B",X"10",X"1A",X"A9",X"65",X"A0",X"07",X"20",X"C9",X"7E",X"A6",X"37",X"BD",
X"45",X"6C",X"0A",X"69",X"A4",X"A8",X"A9",X"57",X"20",X"C9",X"7E",X"A9",X"18",X"20",X"4F",X"7A",
X"A6",X"41",X"CA",X"10",X"8C",X"60",X"18",X"65",X"8B",X"A8",X"8A",X"69",X"00",X"60",X"20",X"2D",
X"7F",X"A2",X"00",X"A9",X"16",X"20",X"34",X"7A",X"A2",X"1C",X"A9",X"00",X"20",X"34",X"7A",X"A2",
X"20",X"20",X"32",X"7A",X"A9",X"AD",X"20",X"57",X"7B",X"A9",X"17",X"4C",X"4F",X"7A",X"A5",X"90",
X"F0",X"0F",X"C6",X"90",X"A2",X"08",X"20",X"32",X"7A",X"A9",X"95",X"20",X"57",X"7B",X"4C",X"29",
X"7A",X"A8",X"A2",X"04",X"A9",X"02",X"24",X"97",X"10",X"0E",X"A5",X"AE",X"D0",X"11",X"A5",X"86",
X"29",X"10",X"D0",X"0B",X"A9",X"01",X"A0",X"10",X"84",X"37",X"20",X"34",X"7A",X"A4",X"37",X"98",
X"AA",X"A9",X"2F",X"4C",X"53",X"79",X"A5",X"90",X"F0",X"16",X"C6",X"90",X"A2",X"10",X"A9",X"06",
X"20",X"34",X"7A",X"A2",X"08",X"20",X"32",X"7A",X"A9",X"95",X"20",X"57",X"7B",X"20",X"29",X"7A",
X"A2",X"18",X"20",X"32",X"7A",X"A9",X"92",X"20",X"57",X"7B",X"A9",X"15",X"20",X"4F",X"7A",X"A5",
X"62",X"29",X"0F",X"D0",X"20",X"A2",X"14",X"A9",X"07",X"24",X"62",X"50",X"0B",X"A9",X"08",X"20",
X"34",X"7A",X"A2",X"2C",X"A9",X"0D",X"D0",X"07",X"20",X"34",X"7A",X"A2",X"28",X"A9",X"09",X"18",
X"65",X"91",X"4C",X"34",X"7A",X"A2",X"24",X"A9",X"11",X"D0",X"F4",X"AB",X"69",X"79",X"69",X"84",
X"69",X"8F",X"69",X"9F",X"69",X"DD",X"69",X"E6",X"69",X"04",X"6A",X"13",X"6A",X"22",X"6A",X"3A",
X"6A",X"4E",X"6A",X"65",X"6A",X"74",X"6A",X"88",X"6A",X"9C",X"6A",X"B7",X"6A",X"CC",X"6A",X"D5",
X"6A",X"F2",X"6A",X"1A",X"6B",X"C2",X"69",X"B5",X"69",X"93",X"69",X"E5",X"69",X"C9",X"69",X"CC",
X"69",X"CF",X"69",X"D2",X"69",X"FF",X"64",X"03",X"65",X"D5",X"69",X"D9",X"69",X"00",X"18",X"06",
X"36",X"3C",X"3C",X"12",X"00",X"BA",X"3C",X"00",X"66",X"2C",X"32",X"42",X"00",X"32",X"30",X"00",
X"20",X"3E",X"1E",X"AC",X"32",X"3E",X"3C",X"00",X"32",X"20",X"00",X"20",X"3E",X"1E",X"AC",X"2C",
X"32",X"3A",X"BC",X"00",X"20",X"3E",X"1E",X"2C",X"00",X"3E",X"30",X"26",X"3C",X"3A",X"80",X"26",
X"30",X"3A",X"1E",X"38",X"3C",X"00",X"1A",X"32",X"26",X"30",X"BA",X"34",X"3E",X"3A",X"24",X"00",
X"3A",X"3C",X"16",X"38",X"BC",X"3A",X"1E",X"2C",X"1E",X"1A",X"3C",X"00",X"32",X"34",X"3C",X"26",
X"32",X"B0",X"00",X"34",X"32",X"26",X"30",X"3C",X"BA",X"0A",X"0C",X"82",X"0E",X"02",X"82",X"10",
X"0C",X"82",X"14",X"02",X"82",X"04",X"0C",X"0C",X"82",X"04",X"12",X"02",X"82",X"34",X"1E",X"38",
X"00",X"1A",X"32",X"26",X"B0",X"C4",X"16",X"3E",X"44",X"26",X"2C",X"26",X"16",X"38",X"46",X"00",
X"20",X"3E",X"1E",X"2C",X"00",X"3C",X"16",X"30",X"2A",X"3A",X"00",X"1C",X"1E",X"3A",X"3C",X"38",
X"32",X"46",X"1E",X"9C",X"1A",X"32",X"30",X"22",X"38",X"16",X"3C",X"3E",X"2C",X"16",X"3C",X"26",
X"32",X"30",X"BA",X"46",X"32",X"3E",X"00",X"2C",X"16",X"30",X"1C",X"1E",X"1C",X"00",X"24",X"16",
X"38",X"9C",X"3C",X"24",X"16",X"3C",X"00",X"42",X"16",X"3A",X"00",X"16",X"00",X"22",X"38",X"1E",
X"16",X"3C",X"00",X"2C",X"16",X"30",X"1C",X"26",X"30",X"A2",X"3C",X"24",X"1E",X"00",X"1E",X"16",
X"22",X"2C",X"1E",X"00",X"24",X"16",X"3A",X"00",X"2C",X"16",X"30",X"1C",X"1E",X"9C",X"3C",X"24",
X"1E",X"00",X"1A",X"32",X"2C",X"3E",X"2E",X"18",X"26",X"16",X"00",X"24",X"16",X"3A",X"00",X"2C",
X"16",X"30",X"1C",X"1E",X"9C",X"46",X"32",X"3E",X"00",X"24",X"16",X"40",X"1E",X"00",X"2C",X"16",
X"30",X"1C",X"1E",X"9C",X"2C",X"26",X"20",X"1E",X"00",X"3A",X"3E",X"34",X"34",X"32",X"38",X"3C",
X"00",X"26",X"3A",X"00",X"22",X"32",X"30",X"9E",X"46",X"32",X"3E",X"38",X"00",X"3C",X"38",X"26",
X"34",X"00",X"26",X"3A",X"00",X"32",X"30",X"1E",X"00",X"42",X"16",X"C6",X"46",X"32",X"3E",X"00",
X"16",X"38",X"1E",X"00",X"24",X"32",X"34",X"1E",X"2C",X"1E",X"3A",X"3A",X"2C",X"46",X"00",X"2E",
X"16",X"38",X"32",X"32",X"30",X"1E",X"9C",X"1A",X"32",X"2E",X"2E",X"3E",X"30",X"26",X"1A",X"16",
X"3C",X"26",X"32",X"30",X"00",X"3A",X"46",X"3A",X"3C",X"1E",X"2E",X"00",X"1C",X"1E",X"3A",X"3C",
X"38",X"32",X"46",X"1E",X"9C",X"46",X"32",X"3E",X"00",X"1A",X"38",X"1E",X"16",X"3C",X"1E",X"1C",
X"00",X"16",X"00",X"3C",X"42",X"32",X"00",X"2E",X"26",X"2C",X"1E",X"00",X"1A",X"38",X"16",X"3C",
X"1E",X"B8",X"46",X"32",X"3E",X"00",X"28",X"3E",X"3A",X"3C",X"00",X"1C",X"1E",X"3A",X"3C",X"38",
X"32",X"46",X"1E",X"1C",X"00",X"16",X"00",X"04",X"02",X"02",X"00",X"2E",X"1E",X"22",X"16",X"18",
X"3E",X"1A",X"2A",X"00",X"2C",X"16",X"30",X"1C",X"1E",X"B8",X"3C",X"24",X"1E",X"38",X"1E",X"00",
X"42",X"1E",X"38",X"1E",X"00",X"30",X"32",X"00",X"3A",X"3E",X"38",X"40",X"26",X"40",X"32",X"38",
X"BA",X"1C",X"A5",X"02",X"4A",X"4A",X"4A",X"AA",X"BD",X"F2",X"76",X"85",X"46",X"0A",X"85",X"47",
X"A6",X"01",X"BD",X"F6",X"76",X"85",X"0B",X"A5",X"02",X"29",X"0F",X"C9",X"09",X"90",X"04",X"49",
X"0F",X"69",X"00",X"85",X"37",X"49",X"07",X"69",X"01",X"29",X"0F",X"AA",X"BD",X"E9",X"76",X"A4",
X"0B",X"20",X"EF",X"70",X"85",X"58",X"A6",X"37",X"BD",X"E9",X"76",X"20",X"EF",X"70",X"85",X"59",
X"60",X"A9",X"DA",X"A4",X"0B",X"30",X"08",X"A6",X"23",X"E0",X"02",X"D0",X"02",X"A9",X"90",X"20",
X"EF",X"70",X"AA",X"A0",X"00",X"84",X"37",X"A0",X"07",X"20",X"C6",X"79",X"A8",X"4C",X"61",X"64",
X"A5",X"5D",X"29",X"0F",X"F0",X"49",X"F8",X"A5",X"9E",X"38",X"E5",X"A2",X"AA",X"A5",X"9F",X"E5",
X"A3",X"A8",X"A5",X"A0",X"E9",X"00",X"D8",X"90",X"36",X"F0",X"04",X"A2",X"99",X"A0",X"99",X"8A",
X"D0",X"03",X"98",X"F0",X"2A",X"98",X"A4",X"AD",X"84",X"3A",X"A4",X"AE",X"84",X"3B",X"A0",X"00",
X"84",X"A2",X"84",X"A3",X"20",X"63",X"64",X"A5",X"A2",X"A6",X"A3",X"24",X"97",X"30",X"04",X"A5",
X"3A",X"A6",X"3B",X"85",X"95",X"86",X"96",X"05",X"96",X"F0",X"04",X"A9",X"7F",X"85",X"90",X"60",
X"A5",X"0F",X"18",X"65",X"51",X"85",X"37",X"A5",X"10",X"65",X"4F",X"29",X"0F",X"A8",X"A2",X"03",
X"86",X"41",X"B5",X"33",X"85",X"3A",X"0A",X"0A",X"AA",X"38",X"A5",X"37",X"FD",X"44",X"4E",X"85",
X"38",X"98",X"FD",X"45",X"4E",X"90",X"12",X"D0",X"10",X"A6",X"3A",X"BD",X"54",X"6C",X"4A",X"4A",
X"4A",X"AA",X"BD",X"63",X"6C",X"C5",X"38",X"B0",X"09",X"A6",X"41",X"CA",X"10",X"D2",X"A9",X"01",
X"D0",X"05",X"A6",X"3A",X"BD",X"45",X"6C",X"A8",X"85",X"8E",X"20",X"76",X"75",X"88",X"D0",X"FA",
X"F8",X"86",X"92",X"84",X"93",X"98",X"18",X"65",X"92",X"90",X"02",X"E6",X"93",X"C6",X"8E",X"D0",
X"F5",X"85",X"92",X"D8",X"60",X"02",X"02",X"02",X"02",X"03",X"03",X"04",X"04",X"04",X"04",X"05",
X"05",X"05",X"05",X"05",X"00",X"08",X"10",X"10",X"18",X"10",X"18",X"18",X"18",X"18",X"18",X"18",
X"18",X"18",X"18",X"FF",X"80",X"40",X"20",X"68",X"A2",X"02",X"86",X"37",X"A9",X"00",X"85",X"5D",
X"85",X"4D",X"85",X"49",X"B5",X"55",X"30",X"28",X"B5",X"5F",X"85",X"48",X"B5",X"5E",X"24",X"4E",
X"70",X"0A",X"0A",X"26",X"48",X"26",X"49",X"0A",X"26",X"48",X"26",X"49",X"B5",X"5A",X"85",X"4C",
X"B5",X"08",X"48",X"B5",X"07",X"AA",X"68",X"20",X"00",X"6D",X"A6",X"37",X"95",X"08",X"94",X"07",
X"A9",X"00",X"85",X"49",X"8A",X"F0",X"02",X"A5",X"63",X"85",X"48",X"A9",X"80",X"85",X"4C",X"B4",
X"5A",X"B5",X"5F",X"48",X"B5",X"5E",X"AA",X"68",X"20",X"FE",X"6C",X"A5",X"37",X"4A",X"AA",X"B5",
X"58",X"85",X"48",X"B5",X"46",X"85",X"4C",X"A5",X"23",X"C9",X"02",X"D0",X"0C",X"A5",X"48",X"4A",
X"18",X"65",X"48",X"85",X"48",X"90",X"02",X"E6",X"49",X"20",X"04",X"6D",X"48",X"8A",X"A6",X"37",
X"95",X"5A",X"94",X"5E",X"68",X"95",X"5F",X"CA",X"CA",X"30",X"03",X"4C",X"6A",X"6C",X"60",X"86",
X"4A",X"06",X"4A",X"2A",X"26",X"4A",X"2A",X"A8",X"A5",X"4A",X"2A",X"29",X"03",X"60",X"84",X"4D",
X"85",X"4B",X"86",X"4A",X"A5",X"4C",X"45",X"4D",X"10",X"34",X"38",X"A5",X"4A",X"E5",X"48",X"A8",
X"A5",X"4B",X"E5",X"49",X"90",X"16",X"D0",X"0D",X"C0",X"00",X"D0",X"09",X"85",X"4A",X"85",X"4B",
X"85",X"4D",X"AA",X"A8",X"60",X"A6",X"4D",X"84",X"4A",X"85",X"4B",X"60",X"49",X"FF",X"AA",X"98",
X"49",X"FF",X"A8",X"C8",X"D0",X"01",X"E8",X"8A",X"A6",X"4C",X"86",X"4D",X"90",X"E9",X"18",X"A5",
X"4A",X"65",X"48",X"A8",X"A5",X"4B",X"65",X"49",X"90",X"DB",X"A9",X"FF",X"A8",X"B0",X"D6",X"20",
X"84",X"66",X"A9",X"6B",X"85",X"69",X"A2",X"00",X"86",X"6A",X"A5",X"86",X"4A",X"B0",X"11",X"86",
X"81",X"CA",X"86",X"79",X"86",X"7A",X"86",X"7D",X"86",X"7E",X"A0",X"07",X"A2",X"77",X"D0",X"11",
X"A9",X"C0",X"85",X"81",X"CA",X"86",X"7B",X"86",X"7C",X"86",X"7F",X"86",X"80",X"A0",X"87",X"A2",
X"77",X"20",X"B8",X"6F",X"A5",X"1D",X"18",X"65",X"51",X"A8",X"A5",X"1E",X"29",X"03",X"69",X"00",
X"AA",X"98",X"38",X"E9",X"30",X"A8",X"8A",X"E9",X"00",X"B0",X"03",X"A0",X"00",X"98",X"24",X"4E",
X"70",X"02",X"A0",X"00",X"84",X"38",X"85",X"39",X"18",X"65",X"4F",X"24",X"4E",X"70",X"08",X"29",
X"0F",X"A0",X"E2",X"A2",X"51",X"D0",X"10",X"29",X"03",X"85",X"3A",X"A0",X"BC",X"A2",X"4B",X"24",
X"38",X"10",X"04",X"A0",X"CE",X"A2",X"4B",X"86",X"2C",X"84",X"2B",X"0A",X"0A",X"A8",X"B1",X"2B",
X"38",X"E5",X"53",X"85",X"1B",X"C8",X"B1",X"2B",X"29",X"0F",X"E5",X"54",X"85",X"1C",X"C8",X"B1",
X"2B",X"38",X"E5",X"51",X"85",X"19",X"C8",X"B1",X"2B",X"29",X"03",X"E9",X"00",X"18",X"65",X"39",
X"85",X"1A",X"A5",X"39",X"AA",X"0A",X"18",X"24",X"38",X"10",X"24",X"A5",X"3A",X"0A",X"A8",X"B9",
X"07",X"78",X"85",X"2B",X"B9",X"08",X"78",X"85",X"2C",X"A0",X"00",X"E8",X"8A",X"0A",X"65",X"2D",
X"91",X"69",X"A5",X"2E",X"69",X"00",X"C8",X"91",X"69",X"E6",X"69",X"E6",X"69",X"D0",X"0A",X"65",
X"2D",X"85",X"2B",X"A5",X"2E",X"69",X"00",X"85",X"2C",X"A0",X"00",X"B1",X"2B",X"C8",X"AA",X"B1",
X"2B",X"C8",X"C9",X"A0",X"90",X"3D",X"C9",X"D0",X"90",X"16",X"F0",X"03",X"4C",X"85",X"6F",X"C6",
X"69",X"A0",X"00",X"B1",X"69",X"85",X"2C",X"C6",X"69",X"B1",X"69",X"85",X"2B",X"4C",X"2B",X"6E",
X"85",X"37",X"98",X"18",X"65",X"2B",X"A0",X"00",X"91",X"69",X"86",X"2B",X"E6",X"69",X"A5",X"2C",
X"69",X"00",X"91",X"69",X"E6",X"69",X"A5",X"37",X"29",X"0F",X"09",X"20",X"06",X"2B",X"2A",X"85",
X"2C",X"D0",X"B6",X"86",X"3F",X"AA",X"B1",X"2B",X"85",X"3D",X"C8",X"B1",X"2B",X"C8",X"84",X"39",
X"29",X"03",X"A8",X"8A",X"29",X"03",X"85",X"40",X"8A",X"6A",X"6A",X"6A",X"6A",X"85",X"4C",X"29",
X"0F",X"85",X"41",X"A9",X"09",X"38",X"E5",X"41",X"AA",X"98",X"4A",X"66",X"3D",X"46",X"40",X"66",
X"3F",X"CA",X"D0",X"F6",X"85",X"3E",X"A5",X"19",X"85",X"15",X"18",X"65",X"3D",X"85",X"19",X"A5",
X"1A",X"85",X"16",X"65",X"3E",X"85",X"1A",X"24",X"4C",X"10",X"12",X"A5",X"3F",X"49",X"FF",X"AA",
X"A5",X"40",X"49",X"FF",X"A8",X"E8",X"86",X"3F",X"D0",X"01",X"C8",X"84",X"40",X"A5",X"1B",X"85",
X"17",X"18",X"65",X"3F",X"85",X"1B",X"A5",X"1C",X"85",X"18",X"65",X"40",X"85",X"1C",X"A5",X"1A",
X"10",X"03",X"4C",X"80",X"6F",X"24",X"81",X"30",X"3F",X"A5",X"19",X"C5",X"1D",X"A5",X"1A",X"E5",
X"1E",X"90",X"06",X"A9",X"80",X"85",X"81",X"B0",X"28",X"A5",X"1F",X"C5",X"1B",X"A5",X"20",X"E5",
X"1C",X"90",X"7D",X"A9",X"80",X"85",X"81",X"A5",X"17",X"C5",X"1F",X"A5",X"18",X"30",X"12",X"E5",
X"20",X"90",X"0E",X"20",X"6E",X"70",X"85",X"7A",X"84",X"79",X"8A",X"10",X"04",X"A9",X"8F",X"85",
X"5D",X"A0",X"47",X"A2",X"77",X"20",X"B8",X"6F",X"A5",X"81",X"29",X"0F",X"D0",X"27",X"A5",X"19",
X"C5",X"1D",X"A5",X"1A",X"E5",X"1E",X"90",X"48",X"20",X"22",X"70",X"24",X"81",X"70",X"07",X"85",
X"7E",X"84",X"7D",X"4C",X"7F",X"6F",X"85",X"80",X"84",X"7F",X"A2",X"CF",X"86",X"81",X"A0",X"C7",
X"A2",X"77",X"20",X"B8",X"6F",X"A5",X"1D",X"18",X"69",X"30",X"AA",X"A5",X"1E",X"69",X"00",X"E4",
X"19",X"E5",X"1A",X"90",X"1A",X"A5",X"1B",X"C5",X"1F",X"A5",X"1C",X"30",X"13",X"E5",X"20",X"90",
X"0F",X"20",X"6E",X"70",X"85",X"7C",X"84",X"7B",X"8A",X"30",X"04",X"A9",X"8F",X"85",X"5D",X"60",
X"A4",X"39",X"4C",X"2B",X"6E",X"84",X"39",X"85",X"37",X"29",X"03",X"85",X"3F",X"A5",X"37",X"29",
X"08",X"4A",X"85",X"38",X"8A",X"29",X"08",X"05",X"38",X"4A",X"4A",X"86",X"38",X"A8",X"8A",X"29",
X"03",X"0A",X"06",X"3F",X"88",X"10",X"FA",X"85",X"3D",X"A5",X"37",X"4A",X"4A",X"6A",X"6A",X"85",
X"4C",X"A9",X"00",X"85",X"40",X"4C",X"A4",X"6E",X"86",X"32",X"84",X"31",X"24",X"4E",X"70",X"26",
X"A5",X"02",X"0A",X"A8",X"A2",X"00",X"B1",X"31",X"10",X"01",X"CA",X"18",X"65",X"0F",X"85",X"1D",
X"8A",X"65",X"10",X"85",X"1E",X"C8",X"A2",X"00",X"B1",X"31",X"10",X"01",X"CA",X"18",X"65",X"0D",
X"A8",X"8A",X"65",X"0E",X"D0",X"0C",X"A5",X"0F",X"85",X"1D",X"A5",X"10",X"85",X"1E",X"A4",X"0D",
X"A5",X"0E",X"29",X"0F",X"85",X"20",X"84",X"1F",X"60",X"A5",X"19",X"38",X"E5",X"15",X"85",X"3D");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_PROG_ROM_2 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_PROG_ROM_2 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"A5",X"17",X"49",X"FF",X"A8",X"A5",X"18",X"49",X"FF",X"AA",X"C8",X"D0",X"01",X"E8",X"98",X"18",
X"65",X"1B",X"A8",X"8A",X"A2",X"00",X"65",X"1C",X"10",X"05",X"98",X"49",X"FF",X"A8",X"CA",X"86",
X"40",X"60",X"20",X"F9",X"6F",X"98",X"A4",X"3D",X"20",X"C0",X"70",X"A5",X"1D",X"38",X"E5",X"15",
X"A4",X"77",X"20",X"EF",X"70",X"86",X"37",X"A4",X"76",X"20",X"F1",X"70",X"18",X"65",X"37",X"85",
X"37",X"24",X"40",X"30",X"0E",X"18",X"65",X"17",X"85",X"48",X"A5",X"18",X"69",X"00",X"85",X"49",
X"4C",X"60",X"70",X"38",X"A5",X"17",X"E5",X"37",X"85",X"48",X"A5",X"18",X"E9",X"00",X"85",X"49",
X"A6",X"1F",X"A5",X"20",X"20",X"9B",X"70",X"10",X"04",X"A2",X"8F",X"86",X"5D",X"60",X"20",X"F9",
X"6F",X"A5",X"3D",X"20",X"C0",X"70",X"A5",X"17",X"38",X"E5",X"1F",X"A4",X"77",X"20",X"EF",X"70",
X"86",X"37",X"A4",X"76",X"20",X"F1",X"70",X"18",X"65",X"37",X"85",X"37",X"18",X"65",X"15",X"85",
X"48",X"A5",X"16",X"69",X"00",X"85",X"49",X"A6",X"1D",X"A5",X"1E",X"85",X"4B",X"A9",X"80",X"24",
X"49",X"10",X"14",X"A5",X"48",X"49",X"FF",X"85",X"48",X"A5",X"49",X"49",X"FF",X"85",X"49",X"E6",
X"48",X"D0",X"02",X"E6",X"49",X"A9",X"00",X"85",X"4C",X"A0",X"00",X"84",X"4D",X"4C",X"02",X"6D",
X"84",X"75",X"20",X"D1",X"70",X"86",X"77",X"A2",X"00",X"86",X"78",X"20",X"D5",X"70",X"86",X"76",
X"60",X"85",X"78",X"A9",X"00",X"A0",X"07",X"26",X"78",X"2A",X"B0",X"0E",X"C5",X"75",X"90",X"02",
X"E5",X"75",X"88",X"10",X"F2",X"26",X"78",X"A6",X"78",X"60",X"E5",X"75",X"38",X"B0",X"F3",X"85",
X"43",X"84",X"42",X"A5",X"43",X"48",X"49",X"FF",X"85",X"43",X"A9",X"00",X"85",X"44",X"85",X"45",
X"A2",X"08",X"06",X"43",X"B0",X"06",X"65",X"42",X"90",X"02",X"E6",X"45",X"CA",X"D0",X"07",X"AA",
X"68",X"85",X"43",X"A5",X"45",X"60",X"0A",X"26",X"45",X"90",X"E7",X"55",X"A9",X"00",X"85",X"55",
X"85",X"57",X"A9",X"0F",X"24",X"4E",X"50",X"02",X"A9",X"03",X"85",X"37",X"A5",X"08",X"24",X"5A",
X"10",X"0D",X"C9",X"20",X"B0",X"1A",X"20",X"2C",X"73",X"B0",X"15",X"C6",X"4F",X"90",X"0B",X"C9",
X"E0",X"90",X"0D",X"20",X"1B",X"73",X"90",X"08",X"E6",X"4F",X"A5",X"4F",X"25",X"37",X"85",X"4F",
X"24",X"4E",X"50",X"03",X"4C",X"3E",X"72",X"A5",X"0A",X"24",X"5C",X"10",X"0A",X"C9",X"40",X"B0",
X"03",X"20",X"54",X"73",X"4C",X"03",X"72",X"C9",X"A5",X"90",X"F9",X"20",X"FE",X"72",X"C9",X"02",
X"90",X"06",X"D0",X"0A",X"E0",X"08",X"B0",X"06",X"20",X"3D",X"73",X"4C",X"03",X"72",X"24",X"5D",
X"10",X"03",X"4C",X"39",X"72",X"A5",X"0F",X"18",X"65",X"51",X"85",X"51",X"A5",X"10",X"29",X"03",
X"65",X"4F",X"29",X"0F",X"AA",X"4A",X"66",X"51",X"4A",X"66",X"51",X"18",X"69",X"02",X"29",X"03",
X"85",X"4F",X"8A",X"29",X"0C",X"48",X"0A",X"0A",X"AA",X"BD",X"E2",X"51",X"38",X"E5",X"53",X"85",
X"48",X"BD",X"E3",X"51",X"E5",X"54",X"85",X"49",X"A9",X"80",X"85",X"4C",X"A0",X"00",X"A6",X"0D",
X"A5",X"0E",X"29",X"0F",X"20",X"FE",X"6C",X"4A",X"66",X"4A",X"4A",X"66",X"4A",X"85",X"4B",X"68",
X"AA",X"BD",X"BC",X"4B",X"85",X"48",X"BD",X"BD",X"4B",X"85",X"49",X"A9",X"00",X"85",X"50",X"85",
X"52",X"85",X"53",X"85",X"54",X"85",X"09",X"85",X"07",X"85",X"4C",X"20",X"04",X"6D",X"84",X"0A",
X"4A",X"66",X"0A",X"66",X"09",X"4A",X"66",X"0A",X"66",X"09",X"A9",X"80",X"85",X"08",X"A9",X"40",
X"85",X"4E",X"60",X"20",X"FE",X"72",X"09",X"00",X"D0",X"2B",X"E0",X"02",X"B0",X"27",X"C0",X"02",
X"B0",X"23",X"A5",X"02",X"38",X"E9",X"07",X"C9",X"03",X"B0",X"1E",X"A5",X"61",X"A2",X"80",X"C9",
X"04",X"90",X"06",X"C9",X"08",X"B0",X"12",X"A2",X"C0",X"A5",X"5F",X"C9",X"04",X"B0",X"0A",X"8A",
X"05",X"5D",X"85",X"5D",X"60",X"24",X"5D",X"10",X"04",X"A9",X"8F",X"85",X"5D",X"60",X"A5",X"0A",
X"24",X"5C",X"30",X"1A",X"C9",X"A5",X"90",X"2A",X"20",X"3D",X"73",X"F0",X"10",X"C9",X"02",X"90",
X"0C",X"20",X"2D",X"65",X"20",X"96",X"6B",X"A2",X"FF",X"9A",X"4C",X"40",X"60",X"60",X"A5",X"53",
X"05",X"54",X"F0",X"0E",X"20",X"54",X"73",X"B0",X"F4",X"A9",X"00",X"85",X"52",X"85",X"53",X"85",
X"54",X"60",X"20",X"FE",X"72",X"A8",X"D0",X"F9",X"E0",X"60",X"B0",X"F5",X"A5",X"0F",X"18",X"65",
X"51",X"85",X"51",X"A5",X"10",X"65",X"4F",X"29",X"03",X"AA",X"06",X"51",X"2A",X"06",X"51",X"2A",
X"48",X"38",X"E9",X"02",X"29",X"0F",X"85",X"4F",X"8A",X"0A",X"0A",X"AA",X"BD",X"BC",X"4B",X"85",
X"48",X"BD",X"BD",X"4B",X"85",X"49",X"A9",X"80",X"85",X"4C",X"A5",X"0E",X"A6",X"0D",X"A0",X"00",
X"20",X"FE",X"6C",X"06",X"4A",X"2A",X"06",X"4A",X"2A",X"85",X"4B",X"A9",X"A3",X"A2",X"78",X"85",
X"49",X"86",X"48",X"20",X"04",X"6D",X"A9",X"18",X"85",X"48",X"A9",X"A1",X"85",X"49",X"A9",X"00",
X"85",X"4C",X"85",X"4E",X"85",X"07",X"85",X"09",X"85",X"50",X"85",X"52",X"20",X"04",X"6D",X"68",
X"29",X"0C",X"0A",X"AA",X"BD",X"22",X"52",X"85",X"48",X"BD",X"23",X"52",X"85",X"49",X"20",X"04",
X"6D",X"85",X"54",X"84",X"53",X"A9",X"80",X"85",X"08",X"A9",X"9E",X"85",X"0A",X"60",X"A0",X"FF",
X"A5",X"7E",X"A6",X"7D",X"C5",X"80",X"90",X"12",X"D0",X"0C",X"A4",X"7F",X"C4",X"7D",X"B0",X"0A",
X"A6",X"7F",X"A4",X"7D",X"90",X"04",X"A5",X"80",X"A6",X"7F",X"60",X"20",X"6B",X"73",X"A5",X"50",
X"18",X"65",X"3D",X"85",X"50",X"A5",X"51",X"65",X"3E",X"85",X"51",X"60",X"20",X"6B",X"73",X"A5",
X"50",X"38",X"E5",X"3D",X"85",X"50",X"A5",X"51",X"E5",X"3E",X"85",X"51",X"60",X"20",X"8A",X"73",
X"A5",X"52",X"18",X"65",X"3F",X"85",X"52",X"A5",X"53",X"65",X"40",X"85",X"53",X"A5",X"54",X"69",
X"00",X"85",X"54",X"60",X"20",X"8A",X"73",X"A5",X"52",X"38",X"E5",X"3F",X"85",X"52",X"A5",X"53",
X"E5",X"40",X"85",X"53",X"A5",X"54",X"E9",X"00",X"85",X"54",X"60",X"A9",X"80",X"85",X"55",X"A5",
X"5F",X"85",X"3D",X"A9",X"00",X"85",X"3E",X"A5",X"5E",X"A2",X"02",X"24",X"4E",X"70",X"02",X"A2",
X"04",X"0A",X"26",X"3D",X"26",X"3E",X"CA",X"D0",X"F8",X"60",X"A9",X"80",X"85",X"57",X"A5",X"61",
X"85",X"3F",X"A9",X"00",X"85",X"40",X"A5",X"60",X"A2",X"02",X"24",X"4E",X"70",X"02",X"A2",X"04",
X"0A",X"26",X"3F",X"26",X"40",X"CA",X"D0",X"F8",X"60",X"A9",X"BA",X"85",X"64",X"A9",X"51",X"85",
X"65",X"A9",X"45",X"85",X"28",X"A9",X"6B",X"85",X"69",X"A9",X"00",X"85",X"27",X"85",X"6A",X"85",
X"37",X"85",X"38",X"85",X"39",X"A9",X"F0",X"85",X"2B",X"A9",X"44",X"85",X"2C",X"20",X"03",X"75",
X"A0",X"00",X"B1",X"64",X"AA",X"C8",X"B1",X"64",X"C9",X"A0",X"90",X"12",X"C9",X"D0",X"90",X"25",
X"F0",X"4F",X"91",X"27",X"88",X"8A",X"49",X"08",X"91",X"27",X"C8",X"C8",X"D0",X"E4",X"38",X"E9",
X"20",X"91",X"27",X"88",X"8A",X"91",X"27",X"C8",X"C8",X"B1",X"64",X"91",X"27",X"C8",X"B1",X"64",
X"91",X"27",X"C8",X"D0",X"CD",X"29",X"0F",X"85",X"3A",X"86",X"3B",X"88",X"20",X"F8",X"74",X"C8",
X"C8",X"98",X"A0",X"00",X"18",X"65",X"64",X"91",X"69",X"E6",X"69",X"A5",X"65",X"69",X"00",X"91",
X"69",X"E6",X"69",X"A5",X"3B",X"0A",X"85",X"64",X"A5",X"3A",X"2A",X"09",X"40",X"85",X"65",X"D0",
X"A1",X"88",X"20",X"F8",X"74",X"A0",X"00",X"C6",X"69",X"B1",X"69",X"85",X"65",X"C6",X"69",X"B1",
X"69",X"85",X"64",X"A6",X"69",X"E0",X"6B",X"D0",X"89",X"E6",X"37",X"A2",X"04",X"E4",X"37",X"D0",
X"81",X"A9",X"00",X"85",X"37",X"91",X"27",X"C8",X"A9",X"D0",X"91",X"27",X"C8",X"20",X"F8",X"74",
X"E6",X"39",X"A2",X"04",X"E4",X"39",X"F0",X"03",X"4C",X"CD",X"73",X"A9",X"F0",X"85",X"64",X"A9",
X"44",X"85",X"65",X"A5",X"38",X"18",X"65",X"2B",X"85",X"2B",X"D0",X"02",X"E6",X"2C",X"A0",X"07",
X"B1",X"64",X"91",X"2B",X"88",X"10",X"F9",X"A9",X"7E",X"85",X"64",X"A9",X"4E",X"85",X"65",X"A9",
X"00",X"85",X"27",X"A9",X"47",X"85",X"28",X"A0",X"00",X"A2",X"00",X"B1",X"64",X"E0",X"01",X"D0",
X"05",X"38",X"E9",X"20",X"D0",X"16",X"E0",X"07",X"D0",X"12",X"29",X"03",X"85",X"37",X"88",X"B1",
X"64",X"46",X"37",X"6A",X"46",X"37",X"6A",X"91",X"27",X"C8",X"A9",X"04",X"91",X"27",X"E8",X"8A",
X"29",X"07",X"AA",X"C8",X"C0",X"20",X"90",X"D3",X"A5",X"21",X"F0",X"2B",X"A2",X"05",X"86",X"37",
X"0A",X"AA",X"CA",X"CA",X"A9",X"40",X"85",X"27",X"A9",X"47",X"85",X"28",X"BD",X"6A",X"5E",X"BC",
X"69",X"5E",X"20",X"A4",X"7E",X"A6",X"65",X"A4",X"64",X"20",X"F2",X"79",X"A5",X"2C",X"A4",X"2B",
X"20",X"CD",X"7E",X"C6",X"37",X"10",X"EE",X"60",X"98",X"18",X"65",X"27",X"85",X"27",X"90",X"02",
X"E6",X"28",X"60",X"A5",X"28",X"4A",X"29",X"0F",X"09",X"C0",X"AA",X"A5",X"27",X"6A",X"A4",X"38",
X"91",X"2B",X"8A",X"C8",X"91",X"2B",X"C8",X"84",X"38",X"60",X"A8",X"A2",X"03",X"86",X"39",X"A2",
X"02",X"B5",X"5F",X"B4",X"5E",X"84",X"37",X"A0",X"09",X"86",X"3A",X"AA",X"20",X"C6",X"79",X"48",
X"8A",X"A6",X"39",X"95",X"A7",X"94",X"A8",X"68",X"95",X"A6",X"A6",X"3A",X"A0",X"02",X"05",X"94",
X"05",X"93",X"F0",X"07",X"B5",X"5A",X"0A",X"A9",X"00",X"2A",X"A8",X"8A",X"4A",X"AA",X"94",X"9A",
X"A9",X"00",X"85",X"39",X"A6",X"3A",X"CA",X"CA",X"10",X"C7",X"20",X"FE",X"72",X"86",X"37",X"24",
X"4E",X"50",X"06",X"06",X"37",X"2A",X"06",X"37",X"2A",X"AA",X"A4",X"37",X"20",X"C2",X"79",X"85",
X"AF",X"86",X"B0",X"84",X"B1",X"60",X"A2",X"15",X"24",X"5D",X"70",X"0A",X"A2",X"05",X"A5",X"5D",
X"29",X"0F",X"D0",X"02",X"A2",X"50",X"F8",X"8A",X"18",X"65",X"A4",X"85",X"A4",X"A5",X"A5",X"69",
X"00",X"85",X"A5",X"D8",X"60",X"A2",X"0C",X"A9",X"00",X"85",X"8F",X"8A",X"4A",X"A8",X"B9",X"8D",
X"76",X"C5",X"56",X"90",X"70",X"86",X"3A",X"20",X"2F",X"76",X"E0",X"0C",X"D0",X"03",X"18",X"65",
X"3D",X"20",X"BF",X"76",X"86",X"19",X"84",X"1A",X"A6",X"3A",X"E8",X"20",X"2F",X"76",X"CA",X"E0",
X"0C",X"D0",X"03",X"18",X"65",X"3F",X"20",X"BF",X"76",X"86",X"1B",X"84",X"1C",X"98",X"10",X"0B",
X"49",X"FF",X"A8",X"8A",X"49",X"FF",X"AA",X"E8",X"D0",X"01",X"C8",X"C0",X"04",X"B0",X"3A",X"20",
X"43",X"78",X"A0",X"00",X"A6",X"3A",X"E0",X"0C",X"D0",X"13",X"A5",X"56",X"29",X"07",X"0A",X"AA",
X"BD",X"9E",X"4E",X"91",X"27",X"C8",X"BD",X"9F",X"4E",X"91",X"27",X"D0",X"13",X"20",X"2D",X"76",
X"98",X"A4",X"37",X"91",X"27",X"C8",X"E8",X"20",X"2D",X"76",X"98",X"CA",X"A4",X"37",X"91",X"27",
X"20",X"38",X"78",X"A6",X"3A",X"CA",X"CA",X"10",X"82",X"A5",X"56",X"49",X"7F",X"C9",X"40",X"90",
X"0B",X"4A",X"4A",X"4A",X"09",X"08",X"AA",X"A9",X"20",X"4C",X"53",X"79",X"60",X"84",X"37",X"A5",
X"91",X"F0",X"1B",X"C9",X"02",X"90",X"10",X"F0",X"07",X"BD",X"7F",X"76",X"BC",X"10",X"4F",X"60",
X"BD",X"71",X"76",X"BC",X"04",X"4F",X"60",X"BD",X"63",X"76",X"BC",X"F8",X"4E",X"60",X"BD",X"55",
X"76",X"BC",X"EC",X"4E",X"60",X"00",X"FE",X"FF",X"FF",X"FE",X"00",X"FF",X"00",X"00",X"02",X"02",
X"FF",X"00",X"03",X"02",X"01",X"00",X"01",X"FC",X"01",X"FF",X"FF",X"02",X"00",X"00",X"FF",X"00",
X"02",X"FF",X"00",X"FD",X"00",X"01",X"00",X"FF",X"FF",X"00",X"FF",X"03",X"00",X"00",X"03",X"01",
X"FF",X"FB",X"00",X"01",X"FF",X"03",X"01",X"FF",X"FD",X"01",X"01",X"00",X"03",X"5D",X"60",X"64",
X"6D",X"70",X"74",X"7F",X"A5",X"61",X"4A",X"4A",X"4A",X"C9",X"08",X"90",X"02",X"A9",X"07",X"85",
X"3F",X"A5",X"5F",X"4A",X"4A",X"C9",X"08",X"90",X"02",X"A9",X"07",X"24",X"5A",X"30",X"05",X"49",
X"FF",X"18",X"69",X"01",X"85",X"3D",X"A5",X"74",X"4A",X"4A",X"29",X"03",X"85",X"91",X"60",X"A0",
X"00",X"85",X"38",X"0A",X"A5",X"56",X"85",X"37",X"90",X"02",X"A0",X"FF",X"84",X"39",X"A2",X"00",
X"A0",X"00",X"46",X"37",X"B0",X"03",X"D0",X"0A",X"60",X"18",X"8A",X"65",X"38",X"AA",X"98",X"65",
X"39",X"A8",X"06",X"38",X"26",X"39",X"4C",X"D2",X"76",X"00",X"32",X"5F",X"9A",X"B5",X"CD",X"EE",
X"FB",X"FF",X"00",X"80",X"C0",X"40",X"00",X"02",X"05",X"08",X"0B",X"0D",X"0F",X"10",X"11",X"12",
X"13",X"14",X"16",X"18",X"1A",X"1C",X"FF",X"EE",X"0C",X"EB",X"08",X"EA",X"04",X"E9",X"FF",X"EA",
X"FB",X"EB",X"F8",X"ED",X"F3",X"F1",X"F0",X"F5",X"EE",X"F8",X"EB",X"F8",X"00",X"F9",X"FD",X"F9",
X"FC",X"FA",X"FB",X"F8",X"00",X"F8",X"FF",X"F8",X"FD",X"F9",X"FC",X"F8",X"00",X"F9",X"FE",X"F9",
X"FD",X"FA",X"FC",X"F8",X"00",X"F8",X"FF",X"F4",X"12",X"F1",X"10",X"ED",X"0D",X"EB",X"08",X"EA",
X"05",X"E9",X"01",X"EA",X"FC",X"EB",X"F8",X"EE",X"F5",X"F0",X"F1",X"F2",X"EE",X"F8",X"EA",X"FB",
X"EA",X"FD",X"EA",X"ED",X"F3",X"F1",X"F0",X"F7",X"EE",X"F8",X"EB",X"FD",X"EA",X"03",X"EA",X"05",
X"EA",X"08",X"EA",X"04",X"EE",X"FC",X"F9",X"FD",X"F8",X"FF",X"F8",X"01",X"F8",X"FC",X"FA",X"FD",
X"F9",X"FE",X"F9",X"00",X"F7",X"01",X"F8",X"FD",X"F8",X"F9",X"FC",X"F9",X"FA",X"FB",X"FA",X"FC",
X"F9",X"FD",X"F9",X"EA",X"FC",X"EB",X"F8",X"03",X"F9",X"04",X"F9",X"05",X"F9",X"06",X"FB",X"FB",
X"EA",X"FD",X"EA",X"03",X"EA",X"08",X"EB",X"0C",X"EE",X"0F",X"F0",X"13",X"F3",X"15",X"F8",X"16",
X"FB",X"17",X"FF",X"16",X"04",X"10",X"F1",X"12",X"F4",X"15",X"F8",X"16",X"FC",X"03",X"F9",X"04",
X"F9",X"05",X"FA",X"07",X"FA",X"07",X"FC",X"02",X"F8",X"FF",X"F8",X"00",X"F7",X"02",X"F9",X"03",
X"F9",X"04",X"FA",X"FF",X"F8",X"01",X"F8",X"08",X"FE",X"08",X"FF",X"08",X"00",X"07",X"02",X"07",
X"FC",X"07",X"FD",X"08",X"00",X"08",X"01",X"0C",X"EE",X"0F",X"F0",X"13",X"F3",X"15",X"F8",X"16",
X"FB",X"17",X"FF",X"16",X"04",X"15",X"08",X"12",X"F4",X"15",X"F8",X"16",X"FC",X"17",X"01",X"16",
X"05",X"15",X"08",X"13",X"0D",X"0F",X"10",X"0B",X"12",X"08",X"FF",X"08",X"00",X"06",X"FC",X"07");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_PROG_ROM_3 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_PROG_ROM_3 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"FD",X"07",X"FE",X"06",X"FB",X"07",X"FC",X"3C",X"45",X"BC",X"45",X"5E",X"46",X"B4",X"46",X"00",
X"10",X"80",X"AA",X"00",X"32",X"10",X"00",X"BF",X"90",X"04",X"29",X"0F",X"F0",X"05",X"29",X"0F",
X"18",X"69",X"01",X"08",X"0A",X"A0",X"00",X"AA",X"BD",X"A2",X"57",X"91",X"27",X"BD",X"A3",X"57",
X"C8",X"91",X"27",X"20",X"38",X"78",X"28",X"60",X"98",X"38",X"65",X"27",X"85",X"27",X"90",X"02",
X"E6",X"28",X"60",X"A5",X"1A",X"C9",X"80",X"90",X"11",X"49",X"FF",X"85",X"1A",X"A5",X"19",X"49",
X"FF",X"69",X"00",X"85",X"19",X"90",X"02",X"E6",X"1A",X"38",X"26",X"37",X"A5",X"1C",X"C9",X"80",
X"90",X"11",X"49",X"FF",X"85",X"1C",X"A5",X"1B",X"49",X"FF",X"69",X"00",X"85",X"1B",X"90",X"02",
X"E6",X"1C",X"38",X"26",X"37",X"A5",X"19",X"C5",X"1B",X"A5",X"1A",X"E5",X"1C",X"A2",X"00",X"B0",
X"02",X"A2",X"02",X"B5",X"1A",X"A0",X"09",X"C9",X"02",X"B0",X"09",X"88",X"16",X"19",X"F0",X"03",
X"2A",X"10",X"F4",X"2A",X"95",X"1A",X"98",X"0A",X"66",X"37",X"2A",X"66",X"37",X"2A",X"0A",X"85",
X"37",X"8A",X"49",X"02",X"AA",X"C0",X"09",X"B0",X"07",X"C8",X"16",X"19",X"36",X"1A",X"10",X"F5",
X"A0",X"00",X"A5",X"1B",X"91",X"27",X"A5",X"37",X"29",X"FC",X"05",X"1C",X"C8",X"91",X"27",X"A5",
X"19",X"C8",X"91",X"27",X"A5",X"37",X"29",X"02",X"0A",X"05",X"8F",X"05",X"1A",X"C8",X"91",X"27",
X"4C",X"38",X"78",X"A2",X"02",X"BD",X"01",X"24",X"0A",X"B5",X"B7",X"29",X"1F",X"B0",X"37",X"F0",
X"10",X"C9",X"1B",X"B0",X"0A",X"A8",X"A5",X"BA",X"29",X"07",X"C9",X"07",X"98",X"90",X"02",X"E9",
X"01",X"95",X"B7",X"AD",X"00",X"20",X"29",X"04",X"D0",X"04",X"A9",X"F0",X"85",X"B4",X"A5",X"B4",
X"F0",X"08",X"C6",X"B4",X"A9",X"00",X"95",X"B7",X"95",X"B3",X"18",X"B5",X"B3",X"F0",X"23",X"D6",
X"B3",X"D0",X"1F",X"38",X"B0",X"1C",X"C9",X"1B",X"B0",X"09",X"B5",X"B7",X"69",X"20",X"90",X"D1",
X"F0",X"01",X"18",X"A9",X"1F",X"B0",X"CA",X"95",X"B7",X"B5",X"B3",X"F0",X"01",X"38",X"A9",X"78",
X"95",X"B3",X"90",X"04",X"F6",X"B6",X"E6",X"B2",X"CA",X"CA",X"10",X"99",X"E6",X"BA",X"A5",X"BA",
X"4A",X"A5",X"B2",X"B0",X"0C",X"F0",X"0A",X"C9",X"10",X"B0",X"02",X"69",X"FF",X"69",X"EF",X"85",
X"B2",X"0A",X"60",X"25",X"89",X"86",X"3C",X"05",X"3C",X"8D",X"00",X"3C",X"85",X"89",X"60",X"25",
X"88",X"86",X"3C",X"05",X"3C",X"8D",X"00",X"32",X"85",X"88",X"60",X"AD",X"03",X"28",X"29",X"03",
X"AA",X"BD",X"9B",X"79",X"85",X"99",X"A2",X"00",X"EE",X"00",X"58",X"F0",X"06",X"AD",X"02",X"28",
X"29",X"03",X"AA",X"86",X"21",X"38",X"AD",X"01",X"28",X"2A",X"2A",X"2D",X"00",X"28",X"29",X"0F",
X"69",X"00",X"C9",X"09",X"90",X"02",X"A9",X"00",X"85",X"98",X"60",X"01",X"04",X"05",X"06",X"A2",
X"0C",X"A5",X"98",X"18",X"69",X"18",X"20",X"34",X"7A",X"A9",X"17",X"20",X"4F",X"7A",X"A9",X"05",
X"20",X"4F",X"7A",X"A5",X"86",X"29",X"20",X"F0",X"07",X"A2",X"00",X"A9",X"04",X"4C",X"34",X"7A",
X"60",X"00",X"84",X"37",X"A0",X"0F",X"86",X"38",X"A9",X"00",X"85",X"92",X"85",X"93",X"85",X"94",
X"F8",X"06",X"37",X"26",X"38",X"A5",X"92",X"65",X"92",X"85",X"92",X"A5",X"93",X"65",X"93",X"85",
X"93",X"A5",X"94",X"65",X"94",X"85",X"94",X"88",X"10",X"E7",X"A4",X"94",X"A6",X"93",X"A5",X"92",
X"D8",X"60",X"86",X"2C",X"84",X"2B",X"A9",X"00",X"4A",X"A8",X"B1",X"2B",X"85",X"39",X"29",X"7F",
X"AA",X"98",X"0A",X"A8",X"BD",X"A2",X"57",X"91",X"27",X"C8",X"BD",X"A3",X"57",X"91",X"27",X"C8",
X"98",X"24",X"39",X"10",X"E3",X"18",X"65",X"27",X"85",X"27",X"90",X"02",X"E6",X"28",X"98",X"4A",
X"65",X"2B",X"85",X"2B",X"90",X"02",X"E6",X"2C",X"60",X"A9",X"17",X"20",X"4F",X"7A",X"A9",X"03",
X"D0",X"1D",X"A9",X"80",X"48",X"8A",X"18",X"69",X"0C",X"A8",X"A9",X"55",X"69",X"00",X"A6",X"27",
X"86",X"2F",X"A6",X"28",X"86",X"30",X"20",X"CD",X"7E",X"20",X"10",X"7F",X"68",X"30",X"58",X"C9",
X"18",X"90",X"03",X"0A",X"D0",X"48",X"48",X"A6",X"21",X"F0",X"10",X"CA",X"7D",X"A1",X"5F",X"AA",
X"BD",X"A4",X"5F",X"A2",X"00",X"0A",X"90",X"0F",X"CA",X"B0",X"0C",X"E9",X"08",X"C9",X"0C",X"B0",
X"13",X"AA",X"BD",X"6D",X"69",X"A2",X"00",X"18",X"A0",X"02",X"71",X"2F",X"91",X"2F",X"8A",X"C8",
X"71",X"2F",X"91",X"2F",X"68",X"0A",X"C9",X"30",X"B0",X"14",X"A6",X"21",X"F0",X"10",X"CA",X"18",
X"7D",X"00",X"58",X"AA",X"BC",X"04",X"58",X"BD",X"05",X"58",X"AA",X"4C",X"F2",X"79",X"AA",X"BC",
X"2B",X"69",X"BD",X"2C",X"69",X"D0",X"F3",X"60",X"48",X"8A",X"48",X"98",X"48",X"D8",X"AD",X"00",
X"2C",X"38",X"E5",X"83",X"B0",X"04",X"C6",X"83",X"A9",X"00",X"C5",X"84",X"90",X"04",X"E6",X"84",
X"A5",X"84",X"AA",X"38",X"E5",X"82",X"90",X"0A",X"4A",X"4A",X"F0",X"0A",X"86",X"82",X"E6",X"85",
X"D0",X"04",X"69",X"03",X"30",X"F6",X"E6",X"74",X"A5",X"73",X"C9",X"03",X"B0",X"0D",X"8D",X"00",
X"34",X"A5",X"00",X"45",X"C1",X"45",X"C2",X"C9",X"85",X"F0",X"03",X"4C",X"EB",X"7A",X"20",X"D3",
X"78",X"90",X"06",X"A2",X"20",X"A9",X"FF",X"D0",X"04",X"A9",X"DF",X"A2",X"00",X"20",X"5F",X"79",
X"24",X"22",X"50",X"2F",X"C6",X"87",X"D0",X"2B",X"A9",X"FA",X"85",X"87",X"E6",X"8D",X"F8",X"18",
X"A2",X"00",X"A0",X"02",X"A9",X"08",X"75",X"9E",X"95",X"9E",X"A9",X"00",X"E8",X"88",X"10",X"F6",
X"A5",X"9C",X"18",X"69",X"01",X"C9",X"60",X"90",X"02",X"A9",X"00",X"85",X"9C",X"A5",X"9D",X"69",
X"00",X"85",X"9D",X"D8",X"A5",X"22",X"D0",X"0E",X"A5",X"74",X"A2",X"1F",X"4A",X"90",X"02",X"A2",
X"10",X"A9",X"00",X"20",X"5F",X"79",X"C6",X"8A",X"D0",X"06",X"A9",X"06",X"85",X"8A",X"E6",X"73",
X"68",X"A8",X"68",X"AA",X"68",X"40",X"00",X"A0",X"02",X"38",X"08",X"88",X"84",X"38",X"18",X"65",
X"38",X"28",X"AA",X"08",X"86",X"37",X"B5",X"00",X"4A",X"4A",X"4A",X"4A",X"28",X"20",X"18",X"78",
X"A5",X"38",X"D0",X"01",X"18",X"A6",X"37",X"B5",X"00",X"20",X"18",X"78",X"A6",X"37",X"CA",X"C6",
X"38",X"10",X"E0",X"60",X"A2",X"FF",X"9A",X"D8",X"A9",X"00",X"8D",X"00",X"3C",X"AA",X"95",X"00",
X"E8",X"D0",X"FB",X"AD",X"00",X"20",X"4A",X"4A",X"B0",X"03",X"4C",X"B9",X"7B",X"A9",X"85",X"85",
X"00",X"85",X"C1",X"85",X"C2",X"A9",X"FF",X"85",X"83",X"A9",X"06",X"85",X"8A",X"A9",X"02",X"85",
X"9A",X"85",X"9B",X"8D",X"00",X"34",X"4C",X"01",X"60",X"A2",X"11",X"9A",X"8A",X"85",X"00",X"A0",
X"00",X"A2",X"01",X"C8",X"B9",X"00",X"00",X"D0",X"23",X"E8",X"D0",X"F7",X"BA",X"8A",X"8D",X"00",
X"34",X"C8",X"D9",X"00",X"00",X"D0",X"12",X"A2",X"00",X"96",X"00",X"C8",X"D0",X"05",X"0A",X"A2",
X"00",X"B0",X"0A",X"AA",X"9A",X"96",X"00",X"D0",X"D8",X"59",X"00",X"00",X"AA",X"8A",X"A0",X"10",
X"29",X"0F",X"F0",X"02",X"A0",X"20",X"8A",X"A2",X"10",X"29",X"F0",X"F0",X"02",X"A2",X"20",X"98",
X"9A",X"AA",X"8E",X"00",X"3C",X"A0",X"0C",X"A2",X"64",X"2C",X"00",X"20",X"70",X"FB",X"2C",X"00",
X"20",X"50",X"FB",X"8D",X"00",X"34",X"CA",X"D0",X"F0",X"C0",X"05",X"D0",X"03",X"8E",X"00",X"3C",
X"88",X"D0",X"E4",X"A8",X"30",X"05",X"09",X"80",X"BA",X"10",X"D7",X"C9",X"90",X"D0",X"05",X"BA",
X"E0",X"10",X"F0",X"06",X"8D",X"00",X"34",X"4C",X"34",X"7C",X"A2",X"FF",X"9A",X"20",X"59",X"7E",
X"A8",X"91",X"27",X"C8",X"D0",X"FB",X"E6",X"28",X"A6",X"28",X"E0",X"48",X"90",X"F3",X"20",X"59",
X"7E",X"A9",X"11",X"85",X"37",X"84",X"BC",X"91",X"27",X"98",X"AA",X"C8",X"F0",X"06",X"B1",X"27",
X"D0",X"2B",X"F0",X"F7",X"8A",X"A8",X"A5",X"37",X"8D",X"00",X"34",X"D1",X"27",X"D0",X"1C",X"A9",
X"00",X"91",X"27",X"A5",X"37",X"C8",X"D0",X"03",X"0A",X"B0",X"06",X"85",X"37",X"91",X"27",X"D0",
X"D8",X"E6",X"28",X"A5",X"28",X"C9",X"48",X"90",X"C8",X"B0",X"1E",X"51",X"27",X"A2",X"00",X"48",
X"29",X"F0",X"F0",X"02",X"A2",X"02",X"68",X"29",X"0F",X"F0",X"01",X"E8",X"8A",X"A6",X"28",X"E0",
X"44",X"90",X"02",X"0A",X"0A",X"05",X"BC",X"85",X"BC",X"A5",X"BC",X"8D",X"00",X"32",X"A9",X"03",
X"85",X"56",X"18",X"A9",X"10",X"66",X"BC",X"08",X"90",X"01",X"0A",X"8D",X"00",X"3C",X"A0",X"50",
X"20",X"7F",X"7E",X"8E",X"00",X"3C",X"A0",X"28",X"20",X"7F",X"7E",X"28",X"C6",X"56",X"10",X"E3",
X"66",X"BC",X"8D",X"00",X"34",X"D0",X"FB",X"A9",X"48",X"85",X"2C",X"20",X"59",X"7E",X"85",X"2B",
X"85",X"BC",X"85",X"BB",X"20",X"2D",X"7F",X"A9",X"12",X"20",X"62",X"7E",X"A2",X"37",X"8A",X"0A",
X"A0",X"00",X"8D",X"00",X"34",X"51",X"2B",X"C8",X"D0",X"FB",X"A8",X"8A",X"29",X"03",X"C9",X"01",
X"98",X"B0",X"2E",X"F0",X"2B",X"85",X"BC",X"86",X"39",X"A9",X"34",X"38",X"E5",X"39",X"4A",X"85",
X"3A",X"38",X"E9",X"04",X"C9",X"04",X"B0",X"02",X"C6",X"BB",X"A5",X"BC",X"29",X"0F",X"F0",X"03",
X"20",X"17",X"7F",X"A5",X"BC",X"29",X"F0",X"F0",X"05",X"E6",X"3A",X"20",X"17",X"7F",X"A6",X"39",
X"8A",X"E6",X"2C",X"CA",X"10",X"BA",X"A6",X"BC",X"F0",X"16",X"24",X"BB",X"10",X"1B",X"A9",X"40",
X"85",X"27",X"A9",X"18",X"85",X"27",X"A9",X"22",X"A2",X"0E",X"20",X"64",X"7E",X"4C",X"59",X"7D",
X"AE",X"7F",X"7F",X"AC",X"7E",X"7F",X"20",X"F2",X"79",X"A9",X"00",X"85",X"56",X"85",X"39",X"85",
X"89",X"A9",X"11",X"8D",X"00",X"32",X"A5",X"28",X"85",X"2A",X"A5",X"27",X"85",X"29",X"A2",X"07",
X"BD",X"00",X"24",X"0A",X"26",X"BD",X"CA",X"10",X"F7",X"AD",X"00",X"20",X"29",X"04",X"85",X"BE",
X"A2",X"00",X"A5",X"BF",X"45",X"BD",X"D0",X"06",X"A5",X"C0",X"45",X"BE",X"F0",X"02",X"A2",X"30",
X"A9",X"0F",X"20",X"53",X"79",X"A5",X"BD",X"85",X"BF",X"A5",X"BE",X"85",X"C0",X"A5",X"29",X"85",
X"27",X"A5",X"2A",X"85",X"28",X"24",X"BB",X"30",X"27",X"A9",X"1A",X"20",X"62",X"7E",X"A0",X"01",
X"AD",X"00",X"2C",X"18",X"65",X"82",X"6A",X"85",X"82",X"A9",X"82",X"20",X"59",X"7B",X"20",X"9F",
X"79",X"A9",X"3A",X"20",X"62",X"7E",X"20",X"6B",X"79",X"A9",X"99",X"A0",X"01",X"20",X"59",X"7B",
X"20",X"71",X"7E",X"E6",X"56",X"A5",X"56",X"C9",X"20",X"90",X"1C",X"A6",X"3A",X"E8",X"E0",X"05",
X"90",X"02",X"A2",X"00",X"86",X"3A",X"BD",X"80",X"7F",X"8D",X"00",X"32",X"BD",X"85",X"7F",X"AA",
X"A9",X"30",X"20",X"53",X"79",X"84",X"56",X"20",X"95",X"7E",X"B0",X"03",X"4C",X"6E",X"7D",X"A2",
X"00",X"8E",X"00",X"3C",X"86",X"BB",X"20",X"59",X"7E",X"A4",X"BB",X"C0",X"03",X"D0",X"23",X"A9",
X"30",X"20",X"62",X"7E",X"A9",X"FB",X"A0",X"00",X"91",X"27",X"E6",X"27",X"48",X"A9",X"F8",X"91",
X"27",X"E6",X"27",X"A9",X"38",X"A2",X"02",X"20",X"64",X"7E",X"68",X"38",X"E9",X"10",X"B0",X"E6",
X"90",X"12",X"BE",X"F4",X"7F",X"98",X"0A",X"A8",X"B9",X"EF",X"7F",X"48",X"B9",X"EE",X"7F",X"A8",
X"68",X"20",X"A6",X"7E",X"20",X"71",X"7E",X"20",X"7A",X"7E",X"20",X"95",X"7E",X"90",X"F8",X"A6",
X"BB",X"E8",X"E0",X"04",X"90",X"AE",X"4C",X"9D",X"7B",X"A9",X"40",X"85",X"28",X"A9",X"00",X"85",
X"27",X"60",X"A2",X"08",X"18",X"6D",X"7C",X"7F",X"A8",X"AD",X"7D",X"7F",X"69",X"00",X"4C",X"A6",
X"7E",X"A9",X"4B",X"A0",X"DE",X"A2",X"06",X"20",X"A6",X"7E",X"8D",X"00",X"30",X"A0",X"03",X"8D",
X"00",X"34",X"A2",X"14",X"2C",X"00",X"20",X"70",X"FB",X"2C",X"00",X"20",X"50",X"FB",X"CA",X"D0",
X"F3",X"88",X"D0",X"EB",X"60",X"2C",X"00",X"20",X"30",X"03",X"06",X"26",X"60",X"A9",X"20",X"85",
X"26",X"18",X"90",X"F8",X"A2",X"08",X"85",X"65",X"84",X"64",X"8A",X"A8",X"88",X"B1",X"64",X"91",
X"27",X"88",X"10",X"F9",X"8A",X"18",X"65",X"27",X"85",X"27",X"90",X"02",X"E6",X"28",X"8A",X"18",
X"65",X"64",X"85",X"64",X"90",X"02",X"E6",X"65",X"60",X"A2",X"02",X"D0",X"D9",X"A2",X"04",X"D0",
X"D5",X"A2",X"04",X"D0",X"D5",X"18",X"65",X"8B",X"A8",X"8A",X"69",X"00",X"A2",X"00",X"86",X"3D",
X"A2",X"0F",X"86",X"3E",X"85",X"65",X"84",X"64",X"A0",X"00",X"B1",X"64",X"38",X"E5",X"53",X"91",
X"27",X"C8",X"B1",X"64",X"E5",X"54",X"29",X"0F",X"09",X"A0",X"91",X"27",X"C8",X"B1",X"64",X"38",
X"E5",X"51",X"91",X"27",X"C8",X"B1",X"64",X"E5",X"3D",X"25",X"3E",X"91",X"27",X"20",X"38",X"78",
X"A9",X"55",X"A0",X"AE",X"4C",X"CD",X"7E",X"A2",X"00",X"A4",X"3A",X"20",X"C2",X"79",X"A9",X"92",
X"38",X"A0",X"01",X"20",X"5A",X"7B",X"A9",X"10",X"A2",X"02",X"4C",X"64",X"7E",X"A9",X"00",X"A2",
X"10",X"4C",X"64",X"7E",X"00",X"A0",X"00",X"00",X"00",X"90",X"00",X"00",X"FF",X"A2",X"FF",X"03",
X"00",X"90",X"00",X"00",X"0B",X"F0",X"58",X"A2",X"10",X"00",X"00",X"70",X"00",X"00",X"80",X"A1",
X"00",X"02",X"00",X"70",X"00",X"00",X"CB",X"F8",X"C8",X"FF",X"CF",X"F8",X"C8",X"FB",X"CB",X"FF",
X"0F",X"F8",X"CB",X"FB",X"90",X"A1",X"00",X"02",X"00",X"90",X"00",X"00",X"0F",X"FD",X"F4",X"A1",
X"76",X"01",X"00",X"70",X"00",X"00",X"38",X"32",X"2E",X"00",X"32",X"AA",X"34",X"7F",X"76",X"7F",
X"11",X"12",X"14",X"18",X"00",X"01",X"03",X"07",X"0F",X"00",X"80",X"A1",X"00",X"02",X"00",X"90",
X"00",X"00",X"20",X"73",X"20",X"C3",X"07",X"E0",X"00",X"A0",X"00",X"00",X"00",X"90",X"00",X"00",
X"FF",X"92",X"FF",X"C2",X"FC",X"77",X"FC",X"C3",X"FE",X"87",X"FE",X"C7",X"FE",X"83",X"FE",X"C7",
X"FC",X"73",X"FC",X"C3",X"FF",X"96",X"FF",X"C2",X"FF",X"92",X"01",X"00",X"FF",X"96",X"FF",X"C6",
X"FC",X"73",X"FC",X"C7",X"FE",X"83",X"FE",X"C3",X"FE",X"87",X"FE",X"C3",X"FC",X"77",X"FC",X"C7",
X"FF",X"92",X"FF",X"C6",X"80",X"A1",X"00",X"02",X"00",X"90",X"00",X"00",X"06",X"C0",X"00",X"B0",
X"08",X"C0",X"00",X"D0",X"0A",X"C0",X"00",X"D0",X"CB",X"FB",X"CF",X"FB",X"00",X"D0",X"8A",X"7F",
X"98",X"7F",X"D4",X"7F",X"0E",X"3C",X"1A",X"00",X"57",X"00",X"A8",X"7A",X"84",X"7B",X"84",X"7B");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_VEC_ROM_0 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_VEC_ROM_0 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"80",X"27",X"00",X"05",X"80",X"22",X"80",X"C6",X"80",X"22",X"00",X"C0",X"80",X"22",X"80",X"C2",
X"00",X"20",X"80",X"C2",X"80",X"26",X"80",X"C2",X"80",X"26",X"00",X"C0",X"80",X"26",X"80",X"C6",
X"00",X"20",X"80",X"C6",X"00",X"D0",X"00",X"36",X"40",X"04",X"C7",X"F2",X"80",X"22",X"80",X"C4",
X"C2",X"F3",X"80",X"20",X"80",X"C2",X"C3",X"F6",X"80",X"26",X"80",X"C0",X"C6",X"F7",X"80",X"24",
X"80",X"C6",X"00",X"D0",X"40",X"36",X"00",X"00",X"80",X"21",X"80",X"C7",X"80",X"22",X"00",X"C5",
X"80",X"23",X"80",X"C1",X"00",X"21",X"80",X"C2",X"80",X"25",X"80",X"C3",X"80",X"26",X"00",X"C1",
X"80",X"27",X"80",X"C5",X"00",X"25",X"80",X"C6",X"00",X"D0",X"00",X"36",X"80",X"00",X"80",X"20",
X"80",X"C7",X"00",X"22",X"80",X"C5",X"80",X"23",X"80",X"C0",X"80",X"21",X"00",X"C2",X"80",X"24",
X"80",X"C3",X"00",X"26",X"80",X"C1",X"80",X"27",X"80",X"C4",X"80",X"25",X"00",X"C6",X"00",X"D0",
X"05",X"FE",X"C5",X"F9",X"80",X"23",X"00",X"C0",X"C1",X"F9",X"00",X"20",X"80",X"C3",X"C1",X"FD",
X"80",X"27",X"00",X"C0",X"C5",X"FD",X"00",X"20",X"80",X"C7",X"00",X"D0",X"00",X"36",X"C0",X"04",
X"80",X"21",X"00",X"C6",X"80",X"23",X"80",X"C4",X"00",X"22",X"80",X"C1",X"80",X"20",X"80",X"C3",
X"80",X"25",X"00",X"C2",X"80",X"27",X"80",X"C0",X"00",X"26",X"80",X"C5",X"80",X"24",X"80",X"C7",
X"00",X"D0",X"00",X"36",X"40",X"04",X"00",X"21",X"80",X"C6",X"80",X"23",X"80",X"C5",X"80",X"22",
X"00",X"C1",X"80",X"21",X"80",X"C3",X"00",X"25",X"80",X"C2",X"80",X"27",X"80",X"C1",X"80",X"26",
X"00",X"C5",X"80",X"25",X"80",X"C7",X"00",X"D0",X"00",X"36",X"40",X"00",X"80",X"20",X"80",X"C6",
X"C6",X"F3",X"80",X"22",X"80",X"C0",X"C3",X"F2",X"80",X"24",X"80",X"C2",X"C2",X"F7",X"80",X"26",
X"80",X"C4",X"C7",X"F6",X"00",X"D0",X"00",X"C4",X"C0",X"33",X"40",X"05",X"80",X"26",X"00",X"C0",
X"80",X"26",X"00",X"00",X"80",X"26",X"00",X"C0",X"00",X"10",X"00",X"C7",X"C0",X"33",X"00",X"C0",
X"00",X"10",X"00",X"C3",X"00",X"10",X"00",X"07",X"C6",X"F9",X"00",X"F1",X"C0",X"FD",X"60",X"46",
X"00",X"00",X"C0",X"FD",X"00",X"F1",X"C2",X"F9",X"00",X"F9",X"80",X"25",X"00",X"C7",X"40",X"33",
X"00",X"C0",X"80",X"25",X"00",X"C3",X"80",X"21",X"00",X"07",X"00",X"D0",X"13",X"C4",X"80",X"24",
X"80",X"06",X"80",X"22",X"80",X"C4",X"80",X"22",X"80",X"04",X"80",X"22",X"80",X"C4",X"00",X"15",
X"00",X"C7",X"C0",X"37",X"C0",X"C0",X"00",X"11",X"00",X"C3",X"00",X"15",X"00",X"07",X"80",X"26",
X"80",X"C7",X"00",X"16",X"00",X"01",X"C5",X"F2",X"60",X"42",X"80",X"04",X"C0",X"F9",X"00",X"F5",
X"C0",X"34",X"40",X"C2",X"C0",X"36",X"80",X"00",X"00",X"26",X"80",X"C6",X"40",X"33",X"C0",X"C4",
X"00",X"25",X"80",X"C3",X"00",X"21",X"80",X"07",X"00",X"D0",X"22",X"C4",X"40",X"33",X"C0",X"06",
X"80",X"26",X"00",X"C1",X"80",X"26",X"00",X"01",X"80",X"26",X"00",X"C1",X"00",X"15",X"00",X"C7",
X"C0",X"33",X"80",X"C5",X"00",X"11",X"00",X"C3",X"00",X"15",X"00",X"07",X"40",X"30",X"00",X"C6",
X"00",X"12",X"00",X"05",X"C1",X"F6",X"40",X"46",X"C0",X"00",X"C1",X"F6",X"00",X"12",X"00",X"05",
X"C3",X"F3",X"05",X"F2",X"80",X"26",X"00",X"C6",X"40",X"33",X"40",X"C5",X"80",X"24",X"80",X"C3",
X"80",X"20",X"80",X"07",X"00",X"D0",X"35",X"C4",X"80",X"25",X"00",X"06",X"00",X"22",X"80",X"C5",
X"00",X"22",X"80",X"05",X"00",X"22",X"80",X"C5",X"00",X"15",X"00",X"C7",X"40",X"37",X"80",X"C2",
X"C1",X"F1",X"05",X"F5",X"40",X"36",X"00",X"C5",X"00",X"06",X"00",X"02",X"C5",X"F1",X"40",X"42",
X"A0",X"05",X"C5",X"F2",X"00",X"16",X"00",X"01",X"40",X"30",X"40",X"C2",X"40",X"36",X"C0",X"01",
X"00",X"27",X"80",X"C5",X"80",X"32",X"00",X"C6",X"80",X"20",X"80",X"C3",X"80",X"24",X"80",X"07",
X"00",X"D0",X"48",X"C4",X"01",X"FD",X"C5",X"F9",X"05",X"F9",X"C5",X"F9",X"C5",X"F5",X"C3",X"FF",
X"C1",X"F1",X"05",X"F5",X"00",X"36",X"C0",X"C4",X"00",X"06",X"00",X"02",X"C5",X"F1",X"C0",X"33",
X"C0",X"07",X"C5",X"F1",X"00",X"06",X"00",X"02",X"C0",X"30",X"00",X"C2",X"40",X"36",X"40",X"02",
X"C5",X"F7",X"80",X"32",X"C0",X"C6",X"00",X"21",X"80",X"C3",X"00",X"25",X"80",X"07",X"00",X"D0",
X"56",X"C4",X"80",X"31",X"00",X"06",X"80",X"25",X"00",X"C2",X"80",X"25",X"00",X"02",X"80",X"25",
X"00",X"C2",X"C5",X"F5",X"40",X"32",X"00",X"C7",X"C1",X"F1",X"05",X"F5",X"C6",X"FD",X"00",X"02",
X"00",X"06",X"C1",X"F5",X"00",X"37",X"C0",X"03",X"C2",X"F5",X"00",X"11",X"00",X"06",X"40",X"32",
X"80",X"C0",X"00",X"12",X"00",X"07",X"80",X"27",X"80",X"C4",X"00",X"32",X"C0",X"C6",X"80",X"21",
X"80",X"C3",X"80",X"25",X"80",X"07",X"00",X"D0",X"69",X"C4",X"00",X"25",X"80",X"02",X"00",X"21",
X"80",X"C6",X"00",X"21",X"80",X"06",X"00",X"21",X"80",X"C6",X"00",X"17",X"00",X"C5",X"80",X"35",
X"C0",X"C3",X"00",X"13",X"00",X"C1",X"00",X"17",X"00",X"05",X"40",X"36",X"00",X"C0",X"01",X"F0",
X"C5",X"F8",X"00",X"41",X"60",X"06",X"C5",X"F1",X"00",X"06",X"00",X"02",X"00",X"23",X"80",X"C3",
X"00",X"35",X"C0",X"02",X"80",X"27",X"00",X"C0",X"40",X"31",X"00",X"C7",X"00",X"22",X"80",X"C2",
X"00",X"26",X"80",X"06",X"00",X"D0",X"7C",X"C4",X"80",X"24",X"80",X"02",X"80",X"20",X"80",X"C6",
X"80",X"20",X"80",X"06",X"80",X"20",X"80",X"C6",X"00",X"17",X"00",X"C5",X"60",X"44",X"00",X"C2",
X"00",X"13",X"00",X"C0",X"00",X"17",X"00",X"00",X"40",X"36",X"80",X"C0",X"01",X"F0",X"C5",X"F8",
X"80",X"40",X"60",X"06",X"C6",X"F1",X"00",X"15",X"00",X"02",X"80",X"23",X"80",X"C2",X"80",X"34",
X"00",X"03",X"80",X"27",X"00",X"C1",X"C0",X"30",X"80",X"C7",X"80",X"22",X"00",X"C2",X"80",X"26",
X"00",X"C6",X"00",X"D0",X"00",X"C4",X"00",X"20",X"80",X"C6",X"00",X"17",X"00",X"C0",X"00",X"30",
X"C0",X"C3",X"00",X"13",X"00",X"C0",X"00",X"20",X"80",X"C6",X"C0",X"34",X"80",X"06",X"C5",X"FE",
X"05",X"F0",X"C1",X"F8",X"00",X"40",X"60",X"02",X"C1",X"F8",X"05",X"F0",X"C5",X"FA",X"05",X"F8",
X"00",X"27",X"80",X"C1",X"00",X"30",X"40",X"C7",X"00",X"23",X"80",X"C1",X"00",X"27",X"80",X"05",
X"00",X"D0",X"8B",X"C4",X"AE",X"C4",X"D5",X"C4",X"FB",X"C4",X"21",X"C5",X"40",X"C5",X"64",X"C5",
X"8B",X"C5",X"B2",X"C5",X"AA",X"A2",X"40",X"00",X"00",X"70",X"00",X"00",X"E8",X"A0",X"00",X"00",
X"40",X"A0",X"00",X"00",X"18",X"A1",X"00",X"00",X"78",X"A0",X"00",X"00",X"EA",X"00",X"AC",X"A0",
X"80",X"00",X"E0",X"A0",X"80",X"00",X"18",X"A0",X"80",X"00",X"18",X"A0",X"80",X"00",X"80",X"A1",
X"00",X"02",X"00",X"B0",X"80",X"20",X"80",X"06",X"00",X"13",X"00",X"C3",X"00",X"10",X"00",X"C3",
X"00",X"17",X"00",X"C3",X"00",X"17",X"00",X"C0",X"00",X"17",X"00",X"C7",X"00",X"10",X"00",X"C7",
X"00",X"13",X"00",X"C7",X"06",X"F7",X"C2",X"F1",X"C0",X"32",X"00",X"C0",X"C6",X"F1",X"02",X"F7",
X"00",X"12",X"00",X"C7",X"80",X"27",X"00",X"C0",X"00",X"12",X"00",X"C3",X"80",X"22",X"80",X"05",
X"00",X"D0",X"00",X"20",X"80",X"06",X"C1",X"F2",X"00",X"11",X"00",X"C3",X"C2",X"F5",X"00",X"17",
X"00",X"C1",X"C5",X"F6",X"00",X"15",X"00",X"C7",X"C6",X"F1",X"C5",X"F5",X"00",X"23",X"80",X"C4",
X"00",X"15",X"00",X"C3",X"00",X"22",X"80",X"06",X"80",X"24",X"00",X"C2",X"40",X"36",X"80",X"C0",
X"00",X"16",X"00",X"C7",X"40",X"32",X"40",X"04",X"00",X"D0",X"00",X"20",X"80",X"06",X"C1",X"F2",
X"00",X"11",X"00",X"C3",X"C2",X"F5",X"00",X"17",X"00",X"C1",X"C5",X"F6",X"00",X"15",X"00",X"C7",
X"C6",X"F1",X"05",X"F7",X"00",X"13",X"00",X"C3",X"40",X"32",X"C0",X"C4",X"80",X"20",X"00",X"C6",
X"00",X"26",X"80",X"02",X"00",X"11",X"00",X"C7",X"80",X"27",X"00",X"C1",X"00",X"13",X"00",X"C2",
X"05",X"F9",X"00",X"D0",X"00",X"26",X"80",X"05",X"80",X"24",X"00",X"C2",X"00",X"12",X"00",X"C3",
X"00",X"22",X"80",X"C0",X"00",X"13",X"00",X"C6",X"80",X"20",X"00",X"C6",X"00",X"16",X"00",X"C7",
X"00",X"26",X"80",X"C4",X"80",X"21",X"80",X"C7",X"00",X"20",X"80",X"C2",X"40",X"36",X"80",X"C1",
X"C5",X"F6",X"80",X"23",X"00",X"00",X"00",X"17",X"00",X"C5",X"C6",X"F3",X"00",X"10",X"00",X"C3",
X"00",X"10",X"00",X"07",X"00",X"D0",X"06",X"F5",X"B0",X"F9",X"B1",X"F1",X"B1",X"F8",X"B1",X"F5",
X"B0",X"FD",X"B5",X"F5",X"B5",X"F8",X"80",X"27",X"00",X"01",X"00",X"22",X"80",X"C0",X"CD",X"F1",
X"80",X"24",X"00",X"C6",X"00",X"25",X"80",X"03",X"C5",X"F8",X"C3",X"F7",X"C0",X"F9",X"07",X"F1",
X"00",X"D0",X"80",X"26",X"80",X"04",X"80",X"20",X"00",X"C2",X"00",X"13",X"00",X"C2",X"00",X"22",
X"80",X"C4",X"00",X"12",X"00",X"C7",X"80",X"24",X"00",X"C6",X"00",X"17",X"00",X"C6",X"00",X"26",
X"80",X"C0",X"00",X"36",X"80",X"01",X"C0",X"F9",X"80",X"31",X"40",X"C6",X"C6",X"F5",X"00",X"20",
X"80",X"03",X"00",X"15",X"00",X"C7",X"C3",X"F6",X"00",X"13",X"00",X"C0",X"80",X"20",X"00",X"07",
X"00",X"D0",X"00",X"26",X"80",X"05",X"C5",X"F2",X"00",X"13",X"00",X"C1",X"C2",X"F1",X"00",X"15",
X"00",X"C3",X"C1",X"F6",X"00",X"17",X"00",X"C5",X"C6",X"F5",X"80",X"26",X"00",X"02",X"00",X"22",
X"80",X"C4",X"C0",X"30",X"40",X"C6",X"00",X"17",X"00",X"C7",X"03",X"F1",X"00",X"16",X"00",X"C7",
X"00",X"25",X"80",X"C3",X"00",X"13",X"00",X"C5",X"80",X"24",X"00",X"07",X"00",X"D0",X"80",X"26",
X"00",X"00",X"C2",X"F1",X"00",X"13",X"00",X"C1",X"C5",X"F2",X"00",X"11",X"00",X"C7",X"C6",X"F5",
X"00",X"17",X"00",X"C5",X"C1",X"F6",X"C5",X"F5",X"80",X"24",X"00",X"C3",X"00",X"13",X"00",X"C5",
X"80",X"26",X"00",X"02",X"00",X"22",X"80",X"C4",X"80",X"30",X"40",X"C6",X"00",X"17",X"00",X"C6",
X"00",X"10",X"00",X"03",X"00",X"D0",X"80",X"26",X"80",X"04",X"00",X"13",X"00",X"C7",X"00",X"13",
X"00",X"C0",X"00",X"13",X"00",X"C3",X"00",X"10",X"00",X"C3",X"00",X"17",X"00",X"C3",X"00",X"17",
X"00",X"C0",X"00",X"17",X"00",X"C7",X"03",X"F6",X"C5",X"F2",X"00",X"30",X"C0",X"C6",X"C5",X"F6",
X"03",X"F2",X"00",X"17",X"00",X"C6",X"00",X"20",X"80",X"C3",X"00",X"13",X"00",X"C6",X"80",X"25",
X"80",X"06",X"00",X"D0",X"F2",X"C5",X"11",X"C6",X"2D",X"C6",X"4A",X"C6",X"6B",X"C6",X"81",X"C6",
X"A1",X"C6",X"BF",X"C6",X"DB",X"C6",X"18",X"A0",X"80",X"02",X"18",X"A0",X"60",X"03",X"38",X"A0",
X"08",X"01",X"20",X"A0",X"30",X"03",X"68",X"A0",X"40",X"00",X"A0",X"A0",X"C8",X"03",X"E8",X"A0",
X"00",X"00",X"C0",X"A0",X"98",X"00",X"88",X"A0",X"C8",X"00",X"70",X"A1",X"C0",X"01",X"78",X"A0",
X"F8",X"02",X"E0",X"A0",X"80",X"01",X"F0",X"A0",X"20",X"02",X"B8",X"A0",X"30",X"02",X"40",X"A0",
X"60",X"02",X"40",X"00",X"00",X"0A",X"40",X"00",X"80",X"0D",X"C0",X"00",X"20",X"04",X"60",X"00",
X"C0",X"0C",X"80",X"01",X"00",X"01",X"60",X"02",X"20",X"0F",X"80",X"03",X"00",X"00",X"E0",X"02",
X"60",X"02",X"00",X"02",X"20",X"03",X"A0",X"05",X"00",X"07",X"C0",X"01",X"E0",X"0B",X"60",X"03",
X"00",X"06",X"A0",X"03",X"80",X"08",X"C0",X"02",X"C0",X"08",X"E0",X"00",X"80",X"09",X"00",X"80",
X"00",X"D2",X"50",X"74",X"18",X"06",X"00",X"70",X"00",X"D2",X"A0",X"64",X"30",X"06",X"00",X"60",
X"00",X"D2",X"40",X"55",X"60",X"06",X"00",X"40",X"E0",X"D3",X"80",X"46",X"00",X"07",X"57",X"C7",
X"5B",X"C7",X"5F",X"C7",X"63",X"C7",X"67",X"C7",X"6A",X"C7",X"6E",X"C7",X"72",X"C7",X"00",X"C4",
X"80",X"23",X"00",X"01",X"00",X"D0",X"13",X"C4",X"00",X"32",X"40",X"00",X"00",X"D0",X"22",X"C4",
X"40",X"32",X"00",X"00",X"00",X"D0",X"35",X"C4",X"00",X"32",X"80",X"04",X"00",X"D0",X"48",X"C4",
X"01",X"FA",X"00",X"D0",X"56",X"C4",X"00",X"32",X"C0",X"00",X"00",X"D0",X"69",X"C4",X"00",X"32",
X"40",X"00",X"00",X"D0",X"7C",X"C4",X"00",X"32",X"40",X"04",X"00",X"D0",X"8E",X"C7",X"94",X"C7",
X"9D",X"C7",X"A3",X"C7",X"A9",X"C7",X"B1",X"C7",X"B7",X"C7",X"BC",X"C7",X"C7",X"C7",X"D0",X"C7",
X"D7",X"C7",X"DF",X"C7",X"9D",X"C7",X"DF",X"C7",X"C7",X"C7",X"B1",X"C7",X"A3",X"C7",X"DF",X"C7",
X"BC",X"C7",X"94",X"C7",X"9D",X"C7",X"D0",X"C7",X"B1",X"C7",X"B7",X"C7",X"A5",X"F8",X"01",X"F0",
X"A1",X"FA",X"00",X"36",X"80",X"04",X"00",X"D0",X"00",X"20",X"80",X"A6",X"00",X"17",X"00",X"A0",
X"00",X"30",X"C0",X"A2",X"80",X"21",X"00",X"07",X"00",X"D0",X"A7",X"F0",X"00",X"23",X"80",X"A1",
X"00",X"27",X"80",X"01",X"00",X"D0",X"00",X"20",X"80",X"A3",X"00",X"23",X"80",X"A5",X"06",X"F7",
X"00",X"D0",X"A1",X"F8",X"00",X"13",X"00",X"A0",X"00",X"30",X"80",X"A6",X"80",X"25",X"00",X"03",
X"00",X"D0",X"A1",X"F8",X"05",X"F0",X"A5",X"FA",X"00",X"36",X"80",X"00",X"00",X"D0",X"A0",X"F1",
X"A1",X"F0",X"A0",X"F5",X"A5",X"F0",X"00",X"D0",X"00",X"27",X"80",X"A5",X"00",X"30",X"40",X"A3",
X"00",X"23",X"80",X"A5",X"00",X"25",X"80",X"A6",X"00",X"11",X"00",X"A6",X"00",X"D0",X"00",X"13",
X"00",X"A0",X"00",X"30",X"80",X"A3",X"00",X"17",X"00",X"A0",X"00",X"30",X"80",X"A7",X"00",X"D0",
X"A5",X"F1",X"00",X"06",X"00",X"02",X"A2",X"F9",X"80",X"26",X"80",X"07",X"00",X"D0",X"A1",X"F1",
X"00",X"06",X"00",X"06",X"C0",X"30",X"00",X"A6",X"00",X"26",X"80",X"07",X"00",X"D0",X"00",X"13",
X"00",X"A3",X"00",X"17",X"00",X"A3",X"00",X"17",X"00",X"A7",X"00",X"13",X"00",X"A7",X"00",X"D0",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"53");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_VEC_ROM_1 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_VEC_ROM_1 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"44",X"C8",X"4C",X"C8",X"52",X"C8",X"56",X"C8",X"00",X"D0",X"5B",X"C8",X"62",X"C8",X"00",X"D0",
X"68",X"C8",X"6F",X"C8",X"00",X"D0",X"7C",X"C8",X"82",X"C8",X"86",X"C8",X"4C",X"C8",X"00",X"D0",
X"8D",X"C8",X"62",X"C8",X"00",X"D0",X"92",X"C8",X"98",X"C8",X"9D",X"C8",X"00",X"D0",X"5B",X"C8",
X"A6",X"C8",X"D1",X"C8",X"AD",X"C8",X"00",X"D0",X"44",X"C8",X"86",X"C8",X"B2",X"C8",X"00",X"D0",
X"6F",X"C8",X"AA",X"F8",X"4C",X"C8",X"AA",X"F8",X"C4",X"C8",X"00",X"D0",X"56",X"C8",X"4C",X"C8",
X"7C",X"C8",X"56",X"C8",X"AA",X"FE",X"00",X"D0",X"BC",X"C8",X"82",X"C8",X"68",X"C8",X"00",X"D0",
X"B2",X"C8",X"C4",X"C8",X"86",X"C8",X"00",X"60",X"00",X"A2",X"00",X"D0",X"C9",X"C8",X"CE",X"C8",
X"00",X"D0",X"A6",X"C8",X"AA",X"F8",X"9D",X"C8",X"AA",X"F8",X"92",X"C8",X"00",X"D0",X"8D",X"C8",
X"D1",X"C8",X"AD",X"C8",X"AA",X"FA",X"00",X"D0",X"AA",X"F8",X"00",X"56",X"80",X"A0",X"AA",X"F8",
X"00",X"56",X"80",X"A0",X"A9",X"F8",X"00",X"D0",X"00",X"67",X"40",X"A0",X"00",X"67",X"C0",X"A0",
X"A8",X"FE",X"00",X"D0",X"00",X"66",X"80",X"A0",X"AB",X"FE",X"00",X"D0",X"00",X"66",X"80",X"A0",
X"A9",X"FE",X"AA",X"FE",X"00",X"D0",X"AA",X"F8",X"AA",X"FA",X"80",X"53",X"00",X"A2",X"80",X"52",
X"00",X"A2",X"00",X"D0",X"AA",X"FA",X"A9",X"FA",X"AA",X"FA",X"A9",X"FA",X"AA",X"F9",X"00",X"D0",
X"AA",X"FB",X"80",X"50",X"00",X"A2",X"80",X"51",X"00",X"A2",X"AA",X"F8",X"00",X"D0",X"80",X"54",
X"00",X"A2",X"80",X"55",X"00",X"A2",X"00",X"56",X"80",X"A0",X"00",X"56",X"80",X"A1",X"00",X"56",
X"80",X"A0",X"00",X"56",X"80",X"A1",X"00",X"D0",X"00",X"56",X"80",X"A0",X"00",X"56",X"80",X"A1",
X"AA",X"F8",X"00",X"D0",X"00",X"62",X"C0",X"A0",X"AB",X"F2",X"00",X"D0",X"AB",X"F6",X"00",X"56",
X"80",X"A1",X"00",X"66",X"80",X"A0",X"AB",X"FE",X"00",X"D0",X"AA",X"FE",X"00",X"60",X"00",X"A2",
X"AA",X"FA",X"00",X"D0",X"80",X"62",X"80",X"A0",X"00",X"62",X"80",X"A0",X"AA",X"F9",X"00",X"D0",
X"AA",X"FA",X"AA",X"FB",X"00",X"62",X"00",X"A1",X"00",X"D0",X"00",X"62",X"80",X"A0",X"AA",X"FA",
X"A9",X"FA",X"00",X"52",X"80",X"A0",X"00",X"52",X"80",X"A1",X"00",X"D0",X"00",X"62",X"80",X"A0",
X"00",X"63",X"80",X"A0",X"00",X"62",X"00",X"A0",X"00",X"D0",X"00",X"52",X"80",X"A0",X"00",X"52",
X"80",X"A1",X"00",X"D0",X"00",X"56",X"80",X"A0",X"80",X"67",X"40",X"A1",X"00",X"D0",X"00",X"70",
X"00",X"A2",X"00",X"70",X"00",X"A2",X"00",X"D0",X"00",X"63",X"80",X"A0",X"00",X"62",X"00",X"A1",
X"00",X"62",X"80",X"A0",X"A9",X"F8",X"00",X"D0",X"00",X"56",X"80",X"A0",X"00",X"56",X"80",X"A1",
X"00",X"D0",X"40",X"64",X"00",X"A2",X"C0",X"64",X"00",X"A2",X"00",X"D0",X"00",X"70",X"00",X"A2",
X"00",X"D0",X"00",X"62",X"40",X"A0",X"80",X"62",X"C0",X"A0",X"AA",X"F9",X"00",X"D0",X"AA",X"FA",
X"00",X"62",X"80",X"A0",X"00",X"52",X"80",X"A2",X"00",X"D0",X"00",X"C8",X"05",X"C8",X"08",X"C8",
X"0B",X"C8",X"10",X"C8",X"13",X"C8",X"17",X"C8",X"1C",X"C8",X"20",X"C8",X"26",X"C8",X"B7",X"C8",
X"2C",X"C8",X"30",X"C8",X"36",X"C8",X"39",X"C8",X"3F",X"C8",X"00",X"C8",X"05",X"C8",X"08",X"C8",
X"0B",X"C8",X"80",X"03",X"00",X"00",X"80",X"01",X"00",X"00",X"90",X"02",X"00",X"00",X"40",X"02",
X"00",X"00",X"E0",X"00",X"00",X"00",X"70",X"01",X"00",X"00",X"60",X"03",X"00",X"00",X"A0",X"05",
X"00",X"00",X"40",X"04",X"00",X"00",X"80",X"02",X"00",X"00",X"40",X"00",X"00",X"00",X"40",X"00",
X"00",X"00",X"C0",X"01",X"00",X"00",X"60",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"80",X"02",
X"00",X"00",X"68",X"03",X"68",X"01",X"78",X"02",X"28",X"02",X"C8",X"00",X"58",X"01",X"48",X"03",
X"88",X"05",X"28",X"04",X"68",X"02",X"28",X"00",X"28",X"00",X"A8",X"01",X"48",X"00",X"28",X"00",
X"68",X"02",X"92",X"00",X"00",X"62",X"00",X"02",X"88",X"F8",X"40",X"83",X"40",X"04",X"78",X"F8",
X"00",X"70",X"00",X"03",X"88",X"F8",X"80",X"77",X"80",X"04",X"98",X"F8",X"00",X"86",X"80",X"00",
X"00",X"D0",X"40",X"82",X"C0",X"00",X"98",X"F8",X"80",X"76",X"80",X"00",X"78",X"F8",X"00",X"76",
X"00",X"02",X"00",X"D0",X"08",X"FA",X"98",X"F8",X"00",X"83",X"C0",X"00",X"78",X"F8",X"00",X"77",
X"80",X"01",X"88",X"F8",X"80",X"77",X"00",X"01",X"00",X"D0",X"00",X"63",X"00",X"01",X"78",X"F8",
X"80",X"73",X"00",X"00",X"98",X"F8",X"80",X"75",X"80",X"02",X"88",X"F8",X"80",X"77",X"00",X"01",
X"00",X"D0",X"00",X"66",X"00",X"03",X"98",X"F8",X"00",X"72",X"00",X"01",X"88",X"F8",X"40",X"82",
X"C0",X"04",X"98",X"F8",X"00",X"72",X"80",X"02",X"88",X"F8",X"C0",X"87",X"40",X"00",X"78",X"F8",
X"00",X"D0",X"80",X"70",X"00",X"02",X"78",X"F8",X"80",X"82",X"80",X"00",X"98",X"F8",X"C0",X"86",
X"80",X"00",X"00",X"D0",X"40",X"82",X"40",X"00",X"98",X"F8",X"80",X"73",X"00",X"03",X"88",X"F8",
X"C0",X"87",X"80",X"04",X"78",X"F8",X"00",X"65",X"00",X"03",X"00",X"D0",X"00",X"72",X"00",X"01",
X"88",X"F8",X"00",X"72",X"00",X"02",X"98",X"F8",X"00",X"86",X"80",X"00",X"00",X"D0",X"22",X"C9",
X"3A",X"C9",X"51",X"C9",X"6A",X"C9",X"22",X"C9",X"3A",X"C9",X"51",X"C9",X"6A",X"C9",X"31",X"C9",
X"45",X"C9",X"61",X"C9",X"76",X"C9",X"31",X"C9",X"45",X"C9",X"61",X"C9",X"76",X"C9",X"00",X"60",
X"00",X"02",X"88",X"F8",X"40",X"87",X"00",X"01",X"68",X"F8",X"40",X"83",X"80",X"00",X"00",X"D0",
X"00",X"92",X"00",X"00",X"8F",X"C9",X"00",X"96",X"00",X"00",X"00",X"D0",X"00",X"86",X"00",X"00",
X"58",X"F8",X"80",X"82",X"C0",X"01",X"88",X"F8",X"00",X"73",X"80",X"00",X"00",X"D0",X"00",X"71",
X"00",X"02",X"78",X"F8",X"E0",X"96",X"40",X"00",X"68",X"F8",X"40",X"82",X"80",X"00",X"88",X"F8",
X"00",X"D0",X"40",X"92",X"80",X"00",X"58",X"F8",X"E0",X"97",X"60",X"00",X"88",X"F8",X"20",X"92",
X"20",X"00",X"68",X"F8",X"00",X"D0",X"80",X"92",X"A0",X"00",X"78",X"F8",X"80",X"86",X"C0",X"00",
X"88",X"F8",X"00",X"D0",X"40",X"83",X"40",X"01",X"58",X"F8",X"00",X"73",X"80",X"01",X"88",X"F8",
X"00",X"D0",X"00",X"76",X"00",X"02",X"78",X"F8",X"C0",X"86",X"C0",X"00",X"88",X"F8",X"00",X"72",
X"80",X"00",X"68",X"F8",X"00",X"D0",X"20",X"97",X"00",X"00",X"BB",X"C9",X"00",X"D0",X"00",X"73",
X"00",X"00",X"A7",X"C9",X"00",X"D0",X"00",X"86",X"00",X"00",X"B1",X"C9",X"00",X"72",X"00",X"00",
X"00",X"D0",X"80",X"77",X"00",X"00",X"BB",X"C9",X"00",X"D0",X"00",X"67",X"00",X"00",X"C9",X"C9",
X"00",X"D0",X"80",X"83",X"80",X"01",X"68",X"F8",X"00",X"60",X"00",X"02",X"00",X"D0",X"E0",X"96",
X"00",X"00",X"C2",X"C9",X"00",X"D0",X"00",X"77",X"00",X"00",X"BB",X"C9",X"00",X"D0",X"8F",X"C9",
X"98",X"C9",X"9E",X"C9",X"A7",X"C9",X"B1",X"C9",X"BB",X"C9",X"C2",X"C9",X"C9",X"C9",X"D3",X"C9",
X"D7",X"C9",X"DB",X"C9",X"E1",X"C9",X"E5",X"C9",X"E9",X"C9",X"EF",X"C9",X"F3",X"C9",X"8F",X"C9",
X"98",X"C9",X"9E",X"C9",X"A7",X"C9",X"E0",X"04",X"00",X"00",X"E0",X"04",X"00",X"00",X"E0",X"04",
X"00",X"00",X"E0",X"05",X"00",X"00",X"60",X"04",X"00",X"00",X"E0",X"04",X"00",X"00",X"20",X"06",
X"00",X"00",X"80",X"08",X"00",X"00",X"20",X"07",X"00",X"00",X"40",X"05",X"00",X"00",X"80",X"04",
X"00",X"00",X"80",X"04",X"00",X"00",X"E0",X"04",X"00",X"00",X"20",X"03",X"00",X"00",X"E0",X"04",
X"00",X"00",X"60",X"04",X"00",X"00",X"2C",X"CA",X"EC",X"A2",X"64",X"00",X"00",X"70",X"00",X"00",
X"62",X"CB",X"F4",X"CA",X"44",X"CB",X"5A",X"CB",X"02",X"CB",X"93",X"CB",X"93",X"CB",X"E0",X"64",
X"A0",X"06",X"69",X"CB",X"21",X"CB",X"39",X"CB",X"02",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",
X"E0",X"64",X"A0",X"06",X"0A",X"CB",X"6F",X"CB",X"02",X"CB",X"34",X"CB",X"93",X"CB",X"93",X"CB",
X"93",X"CB",X"70",X"80",X"40",X"03",X"DF",X"CA",X"34",X"CB",X"69",X"CB",X"21",X"CB",X"69",X"CB",
X"6F",X"CB",X"FA",X"CA",X"02",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",
X"93",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"70",X"74",X"60",X"07",X"1A",X"CB",
X"44",X"CB",X"5A",X"CB",X"21",X"CB",X"8D",X"CB",X"44",X"CB",X"3F",X"CB",X"69",X"CB",X"DF",X"CA",
X"34",X"CB",X"93",X"CB",X"62",X"CB",X"4A",X"CB",X"02",X"CB",X"02",X"CB",X"FA",X"CA",X"93",X"CB",
X"93",X"CB",X"70",X"74",X"60",X"07",X"75",X"CB",X"02",X"CB",X"5A",X"CB",X"69",X"CB",X"21",X"CB",
X"F4",X"CA",X"DF",X"CA",X"34",X"CB",X"93",X"CB",X"62",X"CB",X"4A",X"CB",X"02",X"CB",X"02",X"CB",
X"FA",X"CA",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"93",X"CB",X"00",X"D0",X"40",X"A2",X"B2",X"01",
X"60",X"A2",X"BE",X"01",X"60",X"A2",X"88",X"01",X"10",X"A2",X"76",X"01",X"80",X"A2",X"4C",X"01",
X"20",X"A2",X"A6",X"01",X"D0",X"A1",X"BE",X"01",X"10",X"A2",X"C4",X"01",X"E0",X"A1",X"A6",X"01",
X"20",X"A2",X"10",X"01",X"00",X"A2",X"70",X"01",X"00",X"A2",X"4C",X"01",X"EC",X"A2",X"C8",X"00",
X"00",X"70",X"00",X"00",X"C0",X"55",X"00",X"07",X"D9",X"CA",X"C0",X"55",X"80",X"07",X"38",X"90",
X"3C",X"02",X"E0",X"64",X"40",X"06",X"E0",X"64",X"40",X"06",X"B3",X"CA",X"BB",X"CA",X"08",X"F8",
X"C3",X"CA",X"CC",X"CA",X"08",X"F8",X"80",X"42",X"80",X"01",X"CB",X"F0",X"C7",X"F3",X"80",X"36",
X"00",X"C0",X"C3",X"F3",X"00",X"D0",X"40",X"51",X"40",X"02",X"CF",X"F0",X"C3",X"F3",X"80",X"36",
X"00",X"C0",X"C7",X"F3",X"00",X"D0",X"40",X"46",X"00",X"03",X"C8",X"F3",X"C7",X"F7",X"C3",X"F8",
X"C7",X"F3",X"C0",X"44",X"00",X"07",X"00",X"D0",X"C0",X"40",X"00",X"03",X"C8",X"F7",X"C7",X"F3",
X"C3",X"F8",X"C7",X"F7",X"40",X"42",X"00",X"07",X"00",X"D0",X"C2",X"A2",X"78",X"03",X"00",X"70",
X"00",X"00",X"01",X"F2",X"70",X"F0",X"00",X"F2",X"70",X"F0",X"01",X"FE",X"00",X"D0",X"C0",X"FA",
X"C2",X"F2",X"C2",X"F6",X"C0",X"FE",X"06",X"F9",X"C2",X"F8",X"02",X"F6",X"00",X"D0",X"C0",X"FB",
X"C3",X"F0",X"C1",X"F5",X"C0",X"F5",X"C5",X"F5",X"C7",X"F0",X"03",X"F0",X"C1",X"F5",X"C0",X"F5",
X"C5",X"F5",X"C7",X"F0",X"03",X"F8",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"06",X"FF",X"C2",X"F8",
X"02",X"F0",X"00",X"D0",X"C0",X"FB",X"C2",X"F0",X"C2",X"F6",X"C0",X"F6",X"C6",X"F6",X"C6",X"F0",
X"03",X"F8",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"05",X"F7",X"C7",X"F0",X"00",X"F7",X"C2",X"F8",
X"02",X"F0",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"05",X"F7",X"C7",X"F0",X"00",X"F7",X"03",X"F8",
X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"C0",X"F6",X"06",X"F6",X"C2",X"F0",X"C0",X"F6",X"C6",X"F8",
X"03",X"F8",X"00",X"D0",X"C0",X"FB",X"00",X"F7",X"C2",X"F8",X"00",X"F3",X"C0",X"FF",X"02",X"F0",
X"00",X"D0",X"C2",X"F8",X"06",X"F0",X"C0",X"FB",X"02",X"F0",X"C6",X"F8",X"03",X"FF",X"00",X"D0",
X"00",X"F2",X"C2",X"F6",X"C2",X"F0",X"C0",X"FB",X"01",X"FF",X"00",X"D0",X"C0",X"FB",X"03",X"F0",
X"C7",X"F7",X"C3",X"F7",X"03",X"F0",X"00",X"D0",X"00",X"FB",X"C0",X"FF",X"C2",X"F8",X"02",X"F0",
X"00",X"D0",X"C0",X"FB",X"C2",X"F6",X"C2",X"F2",X"C0",X"FF",X"02",X"F0",X"00",X"D0",X"C0",X"FB",
X"C2",X"FF",X"C0",X"FB",X"01",X"FF",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"C0",X"FF",X"C6",X"F8",
X"03",X"F8",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"C0",X"F7",X"C6",X"F8",X"03",X"F7",X"03",X"F0",
X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"C0",X"FE",X"C6",X"F6",X"C6",X"F0",X"02",X"F2",X"C2",X"F6",
X"02",X"F0",X"00",X"D0",X"C0",X"FB",X"C2",X"F8",X"C0",X"F7",X"C6",X"F8",X"01",X"F0",X"C3",X"F7",
X"02",X"F0",X"00",X"D0",X"C2",X"F8",X"C0",X"F3",X"C6",X"F8",X"C0",X"F3",X"C2",X"F8",X"01",X"FF",
X"00",X"D0",X"02",X"F0",X"C0",X"FB",X"06",X"F0",X"C2",X"F8",X"01",X"FF",X"00",X"D0",X"00",X"FB",
X"C0",X"FF",X"C2",X"F8",X"C0",X"FB",X"01",X"FF",X"00",X"D0",X"00",X"FB",X"C1",X"FF",X"C1",X"FB",
X"01",X"FF",X"00",X"D0",X"00",X"FB",X"C0",X"FF",X"C2",X"F2",X"C2",X"F6",X"C0",X"FB",X"01",X"FF",
X"00",X"D0",X"C2",X"FB",X"06",X"F8",X"C2",X"FF",X"02",X"F0",X"00",X"D0",X"02",X"F0",X"C0",X"FA",
X"C6",X"F2",X"02",X"F8",X"C6",X"F6",X"02",X"FE",X"00",X"D0",X"00",X"FB",X"C2",X"F8",X"C6",X"FF",
X"C2",X"F8",X"02",X"F0",X"00",X"D0",X"03",X"F8",X"00",X"D0",X"02",X"F0",X"C0",X"FB",X"02",X"FF",
X"00",X"D0",X"00",X"FB",X"C2",X"F8",X"C0",X"F7",X"C6",X"F8",X"C0",X"F7",X"C2",X"F8",X"02",X"F0",
X"00",X"D0",X"C2",X"F8",X"C0",X"FB",X"C6",X"F8",X"00",X"F7",X"C2",X"F8",X"02",X"F7",X"00",X"D0",
X"00",X"FB",X"C0",X"F7",X"C2",X"F8",X"00",X"F3",X"C0",X"FF",X"02",X"F0",X"00",X"D0",X"C2",X"F8",
X"C0",X"F3",X"C6",X"F8",X"C0",X"F3",X"C2",X"F8",X"01",X"FF",X"00",X"D0",X"00",X"F3",X"C2",X"F8",
X"C0",X"F7",X"C6",X"F8",X"C0",X"FB",X"03",X"FF",X"00",X"D0",X"00",X"FB",X"C2",X"F8",X"C0",X"FF",
X"02",X"F0",X"00",X"D0",X"C2",X"F8",X"C0",X"FB",X"C6",X"F8",X"C0",X"FF",X"00",X"F3",X"C2",X"F8",
X"02",X"F7",X"00",X"D0",X"02",X"F8",X"C0",X"FB",X"C6",X"F8",X"C0",X"F7",X"C2",X"F8",X"02",X"F7",
X"00",X"D0",X"93",X"CB",X"44",X"CB",X"95",X"CB",X"99",X"CB",X"A1",X"CB",X"A8",X"CB",X"AF",X"CB",
X"B6",X"CB",X"BD",X"CB",X"C2",X"CB",X"CA",X"CB",X"DF",X"CA",X"E7",X"CA",X"F4",X"CA",X"FA",X"CA",
X"02",X"CB",X"0A",X"CB",X"11",X"CB",X"1A",X"CB",X"21",X"CB",X"28",X"CB",X"2E",X"CB",X"34",X"CB",
X"39",X"CB",X"3F",X"CB",X"44",X"CB",X"4A",X"CB",X"51",X"CB",X"5A",X"CB",X"62",X"CB",X"69",X"CB",
X"6F",X"CB",X"75",X"CB",X"7A",X"CB",X"81",X"CB",X"86",X"CB",X"8D",X"CB",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"37");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,150 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity LLANDER_VEC_ROM_2 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of LLANDER_VEC_ROM_2 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"00",X"30",X"60",X"00",X"94",X"58",X"C6",X"58",X"FA",X"58",X"2E",X"59",X"48",X"59",X"79",X"59",
X"9C",X"59",X"10",X"5A",X"36",X"5A",X"86",X"5A",X"D2",X"5A",X"0C",X"5B",X"4E",X"5B",X"82",X"5B",
X"EA",X"5B",X"36",X"5C",X"8D",X"5C",X"A6",X"5C",X"EC",X"5C",X"6A",X"5D",X"AA",X"5D",X"ED",X"5D",
X"02",X"5E",X"23",X"5E",X"A5",X"58",X"D7",X"58",X"0B",X"59",X"35",X"59",X"5D",X"59",X"82",X"59",
X"C5",X"59",X"1D",X"5A",X"55",X"5A",X"9C",X"5A",X"E4",X"5A",X"21",X"5B",X"5F",X"5B",X"A3",X"5B",
X"06",X"5C",X"47",X"5C",X"AD",X"5C",X"C5",X"5C",X"18",X"5D",X"7C",X"5D",X"C4",X"5D",X"F4",X"5D",
X"0E",X"5E",X"38",X"5E",X"B1",X"58",X"E7",X"58",X"1A",X"59",X"3D",X"59",X"6B",X"59",X"8B",X"59",
X"F1",X"59",X"2B",X"5A",X"70",X"5A",X"B1",X"5A",X"FA",X"5A",X"39",X"5B",X"71",X"5B",X"C4",X"5B",
X"22",X"5C",X"6C",X"5C",X"CE",X"5C",X"E3",X"5C",X"3C",X"5D",X"83",X"5D",X"DA",X"5D",X"FB",X"5D",
X"1A",X"5E",X"51",X"5E",X"16",X"34",X"34",X"3E",X"46",X"1E",X"38",X"00",X"3A",X"3E",X"38",X"00",
X"3A",X"3C",X"16",X"38",X"BC",X"34",X"3E",X"2C",X"3A",X"16",X"38",X"00",X"3A",X"3C",X"16",X"38",
X"BC",X"3A",X"3C",X"16",X"38",X"3C",X"2A",X"30",X"32",X"1E",X"34",X"20",X"1E",X"00",X"1C",X"38",
X"3E",X"1E",X"1A",X"2A",X"1E",X"B0",X"1A",X"16",X"38",X"18",X"3E",X"38",X"16",X"30",X"3C",X"00",
X"1C",X"26",X"2E",X"26",X"30",X"3E",X"9E",X"34",X"32",X"1A",X"32",X"00",X"1A",X"32",X"2E",X"18",
X"3E",X"3A",X"3C",X"26",X"18",X"2C",X"9E",X"3C",X"38",X"1E",X"26",X"18",X"3A",X"3C",X"32",X"20",
X"20",X"00",X"22",X"1E",X"24",X"3C",X"00",X"16",X"3E",X"BA",X"34",X"2C",X"3E",X"3A",X"00",X"1C",
X"1E",X"00",X"1A",X"16",X"38",X"18",X"3E",X"38",X"16",X"30",X"BC",X"3A",X"26",X"30",X"00",X"1A",
X"32",X"2E",X"18",X"3E",X"3A",X"3C",X"26",X"18",X"2C",X"9E",X"3C",X"38",X"1E",X"26",X"18",X"3A",
X"3C",X"32",X"20",X"20",X"3C",X"16",X"30",X"2A",X"3A",X"00",X"2C",X"1E",X"1E",X"B8",X"34",X"1E",
X"38",X"1C",X"3E",X"1E",X"BA",X"34",X"1E",X"38",X"1C",X"26",X"1C",X"16",X"BA",X"3C",X"1E",X"26",
X"2C",X"40",X"1E",X"38",X"2C",X"3E",X"3A",X"BC",X"26",X"30",X"3C",X"38",X"32",X"1C",X"3E",X"26",
X"38",X"1E",X"00",X"2C",X"1E",X"3A",X"00",X"34",X"26",X"1E",X"1A",X"1E",X"BA",X"26",X"30",X"3A",
X"1E",X"38",X"3C",X"1E",X"00",X"20",X"26",X"1A",X"24",X"16",X"BA",X"22",X"1E",X"2C",X"1C",X"00",
X"16",X"3E",X"3A",X"42",X"1E",X"38",X"20",X"1E",X"B0",X"34",X"16",X"38",X"00",X"34",X"26",X"1E",
X"1A",X"9E",X"34",X"32",X"38",X"00",X"20",X"26",X"1A",X"24",X"96",X"48",X"3E",X"2A",X"16",X"3E",
X"20",X"00",X"34",X"38",X"32",X"00",X"2E",X"3E",X"1E",X"30",X"48",X"9E",X"38",X"1E",X"3A",X"1E",
X"38",X"40",X"32",X"26",X"38",X"00",X"16",X"3E",X"44",X"26",X"2C",X"26",X"16",X"26",X"38",X"1E",
X"00",X"1C",X"1E",X"00",X"1A",X"16",X"38",X"18",X"3E",X"38",X"16",X"30",X"3C",X"00",X"1C",X"1E",
X"3C",X"38",X"3E",X"26",X"BC",X"3C",X"16",X"30",X"36",X"3E",X"1E",X"3A",X"00",X"16",X"3E",X"44",
X"26",X"2C",X"26",X"16",X"38",X"1E",X"3A",X"00",X"1C",X"1E",X"00",X"1A",X"32",X"2E",X"18",X"3E",
X"3A",X"3C",X"26",X"18",X"2C",X"1E",X"00",X"1C",X"1E",X"3A",X"3C",X"38",X"3E",X"26",X"1C",X"32",
X"BA",X"48",X"3E",X"3A",X"16",X"3C",X"48",X"3C",X"38",X"1E",X"26",X"18",X"3A",X"3C",X"32",X"20",
X"20",X"3C",X"16",X"30",X"2A",X"3A",X"00",X"48",X"1E",X"38",X"3A",X"3C",X"32",X"1E",X"38",X"BC",
X"20",X"1E",X"2C",X"26",X"1A",X"26",X"3C",X"16",X"3C",X"26",X"32",X"30",X"BA",X"20",X"1E",X"2C",
X"26",X"1A",X"26",X"3C",X"16",X"1A",X"26",X"32",X"30",X"1E",X"BA",X"22",X"38",X"16",X"3C",X"3E",
X"2C",X"16",X"3C",X"26",X"32",X"B0",X"40",X"32",X"3E",X"3A",X"00",X"16",X"40",X"1E",X"48",X"00",
X"16",X"3C",X"3C",X"1E",X"38",X"38",X"26",X"00",X"1C",X"26",X"20",X"20",X"26",X"1A",X"26",X"2C",
X"1E",X"2E",X"1E",X"30",X"BC",X"3E",X"3A",X"3C",X"1E",X"1C",X"00",X"16",X"2C",X"3E",X"30",X"26",
X"48",X"32",X"00",X"40",X"26",X"32",X"2C",X"1E",X"30",X"3C",X"16",X"2E",X"1E",X"30",X"3C",X"9E",
X"3A",X"26",X"1E",X"00",X"3A",X"26",X"30",X"1C",X"00",X"24",X"16",X"38",X"3C",X"00",X"22",X"1E",
X"2C",X"16",X"30",X"1C",X"1E",X"BC",X"3A",X"34",X"2C",X"1E",X"30",X"1C",X"26",X"1C",X"1E",X"00",
X"16",X"3C",X"3C",X"1E",X"38",X"38",X"26",X"3A",X"3A",X"16",X"22",X"9E",X"20",X"3E",X"1E",X"00",
X"3E",X"30",X"00",X"22",X"38",X"16",X"30",X"00",X"16",X"2C",X"3E",X"30",X"26",X"48",X"16",X"28",
X"9E",X"1C",X"26",X"1E",X"3A",X"00",X"42",X"16",X"38",X"00",X"1E",X"26",X"30",X"1E",X"00",X"22",
X"38",X"32",X"3A",X"3A",X"16",X"38",X"3C",X"26",X"22",X"1E",X"00",X"2C",X"16",X"30",X"1C",X"3E",
X"30",X"A2",X"2C",X"1E",X"00",X"1E",X"16",X"22",X"2C",X"1E",X"00",X"16",X"00",X"16",X"3C",X"3C",
X"1E",X"38",X"38",X"A6",X"1E",X"2C",X"00",X"16",X"22",X"3E",X"26",X"2C",X"16",X"00",X"24",X"16",
X"00",X"16",X"2C",X"3E",X"30",X"26",X"48",X"16",X"1C",X"B2",X"1E",X"16",X"22",X"2C",X"1E",X"00",
X"26",X"3A",X"3C",X"00",X"22",X"1E",X"2C",X"16",X"30",X"1C",X"1E",X"BC",X"2C",X"1E",X"00",X"1A",
X"32",X"2C",X"3E",X"2E",X"18",X"26",X"16",X"00",X"16",X"00",X"16",X"3C",X"3C",X"1E",X"38",X"38",
X"A6",X"1E",X"2C",X"00",X"1A",X"32",X"2C",X"3E",X"2E",X"18",X"26",X"16",X"00",X"24",X"16",X"00",
X"16",X"2C",X"3E",X"30",X"26",X"48",X"16",X"1C",X"B2",X"1A",X"32",X"2C",X"3E",X"2E",X"18",X"26",
X"16",X"00",X"26",X"3A",X"3C",X"00",X"22",X"1E",X"2C",X"16",X"30",X"1C",X"1E",X"BC",X"40",X"32",
X"3E",X"3A",X"00",X"16",X"40",X"1E",X"48",X"00",X"16",X"3C",X"3C",X"1E",X"38",X"38",X"A6",X"3E",
X"3A",X"3C",X"1E",X"1C",X"00",X"24",X"16",X"00",X"16",X"2C",X"3E",X"30",X"26",X"48",X"16",X"1C",
X"B2",X"3A",X"26",X"1E",X"00",X"3A",X"26",X"30",X"1C",X"00",X"22",X"1E",X"2C",X"16",X"30",X"1C",
X"1E",X"BC",X"2C",X"1E",X"00",X"3A",X"3E",X"34",X"34",X"32",X"38",X"3C",X"00",X"1C",X"1E",X"00",
X"3A",X"16",X"3E",X"40",X"1E",X"3C",X"16",X"22",X"1E",X"00",X"1E",X"3A",X"3C",X"00",X"34",X"16",
X"38",X"3C",X"A6",X"1E",X"36",X"3E",X"26",X"34",X"32",X"00",X"1C",X"1E",X"00",X"3A",X"3E",X"34",
X"1E",X"38",X"40",X"26",X"40",X"1E",X"30",X"1A",X"26",X"16",X"00",X"1C",X"1E",X"3A",X"3C",X"38",
X"3E",X"26",X"1C",X"B2",X"2C",X"1E",X"18",X"1E",X"30",X"3A",X"38",X"1E",X"3C",X"3C",X"3E",X"30",
X"22",X"3A",X"3A",X"46",X"3A",X"3C",X"1E",X"2E",X"1E",X"00",X"3A",X"26",X"30",X"1C",X"00",X"16",
X"3E",X"3A",X"22",X"1E",X"20",X"16",X"2C",X"2C",X"1E",X"B0",X"40",X"32",X"3C",X"38",X"1E",X"00",
X"40",X"32",X"46",X"16",X"22",X"1E",X"00",X"1E",X"3A",X"3C",X"00",X"3A",X"16",X"30",X"3A",X"00",
X"38",X"1E",X"3C",X"32",X"3E",X"B8",X"3A",X"3E",X"00",X"40",X"26",X"16",X"28",X"1E",X"00",X"1E",
X"3A",X"00",X"1C",X"1E",X"00",X"26",X"1C",X"16",X"00",X"3A",X"32",X"2C",X"16",X"2E",X"1E",X"30",
X"3C",X"9E",X"38",X"1E",X"26",X"3A",X"1E",X"00",X"32",X"24",X"30",X"1E",X"00",X"38",X"3E",X"1E",
X"1A",X"2A",X"2A",X"1E",X"24",X"B8",X"34",X"1E",X"38",X"1C",X"3E",X"00",X"3A",X"16",X"30",X"3A",
X"00",X"1E",X"3A",X"34",X"32",X"26",X"B8",X"2C",X"16",X"2E",X"1E",X"30",X"3C",X"16",X"18",X"2C",
X"1E",X"2E",X"1E",X"30",X"3C",X"1E",X"00",X"3E",X"3A",X"3C",X"1E",X"1C",X"00",X"30",X"32",X"00",
X"34",X"3E",X"1E",X"1C",X"1E",X"00",X"40",X"32",X"2C",X"40",X"1E",X"B8",X"2A",X"1E",X"26",X"30",
X"00",X"38",X"3E",X"1E",X"1A",X"2A",X"3A",X"3C",X"16",X"38",X"3C",X"00",X"48",X"3E",X"38",X"00",
X"1E",X"38",X"1C",X"1E",X"00",X"2E",X"32",X"1E",X"22",X"2C",X"26",X"1A",X"A4",X"3A",X"46",X"3A",
X"3C",X"1E",X"2E",X"1E",X"00",X"1C",X"1E",X"00",X"1A",X"32",X"2E",X"2E",X"3E",X"30",X"26",X"1A",
X"16",X"3C",X"26",X"32",X"30",X"00",X"1C",X"1E",X"3C",X"38",X"3E",X"26",X"BC",X"3A",X"26",X"3A",
X"3C",X"1E",X"2E",X"16",X"00",X"1C",X"1E",X"00",X"1A",X"32",X"2E",X"3E",X"30",X"26",X"1A",X"16",
X"1A",X"26",X"32",X"30",X"00",X"1C",X"1E",X"3A",X"3C",X"38",X"3E",X"26",X"1C",X"B2",X"2A",X"32",
X"2E",X"2E",X"3E",X"30",X"26",X"2A",X"16",X"3C",X"26",X"32",X"30",X"3A",X"3A",X"46",X"3A",X"3C",
X"1E",X"2E",X"00",X"48",X"1E",X"38",X"3A",X"3C",X"32",X"1E",X"38",X"BC",X"40",X"32",X"3E",X"3A",
X"00",X"16",X"40",X"1E",X"48",X"00",X"1A",X"38",X"1E",X"1E",X"00",X"3E",X"30",X"00",X"1A",X"38",
X"16",X"3C",X"1E",X"38",X"1E",X"00",X"1C",X"1E",X"00",X"1C",X"1E",X"3E",X"44",X"00",X"2A",X"26",
X"2C",X"32",X"2E",X"1E",X"3C",X"38",X"1E",X"BA",X"3E",X"3A",X"3C",X"1E",X"1C",X"00",X"1A",X"38",
X"1E",X"32",X"00",X"3E",X"30",X"00",X"1A",X"38",X"16",X"3C",X"1E",X"38",X"00",X"1C",X"1E",X"00",
X"06",X"00",X"2A",X"26",X"2C",X"32",X"2E",X"1E",X"3C",X"38",X"32",X"BA",X"3A",X"26",X"1E",X"00",
X"24",X"16",X"18",X"1E",X"30",X"00",X"1E",X"26",X"30",X"1E",X"30",X"00",X"06",X"00",X"2A",X"26",
X"2C",X"32",X"2E",X"1E",X"3C",X"1E",X"38",X"00",X"2A",X"38",X"16",X"3C",X"1E",X"38",X"00",X"16",
X"3E",X"20",X"22",X"1E",X"38",X"26",X"3A",X"3A",X"1E",X"B0",X"40",X"32",X"3E",X"3A",X"00",X"16",
X"40",X"1E",X"48",X"00",X"3E",X"30",X"00",X"1A",X"38",X"16",X"3A",X"A4",X"1C",X"1E",X"2E",X"32",
X"2C",X"1E",X"B8",X"0C",X"02",X"00",X"02",X"02",X"02",X"00",X"02",X"02",X"02",X"00",X"2E",X"16",
X"38",X"2A",X"00",X"3A",X"26",X"30",X"1C",X"00",X"26",X"30",X"00",X"1C",X"26",X"1E",X"00",X"2C",
X"3E",X"20",X"3C",X"00",X"22",X"1E",X"28",X"16",X"22",X"BC",X"26",X"2C",X"00",X"30",X"1E",X"46",
X"00",X"16",X"00",X"34",X"16",X"3A",X"00",X"1C",X"1E",X"00",X"3A",X"3E",X"38",X"40",X"26",X"40",
X"16",X"30",X"3C",X"BA",X"30",X"32",X"00",X"24",X"3E",X"18",X"32",X"00",X"3A",X"32",X"18",X"38",
X"1E",X"40",X"26",X"40",X"26",X"1E",X"30",X"3C",X"1E",X"BA",X"2A",X"1E",X"26",X"30",X"1E",X"00",
X"3E",X"1E",X"18",X"1E",X"38",X"2C",X"1E",X"18",X"1E",X"30",X"1C",X"1E",X"B0",X"00",X"34",X"32",
X"26",X"30",X"3C",X"BA",X"00",X"34",X"3E",X"30",X"3C",X"32",X"BA",X"00",X"34",X"3E",X"30",X"2A",
X"3C",X"9E",X"1A",X"24",X"32",X"26",X"44",X"00",X"1C",X"3E",X"00",X"28",X"1E",X"BE",X"1E",X"2C",
X"1E",X"22",X"26",X"38",X"00",X"28",X"3E",X"1E",X"22",X"B2",X"3A",X"34",X"26",X"1E",X"2C",X"42",
X"16",X"24",X"AC",X"00",X"3E",X"30",X"26",X"3C",X"1E",X"3A",X"00",X"1C",X"1E",X"00",X"1A",X"16",
X"38",X"18",X"3E",X"38",X"16",X"30",X"3C",X"80",X"00",X"3E",X"30",X"26",X"1C",X"16",X"1C",X"1E",
X"3A",X"00",X"1C",X"1E",X"00",X"1A",X"32",X"2E",X"18",X"3E",X"3A",X"3C",X"26",X"18",X"2C",X"1E",
X"80",X"00",X"3C",X"38",X"1E",X"26",X"18",X"3A",X"3C",X"32",X"20",X"20",X"80",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"6F",X"5E",X"D5",X"5E",X"33",X"5F",X"EC",
X"A2",X"28",X"00",X"00",X"70",X"00",X"00",X"3A",X"1A",X"32",X"38",X"9E",X"C0",X"55",X"C0",X"07",
X"1C",X"3E",X"38",X"1E",X"1E",X"00",X"1C",X"3E",X"00",X"28",X"1E",X"BE",X"70",X"74",X"40",X"06",
X"1A",X"32",X"2E",X"18",X"3E",X"3A",X"3C",X"26",X"18",X"2C",X"9E",X"70",X"80",X"40",X"03",X"16",
X"2C",X"3C",X"26",X"3C",X"3E",X"1C",X"9E",X"E0",X"64",X"00",X"07",X"40",X"26",X"3C",X"1E",X"3A",
X"3A",X"1E",X"00",X"24",X"32",X"38",X"26",X"48",X"32",X"30",X"3C",X"16",X"2C",X"9E",X"70",X"74",
X"90",X"07",X"40",X"26",X"3C",X"1E",X"3A",X"3A",X"1E",X"00",X"40",X"1E",X"38",X"3C",X"26",X"1A",
X"16",X"2C",X"9E",X"00",X"D0",X"EC",X"A2",X"64",X"00",X"00",X"70",X"00",X"00",X"34",X"3E",X"30",
X"3C",X"16",X"28",X"9E",X"E0",X"64",X"A0",X"06",X"3C",X"26",X"1E",X"2E",X"34",X"B2",X"E0",X"64",
X"40",X"06",X"34",X"1E",X"3C",X"38",X"32",X"AC",X"70",X"80",X"10",X"03",X"16",X"2C",X"3C",X"26",
X"3C",X"3E",X"9C",X"E0",X"64",X"A0",X"06",X"40",X"1E",X"2C",X"32",X"1A",X"26",X"1C",X"16",X"1C",
X"00",X"24",X"32",X"38",X"26",X"48",X"32",X"30",X"3C",X"16",X"AC",X"70",X"74",X"C0",X"07",X"40",
X"1E",X"2C",X"32",X"1A",X"26",X"1C",X"16",X"1C",X"00",X"40",X"1E",X"38",X"3C",X"26",X"1A",X"16",
X"AC",X"00",X"D0",X"EC",X"A2",X"4C",X"00",X"00",X"70",X"00",X"00",X"34",X"3E",X"30",X"2A",X"3C",
X"48",X"16",X"24",X"AC",X"E0",X"64",X"60",X"07",X"38",X"1E",X"3A",X"3C",X"48",X"1E",X"26",X"BC",
X"E0",X"64",X"00",X"07",X"34",X"1E",X"3C",X"38",X"32",X"AC",X"70",X"80",X"B0",X"02",X"24",X"32",
X"1E",X"24",X"9E",X"C0",X"55",X"C0",X"07",X"24",X"32",X"38",X"26",X"48",X"32",X"30",X"3C",X"16",
X"2C",X"1E",X"00",X"22",X"1E",X"3A",X"1A",X"24",X"42",X"26",X"30",X"1C",X"26",X"22",X"2A",X"1E",
X"26",X"BC",X"38",X"84",X"88",X"06",X"40",X"1E",X"38",X"3C",X"26",X"2A",X"16",X"2C",X"1E",X"00",
X"22",X"1E",X"3A",X"1A",X"24",X"42",X"26",X"30",X"1C",X"26",X"22",X"2A",X"1E",X"26",X"BC",X"00",
X"D0",X"00",X"1D",X"3A",X"EB",X"EE",X"EE",X"F7",X"E5",X"FD",X"DF",X"06",X"D0",X"06",X"12",X"09",
X"15",X"F7",X"06",X"27",X"FA",X"63",X"F4",X"42",X"2A",X"00",X"03",X"E5",X"00",X"00",X"00",X"00",
X"00",X"FA",X"F1",X"F4",X"F4",X"FA",X"FD",X"D6",X"03",X"DC",X"09",X"06",X"00",X"12",X"F7",X"06",
X"EB",X"F7",X"5D",X"0C",X"63",X"36",X"00",X"03",X"D9",X"00",X"00",X"00",X"00",X"00",X"DF",X"E8",
X"E5",X"EB",X"FA",X"E5",X"FD",X"0C",X"EB",X"E5",X"12",X"09",X"15",X"E8",X"1E",X"F7",X"00",X"5D",
X"EE",X"03",X"3F",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -0,0 +1,323 @@
//
// sdram.v
//
// sdram controller implementation for the MiST board
// https://github.com/mist-devel/mist-board
//
// Copyright (c) 2013 Till Harbaum <till@harbaum.org>
// Copyright (c) 2019 Gyorgy Szombathelyi
//
// This source file is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This source file is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
module sdram (
// interface to the MT48LC16M16 chip
inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus
output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus
output reg SDRAM_DQML, // two byte masks
output reg SDRAM_DQMH, // two byte masks
output reg [1:0] SDRAM_BA, // two banks
output SDRAM_nCS, // a single chip select
output SDRAM_nWE, // write enable
output SDRAM_nRAS, // row address select
output SDRAM_nCAS, // columns address select
// cpu/chipset interface
input init_n, // init signal after FPGA config to initialize RAM
input clk, // sdram clock
input port1_req,
output reg port1_ack,
input port1_we,
input [23:1] port1_a,
input [1:0] port1_ds,
input [15:0] port1_d,
output [15:0] port1_q,
input [15:1] cpu1_addr,
output reg [15:0] cpu1_q,
input port2_req,
output reg port2_ack,
input port2_we,
input [23:1] port2_a,
input [1:0] port2_ds,
input [15:0] port2_d,
output [15:0] port2_q,
input [15:1] snd_addr,
output reg [15:0] snd_q
);
localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz
localparam BURST_LENGTH = 3'b000; // 000=1, 001=2, 010=4, 011=8
localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved
localparam CAS_LATENCY = 3'd2; // 2/3 allowed
localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed
localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write
localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH};
// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz
localparam RFRSH_CYCLES = 10'd842;
// ---------------------------------------------------------------------
// ------------------------ cycle state machine ------------------------
// ---------------------------------------------------------------------
/*
SDRAM state machine for 2 bank interleaved access
1 word burst, CL2
cmd issued registered
0 RAS0 cas1
1 ras0
2 CAS0 data1 returned
3 RAS1 cas0
4 ras1
5 CAS1 data0 returned
*/
localparam STATE_RAS0 = 3'd0; // first state in cycle
localparam STATE_RAS1 = 3'd3; // Second ACTIVE command after RAS0 + tRRD (15ns)
localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY; // CAS phase - 3
localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 5
localparam STATE_READ0 = 3'd0; //STATE_CAS0 + CAS_LATENCY + 1'd1; // 7
localparam STATE_READ1 = 3'd3;
localparam STATE_LAST = 3'd5;
reg [2:0] t;
always @(posedge clk) begin
t <= t + 1'd1;
if (t == STATE_LAST) t <= STATE_RAS0;
end
// ---------------------------------------------------------------------
// --------------------------- startup/reset ---------------------------
// ---------------------------------------------------------------------
// wait 1ms (32 8Mhz cycles) after FPGA config is done before going
// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0)
reg [4:0] reset;
reg init = 1'b1;
always @(posedge clk, negedge init_n) begin
if(!init_n) begin
reset <= 5'h1f;
init <= 1'b1;
end else begin
if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1;
init <= !(reset == 0);
end
end
// ---------------------------------------------------------------------
// ------------------ generate ram control signals ---------------------
// ---------------------------------------------------------------------
// all possible commands
localparam CMD_INHIBIT = 4'b1111;
localparam CMD_NOP = 4'b0111;
localparam CMD_ACTIVE = 4'b0011;
localparam CMD_READ = 4'b0101;
localparam CMD_WRITE = 4'b0100;
localparam CMD_BURST_TERMINATE = 4'b0110;
localparam CMD_PRECHARGE = 4'b0010;
localparam CMD_AUTO_REFRESH = 4'b0001;
localparam CMD_LOAD_MODE = 4'b0000;
reg [3:0] sd_cmd; // current command sent to sd ram
reg [15:0] sd_din;
// drive control signals according to current command
assign SDRAM_nCS = sd_cmd[3];
assign SDRAM_nRAS = sd_cmd[2];
assign SDRAM_nCAS = sd_cmd[1];
assign SDRAM_nWE = sd_cmd[0];
reg [24:1] addr_latch[2];
reg [24:1] addr_latch_next[2];
reg [15:1] addr_last[2];
reg [15:1] addr_last2[2];
reg [15:0] din_latch[2];
reg [1:0] oe_latch;
reg [1:0] we_latch;
reg [1:0] ds[2];
localparam PORT_NONE = 2'd0;
localparam PORT_CPU1 = 2'd1;
localparam PORT_REQ = 2'd2;
localparam PORT_SND = 2'd1;
reg [2:0] next_port[2];
reg [2:0] port[2];
reg refresh;
reg [10:0] refresh_cnt;
wire need_refresh = (refresh_cnt >= RFRSH_CYCLES);
// PORT1: bank 0,1
always @(*) begin
if (refresh) begin
next_port[0] = PORT_NONE;
addr_latch_next[0] = addr_latch[0];
end else if (port1_req ^ port1_ack) begin
next_port[0] = PORT_REQ;
addr_latch_next[0] = { 1'b0, port1_a };
end else if (cpu1_addr != addr_last[PORT_CPU1]) begin
next_port[0] = PORT_CPU1;
addr_latch_next[0] = { 9'd0, cpu1_addr };
end else begin
next_port[0] = PORT_NONE;
addr_latch_next[0] = addr_latch[0];
end
end
// PORT2: bank 2,3
always @(*) begin
if (port2_req ^ port2_ack) begin
next_port[1] = PORT_REQ;
addr_latch_next[1] = { 1'b1, port2_a };
end else if (snd_addr != addr_last2[PORT_SND]) begin
next_port[1] = PORT_SND;
addr_latch_next[1] = { 1'b1, 8'd0, snd_addr };
end else begin
next_port[1] = PORT_NONE;
addr_latch_next[1] = addr_latch[1];
end
end
always @(posedge clk) begin
// permanently latch ram data to reduce delays
sd_din <= SDRAM_DQ;
SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ;
{ SDRAM_DQMH, SDRAM_DQML } <= 2'b11;
sd_cmd <= CMD_NOP; // default: idle
refresh_cnt <= refresh_cnt + 1'd1;
if(init) begin
// initialization takes place at the end of the reset phase
if(t == STATE_RAS0) begin
if(reset == 15) begin
sd_cmd <= CMD_PRECHARGE;
SDRAM_A[10] <= 1'b1; // precharge all banks
end
if(reset == 10 || reset == 8) begin
sd_cmd <= CMD_AUTO_REFRESH;
end
if(reset == 2) begin
sd_cmd <= CMD_LOAD_MODE;
SDRAM_A <= MODE;
SDRAM_BA <= 2'b00;
end
end
end else begin
// RAS phase
// bank 0,1
if(t == STATE_RAS0) begin
addr_latch[0] <= addr_latch_next[0];
port[0] <= next_port[0];
{ oe_latch[0], we_latch[0] } <= 2'b00;
if (next_port[0] != PORT_NONE) begin
sd_cmd <= CMD_ACTIVE;
SDRAM_A <= addr_latch_next[0][22:10];
SDRAM_BA <= addr_latch_next[0][24:23];
addr_last[next_port[0]] <= addr_latch_next[0][15:1];
if (next_port[0] == PORT_REQ) begin
{ oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we };
ds[0] <= port1_ds;
din_latch[0] <= port1_d;
end else begin
{ oe_latch[0], we_latch[0] } <= 2'b10;
ds[0] <= 2'b11;
end
end
end
// bank 2,3
if(t == STATE_RAS1) begin
refresh <= 1'b0;
addr_latch[1] <= addr_latch_next[1];
{ oe_latch[1], we_latch[1] } <= 2'b00;
port[1] <= next_port[1];
if (next_port[1] != PORT_NONE) begin
sd_cmd <= CMD_ACTIVE;
SDRAM_A <= addr_latch_next[1][22:10];
SDRAM_BA <= addr_latch_next[1][24:23];
addr_last2[next_port[1]] <= addr_latch_next[1][15:1];
if (next_port[1] == PORT_REQ) begin
{ oe_latch[1], we_latch[1] } <= { ~port2_we, port2_we };
ds[1] <= port2_ds;
din_latch[1] <= port2_d;
end else begin
{ oe_latch[1], we_latch[1] } <= 2'b10;
ds[1] <= 2'b11;
end
end
if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin
refresh <= 1'b1;
refresh_cnt <= 0;
sd_cmd <= CMD_AUTO_REFRESH;
end
end
// CAS phase
if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin
sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ;
{ SDRAM_DQMH, SDRAM_DQML } <= ~ds[0];
if (we_latch[0]) begin
SDRAM_DQ <= din_latch[0];
port1_ack <= port1_req;
end
SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge
SDRAM_BA <= addr_latch[0][24:23];
end
if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin
sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ;
{ SDRAM_DQMH, SDRAM_DQML } <= ~ds[1];
if (we_latch[1]) begin
SDRAM_DQ <= din_latch[1];
port2_ack <= port2_req;
end
SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge
SDRAM_BA <= addr_latch[1][24:23];
end
// Data returned
if(t == STATE_READ0 && oe_latch[0]) begin
case(port[0])
PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end
PORT_CPU1: begin cpu1_q <= sd_din; end
default: ;
endcase;
end
if(t == STATE_READ1 && oe_latch[1]) begin
case(port[1])
PORT_REQ: begin port2_q <= sd_din; port2_ack <= port2_req; end
PORT_SND: begin snd_q <= sd_din; end
default: ;
endcase;
end
end
end
endmodule