mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-03-08 03:29:26 +00:00
Remove DonkeyKongJunior (merged with Donkey Kong)
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 2017 Intel Corporation. All rights reserved.
|
||||
# Your use of Intel 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 Intel Program License
|
||||
# Subscription Agreement, the Intel Quartus Prime License Agreement,
|
||||
# the Intel 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 Intel and sold by Intel or its
|
||||
# authorized distributors. Please refer to the applicable
|
||||
# agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus Prime
|
||||
# Version 17.0.1 Build 598 06/07/2017 SJ Standard Edition
|
||||
# Date created = 04:04:47 October 16, 2017
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
QUARTUS_VERSION = "17.0"
|
||||
DATE = "04:04:47 October 16, 2017"
|
||||
|
||||
# Revisions
|
||||
|
||||
PROJECT_REVISION = "DKongJr"
|
||||
@@ -1,188 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 64-Bit
|
||||
# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition
|
||||
# Date created = 22:45:45 November 15, 2019
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1) The default values for assignments are stored in the file:
|
||||
# DKongJr_assignment_defaults.qdf
|
||||
# If this file doesn't exist, see file:
|
||||
# assignment_defaults.qdf
|
||||
#
|
||||
# 2) Altera recommends that you do not modify this file. This
|
||||
# file is updated automatically by the Quartus II software
|
||||
# and any changes you make may be lost or overwritten.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
|
||||
|
||||
# Project-Wide Assignments
|
||||
# ========================
|
||||
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 16.1.2
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "01:53:30 APRIL 20, 2017"
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
|
||||
set_global_assignment -name SMART_RECOMPILE ON
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
|
||||
# Pin & Location Assignments
|
||||
# ==========================
|
||||
set_location_assignment PIN_7 -to LED
|
||||
set_location_assignment PIN_54 -to CLOCK_27
|
||||
set_location_assignment PIN_144 -to VGA_R[5]
|
||||
set_location_assignment PIN_143 -to VGA_R[4]
|
||||
set_location_assignment PIN_142 -to VGA_R[3]
|
||||
set_location_assignment PIN_141 -to VGA_R[2]
|
||||
set_location_assignment PIN_137 -to VGA_R[1]
|
||||
set_location_assignment PIN_135 -to VGA_R[0]
|
||||
set_location_assignment PIN_133 -to VGA_B[5]
|
||||
set_location_assignment PIN_132 -to VGA_B[4]
|
||||
set_location_assignment PIN_125 -to VGA_B[3]
|
||||
set_location_assignment PIN_121 -to VGA_B[2]
|
||||
set_location_assignment PIN_120 -to VGA_B[1]
|
||||
set_location_assignment PIN_115 -to VGA_B[0]
|
||||
set_location_assignment PIN_114 -to VGA_G[5]
|
||||
set_location_assignment PIN_113 -to VGA_G[4]
|
||||
set_location_assignment PIN_112 -to VGA_G[3]
|
||||
set_location_assignment PIN_111 -to VGA_G[2]
|
||||
set_location_assignment PIN_110 -to VGA_G[1]
|
||||
set_location_assignment PIN_106 -to VGA_G[0]
|
||||
set_location_assignment PIN_136 -to VGA_VS
|
||||
set_location_assignment PIN_119 -to VGA_HS
|
||||
set_location_assignment PIN_65 -to AUDIO_L
|
||||
set_location_assignment PIN_80 -to AUDIO_R
|
||||
set_location_assignment PIN_105 -to SPI_DO
|
||||
set_location_assignment PIN_88 -to SPI_DI
|
||||
set_location_assignment PIN_126 -to SPI_SCK
|
||||
set_location_assignment PIN_127 -to SPI_SS2
|
||||
set_location_assignment PIN_91 -to SPI_SS3
|
||||
set_location_assignment PIN_13 -to CONF_DATA0
|
||||
set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component"
|
||||
|
||||
# Classic Timing Assignments
|
||||
# ==========================
|
||||
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS OFF
|
||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
|
||||
|
||||
# Analysis & Synthesis Assignments
|
||||
# ================================
|
||||
set_global_assignment -name FAMILY "Cyclone III"
|
||||
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
|
||||
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
|
||||
set_global_assignment -name SAVE_DISK_SPACE OFF
|
||||
set_global_assignment -name TOP_LEVEL_ENTITY dkongjr_MiST
|
||||
set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP
|
||||
set_global_assignment -name SEARCH_PATH rtl/ -tag from_archive
|
||||
set_global_assignment -name SEARCH_PATH rtl/rom/ -tag from_archive
|
||||
set_global_assignment -name SEARCH_PATH rtl/t48_ip/ -tag from_archive
|
||||
set_global_assignment -name SEARCH_PATH rtl/t80asd_ip/ -tag from_archive
|
||||
|
||||
# Fitter Assignments
|
||||
# ==================
|
||||
set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING OFF
|
||||
set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION ALWAYS
|
||||
set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
|
||||
set_global_assignment -name DEVICE EP3C25E144C8
|
||||
set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
|
||||
set_global_assignment -name ENABLE_NCE_PIN OFF
|
||||
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
|
||||
set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL"
|
||||
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
|
||||
set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON
|
||||
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
|
||||
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
|
||||
# Assembler Assignments
|
||||
# =====================
|
||||
set_global_assignment -name GENERATE_RBF_FILE ON
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
|
||||
# Power Estimation Assignments
|
||||
# ============================
|
||||
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
|
||||
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
|
||||
|
||||
# Advanced I/O Timing Assignments
|
||||
# ===============================
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
|
||||
|
||||
# --------------------------
|
||||
# start ENTITY(dkongjr_MiST)
|
||||
|
||||
# start DESIGN_PARTITION(Top)
|
||||
# ---------------------------
|
||||
|
||||
# Incremental Compilation Assignments
|
||||
# ===================================
|
||||
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
|
||||
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
|
||||
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
||||
|
||||
# end DESIGN_PARTITION(Top)
|
||||
# -------------------------
|
||||
|
||||
# end ENTITY(dkongjr_MiST)
|
||||
# ------------------------
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/dkongjr_MiST.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_top.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/i8035ip.v
|
||||
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_wav_sound.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_vram.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_sound.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_obj.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_logic.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_inport.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_iir_filter.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_hv_count.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_dma.v
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/dkongjr_dac.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_col_pal.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_bram.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dkongjr_adec.v
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/prog.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/vid2.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/vid1.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/snd1.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj4.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj3.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj2.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj1.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/col3.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/col2.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/col1.vhd
|
||||
set_global_assignment -name VERILOG_FILE rtl/pll.v
|
||||
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
|
||||
set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
|
||||
set_global_assignment -name QIP_FILE ../../../common/CPU/t48/T48.qip
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
@@ -1,126 +0,0 @@
|
||||
## 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}]
|
||||
|
||||
#**************************************************************
|
||||
# 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 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 {pll|altpll_component|auto_generated|pll1|clk[0]}] 1.000 [get_ports {AUDIO_L}]
|
||||
set_output_delay -add_delay -clock_fall -clock [get_clocks {pll|altpll_component|auto_generated|pll1|clk[0]}] 1.000 [get_ports {AUDIO_R}]
|
||||
set_output_delay -add_delay -clock_fall -clock [get_clocks {pll|altpll_component|auto_generated|pll1|clk[0]}] 1.000 [get_ports {LED}]
|
||||
set_output_delay -add_delay -clock_fall -clock [get_clocks {pll|altpll_component|auto_generated|pll1|clk[0]}] 1.000 [get_ports {VGA_*}]
|
||||
|
||||
#**************************************************************
|
||||
# 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
|
||||
#**************************************************************
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- Arcade: Donkey Kong Jr. port to MiST by Gehstock
|
||||
-- 15 November 2019
|
||||
--
|
||||
missing Sounds
|
||||
maybe Graphic Problems
|
||||
---------------------------------------------------------------------------------
|
||||
-- A simulation model of Pacman hardware
|
||||
-- // Copyright(c) 2003 - 2005 Katsumi Degawa , All rights reserved
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- Only Controls and OSD are rotated on Video output.
|
||||
--
|
||||
--
|
||||
-- Keyboard inputs :
|
||||
--
|
||||
-- ESC : Coin
|
||||
-- F2 : Start 2 players
|
||||
-- F1 : Start 1 player
|
||||
-- UP,DOWN,LEFT,RIGHT arrows : Movements
|
||||
-- SPACE : Jump
|
||||
|
||||
-- Joystick support.
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
ToDo: Sound, Rotated Controls
|
||||
@@ -1,37 +0,0 @@
|
||||
@echo off
|
||||
del /s *.bak
|
||||
del /s *.orig
|
||||
del /s *.rej
|
||||
del /s *~
|
||||
rmdir /s /q db
|
||||
rmdir /s /q incremental_db
|
||||
rmdir /s /q output_files
|
||||
rmdir /s /q simulation
|
||||
rmdir /s /q greybox_tmp
|
||||
rmdir /s /q hc_output
|
||||
rmdir /s /q .qsys_edit
|
||||
rmdir /s /q hps_isw_handoff
|
||||
rmdir /s /q sys\.qsys_edit
|
||||
rmdir /s /q sys\vip
|
||||
cd sys
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
cd ..
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
del build_id.v
|
||||
del c5_pin_model_dump.txt
|
||||
del PLLJ_PLLSPE_INFO.txt
|
||||
del /s *.qws
|
||||
del /s *.ppf
|
||||
del /s *.ddb
|
||||
del /s *.csv
|
||||
del /s *.cmp
|
||||
del /s *.sip
|
||||
del /s *.spd
|
||||
del /s *.bsf
|
||||
del /s *.f
|
||||
del /s *.sopcinfo
|
||||
del /s *.xml
|
||||
del /s new_rtl_netlist
|
||||
del /s old_rtl_netlist
|
||||
|
||||
pause
|
||||
@@ -1,35 +0,0 @@
|
||||
# ================================================================================
|
||||
#
|
||||
# Build ID Verilog Module Script
|
||||
# Jeff Wiencrot - 8/1/2011
|
||||
#
|
||||
# Generates a Verilog module that contains a timestamp,
|
||||
# from the current build. These values are available from the build_date, build_time,
|
||||
# physical_address, and host_name output ports of the build_id module in the build_id.v
|
||||
# Verilog source file.
|
||||
#
|
||||
# ================================================================================
|
||||
|
||||
proc generateBuildID_Verilog {} {
|
||||
|
||||
# Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html)
|
||||
set buildDate [ clock format [ clock seconds ] -format %y%m%d ]
|
||||
set buildTime [ clock format [ clock seconds ] -format %H%M%S ]
|
||||
|
||||
# Create a Verilog file for output
|
||||
set outputFileName "rtl/build_id.v"
|
||||
set outputFile [open $outputFileName "w"]
|
||||
|
||||
# Output the Verilog source
|
||||
puts $outputFile "`define BUILD_DATE \"$buildDate\""
|
||||
puts $outputFile "`define BUILD_TIME \"$buildTime\""
|
||||
close $outputFile
|
||||
|
||||
# Send confirmation message to the Messages window
|
||||
post_message "Generated build identification Verilog module: [pwd]/$outputFileName"
|
||||
post_message "Date: $buildDate"
|
||||
post_message "Time: $buildTime"
|
||||
}
|
||||
|
||||
# Comment out this line to prevent the process from automatically executing when the file is sourced:
|
||||
generateBuildID_Verilog
|
||||
@@ -1,173 +0,0 @@
|
||||
module dkongjr_MiST(
|
||||
output LED,
|
||||
output [5:0] VGA_R,
|
||||
output [5:0] VGA_G,
|
||||
output [5:0] VGA_B,
|
||||
output VGA_HS,
|
||||
output VGA_VS,
|
||||
output AUDIO_L,
|
||||
output AUDIO_R,
|
||||
input SPI_SCK,
|
||||
output SPI_DO,
|
||||
input SPI_DI,
|
||||
input SPI_SS2,
|
||||
input SPI_SS3,
|
||||
input CONF_DATA0,
|
||||
input CLOCK_27
|
||||
);
|
||||
|
||||
|
||||
`include "rtl\build_id.v"
|
||||
|
||||
localparam CONF_STR = {
|
||||
"DKONGJR;;",
|
||||
"O2,Rotate Controls,Off,On;",
|
||||
"O34,Scanlines,Off,25%,50%,75%;",
|
||||
"O5,Blending,Off,On;",
|
||||
"O89,Lives,3,4,5,6;",
|
||||
"OAB,Bonus,7000,10000,15000,20000;",
|
||||
"T6,Reset;",
|
||||
"V,v1.00.",`BUILD_DATE
|
||||
};
|
||||
|
||||
assign LED = 1;
|
||||
assign AUDIO_R = AUDIO_L;
|
||||
|
||||
wire clock_24, clock_6;
|
||||
pll pll(
|
||||
.inclk0(CLOCK_27),
|
||||
.c0(clock_24)//W_CLK_24576M
|
||||
);
|
||||
|
||||
wire [31:0] status;
|
||||
wire [1:0] buttons;
|
||||
wire [1:0] switches;
|
||||
wire [11:0] kbjoy;
|
||||
wire [7:0] joystick_0;
|
||||
wire [7:0] joystick_1;
|
||||
wire scandoublerD;
|
||||
wire ypbpr;
|
||||
wire [7:0] audio;
|
||||
wire hs_n, vs_n;
|
||||
wire hb, vb;
|
||||
wire blankn = ~vb;//~(hb | vb);
|
||||
wire [2:0] r, g;
|
||||
wire [1:0] b;
|
||||
|
||||
dkongjr_top dkong(
|
||||
.I_CLK_24576M(clock_24),
|
||||
.I_RESETn(~(status[0] | status[6] | buttons[1])),
|
||||
.I_U1(~m_up),
|
||||
.I_D1(~m_down),
|
||||
.I_L1(~m_left),
|
||||
.I_R1(~m_right),
|
||||
.I_J1(~m_fire),
|
||||
.I_U2(~m_up),
|
||||
.I_D2(~m_down),
|
||||
.I_L2(~m_left),
|
||||
.I_R2(~m_right),
|
||||
.I_J2(~m_fire),
|
||||
.I_S1(~btn_one_player),
|
||||
.I_S2(~btn_two_players),
|
||||
.I_C1(~btn_coin),
|
||||
.I_DIP_SW({ ~status[12] , 1'b0,1'b0,1'b0 , status[11:10], status[9:8]}),
|
||||
.O_SOUND_DAT(audio),
|
||||
.O_VGA_R(r),
|
||||
.O_VGA_G(g),
|
||||
.O_VGA_B(b),
|
||||
.O_H_BLANK(hb),
|
||||
.O_V_BLANK(vb),
|
||||
.O_VGA_H_SYNCn(hs_n),
|
||||
.O_VGA_V_SYNCn(vs_n)
|
||||
);
|
||||
|
||||
mist_video #(.COLOR_DEPTH(3),.SD_HCNT_WIDTH(10)) mist_video(
|
||||
.clk_sys(clock_24),
|
||||
.SPI_SCK(SPI_SCK),
|
||||
.SPI_SS3(SPI_SS3),
|
||||
.SPI_DI(SPI_DI),
|
||||
.R(blankn ? r : 0),
|
||||
.G(blankn ? g : 0),
|
||||
.B(blankn ? {b[1], b} : 0),
|
||||
.HSync(hs_n),
|
||||
.VSync(vs_n),
|
||||
.VGA_R(VGA_R),
|
||||
.VGA_G(VGA_G),
|
||||
.VGA_B(VGA_B),
|
||||
.VGA_VS(VGA_VS),
|
||||
.VGA_HS(VGA_HS),
|
||||
.rotate({1'b1,status[2]}),
|
||||
.ce_divider(1'b1),
|
||||
.blend(status[5]),
|
||||
.scandoubler_disable(scandoublerD),
|
||||
.scanlines(status[4:3]),
|
||||
.ypbpr(ypbpr)
|
||||
);
|
||||
|
||||
user_io #(
|
||||
.STRLEN(($size(CONF_STR)>>3)))
|
||||
user_io(
|
||||
.clk_sys (clock_24 ),
|
||||
.conf_str (CONF_STR ),
|
||||
.SPI_CLK (SPI_SCK ),
|
||||
.SPI_SS_IO (CONF_DATA0 ),
|
||||
.SPI_MISO (SPI_DO ),
|
||||
.SPI_MOSI (SPI_DI ),
|
||||
.buttons (buttons ),
|
||||
.switches (switches ),
|
||||
.scandoubler_disable (scandoublerD ),
|
||||
.ypbpr (ypbpr ),
|
||||
.key_strobe (key_strobe ),
|
||||
.key_pressed (key_pressed ),
|
||||
.key_code (key_code ),
|
||||
.joystick_0 (joystick_0 ),
|
||||
.joystick_1 (joystick_1 ),
|
||||
.status (status )
|
||||
);
|
||||
|
||||
dac #(
|
||||
.C_bits(8))
|
||||
dac(
|
||||
.clk_i(clock_24),
|
||||
.res_n_i(1'b1),
|
||||
.dac_i(audio),
|
||||
.dac_o(AUDIO_L)
|
||||
);
|
||||
|
||||
// Rotated Normal
|
||||
wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3];
|
||||
wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2];
|
||||
wire m_left = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_left | joystick_0[1] | joystick_1[1];
|
||||
wire m_right = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_right | joystick_0[0] | joystick_1[0];
|
||||
wire m_fire = btn_fire1 | joystick_0[4] | joystick_1[4];
|
||||
|
||||
reg btn_one_player = 0;
|
||||
reg btn_two_players = 0;
|
||||
reg btn_left = 0;
|
||||
reg btn_right = 0;
|
||||
reg btn_down = 0;
|
||||
reg btn_up = 0;
|
||||
reg btn_fire1 = 0;
|
||||
reg btn_coin = 0;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
wire key_strobe;
|
||||
|
||||
always @(posedge clock_24) begin
|
||||
reg old_state;
|
||||
if(key_strobe) begin
|
||||
case(key_code)
|
||||
'h75: btn_up <= key_pressed; // up
|
||||
'h72: btn_down <= key_pressed; // down
|
||||
'h6B: btn_left <= key_pressed; // left
|
||||
'h74: btn_right <= key_pressed; // right
|
||||
'h76: btn_coin <= key_pressed; // ESC
|
||||
'h05: btn_one_player <= key_pressed; // F1
|
||||
'h06: btn_two_players <= key_pressed; // F2
|
||||
'h29: btn_fire1 <= key_pressed; // Space
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
endmodule
|
||||
@@ -1,322 +0,0 @@
|
||||
//===============================================================================
|
||||
//
|
||||
// Modified for Donkey Kong Junior by gaz68.
|
||||
//
|
||||
// FPGA DONKEY KONG ADDRESS DECODER
|
||||
//
|
||||
// Version : 4.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004- 8-24 CPU_Wait was stopped. K.Degawa
|
||||
// 2005- 2- 9 CPU_Wait was worked. because, Z80_ip was improved. K.Degawa
|
||||
//================================================================================
|
||||
|
||||
|
||||
module dkongjr_adec(
|
||||
|
||||
I_CLK12M,
|
||||
I_CLK,
|
||||
I_RESET_n,
|
||||
I_AB,
|
||||
I_DB,
|
||||
I_MREQ_n,
|
||||
I_RFSH_n,
|
||||
I_RD_n,
|
||||
I_WR_n,
|
||||
I_VRAMBUSY_n,
|
||||
I_VBLK_n,
|
||||
|
||||
O_WAIT_n,
|
||||
O_NMI_n,
|
||||
O_ROM_CS_n,
|
||||
O_RAM1_CS_n,
|
||||
O_RAM2_CS_n,
|
||||
O_RAM3_CS_n,
|
||||
O_DMA_CS_n,
|
||||
O_6A_G_n,
|
||||
O_OBJ_RQ_n,
|
||||
O_OBJ_RD_n,
|
||||
O_OBJ_WR_n,
|
||||
O_VRAM_RD_n,
|
||||
O_VRAM_WR_n,
|
||||
O_SW1_OE_n,
|
||||
O_SW2_OE_n,
|
||||
O_SW3_OE_n,
|
||||
O_DIP_OE_n,
|
||||
O_4H_Q,
|
||||
O_5H_Q,
|
||||
O_6H_Q,
|
||||
O_3D_Q
|
||||
|
||||
);
|
||||
|
||||
input I_CLK12M;
|
||||
input I_CLK; // H_CNT[1] 3.072MHz
|
||||
input I_RESET_n;
|
||||
input [15:0]I_AB;
|
||||
input [3:0]I_DB;
|
||||
input I_MREQ_n;
|
||||
input I_RFSH_n;
|
||||
input I_RD_n;
|
||||
input I_WR_n;
|
||||
input I_VRAMBUSY_n;
|
||||
input I_VBLK_n;
|
||||
|
||||
output O_ROM_CS_n; // 0000 H - 3FFF H (5E,5C,5B,5A)
|
||||
output O_RAM1_CS_n; // 6000 H - 63FF H (3C,4C)
|
||||
output O_RAM2_CS_n; // 6400 H - 67FF H (3B,4B)
|
||||
output O_RAM3_CS_n; // 6800 H - 6BFF H (3A,4A)
|
||||
output O_DMA_CS_n; // 7800 H - 783F H (DMA)
|
||||
output O_6A_G_n; // 7000 H - 77FF H => Active
|
||||
output O_OBJ_RQ_n; // 7000 H - 73FF H
|
||||
output O_OBJ_RD_n; // 7000 H - 73FF H (R mode)
|
||||
output O_OBJ_WR_n; // 7000 H - 73FF H (W mode)
|
||||
output O_VRAM_RD_n; // 7400 H - 77FF H (R mode)
|
||||
output O_VRAM_WR_n; // 7400 H - 77FF H (W mode)
|
||||
output O_SW1_OE_n; // 7C00 H (R mode)
|
||||
output O_SW2_OE_n; // 7C80 H (R mode)
|
||||
output O_SW3_OE_n; // 7D00 H (R mode)
|
||||
output O_DIP_OE_n; // 7D80 H (R mode)
|
||||
output [1:0]O_4H_Q; // GFX (Characters) bank switch, sound
|
||||
output [7:0]O_5H_Q; // FLIP,
|
||||
output [7:0]O_6H_Q; // sound
|
||||
output [4:0]O_3D_Q; // sound
|
||||
|
||||
output O_WAIT_n;
|
||||
output O_NMI_n;
|
||||
|
||||
|
||||
wire [3:0]W_2A1_Q,W_2A2_Q;
|
||||
wire [7:0]W_4D_Q,W_2B_Q,W_2C_Q,W_2D_Q;
|
||||
wire [7:0]W_1B_Q,W_1C_Q;
|
||||
reg [7:0]W_5H_Q;
|
||||
reg [1:0]W_4H_Q;
|
||||
|
||||
// CPU WAIT
|
||||
|
||||
reg W_7F1_Qn;
|
||||
reg W_7F2_Q;
|
||||
assign O_WAIT_n = W_7F1_Qn;
|
||||
//assign O_WAIT_n = 1'b1;
|
||||
|
||||
always@(posedge I_CLK or negedge I_VBLK_n)
|
||||
begin
|
||||
if(I_VBLK_n == 1'b0)
|
||||
W_7F1_Qn <= 1'b1;
|
||||
else
|
||||
W_7F1_Qn <= I_VRAMBUSY_n | W_2A2_Q[1];
|
||||
end
|
||||
|
||||
always@(negedge I_CLK)
|
||||
begin
|
||||
W_7F2_Q <= W_7F1_Qn;
|
||||
end
|
||||
|
||||
// CPU NMI
|
||||
wire W_VBLK = ~I_VBLK_n;
|
||||
reg O_NMI_n;
|
||||
always@(posedge W_VBLK or negedge W_5H_Q[4])
|
||||
begin
|
||||
if(~W_5H_Q[4])
|
||||
O_NMI_n <= 1'b1;
|
||||
else
|
||||
O_NMI_n <= 1'b0;
|
||||
end
|
||||
|
||||
// ADDR DEC 0000H - 7FFFH
|
||||
|
||||
logic_74xx138 U_4D(
|
||||
|
||||
.I_G1(I_RFSH_n),
|
||||
.I_G2a(I_AB[15]),
|
||||
.I_G2b(I_AB[15]),
|
||||
.I_Sel(I_AB[14:12]),
|
||||
.O_Q(W_4D_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_ROM_CS_n = W_4D_Q[0]&W_4D_Q[1]&W_4D_Q[2]&W_4D_Q[3]&W_4D_Q[4]&W_4D_Q[5];
|
||||
|
||||
// ADDR DEC 7000H - 7FFFH
|
||||
|
||||
|
||||
logic_74xx139 U_2A_1(
|
||||
|
||||
.I_G(W_4D_Q[7]),
|
||||
.I_Sel({1'b0,I_AB[11]}),
|
||||
.O_Q(W_2A1_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_DMA_CS_n = W_2A1_Q[1]|I_AB[10];
|
||||
assign O_6A_G_n = W_2A1_Q[0];
|
||||
|
||||
logic_74xx139 U_2A_2(
|
||||
|
||||
.I_G(W_4D_Q[7] | I_MREQ_n),
|
||||
.I_Sel(I_AB[11:10]),
|
||||
.O_Q(W_2A2_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_OBJ_RQ_n = W_2A2_Q[0];
|
||||
|
||||
// ADDR DEC 7000H - 7FFFH (R)
|
||||
logic_74xx138 U_2B(
|
||||
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_RD_n),
|
||||
.I_G2b(I_MREQ_n),
|
||||
.I_Sel({W_4D_Q[7],I_AB[11:10]}),
|
||||
.O_Q(W_2B_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_OBJ_RD_n = W_2B_Q[0];
|
||||
assign O_VRAM_RD_n = W_2B_Q[1];
|
||||
|
||||
// ADDR DEC 7000H - 7FFFH (W)
|
||||
logic_74xx138 U_2C(
|
||||
|
||||
.I_G1(W_7F2_Q),
|
||||
//.I_G1(1'b1), // No Wait
|
||||
.I_G2a(I_WR_n),
|
||||
.I_G2b(I_MREQ_n),
|
||||
.I_Sel({W_4D_Q[7],I_AB[11:10]}),
|
||||
.O_Q(W_2C_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_OBJ_WR_n = W_2C_Q[0];
|
||||
assign O_VRAM_WR_n = W_2C_Q[1];
|
||||
|
||||
// ADDR DEC 6000H - 6FFFH (W)
|
||||
logic_74xx138 U_2D(
|
||||
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_WR_n & I_RD_n),
|
||||
.I_G2b(I_MREQ_n),
|
||||
.I_Sel({W_4D_Q[6],I_AB[11:10]}),
|
||||
.O_Q(W_2D_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_RAM1_CS_n = W_2D_Q[0];
|
||||
assign O_RAM2_CS_n = W_2D_Q[1];
|
||||
assign O_RAM3_CS_n = W_2D_Q[2];
|
||||
|
||||
// ADDR DEC 7C00H - 7FFFH (R)
|
||||
logic_74xx138 U_1B(
|
||||
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_RD_n),
|
||||
.I_G2b(W_2A2_Q[3]),
|
||||
.I_Sel(I_AB[9:7]),
|
||||
.O_Q(W_1B_Q)
|
||||
|
||||
);
|
||||
|
||||
assign O_SW1_OE_n = W_1B_Q[0];
|
||||
assign O_SW2_OE_n = W_1B_Q[1];
|
||||
assign O_SW3_OE_n = W_1B_Q[2];
|
||||
assign O_DIP_OE_n = W_1B_Q[3];
|
||||
|
||||
// ADDR DEC 7C00H - 7FFFH (W)
|
||||
logic_74xx138 U_1C(
|
||||
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_WR_n),
|
||||
.I_G2b(W_2A2_Q[3]),
|
||||
.I_Sel(I_AB[9:7]),
|
||||
.O_Q(W_1C_Q)
|
||||
|
||||
);
|
||||
|
||||
//--- Parts 5H ---------
|
||||
always@(posedge I_CLK12M or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
W_5H_Q <= 0;
|
||||
end
|
||||
else begin
|
||||
if(W_1C_Q[3] == 1'b0) begin
|
||||
case(I_AB[2:0])
|
||||
3'h0 : W_5H_Q[0] <= I_DB[0];
|
||||
3'h1 : W_5H_Q[1] <= I_DB[0];
|
||||
3'h2 : W_5H_Q[2] <= I_DB[0];
|
||||
3'h3 : W_5H_Q[3] <= I_DB[0];
|
||||
3'h4 : W_5H_Q[4] <= I_DB[0];
|
||||
3'h5 : W_5H_Q[5] <= I_DB[0];
|
||||
3'h6 : W_5H_Q[6] <= I_DB[0];
|
||||
3'h7 : W_5H_Q[7] <= I_DB[0];
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
//--- Parts 6H ---------
|
||||
reg [7:0]W_6H_Q;
|
||||
|
||||
always@(posedge I_CLK12M or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
W_6H_Q <= 0;
|
||||
end
|
||||
else begin
|
||||
if(W_1C_Q[2] == 1'b0) begin
|
||||
case(I_AB[2:0])
|
||||
3'h0 : W_6H_Q[0] <= I_DB[0];
|
||||
3'h1 : W_6H_Q[1] <= I_DB[0];
|
||||
3'h2 : W_6H_Q[2] <= I_DB[0];
|
||||
3'h3 : W_6H_Q[3] <= I_DB[0];
|
||||
3'h4 : W_6H_Q[4] <= I_DB[0];
|
||||
3'h5 : W_6H_Q[5] <= I_DB[0];
|
||||
3'h6 : W_6H_Q[6] <= I_DB[0];
|
||||
3'h7 : W_6H_Q[7] <= I_DB[0];
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
//--- Parts 4H ---------
|
||||
|
||||
always@(posedge I_CLK12M or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
W_4H_Q <= 0;
|
||||
end
|
||||
else begin
|
||||
if(W_1C_Q[1] == 1'b0) begin
|
||||
case(I_AB[0])
|
||||
3'h0 : W_4H_Q[0] <= I_DB[0]; // VROM signal
|
||||
3'h1 : W_4H_Q[1] <= I_DB[0]; // SOUND 8035 PB6
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// Parts 3D
|
||||
reg [4:0]O_3D_Q;
|
||||
|
||||
always@(posedge W_1C_Q[0] or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
O_3D_Q <= 0;
|
||||
end
|
||||
else begin
|
||||
O_3D_Q <= I_DB;
|
||||
end
|
||||
end
|
||||
|
||||
assign O_5H_Q = W_5H_Q;
|
||||
assign O_6H_Q = W_6H_Q;
|
||||
assign O_4H_Q = W_4H_Q;
|
||||
|
||||
endmodule
|
||||
@@ -1,271 +0,0 @@
|
||||
|
||||
module ram_1024_8_8
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [9:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
wire [7:0]W_DOA,W_DOB;
|
||||
assign O_DA = I_CEA ? W_DOA : 8'h00;
|
||||
assign O_DB = I_CEB ? W_DOB : 8'h00;
|
||||
|
||||
dpram #(10,8) ram_1024_8_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(W_DOA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRB),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(W_DOB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_1024_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [9:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
wire [7:0]W_DO;
|
||||
assign O_D = I_CE ? W_DO : 8'h00;
|
||||
|
||||
dpram #(10,8) ram_1024_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(W_DO),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2N
|
||||
(
|
||||
input I_CLK,
|
||||
input [7:0]I_ADDR,
|
||||
input [3:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [3:0]O_D
|
||||
);
|
||||
|
||||
dpram #(8,4) ram_256_4
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2EH7M
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [7:0]I_ADDRA,
|
||||
input [5:0]I_ADDRB,
|
||||
input [5:0]I_DA,
|
||||
input [8:0]I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [5:0]O_DA,
|
||||
output [8:0]O_DB
|
||||
);
|
||||
|
||||
dpram #(8,6) ram_256_6
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKA)
|
||||
);
|
||||
|
||||
dpram #(6,9) ram_64_9
|
||||
(
|
||||
.clock_a(I_CLKB),
|
||||
.address_a(I_ADDRB),
|
||||
.data_a(I_DB),
|
||||
.enable_a(I_CEB),
|
||||
.wren_a(I_WEB),
|
||||
.q_a(O_DB),
|
||||
|
||||
.clock_b(I_CLKB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2EF
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [7:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
dpram #(9,8) ram_512_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a({1'b0,I_ADDRA}),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b({1'b1,I_ADDRB}),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(O_DB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module double_scan
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [8:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
dpram #(9,8) ram_512_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRB),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(O_DB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_64_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [5:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
dpram #(6,8) ram_64_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2048_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [10:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
dpram #(11,8) ram_2048_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_4096_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [11:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
|
||||
dpram #(12,8) ram_4096_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG COLOR_PALETE(XILINX EDITION)
|
||||
//
|
||||
// Version : 3.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2005- 2- 9 The description of the ROM was changed.
|
||||
// Data on the ROM are initialized at the time of the start.
|
||||
//================================================================================
|
||||
|
||||
|
||||
|
||||
module dkongjr_col_pal
|
||||
(
|
||||
input CLK_6M,
|
||||
input CLK_12M,
|
||||
input [5:0]I_VRAM_D,
|
||||
input [5:0]I_OBJ_D,
|
||||
input I_CMPBLKn,
|
||||
input I_5H_Q6,I_5H_Q7,
|
||||
|
||||
input [7:0]I_CNF_A,
|
||||
input [7:0]I_CNF_D,
|
||||
output [2:0]O_R,
|
||||
output [2:0]O_G,
|
||||
output [1:0]O_B
|
||||
);
|
||||
|
||||
|
||||
//------- PARTS 3ML ------------------------------------
|
||||
wire [5:0]W_3ML_Y = (~(I_OBJ_D[0]|I_OBJ_D[1])) ? I_VRAM_D: I_OBJ_D;
|
||||
|
||||
//------- PARTS 1EF ------------------------------------
|
||||
wire [9:0]W_1EF_D = {I_5H_Q7,I_5H_Q6,W_3ML_Y[5:0],W_3ML_Y[0]|W_3ML_Y[1],I_CMPBLKn};
|
||||
reg [9:0]W_1EF_Q;
|
||||
wire W_1EF_RST = I_CMPBLKn|W_1EF_Q[0];
|
||||
|
||||
always@(posedge CLK_6M or negedge W_1EF_RST)
|
||||
begin
|
||||
if(W_1EF_RST == 1'b0) W_1EF_Q <= 1'b0;
|
||||
else W_1EF_Q <= W_1EF_D;
|
||||
end
|
||||
|
||||
//------- PARTS 2EF ------------------------------------
|
||||
wire [3:0]W_2E_DO,W_2F_DO;
|
||||
|
||||
col1 rom2j(
|
||||
.clk(CLK_12M),
|
||||
.addr(W_1EF_Q[9:2]),
|
||||
.data(W_2E_DO)
|
||||
);
|
||||
|
||||
col2 rom2k(
|
||||
.clk(CLK_12M),
|
||||
.addr(W_1EF_Q[9:2]),
|
||||
.data(W_2F_DO)
|
||||
);
|
||||
|
||||
|
||||
assign {O_R, O_G, O_B} = {~W_2F_DO, ~W_2E_DO};
|
||||
|
||||
endmodule
|
||||
@@ -1,121 +0,0 @@
|
||||
//============================================================================
|
||||
// DAC Discharge Circuit
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68)
|
||||
// October 2019
|
||||
//
|
||||
// Simulation of capacitor discharge circuit to pin 14 input of DAC-08.
|
||||
// Components R20, C32 and Q4 on schematics.
|
||||
// Adds decay to some sounds and background tunes.
|
||||
//============================================================================
|
||||
|
||||
module dkongjr_dac
|
||||
(
|
||||
input I_CLK,
|
||||
input I_DECAY_EN,
|
||||
input I_RESET_n,
|
||||
input signed [15:0]I_SND_DAT,
|
||||
output signed [15:0]O_SND_DAT
|
||||
);
|
||||
|
||||
// Exponential decay. Timing of decay steps calculated using:
|
||||
// v = exp(-(t / (r * c)))
|
||||
// Where:
|
||||
// t = 1 / sample rate (48,000Hz)
|
||||
// r = 10,000 (10KOhm)
|
||||
// c = 0.00001 (10uf)
|
||||
// for v scaled up to 8-bit values.
|
||||
wire [14:0] exp_lut[0:255] =
|
||||
{
|
||||
15'h000A, 15'h001D, 15'h0030, 15'h0043, 15'h0056, 15'h0069, 15'h007C, 15'h0090,
|
||||
15'h00A3, 15'h00B7, 15'h00CA, 15'h00DE, 15'h00F2, 15'h0106, 15'h011A, 15'h012E,
|
||||
15'h0142, 15'h0156, 15'h016A, 15'h017E, 15'h0193, 15'h01A7, 15'h01BC, 15'h01D1,
|
||||
15'h01E5, 15'h01FA, 15'h020F, 15'h0224, 15'h0239, 15'h024F, 15'h0264, 15'h0279,
|
||||
15'h028F, 15'h02A5, 15'h02BA, 15'h02D0, 15'h02E6, 15'h02FC, 15'h0312, 15'h0328,
|
||||
15'h033F, 15'h0355, 15'h036C, 15'h0382, 15'h0399, 15'h03B0, 15'h03C7, 15'h03DE,
|
||||
15'h03F5, 15'h040C, 15'h0424, 15'h043B, 15'h0453, 15'h046B, 15'h0483, 15'h049B,
|
||||
15'h04B3, 15'h04CB, 15'h04E3, 15'h04FC, 15'h0514, 15'h052D, 15'h0546, 15'h055F,
|
||||
15'h0578, 15'h0591, 15'h05AB, 15'h05C4, 15'h05DE, 15'h05F8, 15'h0612, 15'h062C,
|
||||
15'h0646, 15'h0661, 15'h067B, 15'h0696, 15'h06B1, 15'h06CC, 15'h06E7, 15'h0702,
|
||||
15'h071D, 15'h0739, 15'h0755, 15'h0771, 15'h078D, 15'h07A9, 15'h07C5, 15'h07E2,
|
||||
15'h07FF, 15'h081C, 15'h0839, 15'h0856, 15'h0873, 15'h0891, 15'h08AF, 15'h08CD,
|
||||
15'h08EB, 15'h0909, 15'h0928, 15'h0947, 15'h0966, 15'h0985, 15'h09A4, 15'h09C4,
|
||||
15'h09E4, 15'h0A04, 15'h0A24, 15'h0A44, 15'h0A65, 15'h0A86, 15'h0AA7, 15'h0AC8,
|
||||
15'h0AEA, 15'h0B0C, 15'h0B2E, 15'h0B50, 15'h0B72, 15'h0B95, 15'h0BB8, 15'h0BDC,
|
||||
15'h0BFF, 15'h0C23, 15'h0C47, 15'h0C6B, 15'h0C90, 15'h0CB5, 15'h0CDA, 15'h0D00,
|
||||
15'h0D25, 15'h0D4B, 15'h0D72, 15'h0D99, 15'h0DC0, 15'h0DE7, 15'h0E0F, 15'h0E37,
|
||||
15'h0E5F, 15'h0E88, 15'h0EB1, 15'h0EDA, 15'h0F04, 15'h0F2E, 15'h0F58, 15'h0F83,
|
||||
15'h0FAE, 15'h0FDA, 15'h1006, 15'h1033, 15'h105F, 15'h108D, 15'h10BA, 15'h10E9,
|
||||
15'h1117, 15'h1146, 15'h1176, 15'h11A6, 15'h11D6, 15'h1207, 15'h1239, 15'h126B,
|
||||
15'h129D, 15'h12D0, 15'h1304, 15'h1338, 15'h136D, 15'h13A2, 15'h13D8, 15'h140F,
|
||||
15'h1446, 15'h147E, 15'h14B6, 15'h14EF, 15'h1529, 15'h1564, 15'h159F, 15'h15DB,
|
||||
15'h1618, 15'h1655, 15'h1694, 15'h16D3, 15'h1713, 15'h1754, 15'h1795, 15'h17D8,
|
||||
15'h181C, 15'h1860, 15'h18A6, 15'h18EC, 15'h1934, 15'h197D, 15'h19C7, 15'h1A12,
|
||||
15'h1A5E, 15'h1AAB, 15'h1AFA, 15'h1B4A, 15'h1B9B, 15'h1BEE, 15'h1C42, 15'h1C98,
|
||||
15'h1CEF, 15'h1D48, 15'h1DA3, 15'h1DFF, 15'h1E5D, 15'h1EBD, 15'h1F1F, 15'h1F83,
|
||||
15'h1FE9, 15'h2052, 15'h20BC, 15'h2129, 15'h2199, 15'h220B, 15'h2280, 15'h22F8,
|
||||
15'h2373, 15'h23F2, 15'h2473, 15'h24F9, 15'h2582, 15'h260F, 15'h26A1, 15'h2737,
|
||||
15'h27D1, 15'h2871, 15'h2917, 15'h29C2, 15'h2A74, 15'h2B2D, 15'h2BED, 15'h2CB5,
|
||||
15'h2D86, 15'h2E60, 15'h2F45, 15'h3035, 15'h3131, 15'h323C, 15'h3356, 15'h3483,
|
||||
15'h35C3, 15'h371A, 15'h388B, 15'h3A1B, 15'h3BD0, 15'h3DB0, 15'h3FC6, 15'h421F,
|
||||
15'h44CE, 15'h47F0, 15'h4BB3, 15'h5069, 15'h56B8, 15'h604C, 15'h74E6, 15'h7FFF
|
||||
};
|
||||
|
||||
parameter div = 512; // 24.576MHz/512 = 48KHz
|
||||
reg [11:0]sample;
|
||||
reg sample_pls;
|
||||
|
||||
always@(posedge I_CLK or negedge I_RESET_n)
|
||||
begin
|
||||
if(! I_RESET_n) begin
|
||||
sample <= 0;
|
||||
sample_pls <= 0;
|
||||
end else begin
|
||||
sample <= (sample == div-1) ? 1'b0 : sample + 1'b1;
|
||||
sample_pls <= (sample == div-1)? 1'b1 : 1'b0 ;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
reg signed [8:0]expval;
|
||||
reg [7:0]index;
|
||||
reg [14:0]count;
|
||||
reg signed [23:0]snd_out;
|
||||
|
||||
always@(posedge I_CLK or negedge I_RESET_n)
|
||||
begin
|
||||
if(!I_RESET_n) begin
|
||||
expval <= 9'sd255;
|
||||
count <= 0;
|
||||
index <= 0;
|
||||
end
|
||||
else begin
|
||||
|
||||
if (sample_pls) begin
|
||||
|
||||
if (I_DECAY_EN) begin
|
||||
|
||||
count <= (count == 15'h7FF0) ? 15'h7FF0 : count + 1'b1;
|
||||
|
||||
if (count == exp_lut[index]) begin
|
||||
index <= (index == 8'd255) ? 8'd255 : index + 1'b1;
|
||||
expval <= (expval == 0) ? 1'b0 : expval - 1'b1;
|
||||
end
|
||||
end
|
||||
else begin
|
||||
|
||||
expval <= (expval == 9'sd255) ? 9'sd255 : expval + 1'b1;
|
||||
count <= 0;
|
||||
index <= 0;
|
||||
end
|
||||
|
||||
snd_out <= I_SND_DAT * expval;
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign O_SND_DAT = snd_out[23:8];
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
//============================================================================
|
||||
// Sprite DMA.
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68)
|
||||
// October 2019
|
||||
//
|
||||
// Simplified sprite DMA. To Do: Implement full 8257 DMA controller.
|
||||
//============================================================================
|
||||
|
||||
module dkongjr_dma
|
||||
(
|
||||
input I_CLK,
|
||||
input I_RSTn,
|
||||
input I_DMA_TRIG,
|
||||
input [7:0]I_DMA_DS,
|
||||
|
||||
output [9:0]O_DMA_AS,
|
||||
output [9:0]O_DMA_AD,
|
||||
output [7:0]O_DMA_DD,
|
||||
output O_DMA_CES,
|
||||
output O_DMA_CED
|
||||
);
|
||||
|
||||
parameter dma_cnt_end = 10'h17F;
|
||||
|
||||
reg W_DMA_EN = 1'b0;
|
||||
reg [10:0]W_DMA_CNT;
|
||||
reg [7:0]W_DMA_DATA;
|
||||
reg [9:0]DMA_ASr;
|
||||
reg [9:0]DMA_ADr;
|
||||
reg [7:0]DMA_DDr;
|
||||
reg DMA_CESr, DMA_CEDr;
|
||||
|
||||
always @(posedge I_CLK)
|
||||
begin
|
||||
reg old_trig;
|
||||
|
||||
old_trig <= I_DMA_TRIG;
|
||||
|
||||
if(~old_trig & I_DMA_TRIG)
|
||||
begin
|
||||
DMA_ASr <= 10'h100;
|
||||
DMA_ADr <= 0;
|
||||
W_DMA_CNT <= 0;
|
||||
W_DMA_EN <= 1'b1;
|
||||
DMA_CESr <= 1'b1;
|
||||
DMA_CEDr <= 1'b1;
|
||||
end
|
||||
else if(W_DMA_EN == 1'b1)
|
||||
begin
|
||||
case(W_DMA_CNT[1:0])
|
||||
1: DMA_DDr <= I_DMA_DS;
|
||||
2: DMA_ASr <= DMA_ASr + 1'd1;
|
||||
3: DMA_ADr <= DMA_ADr + 1'd1;
|
||||
default:;
|
||||
endcase
|
||||
W_DMA_CNT <= W_DMA_CNT + 1'd1;
|
||||
W_DMA_EN <= W_DMA_CNT==dma_cnt_end*4 ? 1'b0 : 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
DMA_CESr <= 1'b0;
|
||||
DMA_CEDr <= 1'b0;
|
||||
end
|
||||
end
|
||||
|
||||
assign O_DMA_AS = DMA_ASr;
|
||||
assign O_DMA_AD = DMA_ADr;
|
||||
assign O_DMA_DD = DMA_DDr;
|
||||
assign O_DMA_CES = DMA_CESr;
|
||||
assign O_DMA_CED = DMA_CEDr;
|
||||
|
||||
|
||||
endmodule
|
||||
@@ -1,125 +0,0 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG H&V COUNTER
|
||||
//
|
||||
// Version : 2.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2005- 2- 9 some changed.
|
||||
//================================================================================
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2 H 1 H 2 H 4H 8H 16 H 32H 64 H 128 H 256 H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0], V_CNT[1], V_CNT[2], V_CNT[3], V_CNT[4], V_CNT[5], V_CNT[6], V_CNT[7]
|
||||
// 1 V 2 V 4 V 8 V 16 V 32 V 64 V 128 V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
|
||||
|
||||
module dkongjr_hv_count(
|
||||
|
||||
// input
|
||||
I_CLK,
|
||||
RST_n,
|
||||
V_FLIP,
|
||||
// output
|
||||
O_CLK,
|
||||
H_CNT,
|
||||
V_CNT,
|
||||
VF_CNT,
|
||||
H_BLANKn,
|
||||
V_BLANKn,
|
||||
C_BLANKn,
|
||||
H_SYNCn,
|
||||
V_SYNCn
|
||||
|
||||
);
|
||||
|
||||
input I_CLK;// 24.576MHz
|
||||
input RST_n;
|
||||
input V_FLIP;
|
||||
|
||||
output O_CLK;
|
||||
output [9:0]H_CNT;
|
||||
output [7:0]V_CNT;
|
||||
output [7:0]VF_CNT;
|
||||
output H_BLANKn;
|
||||
output V_BLANKn;
|
||||
output C_BLANKn;
|
||||
output H_SYNCn;
|
||||
output V_SYNCn;
|
||||
|
||||
parameter H_count = 1536;
|
||||
parameter H_BL_P = 511;
|
||||
parameter H_BL_W = 767;
|
||||
parameter V_CL_P = 576;
|
||||
parameter V_CL_W = 640;
|
||||
|
||||
parameter V_BL_P = 239;
|
||||
parameter V_BL_W = 15;
|
||||
|
||||
reg [10:0]H_CNT_r = 0;
|
||||
always@(posedge I_CLK)
|
||||
begin
|
||||
H_CNT_r <= (H_CNT_r == H_count-1)? 0 : H_CNT_r+1 ;
|
||||
end
|
||||
|
||||
assign H_CNT[9:0] = H_CNT_r[10:1];
|
||||
assign O_CLK = H_CNT_r[0] ;
|
||||
|
||||
reg V_CLK = 1'b0;
|
||||
reg H_BLANK = 1'b0;
|
||||
always@(posedge O_CLK)
|
||||
begin
|
||||
case(H_CNT[9:0])
|
||||
H_BL_P: H_BLANK <= 1;
|
||||
V_CL_P: V_CLK <= 1;
|
||||
H_BL_W: H_BLANK <= 0;
|
||||
V_CL_W: V_CLK <= 0;
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
|
||||
assign H_SYNCn = ~V_CLK;
|
||||
assign H_BLANKn = ~H_BLANK;
|
||||
|
||||
|
||||
reg [8:0]V_CNT_r;
|
||||
always@(posedge V_CLK or negedge RST_n)
|
||||
begin
|
||||
if(RST_n == 1'b0)
|
||||
V_CNT_r <= 0 ;
|
||||
else
|
||||
V_CNT_r <= (V_CNT_r == 255)? 504 : V_CNT_r+1 ;
|
||||
end
|
||||
|
||||
reg V_BLANK;
|
||||
always@(posedge V_CLK or negedge RST_n)
|
||||
begin
|
||||
if(RST_n == 1'b0)begin
|
||||
V_BLANK <= 0 ;
|
||||
end
|
||||
else begin
|
||||
case(V_CNT_r[8:0])
|
||||
V_BL_P: V_BLANK <= 1;
|
||||
V_BL_W: V_BLANK <= 0;
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
assign V_CNT[7:0] = V_CNT_r[7:0];
|
||||
assign V_SYNCn = ~V_CNT_r[8];
|
||||
assign V_BLANKn = ~V_BLANK;
|
||||
assign C_BLANKn = ~(H_BLANK | V_BLANK);
|
||||
assign VF_CNT[7:0]= V_CNT ^ {8{V_FLIP}};
|
||||
|
||||
endmodule
|
||||
@@ -1,171 +0,0 @@
|
||||
/*MIT License
|
||||
Copyright (c) 2019 Gregory Hogan (Soltan_G42)
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.*/
|
||||
|
||||
module iir_1st_order
|
||||
#(
|
||||
parameter COEFF_WIDTH = 18,
|
||||
parameter COEFF_SCALE = 15,
|
||||
parameter DATA_WIDTH = 8,
|
||||
parameter COUNT_BITS = 11
|
||||
)
|
||||
(
|
||||
input clk,
|
||||
input reset,
|
||||
input [COUNT_BITS - 1 : 0] div,
|
||||
input signed [COEFF_WIDTH - 1 : 0] A2, B1, B2,
|
||||
input signed [DATA_WIDTH - 1 :0] in,
|
||||
output signed [DATA_WIDTH - 1:0] out
|
||||
);
|
||||
|
||||
reg signed [DATA_WIDTH-1:0] x0,x1,y0;
|
||||
reg signed [DATA_WIDTH + COEFF_WIDTH - 1 : 0] out32;
|
||||
reg [COUNT_BITS - 1:0] count;
|
||||
|
||||
// Usage:
|
||||
// Design your 1st order iir low/high-pass with a tool that will give you the
|
||||
// filter coefficients for the difference equation. Filter coefficients can
|
||||
// be generated in Octave/matlab/scipy using a command similar to
|
||||
// [B, A] = butter( 1, 3500/(106528/2), 'low') for a 3500 hz 1st order low-pass
|
||||
// assuming 106528Hz sample rate.
|
||||
//
|
||||
// The Matlab output is:
|
||||
// B = [0.093863 0.093863]
|
||||
// A = [1.00000 -0.81227]
|
||||
//
|
||||
// Then scale coefficients by multiplying by 2^COEFF_SCALE and round to nearest integer
|
||||
//
|
||||
// B = [3076 3076]
|
||||
// A = [32768 -26616]
|
||||
//
|
||||
// Discard A(1) because it is assumed 1.0 before scaling
|
||||
//
|
||||
// This leaves you with A2 = -26616 , B1 = 3076 , B2 = 3076
|
||||
// B1 + B2 - A2 should sum to 2^COEFF_SCALE = 32768
|
||||
//
|
||||
// Sample frequency is "clk rate/div": for Genesis this is 53.69mhz/504 = 106528hz
|
||||
//
|
||||
// COEFF_WIDTH must be at least COEFF_SCALE+1 and must be large enough to
|
||||
// handle temporary overflow during this computation: out32 <= (B1*x0 + B2*x1) - A2*y0
|
||||
|
||||
assign out = y0;
|
||||
|
||||
always @ (*) begin
|
||||
out32 <= (B1*x0 + B2*x1) - A2*y0; //Previous output is y0 not y1
|
||||
end
|
||||
|
||||
always @ (posedge clk) begin
|
||||
if(reset) begin
|
||||
count <= 0;
|
||||
x0 <= 0;
|
||||
x1 <= 0;
|
||||
y0 <= 0;
|
||||
end
|
||||
else begin
|
||||
count <= count + 1'd1;
|
||||
if (count == div - 1) begin
|
||||
count <= 0;
|
||||
y0 <= {out32[DATA_WIDTH + COEFF_WIDTH - 1] , out32[COEFF_SCALE + DATA_WIDTH - 2 : COEFF_SCALE]};
|
||||
x1 <= x0;
|
||||
x0 <= in;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule //iir_1st_order
|
||||
|
||||
|
||||
|
||||
module iir_2nd_order
|
||||
#(
|
||||
parameter COEFF_WIDTH = 18,
|
||||
parameter COEFF_SCALE = 14,
|
||||
parameter DATA_WIDTH = 16,
|
||||
parameter COUNT_BITS = 10
|
||||
)
|
||||
(
|
||||
input clk,
|
||||
input reset,
|
||||
input [COUNT_BITS - 1 : 0] div,
|
||||
input signed [COEFF_WIDTH - 1 : 0] A2, A3, B1, B2, B3,
|
||||
input signed [DATA_WIDTH - 1 : 0] in,
|
||||
output [DATA_WIDTH - 1 : 0] out
|
||||
);
|
||||
|
||||
reg signed [DATA_WIDTH-1 : 0] x0,x1,x2;
|
||||
reg signed [DATA_WIDTH-1 : 0] y0,y1;
|
||||
reg signed [(DATA_WIDTH + COEFF_WIDTH - 1) : 0] out32;
|
||||
reg [COUNT_BITS : 0] count;
|
||||
|
||||
|
||||
// Usage:
|
||||
// Design your 1st order iir low/high-pass with a tool that will give you the
|
||||
// filter coefficients for the difference equation. Filter coefficients can
|
||||
// be generated in Octave/matlab/scipy using a command similar to
|
||||
// [B, A] = butter( 2, 5000/(48000/2), 'low') for a 5000 hz 2nd order low-pass
|
||||
// assuming 48000Hz sample rate.
|
||||
//
|
||||
// Output is:
|
||||
// B = [ 0.072231 0.144462 0.072231]
|
||||
// A = [1.00000 -1.10923 0.39815]
|
||||
//
|
||||
// Then scale coefficients by multiplying by 2^COEFF_SCALE and round to nearest integer
|
||||
// Make sure your coefficients can be stored as a signed number with COEFF_WIDTH bits.
|
||||
//
|
||||
// B = [1183 2367 1183]
|
||||
// A = [16384 -18174 6523]
|
||||
//
|
||||
// Discard A(1) because it is assumed 1.0 before scaling
|
||||
//
|
||||
// This leaves you with A2 = -18174 , A3 = 6523, B1 = 1183 , B2 = 2367 , B3 = 1183
|
||||
// B1 + B2 + B3 - A2 - A3 should sum to 2^COEFF_SCALE = 16384
|
||||
//
|
||||
// Sample frequency is "clk rate/div"
|
||||
//
|
||||
// COEFF_WIDTH must be at least COEFF_SCALE+1 and must be large enough to
|
||||
// handle temporary overflow during this computation:
|
||||
// out32 <= (B1*x0 + B2*x1 + B3*x2) - (A2*y0 + A3*y1);
|
||||
|
||||
assign out = y0;
|
||||
|
||||
always @ (*) begin
|
||||
out32 <= (B1*x0 + B2*x1 + B3*x2) - (A2*y0 + A3*y1); //Previous output is y0 not y1
|
||||
end
|
||||
|
||||
always @ (posedge clk) begin
|
||||
if(reset) begin
|
||||
count <= 0;
|
||||
x0 <= 0;
|
||||
x1 <= 0;
|
||||
x2 <= 0;
|
||||
y0 <= 0;
|
||||
y1 <= 0;
|
||||
end
|
||||
else begin
|
||||
count <= count + 1'd1;
|
||||
if (count == div - 1) begin
|
||||
count <= 0;
|
||||
y1 <= y0;
|
||||
y0 <= {out32[DATA_WIDTH + COEFF_WIDTH - 1] , out32[(DATA_WIDTH + COEFF_SCALE - 2) : COEFF_SCALE]};
|
||||
x2 <= x1;
|
||||
x1 <= x0;
|
||||
x0 <= in;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule //iir_2nd_order
|
||||
@@ -1,76 +0,0 @@
|
||||
//===============================================================================
|
||||
//
|
||||
// Modified for Donkey Kong Junior by gaz68.
|
||||
//
|
||||
// FPGA DONKEY KONG INPORT
|
||||
//
|
||||
// Version : 1.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
//================================================================================
|
||||
|
||||
|
||||
|
||||
module dkongjr_inport(
|
||||
|
||||
// input
|
||||
I_SW1,
|
||||
I_SW2,
|
||||
I_SW3,
|
||||
I_DIP,
|
||||
// enable
|
||||
I_SW1_OE_n,
|
||||
I_SW2_OE_n,
|
||||
I_SW3_OE_n,
|
||||
I_DIP_OE_n,
|
||||
// output
|
||||
O_D
|
||||
|
||||
);
|
||||
|
||||
// B0 B1 B2 B3 B4 B5 B6 B7
|
||||
//-----------------------------------------------------------------------------------
|
||||
//7C00(R) sw1(MAIN) RIGHT LEFT UP DOWN JUMP
|
||||
//7C80(R) sw2(SUB) RIGHT LEFT UP DOWN JUMP
|
||||
//7D00(R) sw3( ) 1P 2P COIN
|
||||
//7D80(R) DIP
|
||||
// JUMPMAN 3 0 0
|
||||
// 4 1 0
|
||||
// 5 0 1
|
||||
// 6 1 1
|
||||
// BONUS 10000 0 0
|
||||
// 15000 1 0
|
||||
// 20000 0 1
|
||||
// 25000 1 1
|
||||
// COIN 1/1 0 0 0
|
||||
// 1/2 0 1 0
|
||||
// 1/3 0 0 1
|
||||
// 1/4 0 1 1
|
||||
// 2/1 1 0 0
|
||||
// 3/1 1 1 0
|
||||
// 4/1 1 0 1
|
||||
// 5/1 1 1 1
|
||||
// Table 0
|
||||
// Upright 1
|
||||
//
|
||||
input [7:0]I_SW1,I_SW2,I_SW3,I_DIP;
|
||||
input I_SW1_OE_n,I_SW2_OE_n,I_SW3_OE_n,I_DIP_OE_n; // Active LOW
|
||||
output [7:0]O_D;
|
||||
|
||||
wire [7:0]W_SW1 = I_SW1_OE_n ? 8'h00: ~I_SW1;
|
||||
wire [7:0]W_SW2 = I_SW2_OE_n ? 8'h00: !I_DIP[7] ? ~I_SW2 : ~I_SW1;
|
||||
wire [7:0]W_SW3 = I_SW3_OE_n ? 8'h00: ~I_SW3;
|
||||
wire [7:0]W_DIP = I_DIP_OE_n ? 8'h00: I_DIP;
|
||||
|
||||
|
||||
assign O_D = W_SW1 | W_SW2 | W_SW3 | W_DIP;
|
||||
|
||||
|
||||
endmodule
|
||||
@@ -1,128 +0,0 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG used LOGIC IP
|
||||
//
|
||||
// Version : 1.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
//================================================================================
|
||||
|
||||
//================================================
|
||||
// 74xx109
|
||||
// JK FLIP-FLOPS with PRESET & RST
|
||||
// PRESET NO USE
|
||||
//================================================
|
||||
|
||||
module logic_74xx109(
|
||||
|
||||
CLK,
|
||||
RST,
|
||||
I_J,
|
||||
I_K,
|
||||
O_Q
|
||||
|
||||
);
|
||||
|
||||
input CLK,RST;
|
||||
input I_J,I_K;
|
||||
output O_Q;
|
||||
|
||||
reg Q;
|
||||
|
||||
assign O_Q = Q;
|
||||
|
||||
always@(posedge CLK or negedge RST)
|
||||
begin
|
||||
if(RST == 1'b0) Q <= 1'b0;
|
||||
else begin
|
||||
case({I_J,I_K})
|
||||
2'b00: Q <= 1'b0;
|
||||
2'b01: Q <= Q;
|
||||
2'b10: Q <= ~Q;
|
||||
2'b11: Q <= 1'b1;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
//================================================
|
||||
// 74xx138
|
||||
// 3-to-8 line decoder
|
||||
//================================================
|
||||
|
||||
module logic_74xx138(
|
||||
|
||||
I_G1,
|
||||
I_G2a,
|
||||
I_G2b,
|
||||
I_Sel,
|
||||
O_Q
|
||||
|
||||
);
|
||||
|
||||
input I_G1,I_G2a,I_G2b;
|
||||
input [2:0]I_Sel;
|
||||
output [7:0]O_Q;
|
||||
|
||||
reg [7:0]O_Q;
|
||||
wire [2:0]I_G = {I_G1,I_G2a,I_G2b};
|
||||
always@(I_G or I_Sel or O_Q)
|
||||
begin
|
||||
if(I_G == 3'b100 )begin
|
||||
case(I_Sel)
|
||||
3'b000: O_Q = 8'b11111110;
|
||||
3'b001: O_Q = 8'b11111101;
|
||||
3'b010: O_Q = 8'b11111011;
|
||||
3'b011: O_Q = 8'b11110111;
|
||||
3'b100: O_Q = 8'b11101111;
|
||||
3'b101: O_Q = 8'b11011111;
|
||||
3'b110: O_Q = 8'b10111111;
|
||||
3'b111: O_Q = 8'b01111111;
|
||||
endcase
|
||||
end
|
||||
else begin
|
||||
O_Q = 8'b11111111;
|
||||
end
|
||||
end
|
||||
endmodule
|
||||
|
||||
//================================================
|
||||
// 74xx139
|
||||
// 2-to-4 line decoder
|
||||
//================================================
|
||||
|
||||
module logic_74xx139(
|
||||
|
||||
I_G,
|
||||
I_Sel,
|
||||
O_Q
|
||||
|
||||
);
|
||||
|
||||
input I_G;
|
||||
input [1:0]I_Sel;
|
||||
output [3:0]O_Q;
|
||||
|
||||
reg [3:0]O_Q;
|
||||
always@(I_G or I_Sel or O_Q)
|
||||
begin
|
||||
if(I_G == 1'b0 )begin
|
||||
case(I_Sel)
|
||||
2'b00: O_Q = 4'b1110;
|
||||
2'b01: O_Q = 4'b1101;
|
||||
2'b10: O_Q = 4'b1011;
|
||||
2'b11: O_Q = 4'b0111;
|
||||
endcase
|
||||
end
|
||||
else begin
|
||||
O_Q = 4'b1111;
|
||||
end
|
||||
end
|
||||
endmodule
|
||||
@@ -1,377 +0,0 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG OBJ
|
||||
//
|
||||
// Version : 4.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004 -8-24 OBJ ROM REMOVED K.Degawa
|
||||
// 2005- 2- 9 The description of the ROM was changed.
|
||||
// Data on the ROM are initialized at the time of the start.
|
||||
//================================================================================
|
||||
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2 H 1 H 2 H 4H 8H 16 H 32H 64 H 128 H 256 H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0], V_CNT[1], V_CNT[2], V_CNT[3], V_CNT[4], V_CNT[5], V_CNT[6], V_CNT[7]
|
||||
// 1 V 2 V 4 V 8 V 16 V 32 V 64 V 128 V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
//-----------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
module dkongjr_obj(
|
||||
|
||||
CLK_24M,
|
||||
CLK_12M,
|
||||
I_AB,
|
||||
I_DB,
|
||||
I_OBJ_D,
|
||||
I_OBJ_WRn,
|
||||
I_OBJ_RDn,
|
||||
I_OBJ_RQn,
|
||||
I_2PSL,
|
||||
I_FLIPn,
|
||||
I_H_CNT,
|
||||
I_VF_CNT,
|
||||
I_CMPBLKn,
|
||||
//I_OBJ_D1,
|
||||
//I_OBJ_D2,
|
||||
//I_OBJ_D3,
|
||||
//I_OBJ_D4,
|
||||
//O_OBJ_AB,
|
||||
//---- Debug ---------
|
||||
//--------------------
|
||||
O_DB,
|
||||
O_OBJ_DO,
|
||||
O_FLIP_VRAM,
|
||||
O_FLIP_HV,
|
||||
O_L_CMPBLKn
|
||||
|
||||
);
|
||||
|
||||
input CLK_24M;
|
||||
input CLK_12M;
|
||||
input [9:0]I_AB;
|
||||
input [7:0]I_DB;
|
||||
input [7:0]I_OBJ_D;
|
||||
input I_OBJ_WRn;
|
||||
input I_OBJ_RDn;
|
||||
input I_OBJ_RQn;
|
||||
input I_2PSL;
|
||||
input I_FLIPn;
|
||||
input I_CMPBLKn;
|
||||
input [9:0]I_H_CNT;
|
||||
input [7:0]I_VF_CNT;
|
||||
output [7:0]O_DB;
|
||||
output [5:0]O_OBJ_DO;
|
||||
output O_FLIP_VRAM;
|
||||
output O_FLIP_HV;
|
||||
output O_L_CMPBLKn;
|
||||
//output [11:0]O_OBJ_AB;
|
||||
//input [7:0]I_OBJ_D1,I_OBJ_D2,I_OBJ_D3,I_OBJ_D4;
|
||||
//---- Debug ---------
|
||||
//--------------------
|
||||
|
||||
wire W_5F1_G = ~(I_H_CNT[0]&I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
reg W_5B;
|
||||
always@(negedge CLK_24M) W_5B <= ~(I_H_CNT[0]&I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
|
||||
wire [3:0]W_5F1_Q;
|
||||
wire [3:0]W_5F2_QB;
|
||||
|
||||
logic_74xx139 U_5F1(
|
||||
|
||||
.I_G(W_5F1_G),
|
||||
.I_Sel({~I_H_CNT[9],I_H_CNT[3]}),
|
||||
.O_Q(W_5F1_Q)
|
||||
|
||||
);
|
||||
|
||||
logic_74xx139 U_5F2(
|
||||
|
||||
.I_G(1'b0),
|
||||
.I_Sel({I_H_CNT[3],I_H_CNT[2]}),
|
||||
.O_Q(W_5F2_QB)
|
||||
|
||||
);
|
||||
|
||||
reg [3:0]W_5F2_Q;
|
||||
always@(negedge CLK_24M) W_5F2_Q <= W_5F2_QB;
|
||||
|
||||
//---------- FLIP ----------------------------------------------------
|
||||
wire W_FLIP_1 = ~I_FLIPn; // INV
|
||||
wire W_FLIP_2 = W_FLIP_1 ^ 1'b1; // INV => XOR
|
||||
wire W_FLIP_3 = ~W_FLIP_2; // INV => XOR => INV
|
||||
wire W_FLIP_4 = W_FLIP_3 | W_5F2_Q[0];
|
||||
wire W_FLIP_5 = ~W_FLIP_4;
|
||||
|
||||
assign O_FLIP_VRAM = W_FLIP_1;
|
||||
assign O_FLIP_HV = W_FLIP_3;
|
||||
|
||||
//------- DB CONTROL ------------------------------------------------
|
||||
wire [7:0]WI_DB = I_OBJ_WRn ? 8'h00: I_DB;
|
||||
wire [7:0]WO_DB;
|
||||
|
||||
//assign O_DB = I_OBJ_RDn ? 8'h00: WO_DB;
|
||||
|
||||
//------- AB CONTROL ------------------------------------------------
|
||||
wire W_AB_SEL = I_OBJ_WRn & I_OBJ_RDn & I_OBJ_RQn;
|
||||
wire [9:0]W_obj_AB = W_AB_SEL ? {I_2PSL,I_H_CNT[8:0]} : I_AB ;
|
||||
wire W_obj_CS = W_AB_SEL ? 1'b0 : I_OBJ_WRn & I_OBJ_RDn;
|
||||
|
||||
//------- VFC_CNT[7:0] ------------------------------------------------
|
||||
reg [7:0]W_VFC_CNT;
|
||||
always@(negedge I_H_CNT[9]) W_VFC_CNT <= I_VF_CNT;
|
||||
|
||||
//------ PARTS 6N
|
||||
reg [7:0]W_6N_Q;
|
||||
always@(negedge CLK_12M) W_6N_Q <= I_OBJ_D;
|
||||
|
||||
wire [7:0]W_78R_A = W_6N_Q;
|
||||
wire [7:0]W_78R_B = {4'b1111,I_FLIPn,W_FLIP_1,W_FLIP_1,1'b1};
|
||||
|
||||
wire [8:0]W_78R_Q = W_78R_A + W_78R_B + 8'b00000001;
|
||||
|
||||
wire [7:0]W_78P_A = W_78R_Q[7:0];
|
||||
wire [7:0]W_78P_B = I_VF_CNT[7:0];
|
||||
|
||||
wire [8:0]W_78P_Q = W_78P_A + W_78P_B;
|
||||
|
||||
reg W_7H;
|
||||
always@(posedge CLK_12M) W_7H <= ~(W_78P_Q[7]&W_78P_Q[6]&W_78P_Q[5]&W_78P_Q[4]);
|
||||
|
||||
reg [7:0]W_5L_Q;
|
||||
reg CLK_4L;
|
||||
always@(negedge CLK_24M) CLK_4L = ~(I_H_CNT[0]&(~I_H_CNT[1]));
|
||||
|
||||
wire W_6L = ~(W_5L_Q[6]|W_5L_Q[7]);
|
||||
wire W_3P = ~(I_H_CNT[2]&I_H_CNT[3]&I_H_CNT[4]&I_H_CNT[5]&I_H_CNT[6]&I_H_CNT[7]&I_H_CNT[8] & W_6L);
|
||||
|
||||
//-- U_4L ---------------
|
||||
|
||||
reg W_4L_Q;
|
||||
wire RST_4L = ~I_H_CNT[9];
|
||||
always@(posedge CLK_4L or negedge RST_4L)
|
||||
begin
|
||||
if(RST_4L == 0) W_4L_Q <= 1'b0;
|
||||
else W_4L_Q <= ~(W_7H&W_3P);
|
||||
end
|
||||
|
||||
wire CLK_5L = ~(CLK_12M&(~I_H_CNT[9])&W_4L_Q&W_6L);
|
||||
|
||||
wire W_5L_RST = ~I_H_CNT[9];
|
||||
always@(posedge CLK_5L or negedge W_5L_RST)
|
||||
begin
|
||||
if(W_5L_RST == 1'b0) W_5L_Q <= 0;
|
||||
else W_5L_Q <= W_5L_Q +1;
|
||||
end
|
||||
|
||||
//------ PARTS 6M ----------------------------------------------
|
||||
reg [7:0]W_6M_Q;
|
||||
always@(negedge CLK_12M) W_6M_Q <= W_6N_Q;
|
||||
//----------------------------------------------------------------
|
||||
wire [5:0]W_RAM_7M_AB = ~I_H_CNT[9] ? W_5L_Q[5:0]:I_H_CNT[7:2];
|
||||
wire [8:0]W_RAM_7M_DIB = {W_6M_Q[7:0],W_3P};
|
||||
wire [8:0]W_RAM_7M_DOB;
|
||||
wire [8:0]W_RAM_7M_DOBn = W_RAM_7M_DOB[8:0];
|
||||
|
||||
reg [7:0]W_HD;
|
||||
always@(negedge CLK_24M) W_HD <= W_RAM_7M_DOBn[8:1];
|
||||
|
||||
wire [7:0]W_78K_A = W_RAM_7M_DOBn[8:1];
|
||||
wire [7:0]W_78K_B = {4'b1111,W_FLIP_5,W_FLIP_4,W_FLIP_4,1'b1};
|
||||
|
||||
wire [8:0]W_78K_Q = W_78K_A + W_78K_B + 8'b00000001;
|
||||
|
||||
wire [7:0]W_78J_A = W_78K_Q[7:0];
|
||||
wire [7:0]W_78J_B = W_VFC_CNT[7:0];
|
||||
|
||||
wire [8:0]W_78J_Q = W_78J_A + W_78J_B;
|
||||
wire [7:0]W_8H_D = W_78J_Q[7:0];
|
||||
|
||||
reg [7:0]W_8H_Q;
|
||||
always@(posedge W_5F2_Q[0]) W_8H_Q <= W_8H_D;
|
||||
|
||||
reg [7:0]W_6J_Q;
|
||||
always@(posedge W_5F2_Q[2]) W_6J_Q <= W_HD[7:0];
|
||||
|
||||
wire [7:0]W_6K_D = {W_6J_Q[7],I_CMPBLKn,~I_H_CNT[9],
|
||||
~(I_H_CNT[9]|W_FLIP_2),W_6J_Q[3:0]};
|
||||
|
||||
reg [7:0]W_6K_Q;
|
||||
always@(posedge CLK_12M)
|
||||
begin
|
||||
if(W_5B == 1'b0) W_6K_Q <= W_6K_D;
|
||||
else W_6K_Q <= W_6K_Q;
|
||||
end
|
||||
|
||||
assign O_L_CMPBLKn = W_6K_Q[6];
|
||||
|
||||
wire W_8N_Q;
|
||||
|
||||
logic_74xx109 U_8N(
|
||||
|
||||
.CLK(W_5F2_Q[0]),
|
||||
.RST(I_H_CNT[9]),
|
||||
.I_J(~W_RAM_7M_DOBn[0]),
|
||||
.I_K(1'b1),
|
||||
.O_Q(W_8N_Q)
|
||||
|
||||
);
|
||||
|
||||
wire W_6F = ~(W_8H_Q[4]&W_8H_Q[5]&W_8H_Q[6]&W_8H_Q[7]);
|
||||
wire W_5J = W_8N_Q|W_6F;
|
||||
wire W_6L1 = ~(W_5J|W_5B);
|
||||
|
||||
//------ PARTS 6H ----------------------------------------------
|
||||
wire W_6H_G = ~W_5F2_Q[1];
|
||||
reg [7:0]W_6H_Q;
|
||||
always@(W_6H_G or W_HD[7:0])
|
||||
begin
|
||||
if(W_6H_G) W_6H_Q <= W_HD[7:0];
|
||||
//else
|
||||
// W_6H_Q <= W_6H_Q;
|
||||
end
|
||||
|
||||
//----------------------------------------------------------------
|
||||
wire [3:0]W_8B_A,W_8B_B,W_8B_Y;
|
||||
wire W_8C_Qa,W_8D_Qh;
|
||||
wire W_8E_Qa,W_8F_Qh;
|
||||
|
||||
//------ PARTS 8CD ----------------------------------------------
|
||||
wire [1:0]C_8CD = W_8B_Y[1:0];
|
||||
wire [15:0]I_8CD = {W_OBJ_DO_7C,W_OBJ_DO_7D};
|
||||
reg [15:0]reg_8CD;
|
||||
|
||||
assign W_8C_Qa = reg_8CD[15];
|
||||
assign W_8D_Qh = reg_8CD[0];
|
||||
always@(posedge CLK_12M)
|
||||
begin
|
||||
case(C_8CD)
|
||||
2'b00: reg_8CD <= reg_8CD;
|
||||
2'b10: reg_8CD <= {reg_8CD[14:0],1'b0};
|
||||
2'b01: reg_8CD <= {1'b0,reg_8CD[15:1]};
|
||||
2'b11: reg_8CD <= I_8CD;
|
||||
endcase
|
||||
end
|
||||
|
||||
//------ PARTS 8EF ----------------------------------------------
|
||||
wire [1:0]C_8EF = W_8B_Y[1:0];
|
||||
wire [15:0]I_8EF = {W_OBJ_DO_7E,W_OBJ_DO_7F};
|
||||
reg [15:0]reg_8EF;
|
||||
|
||||
assign W_8E_Qa = reg_8EF[15];
|
||||
assign W_8F_Qh = reg_8EF[0];
|
||||
always@(posedge CLK_12M)
|
||||
begin
|
||||
case(C_8EF)
|
||||
2'b00: reg_8EF <= reg_8EF;
|
||||
2'b10: reg_8EF <= {reg_8EF[14:0],1'b0};
|
||||
2'b01: reg_8EF <= {1'b0,reg_8EF[15:1]};
|
||||
2'b11: reg_8EF <= I_8EF;
|
||||
endcase
|
||||
end
|
||||
|
||||
//------ PARTS 8B ----------------------------------------------
|
||||
assign W_8B_A = {W_8C_Qa,W_8E_Qa,1'b1,W_6L1};
|
||||
assign W_8B_B = {W_8D_Qh,W_8F_Qh,W_6L1,1'b1};
|
||||
|
||||
assign W_8B_Y = W_6K_Q[7] ? W_8B_B:W_8B_A;
|
||||
|
||||
//------ PRATS 3E & 4E -----------------------------------------
|
||||
reg CLK_3E;
|
||||
always@(negedge CLK_24M)
|
||||
CLK_3E <= ~(~(I_H_CNT[0]&W_6K_Q[5])& CLK_12M);
|
||||
|
||||
wire [7:0]W_3E_LD_DI = W_78K_Q[7:0];
|
||||
|
||||
wire W_3E_RST = W_5F1_Q[3]|W_6K_Q[5];
|
||||
wire W_3E_LD = W_5F1_Q[1];
|
||||
reg [7:0]W_3E_Q;
|
||||
always@(posedge CLK_3E)
|
||||
begin
|
||||
if(W_3E_LD == 1'b0)
|
||||
W_3E_Q <= W_3E_LD_DI;
|
||||
else begin
|
||||
if(W_3E_RST == 1'b0)
|
||||
W_3E_Q <= 0 ;
|
||||
else
|
||||
W_3E_Q <= W_3E_Q +1;
|
||||
end
|
||||
end
|
||||
|
||||
wire [5:0]W_RAM_2EH_DO;
|
||||
wire [5:0]W_3J_B = {W_6K_Q[3:0],W_8B_Y[2],W_8B_Y[3]};
|
||||
|
||||
wire [5:0]W_RAM_2EH_DI = W_6K_Q[5] ? 8'h00 :(W_8B_Y[2]|W_8B_Y[3])? W_3J_B: W_RAM_2EH_DO;
|
||||
|
||||
wire [7:0]W_RAM_2EH_AB = W_3E_Q[7:0]^{8{W_6K_Q[4]}};
|
||||
|
||||
ram_2EH7M U_2EH_7M(
|
||||
// 256_6
|
||||
.I_CLKA(CLK_24M),
|
||||
.I_ADDRA(W_RAM_2EH_AB),
|
||||
.I_DA(W_RAM_2EH_DI),
|
||||
.I_CEA(1'b1),
|
||||
.I_WEA(~CLK_3E),
|
||||
.O_DA(W_RAM_2EH_DO),
|
||||
// 64_9
|
||||
.I_CLKB(~CLK_24M),
|
||||
.I_ADDRB(W_RAM_7M_AB),
|
||||
.I_DB(W_RAM_7M_DIB),
|
||||
.I_CEB(1'b1),
|
||||
.I_WEB(~CLK_5L),
|
||||
.O_DB(W_RAM_7M_DOB)
|
||||
|
||||
);
|
||||
|
||||
//------ PARTS 3K ----------------------------------------------
|
||||
reg [5:0]O_OBJ_DO;
|
||||
always@(posedge CLK_24M)
|
||||
begin
|
||||
if(~CLK_12M)
|
||||
O_OBJ_DO <= W_RAM_2EH_DO;
|
||||
else
|
||||
O_OBJ_DO <= O_OBJ_DO ;
|
||||
end
|
||||
|
||||
wire [10:0]W_ROM_OBJ_AB = {W_6H_Q[6:0],W_8H_Q[3:0]^{W_6H_Q[7],W_6H_Q[7],W_6H_Q[7],W_6H_Q[7]}};
|
||||
|
||||
wire [7:0]W_OBJ_DO_7C,W_OBJ_DO_7D,W_OBJ_DO_7E,W_OBJ_DO_7F;
|
||||
obj1 obj1 (
|
||||
.clk(CLK_12M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_OBJ_DO_7C)
|
||||
);
|
||||
|
||||
obj2 obj2 (
|
||||
.clk(CLK_12M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_OBJ_DO_7D)
|
||||
);
|
||||
|
||||
obj3 obj3 (
|
||||
.clk(CLK_12M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_OBJ_DO_7E)
|
||||
);
|
||||
|
||||
obj4 obj4 (
|
||||
.clk(CLK_12M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_OBJ_DO_7F)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
//============================================================================
|
||||
// ROMS + Sound samples for analogur sounds.
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68)
|
||||
// October 2019
|
||||
//
|
||||
//============================================================================
|
||||
//
|
||||
// Contents of A.DKONGJR.ROM file:
|
||||
//
|
||||
// 0x00000 - 0x01FFF 5B PROGRAM ROM (8KB)
|
||||
// 0x02000 - 0x03FFF 5C PROGRAM ROM (8KB)
|
||||
// 0x04000 - 0x05FFF 5E PROGRAM ROM (8KB)
|
||||
// 0x06000 - 0x06FFF 3P GFX ROM (4KB)
|
||||
// 0x07000 - 0x07FFF 3N GFX ROM (4KB)
|
||||
// 0x08000 - 0x09FFF 5B PROGRAM ROM REPEAT (8KB)
|
||||
// 0x0A000 - 0x0A7FF 7C GFX ROM (2KB)
|
||||
// 0x0A800 - 0x0AFFF 7C GFX ROM REPEAT (2KB)
|
||||
// 0x0B000 - 0x0B7FF 7D GFX ROM (2KB)
|
||||
// 0x0B800 - 0x0BFFF 7D GFX ROM REPEAT (2KB)
|
||||
// 0x0C000 - 0x0C7FF 7E GFX ROM (2KB)
|
||||
// 0x0C800 - 0x0CFFF 7E GFX ROM REPEAT (2KB)
|
||||
// 0x0D000 - 0x0D7FF 7F GFX ROM (2KB)
|
||||
// 0x0D800 - 0x0DFFF 7F GFX ROM REPEAT (2KB)
|
||||
// 0x0E000 - 0x0EFFF 3H SOUND ROM (4KB)
|
||||
// 0x0F000 - 0x0F0FF 2E PROM (256B)
|
||||
// 0x0F100 - 0x0F1FF 2F PROM (256B)
|
||||
// 0x0F200 - 0x0F2FF 2N PROM (256B)
|
||||
// 0x0F300 - 0x0FFFF EMPTY
|
||||
//--------------------------------------------
|
||||
// 0x10000 - 0x10FFF WALK SOUND SAMPLE 0 (4KB)
|
||||
// 0x11000 - 0x11FFF WALK SOUND SAMPLE 1 (4KB)
|
||||
// 0x12000 - 0x12FFF WALK SOUND SAMPLE 2 (4KB)
|
||||
// 0x13000 - 0x13FFF CLIMB SOUND SAMPLE 0 (4KB)
|
||||
// 0x14000 - 0x14FFF CLIMB SOUND SAMPLE 1 (4KB)
|
||||
// 0x15000 - 0x15FFF CLIMB SOUND SAMPLE 2 (4KB)
|
||||
// 0x16000 - 0x19FFF JUMP SOUND SAMPLE (16KB)
|
||||
// 0x1A000 - 0x1DFFF LAND SOUND SAMPLE (16KB)
|
||||
// 0x1E000 - 0x27FFF FALL SOUND SAMPLE (40KB)
|
||||
|
||||
module dkongjr_rom
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [17:0]I_ADDRA,
|
||||
input [16:0]I_ADDRB,
|
||||
input [15:0]I_ADDRC,
|
||||
input [7:0]I_DA,
|
||||
input I_WEA,
|
||||
output [7:0]O_DB,
|
||||
output [15:0]O_DC
|
||||
);
|
||||
|
||||
reg [16:0] W_ADDRB;
|
||||
|
||||
// Program ROM address translation (0x0000 - 0x5FFF).
|
||||
// Program ROMs are addressed as follows:
|
||||
// 0x0000 - 0x0FFF ROM 5B [0x0000 - 0x0FFF] (4KB)
|
||||
// 0x1000 - 0x17FF ROM 5C [0x1000 - 0x17FF] (2KB)
|
||||
// 0x1800 - 0x1FFF ROM 5E [0x1800 - 0x1FFF] (2KB)
|
||||
// 0x2000 - 0x27FF ROM 5C [0x0000 - 0x07FF] (2KB)
|
||||
// 0x2800 - 0x2FFF ROM 5E [0x0800 - 0x0FFF] (2KB)
|
||||
// 0x3000 - 0x3FFF ROM 5B [0x1000 - 0x1FFF] (4KB)
|
||||
// 0x4000 - 0x47FF ROM 5E [0x0000 - 0x07FF] (2KB)
|
||||
// 0x4800 - 0x4FFF ROM 5C [0x0800 - 0x0FFF] (2KB)
|
||||
// 0x5000 - 0x57FF ROM 5E [0x1000 - 0x17FF] (2KB)
|
||||
// 0x5800 - 0x5FFF ROM 5C [0x1800 - 0x1FFF] (2KB)
|
||||
|
||||
always @(*) begin
|
||||
case(I_ADDRB[16:11])
|
||||
6'h02: W_ADDRB = {6'h06,I_ADDRB[10:0]}; // 0x1000-0x17FF -> 0x3000-0x37FF in ROM file
|
||||
6'h03: W_ADDRB = {6'h0B,I_ADDRB[10:0]}; // 0x1800-0x1FFF -> 0x5800-0x5FFF in ROM file
|
||||
6'h05: W_ADDRB = {6'h09,I_ADDRB[10:0]}; // 0x2800-0x2FFF -> 0x4800-0x4FFF in ROM file
|
||||
6'h06: W_ADDRB = {6'h02,I_ADDRB[10:0]}; // 0x3000-0x37FF -> 0x1000-0x17FF in ROM file
|
||||
6'h07: W_ADDRB = {6'h03,I_ADDRB[10:0]}; // 0x3800-0x3FFF -> 0x1800-0x1FFF in ROM file
|
||||
6'h09: W_ADDRB = {6'h05,I_ADDRB[10:0]}; // 0x4800-0x4FFF -> 0x2800-0x2FFF in ROM file
|
||||
6'h0B: W_ADDRB = {6'h07,I_ADDRB[10:0]}; // 0x5800-0x5FFF -> 0x3800-0x3FFF in ROM file
|
||||
default: W_ADDRB = I_ADDRB;
|
||||
endcase
|
||||
end
|
||||
|
||||
dpram #(16) roms
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.wren_a(I_WEA && (I_ADDRA[17:16] == 2'b0)),
|
||||
.address_a(I_ADDRA[15:0]),
|
||||
.data_a(I_DA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(W_ADDRB),
|
||||
.q_b(O_DB)
|
||||
);
|
||||
|
||||
// Write 8-bit download stream to wave ROM as 16-bit words.
|
||||
reg [15:0]WAV_ADDR = 0;
|
||||
reg [7:0]DA_L = 0;
|
||||
reg [15:0]DA16 = 0;
|
||||
|
||||
always @(posedge I_CLKA) begin
|
||||
|
||||
if (I_ADDRA[17:16] > 0) begin
|
||||
if (I_ADDRA[0] == 1'b0) begin
|
||||
DA_L <= I_DA;
|
||||
end else begin
|
||||
DA16 <= {I_DA, DA_L};
|
||||
WAV_ADDR <= I_ADDRA[17:1] - 17'h08000;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// 16-bit sound samples for analogue sounds.
|
||||
dpram #(16, 16) wav_rom
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.wren_a(I_WEA),
|
||||
.address_a(WAV_ADDR),
|
||||
.data_a(DA16),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRC),
|
||||
.q_b(O_DC)
|
||||
);
|
||||
|
||||
endmodule
|
||||
@@ -1,115 +0,0 @@
|
||||
//===============================================================================
|
||||
//
|
||||
// Modified for Donkey Kong Junior by gaz68.
|
||||
//
|
||||
// FPGA DONKEY KONG SOUND_I/F
|
||||
//
|
||||
// Version : 4.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004- 9- 2 T48-IP(beta3) was include. K.Degawa
|
||||
// 2004- 9-14 T48-IP was changed to beta4. K.Degawa
|
||||
// 2005- 2- 9 The description of the ROM was changed.
|
||||
// Data on the ROM are initialized at the time of the start.
|
||||
//================================================================================
|
||||
|
||||
module dkongjr_sound(
|
||||
|
||||
I_CLK1,
|
||||
I_CLK2,
|
||||
I_RST,
|
||||
I8035_DBI,
|
||||
I8035_DBO,
|
||||
I8035_PAI,
|
||||
I8035_PBI,
|
||||
I8035_PBO,
|
||||
I8035_ALE,
|
||||
I8035_RDn,
|
||||
I8035_PSENn,
|
||||
I8035_RSTn,
|
||||
I8035_INTn,
|
||||
I8035_T0,
|
||||
I8035_T1,
|
||||
I_SOUND_DAT,
|
||||
I_SOUND_CNT,
|
||||
O_SOUND_DAT
|
||||
);
|
||||
|
||||
input I_CLK1,I_CLK2;
|
||||
input I_RST;
|
||||
|
||||
input [7:0]I8035_DBI;
|
||||
output [7:0]I8035_DBO;
|
||||
input [7:0]I8035_PAI;
|
||||
input [7:0]I8035_PBI;
|
||||
output [7:0]I8035_PBO;
|
||||
input I8035_ALE;
|
||||
input I8035_RDn;
|
||||
input I8035_PSENn;
|
||||
|
||||
input [4:0]I_SOUND_DAT;
|
||||
input [5:0]I_SOUND_CNT;
|
||||
|
||||
output I8035_INTn;
|
||||
output I8035_T0;
|
||||
output I8035_T1;
|
||||
output I8035_RSTn;
|
||||
|
||||
output [7:0]O_SOUND_DAT;
|
||||
|
||||
assign I8035_PBO[6] = ~I_SOUND_CNT[5];
|
||||
assign I8035_PBO[4] = ~I_SOUND_CNT[4];
|
||||
assign I8035_T0 = ~I_SOUND_CNT[3];
|
||||
assign I8035_T1 = ~I_SOUND_CNT[2];
|
||||
assign I8035_PBO[5] = ~I_SOUND_CNT[1];
|
||||
assign I8035_INTn = ~I_SOUND_CNT[0];
|
||||
assign I8035_RSTn = I_RST;
|
||||
|
||||
assign I8035_PBO[3:0] = 4'b0000;
|
||||
assign I8035_PBO[7] = 1'b0;
|
||||
|
||||
//---- Parts 4FH -----------------------------
|
||||
wire [11:0]S_ROM_A;
|
||||
reg [7:0]L_ROM_A;
|
||||
|
||||
always@(negedge I8035_ALE) L_ROM_A <= I8035_DBI ;
|
||||
assign S_ROM_A = {I8035_PBI[3:0],L_ROM_A[7:0]};
|
||||
|
||||
//---- Parts 4C ------------------------------
|
||||
reg S_D1_CS;
|
||||
always@(posedge I_CLK1) S_D1_CS <= ~I8035_RDn;
|
||||
|
||||
wire [7:0]S_D1 = S_D1_CS ? {3'h0,I_SOUND_DAT[4:0]}: 8'h00 ;
|
||||
|
||||
//---- PROG ROM 3H ---------------------------
|
||||
|
||||
|
||||
wire [7:0]S_PROG_DB;
|
||||
wire [7:0]S_PROG_D = I8035_PSENn ? 8'h00 : S_PROG_DB ;
|
||||
|
||||
snd1 snd1 (
|
||||
.clk(I_CLK2),
|
||||
.addr(S_ROM_A),
|
||||
.data(S_PROG_DB)
|
||||
);
|
||||
|
||||
|
||||
//---- I8035_DB IO I/F -----------------------
|
||||
wire [7:0]I8035_DO = S_PROG_D | S_D1;
|
||||
|
||||
reg [7:0]DO;
|
||||
always@(posedge I_CLK1) DO <= I8035_DO;
|
||||
assign I8035_DBO = DO;
|
||||
|
||||
//---- DAC I/F ------------------------
|
||||
assign O_SOUND_DAT = I8035_PAI;
|
||||
|
||||
|
||||
endmodule
|
||||
@@ -1,509 +0,0 @@
|
||||
//===============================================================================
|
||||
// Arcade: Donkey Kong Junior by gaz68 (Oct 2019)
|
||||
// https://github.com/gaz68
|
||||
//
|
||||
// Original Donkey Kong core by Katsumi Degawa.
|
||||
//===============================================================================
|
||||
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG TOP
|
||||
//
|
||||
// Version : 4.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004- 3- 3 first release.
|
||||
// 2004- 6- 8 Quartus2 v4.0sp1 used (bug fix) K.Degawa
|
||||
// 2004- 8-24 T80-IP was include. K.Degawa
|
||||
// 2004- 9- 2 T48-IP(beta3) was include. K.Degawa
|
||||
// 2004- 9-14 T48-IP was changed to beta4. K.Degawa
|
||||
// 2005- 2- 9 Data on the ROM are initialized at the time of the start.
|
||||
// added device.
|
||||
// changed module I/O.
|
||||
//================================================================================
|
||||
//--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
module dkongjr_top
|
||||
(
|
||||
// FPGA_USE
|
||||
input I_CLK_24576M,
|
||||
input I_RESETn,
|
||||
output O_PIX,
|
||||
|
||||
// INPORT SW IF
|
||||
input I_U1,I_D1,I_L1,I_R1,I_J1,
|
||||
input I_U2,I_D2,I_L2,I_R2,I_J2,
|
||||
input I_S1,I_S2,I_C1,I_SF,
|
||||
//input I_DEBUG,
|
||||
input [7:0]I_DIP_SW,
|
||||
|
||||
// VGA (VIDEO) IF
|
||||
output [2:0]O_VGA_R,
|
||||
output [2:0]O_VGA_G,
|
||||
output [1:0]O_VGA_B,
|
||||
output O_H_BLANK,
|
||||
output O_V_BLANK,
|
||||
output O_VGA_H_SYNCn,
|
||||
output O_VGA_V_SYNCn,
|
||||
|
||||
// SOUND IF
|
||||
output signed [15:0] O_SOUND_DAT
|
||||
);
|
||||
|
||||
assign O_H_BLANK = ~W_H_BLANKn;
|
||||
assign O_V_BLANK = ~W_V_BLANKn;
|
||||
|
||||
wire W_CLK_24576M = I_CLK_24576M;
|
||||
wire W_CLK_12288M,WB_CLK_12288M;
|
||||
wire WB_CLK_06144M;
|
||||
wire W_RESETn = I_RESETn;
|
||||
|
||||
//============ CPU MODULE ( Donkey Kong ) ====================================
|
||||
//======== Assign Wire =========================================================
|
||||
// INPUT DATA BUS
|
||||
wire [7:0]ZDO,ZDI;
|
||||
wire [7:0]WI_D = ZDI;
|
||||
// INPORT DATA OUT
|
||||
wire [7:0]W_SW_DO;
|
||||
// ADDRESS DECODER
|
||||
wire W_ROM_CSn;
|
||||
wire W_RAM1_CSn;
|
||||
wire W_RAM2_CSn;
|
||||
wire W_RAM3_CSn;
|
||||
wire W_RAM_CSn = W_RAM1_CSn & W_RAM2_CSn & W_RAM3_CSn;
|
||||
//wire W_6A_Gn;
|
||||
wire W_OBJ_RQn;
|
||||
wire W_OBJ_RDn;
|
||||
wire W_OBJ_WRn;
|
||||
wire W_VRAM_RDn;
|
||||
wire W_VRAM_WRn;
|
||||
wire W_SW1_OEn ;
|
||||
wire W_SW2_OEn ;
|
||||
wire W_SW3_OEn ;
|
||||
wire W_DIP_OEn ;
|
||||
|
||||
wire W_SW_OEn = W_SW1_OEn & W_SW2_OEn & W_SW3_OEn & W_DIP_OEn;
|
||||
|
||||
wire [1:0]W_4H_Q;
|
||||
wire [7:0]W_5H_Q;
|
||||
wire [7:0]W_6H_Q;
|
||||
wire [4:0]W_3D_Q;
|
||||
|
||||
// INT RAM DATA
|
||||
wire [7:0]W_RAM1_DO;
|
||||
wire [7:0]W_RAM2_DO;
|
||||
wire [7:0]W_RAM3_DO;
|
||||
|
||||
// EXT ROM DATA
|
||||
wire [7:0]W_ROM_DO;
|
||||
|
||||
// H&V COUNTER
|
||||
wire [9:0]W_H_CNT;
|
||||
//wire [7:0]W_V_CNT;
|
||||
wire W_H_BLANKn;
|
||||
wire W_V_BLANKn;
|
||||
wire W_C_BLANKn;
|
||||
wire W_H_SYNCn;
|
||||
wire W_V_SYNCn;
|
||||
|
||||
wire [7:0]W_OBJ_DB;
|
||||
wire [7:0]W_VRAM_DB;
|
||||
wire [7:0]W_OBJ_DI;
|
||||
|
||||
wire W_CPU_CLK;
|
||||
wire W_CPU_RESETn = W_RESETn;
|
||||
wire W_CPU_WAITn;
|
||||
wire W_CPU_RFSHn;
|
||||
wire W_CPU_M1n;
|
||||
wire W_CPU_NMIn;
|
||||
wire W_CPU_MREQn;
|
||||
wire W_CPU_RDn;
|
||||
wire W_CPU_WRn;
|
||||
wire [15:0]W_CPU_A;
|
||||
|
||||
assign WB_CLK_06144M = W_H_CNT[0]; // 6.144MHz
|
||||
assign WB_CLK_12288M = W_CLK_12288M; // 12.288MHz
|
||||
assign W_CPU_CLK = W_H_CNT[1]; // 3.072MHz
|
||||
|
||||
T80as z80core(
|
||||
.RESET_n(W_RESETn),
|
||||
.CLK_n(W_CPU_CLK),
|
||||
.WAIT_n(W_CPU_WAITn),
|
||||
.INT_n(1'b1),
|
||||
.NMI_n(W_CPU_NMIn),
|
||||
.BUSRQ_n(1'b1),
|
||||
.M1_n(W_CPU_M1n),
|
||||
.MREQ_n(W_CPU_MREQn),
|
||||
.RD_n(W_CPU_RDn),
|
||||
.WR_n(W_CPU_WRn),
|
||||
.RFSH_n(W_CPU_RFSHn),
|
||||
.A(W_CPU_A),
|
||||
.DI(ZDO),
|
||||
.DO(ZDI)
|
||||
);
|
||||
|
||||
//========= CPU DATA BUS[7:0] ==============================================
|
||||
wire [7:0]WO_D = W_SW_DO | W_RAM1_DO |W_RAM2_DO |W_RAM3_DO | W_ROM_DO | W_VRAM_DB ;
|
||||
assign ZDO = WO_D;
|
||||
|
||||
wire [11:0]OBJ_ROM_A;
|
||||
reg [7:0]OBJ_ROM1_DO,OBJ_ROM2_DO,OBJ_ROM3_DO,OBJ_ROM4_DO;
|
||||
|
||||
reg [7:0]WB_ROM_DO;
|
||||
assign W_ROM_DO = (~W_ROM_CSn & ~W_CPU_RDn)? WB_ROM_DO :8'h00;
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
||||
prog ROM(
|
||||
.clk(W_CLK_12288M),
|
||||
.addr(W_CPU_A[14:0]),
|
||||
.data(WB_ROM_DO)
|
||||
);
|
||||
|
||||
|
||||
//======== INT RAM Interface ==================================================
|
||||
|
||||
ram_1024_8 U_3C4C
|
||||
(
|
||||
.I_CLK(~W_CLK_12288M),
|
||||
.I_ADDR(W_CPU_A[9:0]),
|
||||
.I_D(WI_D),
|
||||
.I_CE(~W_RAM1_CSn),
|
||||
.I_WE(~W_CPU_WRn),
|
||||
.O_D(W_RAM1_DO)
|
||||
);
|
||||
|
||||
ram_1024_8 U_3B4B
|
||||
(
|
||||
.I_CLK(~W_CLK_12288M),
|
||||
.I_ADDR(W_CPU_A[9:0]),
|
||||
.I_D(WI_D),
|
||||
.I_CE(~W_RAM2_CSn),
|
||||
.I_WE(~W_CPU_WRn),
|
||||
.O_D(W_RAM2_DO)
|
||||
);
|
||||
|
||||
//---- Sprite DMA ------------------------------------------
|
||||
|
||||
wire [9:0]W_OBJ_AB = {W_2PSL, W_H_CNT[8:0]};
|
||||
|
||||
wire [9:0]W_DMA_A;
|
||||
wire [7:0]W_DMA_D;
|
||||
wire W_DMA_CE;
|
||||
|
||||
wire [9:0]W_DMA_AB;
|
||||
wire [7:0]W_DMA_DB;
|
||||
wire W_DMA_CEB;
|
||||
|
||||
ram_1024_8_8 U_3A4A
|
||||
(
|
||||
// A Port
|
||||
.I_CLKA(~W_CLK_12288M),
|
||||
.I_ADDRA(W_CPU_A[9:0]),
|
||||
.I_DA(WI_D),
|
||||
.I_CEA(~W_RAM3_CSn),
|
||||
.I_WEA(~W_CPU_WRn),
|
||||
.O_DA(W_RAM3_DO),
|
||||
// B Port
|
||||
.I_CLKB(W_CLK_12288M),
|
||||
.I_ADDRB(W_DMA_A),
|
||||
.I_DB(8'h00),
|
||||
.I_CEB(W_DMA_CE),
|
||||
.I_WEB(1'b0),
|
||||
.O_DB(W_DMA_D)
|
||||
);
|
||||
|
||||
|
||||
dkongjr_dma sprite_dma
|
||||
(
|
||||
.I_CLK(W_H_CNT[0]), // 3.072 Mhz
|
||||
.I_DMA_TRIG(W_DREQ),
|
||||
.I_DMA_DS(W_DMA_D),
|
||||
|
||||
.O_DMA_AS(W_DMA_A),
|
||||
.O_DMA_AD(W_DMA_AB),
|
||||
.O_DMA_DD(W_DMA_DB),
|
||||
.O_DMA_CES(W_DMA_CE),
|
||||
.O_DMA_CED(W_DMA_CEB)
|
||||
);
|
||||
|
||||
|
||||
ram_1024_8_8 U_6PR
|
||||
(
|
||||
// A Port
|
||||
.I_CLKA(~W_CLK_12288M),
|
||||
.I_ADDRA(W_DMA_AB),
|
||||
.I_DA(W_DMA_DB),
|
||||
.I_CEA(W_DMA_CEB),
|
||||
.I_WEA(1'b1),
|
||||
.O_DA(),
|
||||
// B Port
|
||||
.I_CLKB(W_CLK_12288M),
|
||||
.I_ADDRB(W_OBJ_AB[9:0]),
|
||||
.I_DB(8'h00),
|
||||
.I_CEB(1'b1),
|
||||
.I_WEB(1'b0),
|
||||
.O_DB(W_OBJ_DI)
|
||||
);
|
||||
|
||||
|
||||
//---- SW Interface ---------------------------------
|
||||
wire [7:0]W_SW1={1'b1,1'b1,1'b1,I_J1,I_D1,I_U1,I_L1,I_R1};
|
||||
wire [7:0]W_SW2={1'b1,1'b1,1'b1,I_J2,I_D2,I_U2,I_L2,I_R2};
|
||||
wire [7:0]W_SW3={I_C1,1'b1,1'b1,1'b1,I_S2,I_S1,1'b1,1'b1};
|
||||
|
||||
|
||||
dkongjr_inport inport
|
||||
(
|
||||
// input
|
||||
.I_SW1(W_SW1),
|
||||
.I_SW2(W_SW2),
|
||||
.I_SW3(W_SW3),
|
||||
.I_DIP(I_DIP_SW),
|
||||
// enable
|
||||
.I_SW1_OE_n(W_SW1_OEn),
|
||||
.I_SW2_OE_n(W_SW2_OEn),
|
||||
.I_SW3_OE_n(W_SW3_OEn),
|
||||
.I_DIP_OE_n(W_DIP_OEn),
|
||||
// output
|
||||
.O_D(W_SW_DO)
|
||||
);
|
||||
|
||||
|
||||
//======== Address Decoder =====================================================
|
||||
wire W_VRAMBUSYn;
|
||||
|
||||
dkongjr_adec adec
|
||||
(
|
||||
.I_CLK12M(W_CLK_12288M),
|
||||
.I_CLK(W_CPU_CLK),
|
||||
.I_RESET_n(W_RESETn),
|
||||
.I_AB(W_CPU_A),
|
||||
.I_DB(WI_D),
|
||||
.I_MREQ_n(W_CPU_MREQn),
|
||||
.I_RFSH_n(W_CPU_RFSHn),
|
||||
.I_RD_n(W_CPU_RDn),
|
||||
.I_WR_n(W_CPU_WRn),
|
||||
.I_VRAMBUSY_n(W_VRAMBUSYn),
|
||||
.I_VBLK_n(W_V_BLANKn),
|
||||
.O_WAIT_n(W_CPU_WAITn),
|
||||
.O_NMI_n(W_CPU_NMIn),
|
||||
.O_ROM_CS_n(W_ROM_CSn),
|
||||
.O_RAM1_CS_n(W_RAM1_CSn),
|
||||
.O_RAM2_CS_n(W_RAM2_CSn),
|
||||
.O_RAM3_CS_n(W_RAM3_CSn),
|
||||
.O_DMA_CS_n(/*O_DMA_CSn*/),
|
||||
.O_6A_G_n(/*W_6A_Gn*/),
|
||||
.O_OBJ_RQ_n(W_OBJ_RQn),
|
||||
.O_OBJ_RD_n(W_OBJ_RDn),
|
||||
.O_OBJ_WR_n(W_OBJ_WRn),
|
||||
.O_VRAM_RD_n(W_VRAM_RDn),
|
||||
.O_VRAM_WR_n(W_VRAM_WRn),
|
||||
.O_SW1_OE_n(W_SW1_OEn),
|
||||
.O_SW2_OE_n(W_SW2_OEn),
|
||||
.O_SW3_OE_n(W_SW3_OEn),
|
||||
.O_DIP_OE_n(W_DIP_OEn),
|
||||
.O_4H_Q(W_4H_Q),
|
||||
.O_5H_Q(W_5H_Q),
|
||||
.O_6H_Q(W_6H_Q),
|
||||
.O_3D_Q(W_3D_Q)
|
||||
);
|
||||
|
||||
wire W_FLIPn = W_5H_Q[2];
|
||||
wire W_2PSL = W_5H_Q[3];
|
||||
wire W_DREQ = W_5H_Q[5]; // DMA Trigger
|
||||
|
||||
|
||||
//=========== VIDEO MODULE ===================================
|
||||
//======== Assign Wire =======================================
|
||||
wire [7:0]W_VF_CNT;
|
||||
wire [5:0]W_OBJ_DAT;
|
||||
wire W_FLIP_VRAM;
|
||||
wire W_FLIP_HV;
|
||||
wire W_L_CMPBLKn;
|
||||
wire [3:0]W_VRAM_COL;
|
||||
wire [1:0]W_VRAM_VID;
|
||||
wire [5:0]W_VRAM_DAT = {W_VRAM_COL[3:0],W_VRAM_VID[1:0]};
|
||||
|
||||
//======== H & V Counter =====================================================
|
||||
|
||||
dkongjr_hv_count hv
|
||||
(
|
||||
// input
|
||||
.I_CLK(W_CLK_24576M),
|
||||
.RST_n(W_RESETn),
|
||||
.V_FLIP(W_FLIP_HV),
|
||||
// output
|
||||
.O_CLK(W_CLK_12288M),
|
||||
.H_CNT(W_H_CNT),
|
||||
.V_CNT(/*W_V_CNT*/),
|
||||
.VF_CNT(W_VF_CNT),
|
||||
.H_BLANKn(W_H_BLANKn),
|
||||
.V_BLANKn(W_V_BLANKn),
|
||||
.C_BLANKn(W_C_BLANKn),
|
||||
.H_SYNCn(W_H_SYNCn),
|
||||
.V_SYNCn(W_V_SYNCn)
|
||||
);
|
||||
|
||||
//======== OBJ (VIDEO) =====================================================
|
||||
|
||||
dkongjr_obj obj
|
||||
(
|
||||
// input
|
||||
.CLK_24M(W_CLK_24576M),
|
||||
.CLK_12M(WB_CLK_12288M),
|
||||
.I_AB(),
|
||||
.I_DB(/*W_2N_DO*/),
|
||||
.I_OBJ_D(W_OBJ_DI),
|
||||
.I_OBJ_WRn(1'b1),
|
||||
.I_OBJ_RDn(1'b1),
|
||||
.I_OBJ_RQn(1'b1),
|
||||
.I_2PSL(W_2PSL),
|
||||
.I_FLIPn(W_FLIPn),
|
||||
.I_H_CNT(W_H_CNT),
|
||||
.I_VF_CNT(W_VF_CNT),
|
||||
.I_CMPBLKn(W_C_BLANKn),
|
||||
// Debug
|
||||
// output
|
||||
.O_DB(W_OBJ_DB),
|
||||
.O_OBJ_DO(W_OBJ_DAT),
|
||||
.O_FLIP_VRAM(W_FLIP_VRAM),
|
||||
.O_FLIP_HV(W_FLIP_HV),
|
||||
.O_L_CMPBLKn(W_L_CMPBLKn)
|
||||
);
|
||||
|
||||
//======== V-RAM (VIDEO) =====================================================
|
||||
|
||||
dkongjr_vram vram
|
||||
(
|
||||
// input
|
||||
.CLK_12M(~W_CLK_12288M),
|
||||
.I_AB(W_CPU_A[9:0]),
|
||||
.I_DB(WI_D),
|
||||
.I_VRAM_WRn(W_VRAM_WRn),
|
||||
.I_VRAM_RDn(W_VRAM_RDn),
|
||||
.I_FLIP(W_FLIP_VRAM),
|
||||
.I_H_CNT(W_H_CNT),
|
||||
.I_VF_CNT(W_VF_CNT),
|
||||
.I_CMPBLK(W_C_BLANKn),
|
||||
.I_4H_Q0(W_4H_Q[0]),
|
||||
// Debug
|
||||
// output
|
||||
.O_DB(W_VRAM_DB),
|
||||
.O_COL(W_VRAM_COL),
|
||||
.O_VID(W_VRAM_VID),
|
||||
.O_VRAMBUSYn(W_VRAMBUSYn),
|
||||
.O_ESBLKn()
|
||||
);
|
||||
|
||||
//======== COLOR PALETE =====================================================
|
||||
wire [2:0]W_R;
|
||||
wire [2:0]W_G;
|
||||
wire [1:0]W_B;
|
||||
|
||||
assign O_PIX = W_H_CNT[0];
|
||||
|
||||
dkongjr_col_pal cpal
|
||||
(
|
||||
// input
|
||||
.CLK_6M(W_H_CNT[0]),
|
||||
.CLK_12M(W_CLK_12288M),
|
||||
.I_VRAM_D(W_VRAM_DAT),
|
||||
.I_OBJ_D(W_OBJ_DAT),
|
||||
.I_CMPBLKn(W_L_CMPBLKn),
|
||||
.I_5H_Q6(W_5H_Q[6]),
|
||||
.I_5H_Q7(W_5H_Q[7]),
|
||||
// output
|
||||
.O_R(W_R),
|
||||
.O_G(W_G),
|
||||
.O_B(W_B)
|
||||
);
|
||||
|
||||
//======== VIDEO Interface =====================================================
|
||||
|
||||
assign O_VGA_R = W_R;
|
||||
assign O_VGA_G = W_G;
|
||||
assign O_VGA_B = W_B;
|
||||
assign O_VGA_H_SYNCn = W_H_SYNCn;
|
||||
assign O_VGA_V_SYNCn = W_V_SYNCn;
|
||||
|
||||
//======== DIGTAL SOUND =====================================================
|
||||
// Background music and some of the sound effects
|
||||
|
||||
wire [7:0]W_D_S_DAT;
|
||||
wire [15:0]W_D_S_DATB;
|
||||
wire [15:0]W_D_S_DATC;
|
||||
|
||||
wire [7:0]I8035_DBI;
|
||||
wire [7:0]I8035_DBO;
|
||||
wire [7:0]I8035_PAI;
|
||||
wire [7:0]I8035_PBI;
|
||||
wire [7:0]I8035_PBO;
|
||||
wire I8035_ALE;
|
||||
wire I8035_RDn;
|
||||
wire I8035_PSENn;
|
||||
wire I8035_CLK = WB_CLK_06144M;
|
||||
wire I8035_INTn;
|
||||
wire I8035_T0;
|
||||
wire I8035_T1;
|
||||
wire I8035_RSTn;
|
||||
|
||||
I8035IP SOUND_CPU
|
||||
(
|
||||
.I_CLK(I8035_CLK),
|
||||
.I_RSTn(I8035_RSTn),
|
||||
.I_INTn(I8035_INTn),
|
||||
.I_EA(1'b1),
|
||||
.O_PSENn(I8035_PSENn),
|
||||
.O_RDn(I8035_RDn),
|
||||
.O_WRn(),
|
||||
.O_ALE(I8035_ALE),
|
||||
.O_PROGn(),
|
||||
.I_T0(I8035_T0),
|
||||
.O_T0(),
|
||||
.I_T1(I8035_T1),
|
||||
.I_DB(I8035_DBO),
|
||||
.O_DB(I8035_DBI),
|
||||
.I_P1(8'h00),
|
||||
.O_P1(I8035_PAI),
|
||||
.I_P2(I8035_PBO),
|
||||
.O_P2(I8035_PBI)
|
||||
);
|
||||
|
||||
dkongjr_sound Digtal_sound
|
||||
(
|
||||
.I_CLK1(W_CLK_12288M),
|
||||
.I_CLK2(W_CLK_24576M),
|
||||
.I_RST(W_RESETn),
|
||||
.I8035_DBI(I8035_DBI),
|
||||
.I8035_DBO(I8035_DBO),
|
||||
.I8035_PAI(I8035_PAI),
|
||||
.I8035_PBI(I8035_PBI),
|
||||
.I8035_PBO(I8035_PBO),
|
||||
.I8035_ALE(I8035_ALE),
|
||||
.I8035_RDn(I8035_RDn),
|
||||
.I8035_PSENn(I8035_PSENn),
|
||||
.I8035_RSTn(I8035_RSTn),
|
||||
.I8035_INTn(I8035_INTn),
|
||||
.I8035_T0(I8035_T0),
|
||||
.I8035_T1(I8035_T1),
|
||||
|
||||
.I_SOUND_DAT(W_3D_Q),
|
||||
.I_SOUND_CNT({W_4H_Q[1],W_6H_Q[6:3],W_5H_Q[0]}),
|
||||
.O_SOUND_DAT(W_D_S_DAT)
|
||||
);
|
||||
|
||||
assign O_SOUND_DAT = W_D_S_DAT;
|
||||
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
//===============================================================================
|
||||
//
|
||||
// Modified for Donkey Kong Junior by gaz68.
|
||||
//
|
||||
// FPGA DONKEY KONG V RAM
|
||||
//
|
||||
// Version : 4.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004- 8-24 V-RAM module changed . K.Degawa
|
||||
// 2005- 2- 9 The description of the ROM was changed.
|
||||
// Data on the ROM are initialized at the time of the start.
|
||||
//================================================================================
|
||||
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2 H 1 H 2 H 4H 8H 16 H 32H 64 H 128 H 256 H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0], V_CNT[1], V_CNT[2], V_CNT[3], V_CNT[4], V_CNT[5], V_CNT[6], V_CNT[7]
|
||||
// 1 V 2 V 4 V 8 V 16 V 32 V 64 V 128 V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
//-----------------------------------------------------------------------------------------
|
||||
|
||||
module dkongjr_vram(
|
||||
|
||||
CLK_12M,
|
||||
I_AB,
|
||||
I_DB,
|
||||
I_VRAM_WRn,
|
||||
I_VRAM_RDn,
|
||||
I_FLIP,
|
||||
I_H_CNT,
|
||||
I_VF_CNT,
|
||||
I_CMPBLK,
|
||||
I_4H_Q0,
|
||||
//---- Debug ----
|
||||
//---------------
|
||||
O_DB,
|
||||
O_COL,
|
||||
O_VID,
|
||||
O_VRAMBUSYn,
|
||||
O_ESBLKn
|
||||
|
||||
);
|
||||
|
||||
input CLK_12M;
|
||||
input [9:0]I_AB;
|
||||
input [7:0]I_DB;
|
||||
input I_VRAM_WRn;
|
||||
input I_VRAM_RDn;
|
||||
input I_FLIP;
|
||||
input [9:0]I_H_CNT;
|
||||
input [7:0]I_VF_CNT;
|
||||
input I_CMPBLK;
|
||||
input I_4H_Q0;
|
||||
|
||||
output [7:0]O_DB;
|
||||
output [3:0]O_COL;
|
||||
output [1:0]O_VID;
|
||||
output O_VRAMBUSYn;
|
||||
output O_ESBLKn;
|
||||
|
||||
//---- Debug ----
|
||||
//---------------
|
||||
wire [7:0]WI_DB = I_VRAM_WRn ? 8'h00: I_DB;
|
||||
wire [7:0]WO_DB;
|
||||
|
||||
assign O_DB = I_VRAM_RDn ? 8'h00: WO_DB;
|
||||
|
||||
wire [4:0]W_HF_CNT = I_H_CNT[8:4]^{I_FLIP,I_FLIP,I_FLIP,I_FLIP,I_FLIP};
|
||||
wire [9:0]W_cnt_AB = {I_VF_CNT[7:3],W_HF_CNT[4:0]};
|
||||
wire [9:0]W_vram_AB = I_CMPBLK ? W_cnt_AB : I_AB ;
|
||||
wire W_vram_CS = I_CMPBLK ? 1'b0 : I_VRAM_WRn & I_VRAM_RDn;
|
||||
wire W_2S4 = I_CMPBLK ? 1'b0 : 1'b1 ;
|
||||
|
||||
reg CLK_2M;
|
||||
always@(negedge CLK_12M) CLK_2M <= ~(I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
|
||||
ram_1024_8 U_2PR(
|
||||
|
||||
.I_CLK(~CLK_12M),
|
||||
.I_ADDR(W_vram_AB),
|
||||
.I_D(WI_DB),
|
||||
.I_CE(~W_vram_CS),
|
||||
.I_WE(~I_VRAM_WRn),
|
||||
.O_D(WO_DB)
|
||||
|
||||
);
|
||||
|
||||
wire [3:0]W_2N_DO;
|
||||
col3 col3 (
|
||||
.clk(CLK_12M),
|
||||
.addr({W_vram_AB[9:7],W_vram_AB[4:0]}),
|
||||
.data(W_2N_DO)
|
||||
);
|
||||
|
||||
// Parts 2M
|
||||
reg [3:0]O_COL;
|
||||
always@(negedge CLK_2M) O_COL[3:0] <= W_2N_DO[3:0];
|
||||
|
||||
|
||||
wire ROM_3PN_CE = ~I_H_CNT[9];
|
||||
wire [3:0]W_4M_a,W_4M_b;
|
||||
wire [3:0]W_4M_Y;
|
||||
wire W_4P_Qa,W_4P_Qh,W_4N_Qa,W_4N_Qh;
|
||||
|
||||
wire CLK_4PN = I_H_CNT[0];
|
||||
|
||||
//------ PARTS 4P ----------------------------------------------
|
||||
wire [1:0]C_4P = W_4M_Y[1:0];
|
||||
wire [7:0]I_4P = W_3P_DO;
|
||||
reg [7:0]reg_4P;
|
||||
|
||||
assign W_4P_Qa = reg_4P[7];
|
||||
assign W_4P_Qh = reg_4P[0];
|
||||
always@(posedge CLK_4PN)
|
||||
begin
|
||||
case(C_4P)
|
||||
2'b00: reg_4P <= reg_4P;
|
||||
2'b10: reg_4P <= {reg_4P[6:0],1'b0};
|
||||
2'b01: reg_4P <= {1'b0,reg_4P[7:1]};
|
||||
2'b11: reg_4P <= I_4P;
|
||||
endcase
|
||||
end
|
||||
//------ PARTS 4N ----------------------------------------------
|
||||
wire [1:0]C_4N = W_4M_Y[1:0];
|
||||
wire [7:0]I_4N = W_3N_DO;
|
||||
reg [7:0]reg_4N;
|
||||
|
||||
assign W_4N_Qa = reg_4N[7];
|
||||
assign W_4N_Qh = reg_4N[0];
|
||||
always@(posedge CLK_4PN)
|
||||
begin
|
||||
case(C_4N)
|
||||
2'b00: reg_4N <= reg_4N;
|
||||
2'b10: reg_4N <= {reg_4N[6:0],1'b0};
|
||||
2'b01: reg_4N <= {1'b0,reg_4N[7:1]};
|
||||
2'b11: reg_4N <= I_4N;
|
||||
endcase
|
||||
end
|
||||
|
||||
assign W_4M_a = {W_4P_Qa,W_4N_Qa,1'b1,~(CLK_2M|W_2S4)};
|
||||
assign W_4M_b = {W_4P_Qh,W_4N_Qh,~(CLK_2M|W_2S4),1'b1};
|
||||
|
||||
assign W_4M_Y = I_FLIP ? W_4M_b:W_4M_a;
|
||||
|
||||
assign O_VID[0] = W_4M_Y[2];
|
||||
assign O_VID[1] = W_4M_Y[3];
|
||||
|
||||
//------ PARTS 2K1 ----------------------------------------------
|
||||
reg W_VRAMBUSY;
|
||||
assign O_VRAMBUSYn = ~W_VRAMBUSY;
|
||||
always@(posedge I_H_CNT[2] or negedge I_H_CNT[9])
|
||||
begin
|
||||
if(I_H_CNT[9] == 1'b0)
|
||||
W_VRAMBUSY <= 1'b1;
|
||||
else
|
||||
W_VRAMBUSY <= I_H_CNT[4]&I_H_CNT[5]&I_H_CNT[6]&I_H_CNT[7];
|
||||
end
|
||||
|
||||
//------ PARTS 2K2 ----------------------------------------------
|
||||
reg W_ESBLK;
|
||||
assign O_ESBLKn = ~W_ESBLK;
|
||||
always@(posedge I_H_CNT[6] or negedge I_H_CNT[9])
|
||||
begin
|
||||
if(I_H_CNT[9] == 1'b0)
|
||||
W_ESBLK <= 1'b0;
|
||||
else
|
||||
W_ESBLK <= ~I_H_CNT[7];
|
||||
end
|
||||
|
||||
wire [7:0] W_3P_DO, W_3N_DO;
|
||||
vid1 vid1 (
|
||||
.clk(CLK_12M & ROM_3PN_CE),
|
||||
.addr({I_4H_Q0,WO_DB[7:0],I_VF_CNT[2:0]}),
|
||||
.data(W_3P_DO)
|
||||
);
|
||||
|
||||
vid2 vid2 (
|
||||
.clk(CLK_12M & ROM_3PN_CE),
|
||||
.addr({I_4H_Q0,WO_DB[7:0],I_VF_CNT[2:0]}),
|
||||
.data(W_3N_DO)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
//============================================================================
|
||||
// Sound sample player.
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68)
|
||||
// October 2019
|
||||
//
|
||||
// Up to 8 channels. 16-bit signed samples.
|
||||
// For DKJ analogue sounds.
|
||||
//============================================================================
|
||||
|
||||
module dkongjr_wav_sound
|
||||
(
|
||||
input I_CLK,
|
||||
input I_RSTn,
|
||||
input [3:0]I_H_CNT,
|
||||
input [11:0]I_DIV,
|
||||
input [3:0]I_VOL,
|
||||
input I_DMA_TRIG,
|
||||
input I_DMA_STOP,
|
||||
input [2:0]I_DMA_CHAN, // 8 channels
|
||||
input [15:0]I_DMA_ADDR,
|
||||
input [15:0]I_DMA_LEN,
|
||||
input signed [15:0]I_DMA_DATA, // Data coming back from wave ROM
|
||||
|
||||
output [15:0]O_DMA_ADDR, // output address to wave ROM
|
||||
output signed [15:0]O_SND
|
||||
);
|
||||
|
||||
|
||||
reg [15:0]W_DMA_ADDR;
|
||||
reg signed [23:0]W_DMA_DATA;
|
||||
reg [15:0]W_DMA_CNT;
|
||||
reg W_DMA_EN = 1'b0;
|
||||
reg [11:0]sample;
|
||||
reg W_DMA_TRIG;
|
||||
reg signed [15:0]W_SAMPL;
|
||||
reg signed[8:0]W_VOL;
|
||||
|
||||
always@(posedge I_CLK or negedge I_RSTn)
|
||||
begin
|
||||
|
||||
if(! I_RSTn)begin
|
||||
|
||||
W_DMA_EN <= 1'b0;
|
||||
W_DMA_CNT <= 0;
|
||||
W_DMA_DATA <= 0;
|
||||
W_DMA_ADDR <= 0;
|
||||
W_DMA_TRIG <= 0;
|
||||
W_VOL <= 0;
|
||||
sample <= 0;
|
||||
|
||||
end else begin
|
||||
|
||||
// Check for DMA trigger and enable DMA.
|
||||
W_DMA_TRIG <= I_DMA_TRIG;
|
||||
|
||||
if(~W_DMA_TRIG & I_DMA_TRIG) begin
|
||||
|
||||
W_DMA_ADDR <= I_DMA_ADDR;
|
||||
W_DMA_CNT <= 0;
|
||||
W_DMA_EN <= 1'b1;
|
||||
W_DMA_DATA <= 0;
|
||||
sample <= 0;
|
||||
|
||||
end else if (W_DMA_EN == 1'b1) begin
|
||||
|
||||
case(I_VOL)
|
||||
4: W_VOL <= 9'sd0; // OFF
|
||||
5: W_VOL <= 9'sd26; // 10%
|
||||
6: W_VOL <= 9'sd52; // 20%
|
||||
7: W_VOL <= 9'sd79; // 30%
|
||||
8: W_VOL <= 9'sd104; // 40%
|
||||
9: W_VOL <= 9'sd130; // 50%
|
||||
10: W_VOL <= 9'sd156; // 60%
|
||||
0: W_VOL <= 9'sd182; // 70%
|
||||
1: W_VOL <= 9'sd208; // 80%
|
||||
2: W_VOL <= 9'sd234; // 90%
|
||||
3: W_VOL <= 9'sd255; // 100%
|
||||
default: W_VOL <= 9'sd255;
|
||||
endcase
|
||||
|
||||
// Prefetch sample.
|
||||
if (I_H_CNT == {I_DMA_CHAN,1'b1}) begin
|
||||
W_DMA_DATA <= I_DMA_DATA * W_VOL;
|
||||
end
|
||||
|
||||
sample <= (sample == I_DIV-1) ? 1'b0 : sample + 1'b1;
|
||||
|
||||
if (sample == I_DIV-1) begin
|
||||
W_SAMPL <= W_DMA_DATA[23:8];
|
||||
W_DMA_ADDR <= W_DMA_ADDR + 1'd1;
|
||||
W_DMA_CNT <= W_DMA_CNT + 1'd1;
|
||||
W_DMA_EN <= (W_DMA_CNT==I_DMA_LEN) || I_DMA_STOP ? 1'b0 : 1'b1;
|
||||
end
|
||||
|
||||
end else begin
|
||||
|
||||
W_DMA_ADDR <= 0;
|
||||
W_SAMPL <= 0;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
assign O_DMA_ADDR = W_DMA_ADDR;
|
||||
assign O_SND = W_SAMPL;
|
||||
|
||||
endmodule
|
||||
@@ -1,75 +0,0 @@
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.all;
|
||||
|
||||
LIBRARY altera_mf;
|
||||
USE altera_mf.altera_mf_components.all;
|
||||
|
||||
entity dpram is
|
||||
generic (
|
||||
addr_width_g : integer := 8;
|
||||
data_width_g : integer := 8
|
||||
);
|
||||
PORT
|
||||
(
|
||||
address_a : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
|
||||
address_b : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
|
||||
clock_a : IN STD_LOGIC := '1';
|
||||
clock_b : IN STD_LOGIC ;
|
||||
data_a : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
|
||||
data_b : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0) := (others => '0');
|
||||
enable_a : IN STD_LOGIC := '1';
|
||||
enable_b : IN STD_LOGIC := '1';
|
||||
wren_a : IN STD_LOGIC := '0';
|
||||
wren_b : IN STD_LOGIC := '0';
|
||||
q_a : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
|
||||
q_b : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0)
|
||||
);
|
||||
END dpram;
|
||||
|
||||
|
||||
ARCHITECTURE SYN OF dpram IS
|
||||
BEGIN
|
||||
altsyncram_component : altsyncram
|
||||
GENERIC MAP (
|
||||
address_reg_b => "CLOCK1",
|
||||
clock_enable_input_a => "NORMAL",
|
||||
clock_enable_input_b => "NORMAL",
|
||||
clock_enable_output_a => "BYPASS",
|
||||
clock_enable_output_b => "BYPASS",
|
||||
indata_reg_b => "CLOCK1",
|
||||
intended_device_family => "Cyclone V",
|
||||
lpm_type => "altsyncram",
|
||||
numwords_a => 2**addr_width_g,
|
||||
numwords_b => 2**addr_width_g,
|
||||
operation_mode => "BIDIR_DUAL_PORT",
|
||||
outdata_aclr_a => "NONE",
|
||||
outdata_aclr_b => "NONE",
|
||||
outdata_reg_a => "UNREGISTERED",
|
||||
outdata_reg_b => "UNREGISTERED",
|
||||
power_up_uninitialized => "FALSE",
|
||||
read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ",
|
||||
read_during_write_mode_port_b => "NEW_DATA_NO_NBE_READ",
|
||||
widthad_a => addr_width_g,
|
||||
widthad_b => addr_width_g,
|
||||
width_a => data_width_g,
|
||||
width_b => data_width_g,
|
||||
width_byteena_a => 1,
|
||||
width_byteena_b => 1,
|
||||
wrcontrol_wraddress_reg_b => "CLOCK1"
|
||||
)
|
||||
PORT MAP (
|
||||
address_a => address_a,
|
||||
address_b => address_b,
|
||||
clock0 => clock_a,
|
||||
clock1 => clock_b,
|
||||
clocken0 => enable_a,
|
||||
clocken1 => enable_b,
|
||||
data_a => data_a,
|
||||
data_b => data_b,
|
||||
wren_a => wren_a,
|
||||
wren_b => wren_b,
|
||||
q_a => q_a,
|
||||
q_b => q_b
|
||||
);
|
||||
|
||||
END SYN;
|
||||
@@ -1,132 +0,0 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG T8035 I/F
|
||||
//
|
||||
// Version : 1.01
|
||||
//
|
||||
// Copyright(c) 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2004- 9- 2 T48-IP(beta3) was include. K.Degawa
|
||||
// 2004- 9- 2 T48 Bug Fix K.Degawa
|
||||
// 2004- 9-14 T48-IP was changed to beta4. K.Degawa
|
||||
// 2005- 2- 9 It cleaned.
|
||||
//================================================================================
|
||||
|
||||
|
||||
module I8035IP(
|
||||
|
||||
I_CLK,
|
||||
I_RSTn,
|
||||
I_INTn,
|
||||
I_EA,
|
||||
O_PSENn,
|
||||
O_RDn,
|
||||
O_WRn,
|
||||
O_ALE,
|
||||
O_PROGn,
|
||||
I_T0,
|
||||
O_T0,
|
||||
I_T1,
|
||||
I_DB,
|
||||
O_DB,
|
||||
I_P1,
|
||||
O_P1,
|
||||
I_P2,
|
||||
O_P2
|
||||
|
||||
);
|
||||
|
||||
input I_CLK;
|
||||
input I_RSTn;
|
||||
input I_INTn;
|
||||
input I_EA;
|
||||
output O_PSENn;
|
||||
output O_RDn;
|
||||
output O_WRn;
|
||||
output O_ALE;
|
||||
output O_PROGn;
|
||||
input I_T0;
|
||||
output O_T0;
|
||||
input I_T1;
|
||||
input [7:0]I_DB;
|
||||
output [7:0]O_DB;
|
||||
input [7:0]I_P1;
|
||||
output [7:0]O_P1;
|
||||
input [7:0]I_P2;
|
||||
output [7:0]O_P2;
|
||||
|
||||
wire W_PSENn;
|
||||
assign O_PSENn = W_PSENn ;
|
||||
|
||||
// 64 Byte RAM ------------------------------------------
|
||||
wire [7:0]t48_ram_a;
|
||||
wire t48_ram_we;
|
||||
wire [7:0]t48_ram_do;
|
||||
wire [7:0]t48_ram_di;
|
||||
|
||||
ram_64_8 t48_ram(
|
||||
|
||||
.I_CLK(I_CLK),
|
||||
.I_ADDR(t48_ram_a[5:0]),
|
||||
.I_D(t48_ram_di),
|
||||
.I_CE(1'b1),
|
||||
.I_WE(t48_ram_we),
|
||||
.O_D(t48_ram_do)
|
||||
|
||||
);
|
||||
|
||||
//----------------------------------------------------------
|
||||
|
||||
wire xtal3_s;
|
||||
|
||||
t48_core t48_core(
|
||||
|
||||
.xtal_i(I_CLK),
|
||||
.reset_i(I_RSTn),
|
||||
.t0_i(I_T0),
|
||||
.t0_o(O_T0),
|
||||
.t0_dir_o(),
|
||||
.int_n_i(I_INTn),
|
||||
.ea_i(I_EA),
|
||||
.rd_n_o(O_RDn),
|
||||
.psen_n_o(W_PSENn),
|
||||
.wr_n_o(O_WRn),
|
||||
.ale_o(O_ALE),
|
||||
.db_i(I_DB),
|
||||
.db_o(O_DB),
|
||||
.db_dir_o(),
|
||||
.t1_i(I_T1),
|
||||
.p2_i(I_P2),
|
||||
.p2_o(O_P2),
|
||||
.p2_low_imp_o(),
|
||||
.p1_i(I_P1),
|
||||
.p1_o(O_P1),
|
||||
.p1_low_imp_o(),
|
||||
.prog_n_o(O_PROGn),
|
||||
.clk_i(I_CLK),
|
||||
.en_clk_i(xtal3_s),
|
||||
.xtal3_o(xtal3_s),
|
||||
.dmem_addr_o(t48_ram_a),
|
||||
.dmem_we_o(t48_ram_we),
|
||||
.dmem_data_i(t48_ram_do),
|
||||
.dmem_data_o(t48_ram_di),
|
||||
.pmem_addr_o(),
|
||||
.pmem_data_i(8'h00)
|
||||
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,309 +0,0 @@
|
||||
// megafunction wizard: %ALTPLL%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altpll
|
||||
|
||||
// ============================================================
|
||||
// File Name: pll.v
|
||||
// Megafunction Name(s):
|
||||
// altpll
|
||||
//
|
||||
// Simulation Library Files(s):
|
||||
// altera_mf
|
||||
// ============================================================
|
||||
// ************************************************************
|
||||
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||||
//
|
||||
// 13.1.4 Build 182 03/12/2014 Patches 4.26 SJ Web Edition
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//Copyright (C) 1991-2014 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 pll (
|
||||
inclk0,
|
||||
c0,
|
||||
locked);
|
||||
|
||||
input inclk0;
|
||||
output c0;
|
||||
output locked;
|
||||
|
||||
wire [4:0] sub_wire0;
|
||||
wire sub_wire2;
|
||||
wire [0:0] sub_wire5 = 1'h0;
|
||||
wire [0:0] sub_wire1 = sub_wire0[0:0];
|
||||
wire c0 = sub_wire1;
|
||||
wire locked = sub_wire2;
|
||||
wire sub_wire3 = inclk0;
|
||||
wire [1:0] sub_wire4 = {sub_wire5, sub_wire3};
|
||||
|
||||
altpll altpll_component (
|
||||
.inclk (sub_wire4),
|
||||
.clk (sub_wire0),
|
||||
.locked (sub_wire2),
|
||||
.activeclock (),
|
||||
.areset (1'b0),
|
||||
.clkbad (),
|
||||
.clkena ({6{1'b1}}),
|
||||
.clkloss (),
|
||||
.clkswitch (1'b0),
|
||||
.configupdate (1'b0),
|
||||
.enable0 (),
|
||||
.enable1 (),
|
||||
.extclk (),
|
||||
.extclkena ({4{1'b1}}),
|
||||
.fbin (1'b1),
|
||||
.fbmimicbidir (),
|
||||
.fbout (),
|
||||
.fref (),
|
||||
.icdrclk (),
|
||||
.pfdena (1'b1),
|
||||
.phasecounterselect ({4{1'b1}}),
|
||||
.phasedone (),
|
||||
.phasestep (1'b1),
|
||||
.phaseupdown (1'b1),
|
||||
.pllena (1'b1),
|
||||
.scanaclr (1'b0),
|
||||
.scanclk (1'b0),
|
||||
.scanclkena (1'b1),
|
||||
.scandata (1'b0),
|
||||
.scandataout (),
|
||||
.scandone (),
|
||||
.scanread (1'b0),
|
||||
.scanwrite (1'b0),
|
||||
.sclkout0 (),
|
||||
.sclkout1 (),
|
||||
.vcooverrange (),
|
||||
.vcounderrange ());
|
||||
defparam
|
||||
altpll_component.bandwidth_type = "AUTO",
|
||||
altpll_component.clk0_divide_by = 78,
|
||||
altpll_component.clk0_duty_cycle = 50,
|
||||
altpll_component.clk0_multiply_by = 71,
|
||||
altpll_component.clk0_phase_shift = "0",
|
||||
altpll_component.compensate_clock = "CLK0",
|
||||
altpll_component.inclk0_input_frequency = 37037,
|
||||
altpll_component.intended_device_family = "Cyclone III",
|
||||
altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll",
|
||||
altpll_component.lpm_type = "altpll",
|
||||
altpll_component.operation_mode = "NORMAL",
|
||||
altpll_component.pll_type = "AUTO",
|
||||
altpll_component.port_activeclock = "PORT_UNUSED",
|
||||
altpll_component.port_areset = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkloss = "PORT_UNUSED",
|
||||
altpll_component.port_clkswitch = "PORT_UNUSED",
|
||||
altpll_component.port_configupdate = "PORT_UNUSED",
|
||||
altpll_component.port_fbin = "PORT_UNUSED",
|
||||
altpll_component.port_inclk0 = "PORT_USED",
|
||||
altpll_component.port_inclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_locked = "PORT_USED",
|
||||
altpll_component.port_pfdena = "PORT_UNUSED",
|
||||
altpll_component.port_phasecounterselect = "PORT_UNUSED",
|
||||
altpll_component.port_phasedone = "PORT_UNUSED",
|
||||
altpll_component.port_phasestep = "PORT_UNUSED",
|
||||
altpll_component.port_phaseupdown = "PORT_UNUSED",
|
||||
altpll_component.port_pllena = "PORT_UNUSED",
|
||||
altpll_component.port_scanaclr = "PORT_UNUSED",
|
||||
altpll_component.port_scanclk = "PORT_UNUSED",
|
||||
altpll_component.port_scanclkena = "PORT_UNUSED",
|
||||
altpll_component.port_scandata = "PORT_UNUSED",
|
||||
altpll_component.port_scandataout = "PORT_UNUSED",
|
||||
altpll_component.port_scandone = "PORT_UNUSED",
|
||||
altpll_component.port_scanread = "PORT_UNUSED",
|
||||
altpll_component.port_scanwrite = "PORT_UNUSED",
|
||||
altpll_component.port_clk0 = "PORT_USED",
|
||||
altpll_component.port_clk1 = "PORT_UNUSED",
|
||||
altpll_component.port_clk2 = "PORT_UNUSED",
|
||||
altpll_component.port_clk3 = "PORT_UNUSED",
|
||||
altpll_component.port_clk4 = "PORT_UNUSED",
|
||||
altpll_component.port_clk5 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena2 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena3 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena4 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena5 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk0 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk2 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk3 = "PORT_UNUSED",
|
||||
altpll_component.self_reset_on_loss_lock = "OFF",
|
||||
altpll_component.width_clock = 5;
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
// ============================================================
|
||||
// CNX file retrieval info
|
||||
// ============================================================
|
||||
// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "78"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "24.576923"
|
||||
// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
|
||||
// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
|
||||
// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"
|
||||
// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
|
||||
// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
|
||||
// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "71"
|
||||
// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "24.57600000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||||
// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif"
|
||||
// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||||
// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
|
||||
// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
|
||||
// Retrieval info: PRIVATE: SPREAD_USE STRING "0"
|
||||
// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
|
||||
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||||
// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"
|
||||
// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "78"
|
||||
// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "71"
|
||||
// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||||
// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"
|
||||
// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037"
|
||||
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"
|
||||
// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"
|
||||
// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"
|
||||
// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED"
|
||||
// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED"
|
||||
// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED"
|
||||
// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF"
|
||||
// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5"
|
||||
// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]"
|
||||
// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0"
|
||||
// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0"
|
||||
// Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked"
|
||||
// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0
|
||||
// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0
|
||||
// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0
|
||||
// Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
// Retrieval info: CBX_MODULE_PREFIX: ON
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity snd1 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 snd1 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"55",X"04",X"52",X"C5",X"A5",X"8A",X"40",X"8A",X"80",X"B9",X"02",X"BA",X"40",X"BB",X"40",X"FA",
|
||||
X"77",X"77",X"53",X"3F",X"6A",X"AA",X"AB",X"34",X"00",X"FB",X"97",X"67",X"6B",X"AB",X"34",X"00",
|
||||
X"E9",X"0F",X"FA",X"47",X"00",X"53",X"0F",X"37",X"17",X"6A",X"07",X"AA",X"AB",X"03",X"D8",X"E6",
|
||||
X"3C",X"34",X"00",X"FB",X"97",X"67",X"6B",X"AB",X"34",X"00",X"04",X"22",X"D5",X"23",X"2B",X"34",
|
||||
X"81",X"14",X"45",X"04",X"52",X"80",X"37",X"B4",X"33",X"C6",X"51",X"53",X"F0",X"96",X"51",X"04",
|
||||
X"45",X"83",X"05",X"85",X"A5",X"B8",X"20",X"B0",X"00",X"D5",X"27",X"AE",X"AF",X"C5",X"8A",X"80",
|
||||
X"14",X"73",X"26",X"74",X"A5",X"0A",X"37",X"B2",X"A8",X"27",X"AE",X"AF",X"A9",X"B4",X"35",X"14",
|
||||
X"73",X"04",X"62",X"93",X"B8",X"20",X"F0",X"03",X"05",X"C6",X"69",X"F0",X"03",X"09",X"C6",X"69",
|
||||
X"B8",X"08",X"A5",X"B5",X"D4",X"1A",X"D4",X"38",X"8A",X"80",X"C6",X"62",X"B9",X"03",X"34",X"3F",
|
||||
X"B4",X"35",X"E9",X"8E",X"B9",X"04",X"B4",X"35",X"E9",X"96",X"FA",X"03",X"F9",X"A9",X"C6",X"86",
|
||||
X"9A",X"7F",X"B4",X"35",X"E9",X"A2",X"04",X"86",X"BB",X"20",X"34",X"15",X"FB",X"77",X"77",X"53",
|
||||
X"3F",X"6B",X"AB",X"26",X"74",X"E6",X"AA",X"34",X"15",X"FB",X"77",X"77",X"53",X"3F",X"6B",X"AB",
|
||||
X"26",X"74",X"E6",X"B7",X"04",X"62",X"BA",X"08",X"B9",X"FF",X"8A",X"80",X"A5",X"B5",X"FA",X"AB",
|
||||
X"34",X"31",X"34",X"31",X"FA",X"97",X"67",X"6A",X"F6",X"62",X"AB",X"34",X"31",X"34",X"31",X"34",
|
||||
X"31",X"FA",X"AB",X"34",X"31",X"34",X"31",X"FA",X"97",X"67",X"97",X"67",X"6A",X"AA",X"04",X"CE",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"B8",X"03",X"34",X"23",X"E8",X"02",X"B8",X"03",X"34",X"0D",X"E8",X"08",X"83",X"27",X"AE",X"AF",
|
||||
X"D5",X"AE",X"AF",X"C4",X"7B",X"FB",X"47",X"E7",X"53",X"1F",X"AF",X"FB",X"47",X"E7",X"53",X"E0",
|
||||
X"AE",X"A4",X"35",X"FB",X"77",X"77",X"AE",X"53",X"3F",X"AF",X"FE",X"53",X"C0",X"AE",X"D5",X"C4",
|
||||
X"7B",X"FB",X"77",X"77",X"AE",X"53",X"3F",X"AF",X"FE",X"53",X"C0",X"AE",X"D5",X"A4",X"35",X"FE",
|
||||
X"6F",X"E6",X"44",X"1F",X"6F",X"E6",X"48",X"1F",X"AE",X"83",X"AB",X"D5",X"FB",X"1B",X"C5",X"B4",
|
||||
X"33",X"C6",X"9E",X"F2",X"9F",X"A8",X"D4",X"1A",X"D4",X"38",X"D4",X"4B",X"C6",X"4B",X"B9",X"03",
|
||||
X"8A",X"80",X"34",X"3F",X"D5",X"34",X"3F",X"D4",X"7B",X"E9",X"62",X"B9",X"04",X"D5",X"D4",X"7B",
|
||||
X"E9",X"6D",X"FA",X"03",X"F9",X"A9",X"C6",X"58",X"9A",X"7F",X"D5",X"D4",X"7B",X"E9",X"7A",X"24",
|
||||
X"58",X"AB",X"D5",X"FB",X"1B",X"C5",X"B4",X"33",X"C6",X"9E",X"F2",X"9F",X"A8",X"D4",X"1A",X"D4",
|
||||
X"38",X"D4",X"4B",X"C6",X"82",X"FA",X"A9",X"D5",X"D4",X"7B",X"E9",X"97",X"24",X"8F",X"83",X"BE",
|
||||
X"80",X"A4",X"A2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"60",X"5D",X"5A",X"57",X"54",X"51",X"4E",X"4B",X"48",X"45",X"42",X"3F",X"3C",X"39",X"36",X"33",
|
||||
X"30",X"2D",X"2A",X"27",X"24",X"21",X"1E",X"1B",X"18",X"15",X"12",X"0F",X"0C",X"09",X"06",X"03",
|
||||
X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"53",X"3F",X"A3",X"A8",X"C5",X"FC",X"6E",X"AC",
|
||||
X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"D5",X"68",X"39",X"16",X"5F",X"44",X"40",X"C5",
|
||||
X"83",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"05",X"0A",X"0F",X"14",X"19",X"1E",X"23",X"28",X"2D",X"32",X"37",X"3C",X"41",X"46",X"4B",
|
||||
X"50",X"55",X"5A",X"5F",X"64",X"69",X"6E",X"73",X"78",X"7D",X"82",X"87",X"8C",X"91",X"96",X"9B",
|
||||
X"9F",X"9B",X"96",X"91",X"8C",X"87",X"82",X"7D",X"78",X"73",X"6E",X"69",X"64",X"5F",X"5A",X"55",
|
||||
X"50",X"4B",X"46",X"41",X"3C",X"37",X"32",X"2D",X"28",X"23",X"1E",X"19",X"14",X"0F",X"0A",X"05",
|
||||
X"00",X"2A",X"80",X"1C",X"84",X"0E",X"88",X"8A",X"88",X"00",X"16",X"84",X"0B",X"84",X"84",X"00",
|
||||
X"00",X"18",X"84",X"0C",X"80",X"80",X"00",X"10",X"B8",X"B4",X"B0",X"00",X"12",X"90",X"09",X"90",
|
||||
X"90",X"12",X"90",X"90",X"94",X"90",X"94",X"90",X"94",X"09",X"94",X"94",X"12",X"94",X"94",X"98",
|
||||
X"94",X"98",X"94",X"00",X"00",X"09",X"B0",X"B2",X"B4",X"12",X"BA",X"B6",X"00",X"0E",X"A4",X"1C",
|
||||
X"E8",X"90",X"D8",X"88",X"38",X"E0",X"80",X"00",X"60",X"CA",X"82",X"20",X"CC",X"84",X"40",X"D0",
|
||||
X"86",X"CA",X"82",X"08",X"DA",X"89",X"D9",X"89",X"DA",X"89",X"D9",X"89",X"DA",X"89",X"D9",X"89",
|
||||
X"DA",X"89",X"D9",X"89",X"08",X"DA",X"89",X"D9",X"89",X"DA",X"89",X"D9",X"89",X"DA",X"89",X"D9",
|
||||
X"89",X"DA",X"89",X"D9",X"89",X"7F",X"DA",X"8A",X"00",X"00",X"24",X"88",X"82",X"88",X"82",X"12",
|
||||
X"D8",X"88",X"D6",X"88",X"D8",X"82",X"D6",X"82",X"D6",X"88",X"88",X"D6",X"82",X"82",X"24",X"DA",
|
||||
X"87",X"D9",X"83",X"DA",X"87",X"D7",X"83",X"09",X"D8",X"88",X"D7",X"88",X"D8",X"88",X"D7",X"88",
|
||||
X"D8",X"82",X"D7",X"82",X"D8",X"82",X"D7",X"82",X"48",X"D8",X"88",X"00",X"00",X"00",X"20",X"E8",
|
||||
X"88",X"82",X"E2",X"88",X"10",X"82",X"A4",X"20",X"DC",X"88",X"82",X"84",X"18",X"E0",X"87",X"08",
|
||||
X"A2",X"20",X"E4",X"88",X"E7",X"82",X"E8",X"88",X"EA",X"82",X"20",X"EA",X"88",X"EC",X"82",X"88",
|
||||
X"82",X"EC",X"88",X"82",X"F0",X"90",X"88",X"EC",X"88",X"82",X"10",X"84",X"AA",X"E8",X"8C",X"AA",
|
||||
X"20",X"E7",X"92",X"8A",X"10",X"84",X"A4",X"E2",X"8C",X"A4",X"00",X"1B",X"E2",X"88",X"09",X"A4",
|
||||
X"12",X"82",X"A8",X"12",X"88",X"A4",X"E2",X"82",X"A4",X"12",X"E0",X"80",X"09",X"82",X"83",X"86",
|
||||
X"88",X"8A",X"8C",X"24",X"D0",X"88",X"00",X"20",X"80",X"DC",X"98",X"E0",X"9A",X"E2",X"9C",X"20",
|
||||
X"90",X"E4",X"88",X"10",X"E3",X"90",X"A4",X"20",X"88",X"DA",X"8A",X"EA",X"84",X"10",X"E8",X"8A",
|
||||
X"A4",X"20",X"84",X"E2",X"82",X"E2",X"87",X"16",X"E8",X"88",X"0A",X"A3",X"10",X"E4",X"82",X"A0",
|
||||
X"15",X"C8",X"80",X"2B",X"CA",X"83",X"40",X"CB",X"80",X"00",X"10",X"E8",X"A4",X"E8",X"A4",X"E6",
|
||||
X"A2",X"E6",X"A2",X"E4",X"A0",X"E4",X"A0",X"E2",X"9C",X"E2",X"9C",X"10",X"E0",X"90",X"A0",X"E4",
|
||||
X"88",X"A0",X"E4",X"80",X"A0",X"E4",X"88",X"A8",X"20",X"EA",X"96",X"E8",X"90",X"40",X"F0",X"80",
|
||||
X"00",X"10",X"E8",X"A4",X"E8",X"A4",X"E6",X"A2",X"E6",X"A2",X"E4",X"A0",X"E4",X"A0",X"E2",X"9C",
|
||||
X"E2",X"9C",X"20",X"E0",X"90",X"10",X"88",X"08",X"A0",X"A2",X"20",X"E4",X"90",X"E0",X"88",X"20",
|
||||
X"E2",X"92",X"10",X"8A",X"08",X"A2",X"A4",X"20",X"E6",X"92",X"E2",X"8A",X"20",X"E8",X"88",X"10",
|
||||
X"82",X"A8",X"EA",X"88",X"A8",X"E6",X"82",X"A4",X"E8",X"80",X"2B",X"83",X"40",X"80",X"00",X"0A",
|
||||
X"E8",X"A4",X"EA",X"A6",X"14",X"EC",X"A8",X"28",X"E8",X"A4",X"0A",X"E8",X"A4",X"EA",X"A6",X"14",
|
||||
X"EC",X"A8",X"28",X"E8",X"A4",X"00",X"0A",X"E0",X"98",X"E0",X"98",X"3C",X"E0",X"98",X"12",X"88",
|
||||
X"84",X"88",X"84",X"88",X"84",X"88",X"84",X"88",X"84",X"88",X"84",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"A3",X"83",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"20",X"10",X"05",X"06",X"12",X"40",X"16",X"01",X"02",X"00",X"04",X"14",X"FA",X"1E",X"2D",
|
||||
X"10",X"00",X"13",X"00",X"11",X"00",X"14",X"83",X"FE",X"85",X"FE",X"85",X"FE",X"00",X"15",X"00",
|
||||
X"0A",X"00",X"95",X"FE",X"85",X"FE",X"85",X"FE",X"00",X"00",X"00",X"09",X"00",X"FE",X"84",X"FE",
|
||||
X"83",X"FE",X"00",X"A3",X"83",X"D5",X"B8",X"20",X"80",X"37",X"53",X"0F",X"20",X"37",X"17",X"60",
|
||||
X"96",X"64",X"B6",X"BD",X"46",X"BA",X"F0",X"A3",X"C6",X"5D",X"F2",X"5F",X"34",X"3F",X"E9",X"5D",
|
||||
X"FF",X"96",X"56",X"FE",X"C6",X"75",X"FA",X"03",X"F8",X"A9",X"27",X"AE",X"AF",X"C4",X"7B",X"27",
|
||||
X"AE",X"AF",X"C4",X"7B",X"F0",X"A3",X"C6",X"5F",X"F2",X"8C",X"92",X"7D",X"B2",X"81",X"D2",X"E5",
|
||||
X"8A",X"80",X"A8",X"D4",X"1A",X"D4",X"38",X"C6",X"64",X"B9",X"08",X"C4",X"7B",X"34",X"4A",X"04",
|
||||
X"52",X"34",X"81",X"04",X"52",X"C5",X"BE",X"80",X"F4",X"06",X"04",X"52",X"76",X"91",X"C5",X"04",
|
||||
X"74",X"B0",X"08",X"A4",X"46",X"D5",X"FB",X"1B",X"C5",X"A3",X"C6",X"9E",X"96",X"A2",X"14",X"45",
|
||||
X"04",X"52",X"D2",X"B6",X"97",X"F7",X"97",X"F7",X"A9",X"23",X"80",X"62",X"16",X"AE",X"16",X"B2",
|
||||
X"A4",X"AE",X"E9",X"A9",X"A4",X"95",X"F4",X"06",X"A4",X"95",X"95",X"BB",X"F0",X"FB",X"E7",X"E7",
|
||||
X"47",X"53",X"03",X"96",X"C6",X"17",X"37",X"17",X"6B",X"AB",X"03",X"E0",X"F6",X"D7",X"85",X"27",
|
||||
X"AE",X"AF",X"B8",X"20",X"A0",X"C4",X"7B",X"FB",X"47",X"E7",X"53",X"1F",X"AF",X"FB",X"47",X"E7",
|
||||
X"53",X"E0",X"AE",X"C4",X"7B",X"B0",X"04",X"C5",X"F9",X"F2",X"ED",X"04",X"C6",X"D5",X"A4",X"46",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"28",X"00",X"2A",X"61",X"2C",X"E6",X"2F",X"91",X"32",X"66",X"FF",X"FF",X"35",X"65",X"38",X"92",
|
||||
X"3B",X"EF",X"3F",X"75",X"43",X"46",X"47",X"46",X"4B",X"83",X"BB",X"00",X"B9",X"30",X"B1",X"FF",
|
||||
X"D4",X"27",X"96",X"20",X"E8",X"20",X"83",X"B9",X"30",X"FB",X"96",X"2D",X"11",X"F1",X"96",X"34",
|
||||
X"FB",X"1B",X"E3",X"83",X"FB",X"1B",X"84",X"F8",X"D4",X"27",X"C6",X"5C",X"F2",X"46",X"AA",X"D4",
|
||||
X"27",X"F2",X"46",X"A9",X"D4",X"27",X"A8",X"D4",X"5D",X"F8",X"83",X"D2",X"54",X"D5",X"BE",X"00",
|
||||
X"BF",X"00",X"C5",X"83",X"D4",X"27",X"D5",X"A8",X"D4",X"5D",X"C5",X"F8",X"83",X"F8",X"53",X"0F",
|
||||
X"E7",X"AC",X"A3",X"AF",X"FC",X"17",X"A3",X"AE",X"F8",X"53",X"30",X"47",X"AC",X"FF",X"97",X"67",
|
||||
X"AF",X"FE",X"67",X"AE",X"1C",X"FC",X"03",X"FC",X"96",X"6D",X"83",X"42",X"03",X"80",X"62",X"76",
|
||||
X"A2",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"A8",X"C5",X"FC",X"6E",
|
||||
X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"D5",X"68",X"39",X"16",X"A0",X"C4",X"81",
|
||||
X"C5",X"83",X"44",X"40",X"A3",X"83",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"60",X"5D",X"5A",X"57",X"54",X"51",X"4E",X"4B",X"48",X"45",X"42",X"3F",X"3C",X"39",X"36",X"33",
|
||||
X"30",X"2D",X"2A",X"27",X"24",X"21",X"1E",X"1B",X"18",X"15",X"12",X"0F",X"0C",X"09",X"06",X"03",
|
||||
X"02",X"04",X"06",X"0C",X"14",X"FF",X"A8",X"A3",X"28",X"17",X"A3",X"A9",X"12",X"24",X"C9",X"F4",
|
||||
X"24",X"9A",X"7F",X"B8",X"00",X"B9",X"FF",X"F4",X"24",X"9A",X"7F",X"B8",X"00",X"B9",X"FF",X"F4",
|
||||
X"24",X"8A",X"80",X"83",X"BF",X"00",X"9A",X"BF",X"A5",X"23",X"B0",X"48",X"3A",X"BA",X"08",X"81",
|
||||
X"E9",X"3B",X"AB",X"C8",X"F8",X"F2",X"BA",X"43",X"B0",X"3A",X"FB",X"77",X"AB",X"F2",X"78",X"76",
|
||||
X"5B",X"1F",X"FF",X"A3",X"F2",X"4A",X"37",X"17",X"E4",X"4E",X"CF",X"00",X"23",X"EC",X"6E",X"AE",
|
||||
X"F6",X"59",X"27",X"AE",X"39",X"EA",X"AC",X"E4",X"2D",X"E4",X"54",X"A5",X"CF",X"FF",X"F2",X"62",
|
||||
X"E4",X"64",X"27",X"AF",X"A3",X"37",X"17",X"6E",X"F6",X"71",X"27",X"AE",X"39",X"EA",X"AC",X"E4",
|
||||
X"2D",X"00",X"AE",X"39",X"EA",X"AC",X"E4",X"2D",X"76",X"93",X"B5",X"CF",X"FF",X"F2",X"81",X"E4",
|
||||
X"83",X"27",X"AF",X"A3",X"6E",X"AE",X"E6",X"90",X"23",X"FF",X"AE",X"39",X"EA",X"AC",X"E4",X"2D",
|
||||
X"00",X"E4",X"8B",X"1F",X"FF",X"A3",X"F2",X"9C",X"00",X"00",X"E4",X"9F",X"CF",X"FF",X"A3",X"6E",
|
||||
X"E6",X"AA",X"23",X"FF",X"AE",X"39",X"EA",X"AC",X"E4",X"2D",X"E4",X"A4",X"FB",X"C6",X"B4",X"00",
|
||||
X"00",X"00",X"E4",X"3B",X"81",X"C6",X"BA",X"FB",X"E4",X"3B",X"8A",X"40",X"A5",X"83",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"FF",X"05",X"FF",X"02",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity snd2 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 snd2 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"C0",X"F0",X"F0",X"F8",X"38",X"7C",X"3C",X"7A",X"38",X"D1",X"E1",X"E1",X"E1",X"E0",X"E2",X"F0",
|
||||
X"F1",X"D1",X"DC",X"4E",X"9E",X"0F",X"0F",X"1E",X"1E",X"0E",X"1E",X"1E",X"1A",X"58",X"E1",X"E1",
|
||||
X"C0",X"F0",X"F0",X"F8",X"38",X"7C",X"3C",X"7A",X"38",X"D1",X"E1",X"E1",X"E1",X"E0",X"E2",X"F0",
|
||||
X"F1",X"D1",X"DC",X"4E",X"9E",X"0F",X"0F",X"1E",X"1E",X"0E",X"1E",X"1E",X"1A",X"58",X"E1",X"E1",
|
||||
X"C0",X"F0",X"F0",X"F8",X"38",X"7C",X"3C",X"7A",X"38",X"D1",X"E1",X"E1",X"E1",X"E0",X"E2",X"F0",
|
||||
X"F1",X"D1",X"DC",X"4E",X"9E",X"0F",X"0F",X"1E",X"1E",X"0E",X"1E",X"1E",X"1A",X"58",X"E1",X"E1",
|
||||
X"C0",X"F0",X"F0",X"F8",X"38",X"7C",X"3C",X"7A",X"38",X"D1",X"E1",X"E1",X"E1",X"E0",X"E2",X"F0",
|
||||
X"F1",X"D1",X"DC",X"4E",X"9E",X"0F",X"0F",X"1E",X"1E",X"0E",X"1E",X"1E",X"1A",X"58",X"E1",X"E1",
|
||||
X"1E",X"0E",X"3E",X"8F",X"27",X"0C",X"DC",X"38",X"7C",X"78",X"38",X"EC",X"6C",X"7C",X"78",X"70",
|
||||
X"CC",X"78",X"78",X"70",X"F8",X"78",X"78",X"78",X"78",X"66",X"B8",X"E4",X"E1",X"E0",X"E6",X"63",
|
||||
X"1E",X"0E",X"3E",X"8F",X"27",X"0C",X"DC",X"38",X"7C",X"78",X"38",X"EC",X"6C",X"7C",X"78",X"70",
|
||||
X"CC",X"78",X"78",X"70",X"F8",X"78",X"78",X"78",X"78",X"66",X"B8",X"E4",X"E1",X"E0",X"E6",X"63",
|
||||
X"1E",X"0E",X"3E",X"8F",X"27",X"0C",X"DC",X"38",X"7C",X"78",X"38",X"EC",X"6C",X"7C",X"78",X"70",
|
||||
X"CC",X"78",X"78",X"70",X"F8",X"78",X"78",X"78",X"78",X"66",X"B8",X"E4",X"E1",X"E0",X"E6",X"63",
|
||||
X"1E",X"0E",X"3E",X"8F",X"27",X"0C",X"DC",X"38",X"7C",X"78",X"38",X"EC",X"6C",X"7C",X"78",X"70",
|
||||
X"CC",X"78",X"78",X"70",X"F8",X"78",X"78",X"78",X"78",X"66",X"B8",X"E4",X"E1",X"E0",X"E6",X"63",
|
||||
X"1E",X"47",X"13",X"93",X"C6",X"E5",X"70",X"73",X"3C",X"1C",X"67",X"1F",X"19",X"E0",X"E2",X"78",
|
||||
X"CC",X"3E",X"39",X"1E",X"0E",X"63",X"8B",X"91",X"F0",X"E3",X"38",X"EC",X"73",X"1C",X"4E",X"33",
|
||||
X"1E",X"47",X"13",X"93",X"C6",X"E5",X"70",X"73",X"3C",X"1C",X"67",X"1F",X"19",X"E0",X"E2",X"78",
|
||||
X"CC",X"3E",X"39",X"1E",X"0E",X"63",X"8B",X"91",X"F0",X"E3",X"38",X"EC",X"73",X"1C",X"4E",X"33",
|
||||
X"1E",X"47",X"13",X"93",X"C6",X"E5",X"70",X"73",X"3C",X"1C",X"67",X"1F",X"19",X"E0",X"E2",X"78",
|
||||
X"CC",X"3E",X"39",X"1E",X"0E",X"63",X"8B",X"91",X"F0",X"E3",X"38",X"EC",X"73",X"1C",X"4E",X"33",
|
||||
X"1E",X"47",X"13",X"93",X"C6",X"E5",X"70",X"73",X"3C",X"1C",X"67",X"1F",X"19",X"E0",X"E2",X"78",
|
||||
X"CC",X"3E",X"39",X"1E",X"0E",X"63",X"8B",X"91",X"F0",X"E3",X"38",X"EC",X"73",X"1C",X"4E",X"33",
|
||||
X"E4",X"E2",X"E4",X"E4",X"D3",X"53",X"55",X"8D",X"53",X"33",X"33",X"34",X"D5",X"4D",X"55",X"35",
|
||||
X"8D",X"4D",X"55",X"4D",X"33",X"35",X"4D",X"33",X"34",X"D5",X"55",X"4D",X"94",X"CD",X"33",X"33",
|
||||
X"E4",X"E2",X"E4",X"E4",X"D3",X"53",X"55",X"8D",X"53",X"33",X"33",X"34",X"D5",X"4D",X"55",X"35",
|
||||
X"8D",X"4D",X"55",X"4D",X"33",X"35",X"4D",X"33",X"34",X"D5",X"55",X"4D",X"94",X"CD",X"33",X"33",
|
||||
X"E4",X"E2",X"E4",X"E4",X"D3",X"53",X"55",X"8D",X"53",X"33",X"33",X"34",X"D5",X"4D",X"55",X"35",
|
||||
X"8D",X"4D",X"55",X"4D",X"33",X"35",X"4D",X"33",X"34",X"D5",X"55",X"4D",X"94",X"CD",X"33",X"33",
|
||||
X"E4",X"E2",X"E4",X"E4",X"D3",X"53",X"55",X"8D",X"53",X"33",X"33",X"34",X"D5",X"4D",X"55",X"35",
|
||||
X"8D",X"4D",X"55",X"4D",X"33",X"35",X"4D",X"33",X"34",X"D5",X"55",X"4D",X"94",X"CD",X"33",X"33",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"56",X"66",X"66",X"66",X"66",X"66",
|
||||
X"66",X"55",X"65",X"55",X"56",X"66",X"66",X"66",X"59",X"99",X"99",X"99",X"95",X"55",X"55",X"66",
|
||||
X"65",X"66",X"66",X"66",X"66",X"59",X"59",X"59",X"59",X"59",X"59",X"59",X"96",X"56",X"59",X"59",
|
||||
X"66",X"56",X"66",X"66",X"66",X"66",X"55",X"55",X"95",X"56",X"59",X"99",X"99",X"99",X"95",X"99",
|
||||
X"99",X"99",X"99",X"99",X"99",X"59",X"59",X"99",X"96",X"66",X"56",X"55",X"99",X"99",X"A6",X"96",
|
||||
X"56",X"59",X"56",X"66",X"66",X"66",X"99",X"96",X"66",X"59",X"96",X"95",X"95",X"4D",X"93",X"66",
|
||||
X"65",X"99",X"66",X"59",X"59",X"39",X"39",X"56",X"59",X"5A",X"56",X"5A",X"5A",X"69",X"5A",X"59",
|
||||
X"64",X"E4",X"CD",X"4C",X"E4",X"E6",X"66",X"69",X"6A",X"66",X"A6",X"63",X"4D",X"4B",X"4D",X"59",
|
||||
X"59",X"9A",X"56",X"36",X"36",X"36",X"97",X"27",X"25",X"8E",X"8D",X"8A",X"CD",X"4D",X"4C",X"D6",
|
||||
X"65",X"A6",X"A6",X"66",X"64",X"D5",X"35",X"36",X"56",X"CE",X"4D",X"4A",X"6A",X"9B",X"26",X"26",
|
||||
X"36",X"DD",X"CC",X"88",X"89",X"22",X"CB",X"DD",X"DD",X"CA",X"92",X"46",X"65",X"95",X"65",X"96",
|
||||
X"65",X"95",X"95",X"4C",X"D3",X"4D",X"59",X"56",X"66",X"66",X"66",X"66",X"56",X"35",X"55",X"59",
|
||||
X"99",X"99",X"99",X"66",X"59",X"99",X"99",X"96",X"59",X"96",X"66",X"66",X"66",X"56",X"56",X"66",
|
||||
X"59",X"99",X"96",X"66",X"53",X"55",X"9A",X"65",X"99",X"94",X"D9",X"99",X"55",X"99",X"99",X"59",
|
||||
X"99",X"55",X"99",X"99",X"55",X"66",X"65",X"95",X"99",X"99",X"59",X"99",X"8D",X"99",X"99",X"56",
|
||||
X"65",X"96",X"59",X"59",X"95",X"66",X"66",X"59",X"66",X"65",X"55",X"9A",X"4D",X"56",X"64",X"D3",
|
||||
X"00",X"66",X"4E",X"56",X"99",X"53",X"9A",X"4E",X"4D",X"A9",X"54",X"DD",X"33",X"1D",X"C9",X"93",
|
||||
X"3D",X"49",X"25",X"E4",X"92",X"5E",X"48",X"95",X"E4",X"89",X"DD",X"44",X"BB",X"31",X"25",X"E4",
|
||||
X"46",X"5E",X"44",X"65",X"E4",X"45",X"5D",X"84",X"55",X"D8",X"45",X"67",X"61",X"16",X"76",X"12",
|
||||
X"6A",X"E1",X"4C",X"CF",X"21",X"A9",X"7A",X"1B",X"27",X"61",X"6C",X"9E",X"8D",X"98",X"E8",X"DC",
|
||||
X"C1",X"47",X"EC",X"09",X"FD",X"81",X"1F",X"E2",X"01",X"FF",X"02",X"1F",X"E0",X"C1",X"FE",X"0C",
|
||||
X"1F",X"C0",X"A0",X"FF",X"07",X"07",X"F0",X"70",X"7F",X"07",X"07",X"F0",X"70",X"7F",X"23",X"83",
|
||||
X"F0",X"38",X"3F",X"83",X"C3",X"F2",X"1C",X"3F",X"21",X"E0",X"FC",X"8E",X"0F",X"C0",X"F0",X"7F",
|
||||
X"07",X"83",X"F0",X"3C",X"3F",X"03",X"C3",X"F8",X"1E",X"1F",X"80",X"F0",X"FE",X"07",X"87",X"E0",
|
||||
X"78",X"3F",X"03",X"E1",X"F8",X"1E",X"0F",X"C0",X"F0",X"FC",X"07",X"8F",X"E0",X"3C",X"3F",X"03",
|
||||
X"C3",X"F8",X"1E",X"0F",X"C0",X"F8",X"7C",X"27",X"C3",X"E0",X"1E",X"3F",X"80",X"F0",X"FC",X"07",
|
||||
X"87",X"F0",X"3C",X"3F",X"01",X"E1",X"FC",X"0F",X"0F",X"C0",X"7C",X"3E",X"0B",X"E1",X"F0",X"0F",
|
||||
X"1F",X"80",X"F8",X"7C",X"13",X"C3",X"F0",X"1F",X"1F",X"80",X"78",X"FC",X"13",X"C3",X"F0",X"1E",
|
||||
X"0F",X"C0",X"F8",X"FC",X"07",X"C3",X"F0",X"1E",X"1F",X"84",X"F0",X"7C",X"27",X"C3",X"E0",X"1E",
|
||||
X"3F",X"01",X"F0",X"FC",X"0F",X"87",X"E0",X"3C",X"3F",X"01",X"E1",X"F8",X"1F",X"0F",X"C0",X"F8",
|
||||
X"7C",X"13",X"C3",X"F0",X"1E",X"1F",X"81",X"F0",X"FC",X"07",X"87",X"F0",X"1E",X"1F",X"09",X"F0",
|
||||
X"F8",X"07",X"8F",X"E0",X"78",X"3F",X"03",X"E1",X"F0",X"1E",X"1F",X"88",X"F0",X"FC",X"07",X"87",
|
||||
X"00",X"E2",X"38",X"3F",X"03",X"E1",X"F8",X"1E",X"1F",X"80",X"F0",X"FE",X"07",X"87",X"E1",X"38",
|
||||
X"1F",X"83",X"E1",X"F8",X"1E",X"0F",X"C0",X"F0",X"FC",X"0D",X"87",X"F0",X"78",X"3F",X"07",X"83",
|
||||
X"F0",X"3C",X"3F",X"03",X"C1",X"F8",X"9C",X"1F",X"81",X"E0",X"FC",X"1E",X"0F",X"C4",X"F0",X"FC",
|
||||
X"0F",X"07",X"C0",X"F8",X"7E",X"07",X"07",X"E2",X"78",X"7E",X"07",X"87",X"E0",X"3C",X"3F",X"03",
|
||||
X"C3",X"F0",X"3C",X"3F",X"03",X"C3",X"F0",X"3C",X"3F",X"03",X"C3",X"F0",X"2C",X"3F",X"22",X"C3",
|
||||
X"E2",X"2C",X"3F",X"06",X"C3",X"E2",X"3C",X"3F",X"21",X"C3",X"E4",X"78",X"3E",X"05",X"C7",X"E0",
|
||||
X"78",X"7E",X"05",X"87",X"E4",X"38",X"7E",X"0B",X"0F",X"C8",X"70",X"FC",X"87",X"1F",X"81",X"61",
|
||||
X"F9",X"0E",X"1F",X"83",X"C1",X"F2",X"3C",X"3E",X"23",X"87",X"E4",X"38",X"7C",X"87",X"0F",X"98",
|
||||
X"71",X"F9",X"0E",X"1F",X"81",X"C3",X"F0",X"5C",X"3E",X"21",X"87",X"E6",X"38",X"7C",X"47",X"0F",
|
||||
X"88",X"71",X"F9",X"0E",X"1F",X"11",X"C3",X"E6",X"1C",X"7C",X"87",X"0F",X"98",X"E1",X"F1",X"0E",
|
||||
X"3E",X"23",X"87",X"C8",X"38",X"FC",X"47",X"8F",X"80",X"E3",X"E2",X"1E",X"3E",X"23",X"87",X"8C",
|
||||
X"71",X"F0",X"C7",X"1E",X"31",X"C3",X"C7",X"1C",X"78",X"E1",X"8F",X"1C",X"71",X"E3",X"C6",X"1C",
|
||||
X"71",X"C7",X"87",X"18",X"F1",X"C7",X"1E",X"1C",X"63",X"C7",X"9C",X"70",X"79",X"8E",X"1E",X"75",
|
||||
X"C1",X"C7",X"3C",X"38",X"C7",X"87",X"1A",X"F0",X"E3",X"1E",X"1E",X"27",X"83",X"8D",X"78",X"38",
|
||||
X"AF",X"0E",X"33",X"E0",X"E2",X"7C",X"38",X"7F",X"07",X"07",X"E0",X"E0",X"FC",X"3C",X"1F",X"87",
|
||||
X"07",X"E0",X"71",X"FC",X"1C",X"1F",X"81",X"8B",X"F0",X"70",X"FE",X"0E",X"0F",X"C1",X"C3",X"F8",
|
||||
X"0F",X"38",X"3F",X"07",X"0F",X"C1",X"C1",X"FC",X"1C",X"3F",X"07",X"0F",X"E0",X"71",X"BC",X"1C",
|
||||
X"1F",X"83",X"87",X"E2",X"61",X"FC",X"0E",X"3F",X"03",X"87",X"E0",X"61",X"FC",X"5C",X"3B",X"13",
|
||||
X"86",X"E2",X"71",X"9C",X"4E",X"1F",X"19",X"8E",X"70",X"38",X"FC",X"27",X"39",X"C0",X"E3",X"71",
|
||||
X"B8",X"EE",X"07",X"1B",X"8D",X"C6",X"71",X"38",X"CC",X"66",X"3B",X"8C",X"C7",X"71",X"B8",X"CC",
|
||||
X"27",X"39",X"C0",X"E7",X"71",X"B8",X"CC",X"63",X"39",X"88",X"E7",X"71",X"19",X"CC",X"67",X"3B",
|
||||
X"88",X"C6",X"72",X"39",X"9C",X"C6",X"73",X"19",X"CC",X"62",X"73",X"B8",X"9C",X"6E",X"27",X"1D",
|
||||
X"88",X"CE",X"63",X"39",X"9C",X"8E",X"76",X"31",X"1B",X"C4",X"4E",X"73",X"13",X"9D",X"88",X"E7",
|
||||
X"62",X"3B",X"99",X"8E",X"C4",X"83",X"FB",X"01",X"FC",X"88",X"EE",X"62",X"3B",X"D8",X"1D",X"E6",
|
||||
X"07",X"79",X"83",X"BC",X"C0",X"EF",X"B0",X"37",X"9C",X"0D",X"E7",X"03",X"7B",X"80",X"DF",X"60",
|
||||
X"37",X"DC",X"04",X"FE",X"03",X"7B",X"C0",X"6F",X"78",X"0D",X"EE",X"07",X"77",X"81",X"CE",X"C6",
|
||||
X"3B",X"3C",X"13",X"BB",X"03",X"5D",X"86",X"37",X"26",X"65",X"D8",X"CB",X"24",X"E6",X"38",X"CE",
|
||||
X"67",X"64",X"D3",X"32",X"64",X"FB",X"26",X"61",X"BB",X"24",X"ED",X"99",X"99",X"39",X"16",X"72",
|
||||
X"4E",X"33",X"32",X"73",X"96",X"66",X"66",X"33",X"66",X"36",X"66",X"39",X"A6",X"71",X"98",X"9C",
|
||||
X"DD",X"91",X"99",X"99",X"B1",X"4C",X"E3",X"33",X"33",X"38",X"CC",X"CB",X"31",X"CC",X"E6",X"64",
|
||||
X"59",X"93",X"33",X"99",X"8B",X"33",X"8C",X"CB",X"1C",X"CC",X"C9",X"9C",X"CC",X"C9",X"9D",X"8C",
|
||||
X"66",X"CD",X"33",X"8C",X"E9",X"99",X"93",X"99",X"99",X"99",X"33",X"98",X"E6",X"66",X"2C",X"E0",
|
||||
X"00",X"00",X"00",X"AB",X"35",X"4C",X"65",X"9A",X"D9",X"8C",X"A6",X"B6",X"69",X"24",X"CD",X"B6",
|
||||
X"65",X"29",X"AD",X"B2",X"62",X"4C",X"DD",X"98",X"C9",X"9B",X"5B",X"32",X"8C",X"6D",X"B9",X"A4",
|
||||
X"99",X"B7",X"64",X"44",X"57",X"76",X"C9",X"25",X"77",X"6A",X"28",X"99",X"EE",X"D4",X"44",X"B5",
|
||||
X"D9",X"88",X"46",X"EB",X"99",X"89",X"99",X"EE",X"53",X"19",X"9C",X"F6",X"22",X"26",X"D9",X"98",
|
||||
X"C4",X"6E",X"F6",X"93",X"33",X"39",X"C8",X"85",X"76",X"79",X"26",X"31",X"76",X"C4",X"C6",X"76",
|
||||
X"7A",X"22",X"25",X"B3",X"91",X"85",X"CD",X"E9",X"14",X"CC",X"E6",X"64",X"67",X"37",X"A6",X"32",
|
||||
X"73",X"B3",X"42",X"9D",X"9B",X"33",X"19",X"99",X"C9",X"86",X"EE",X"B3",X"31",X"93",X"99",X"98",
|
||||
X"CE",X"CC",X"C6",X"66",X"67",X"32",X"33",X"BB",X"94",X"CC",X"99",X"CC",X"C4",X"F6",X"EA",X"66",
|
||||
X"62",X"76",X"31",X"4F",X"B4",X"4B",X"13",X"33",X"B0",X"9D",X"B9",X"13",X"66",X"33",X"63",X"3B",
|
||||
X"39",X"0D",X"60",X"B6",X"66",X"27",X"E9",X"33",X"31",X"B3",X"91",X"9C",X"E1",X"33",X"A4",X"F9",
|
||||
X"4C",X"6E",X"33",X"91",X"9D",X"98",X"EC",X"E5",X"36",X"27",X"33",X"19",X"B8",X"33",X"49",X"D8",
|
||||
X"C6",X"EE",X"98",X"9C",X"4E",X"62",X"67",X"8C",X"C8",X"D9",X"C4",X"EE",X"33",X"13",X"93",X"89",
|
||||
X"9E",X"61",X"9E",X"CD",X"66",X"71",X"46",X"76",X"63",X"33",X"C8",X"4F",X"26",X"53",X"3C",X"C1",
|
||||
X"E4",X"EC",X"67",X"D0",X"7C",X"1B",X"99",X"E1",X"1E",X"0D",X"C6",X"7C",X"0F",X"86",X"C3",X"F8",
|
||||
X"0F",X"07",X"C2",X"FC",X"0F",X"0D",X"C3",X"F0",X"1E",X"1B",X"8F",X"C0",X"E4",X"2E",X"37",X"83",
|
||||
X"B1",X"B8",X"DC",X"0B",X"85",X"C2",X"F0",X"3C",X"3E",X"17",X"81",X"E1",X"71",X"F8",X"1E",X"1B",
|
||||
X"0F",X"8D",X"C1",X"E1",X"B8",X"DC",X"1E",X"1B",X"8D",X"C1",X"E1",X"B8",X"D8",X"2E",X"33",X"1F",
|
||||
X"83",X"63",X"E3",X"30",X"D8",X"EE",X"37",X"07",X"8D",X"C6",X"E0",X"71",X"38",X"F8",X"4C",X"2F",
|
||||
X"33",X"83",X"8D",X"8E",X"E2",X"72",X"71",X"BC",X"1C",X"9C",X"6E",X"0E",X"67",X"1B",X"83",X"39",
|
||||
X"CD",X"C1",X"CC",X"E2",X"70",X"F2",X"63",X"B8",X"73",X"38",X"D8",X"39",X"9C",X"CE",X"1E",X"CC",
|
||||
X"67",X"1C",X"67",X"1B",X"86",X"37",X"19",X"C7",X"19",X"CC",X"C3",X"8C",X"E3",X"70",X"E6",X"71",
|
||||
X"B8",X"71",X"39",X"CC",X"1C",X"CE",X"67",X"0E",X"27",X"1B",X"87",X"19",X"8E",X"E1",X"C4",X"E3",
|
||||
X"78",X"78",X"3C",X"DC",X"1E",X"66",X"3B",X"83",X"9D",X"8C",X"E0",X"F0",X"F1",X"B8",X"38",X"DE",
|
||||
X"36",X"0F",X"0B",X"86",X"E1",X"F0",X"78",X"DC",X"1E",X"17",X"19",X"C1",X"E2",X"71",X"BC",X"1E",
|
||||
X"27",X"9B",X"C0",X"F0",X"78",X"FC",X"0F",X"07",X"89",X"E2",X"70",X"9C",X"7E",X"07",X"89",X"C6",
|
||||
X"F0",X"3C",X"4E",X"37",X"C0",X"E3",X"71",X"9E",X"43",X"89",X"E3",X"70",X"5C",X"27",X"0B",X"E1",
|
||||
X"98",X"9E",X"37",X"82",X"71",X"38",X"DF",X"04",X"E6",X"61",X"3E",X"33",X"0D",X"C3",X"78",X"53",
|
||||
X"13",X"8E",X"F1",X"1C",X"93",X"1D",X"E0",X"B1",X"46",X"7B",X"89",X"32",X"8D",X"3B",X"84",X"94",
|
||||
X"C5",X"9C",X"E2",X"4C",X"67",X"AE",X"72",X"22",X"4E",X"6F",X"9A",X"14",X"62",X"CF",X"7B",X"21",
|
||||
X"42",X"36",X"EF",X"64",X"98",X"C6",X"6E",X"F6",X"98",X"C2",X"2C",X"EF",X"34",X"91",X"11",X"5B",
|
||||
X"7A",X"D1",X"24",X"49",X"B6",X"E7",X"24",X"92",X"46",X"DD",X"DA",X"49",X"32",X"4A",X"CF",X"59",
|
||||
X"25",X"2A",X"56",X"77",X"35",X"14",X"AA",X"99",X"B7",X"35",X"25",X"2A",X"65",X"AD",X"B5",X"30");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,38 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity col1 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 col1 is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"0C",X"0A",X"0F",X"0F",X"00",X"0B",X"00",X"0F",X"0C",X"00",X"00",X"0F",X"0C",X"00",X"07",
|
||||
X"0F",X"0C",X"00",X"03",X"0F",X"0C",X"04",X"00",X"0F",X"0C",X"04",X"03",X"0F",X"07",X"00",X"0A",
|
||||
X"0F",X"0F",X"0C",X"09",X"0F",X"07",X"03",X"0A",X"0F",X"0E",X"0B",X"00",X"0F",X"03",X"0B",X"07",
|
||||
X"0F",X"0F",X"0B",X"00",X"0F",X"0C",X"07",X"00",X"0F",X"0F",X"07",X"00",X"0F",X"0C",X"07",X"00",
|
||||
X"0F",X"0C",X"0A",X"0F",X"0F",X"00",X"0B",X"00",X"0F",X"0F",X"03",X"05",X"0F",X"0F",X"03",X"05",
|
||||
X"0F",X"0F",X"03",X"05",X"0F",X"0F",X"03",X"05",X"0F",X"0F",X"00",X"05",X"0F",X"07",X"00",X"0A",
|
||||
X"0F",X"0F",X"0C",X"09",X"0F",X"07",X"03",X"0A",X"0F",X"0E",X"0B",X"00",X"0F",X"03",X"0B",X"07",
|
||||
X"0F",X"0F",X"0B",X"00",X"0F",X"0C",X"07",X"00",X"0F",X"0F",X"07",X"00",X"0F",X"0C",X"07",X"00",
|
||||
X"0F",X"0C",X"0A",X"0F",X"0F",X"0C",X"0B",X"00",X"0F",X"0C",X"04",X"0B",X"0F",X"0C",X"04",X"0B",
|
||||
X"0F",X"0C",X"04",X"0B",X"0F",X"0C",X"04",X"0B",X"0F",X"0C",X"04",X"0B",X"0F",X"07",X"00",X"0A",
|
||||
X"0F",X"0F",X"0C",X"09",X"0F",X"07",X"03",X"0A",X"0F",X"0E",X"0B",X"00",X"0F",X"03",X"0B",X"07",
|
||||
X"0F",X"0F",X"0B",X"00",X"0F",X"0C",X"07",X"00",X"0F",X"0F",X"07",X"00",X"0F",X"04",X"07",X"00",
|
||||
X"0F",X"0C",X"0A",X"0F",X"0F",X"00",X"0B",X"00",X"0F",X"04",X"00",X"00",X"0F",X"04",X"00",X"00",
|
||||
X"0F",X"04",X"00",X"00",X"0F",X"04",X"00",X"00",X"0F",X"04",X"00",X"00",X"0F",X"07",X"00",X"0A",
|
||||
X"0F",X"0F",X"0C",X"09",X"0F",X"07",X"03",X"0A",X"0F",X"0E",X"0B",X"00",X"0F",X"03",X"0B",X"07",
|
||||
X"0F",X"0F",X"0B",X"00",X"0F",X"0C",X"00",X"00",X"0F",X"0F",X"07",X"00",X"0F",X"0C",X"07",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,38 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity col2 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 col2 is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"0F",X"00",X"01",X"0F",X"09",X"00",X"00",X"0F",X"0F",X"00",X"09",X"0F",X"0F",X"00",X"01",
|
||||
X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0C",X"00",X"0F",X"0F",X"0C",X"0E",X"0F",X"05",X"00",X"00",
|
||||
X"0F",X"01",X"09",X"00",X"0F",X"05",X"01",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"0E",X"00",
|
||||
X"0F",X"01",X"0E",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"00",X"00",X"0F",X"01",X"00",X"00",
|
||||
X"0F",X"0F",X"00",X"01",X"0F",X"09",X"00",X"00",X"0F",X"00",X"0E",X"00",X"0F",X"00",X"0E",X"00",
|
||||
X"0F",X"00",X"0E",X"00",X"0F",X"00",X"0E",X"00",X"0F",X"00",X"0E",X"00",X"0F",X"05",X"00",X"00",
|
||||
X"0F",X"01",X"09",X"00",X"0F",X"05",X"01",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"0E",X"00",
|
||||
X"0F",X"01",X"0E",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"00",X"00",X"0F",X"01",X"00",X"00",
|
||||
X"0F",X"0F",X"00",X"01",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0C",X"00",X"0F",X"0F",X"0C",X"00",
|
||||
X"0F",X"0F",X"0C",X"00",X"0F",X"0F",X"0C",X"00",X"0F",X"0F",X"0C",X"00",X"0F",X"05",X"00",X"00",
|
||||
X"0F",X"01",X"09",X"00",X"0F",X"05",X"01",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"0E",X"00",
|
||||
X"0F",X"01",X"0E",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"00",X"00",X"0F",X"07",X"00",X"00",
|
||||
X"0F",X"0F",X"00",X"01",X"0F",X"09",X"00",X"00",X"0F",X"01",X"00",X"09",X"0F",X"01",X"00",X"09",
|
||||
X"0F",X"01",X"00",X"09",X"0F",X"01",X"00",X"09",X"0F",X"01",X"00",X"09",X"0F",X"05",X"00",X"00",
|
||||
X"0F",X"01",X"09",X"00",X"0F",X"05",X"01",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"01",X"0E",X"00",
|
||||
X"0F",X"01",X"0E",X"00",X"0F",X"0F",X"0E",X"00",X"0F",X"01",X"00",X"00",X"0F",X"01",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;
|
||||
@@ -1,38 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity col3 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 col3 is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"01",X"07",X"01",X"01",X"01",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"01",X"01",X"01",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"01",X"01",X"01",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"02",X"02",X"02",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"02",X"02",X"02",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"02",X"02",X"02",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"02",X"02",X"02",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06",
|
||||
X"00",X"01",X"07",X"02",X"02",X"02",X"03",X"02",X"04",X"05",X"04",X"05",X"02",X"05",X"02",X"05",
|
||||
X"03",X"03",X"02",X"03",X"03",X"04",X"03",X"04",X"04",X"05",X"04",X"05",X"05",X"05",X"05",X"06");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj1 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 obj1 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
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"0F",X"1F",X"3F",
|
||||
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"07",X"1F",X"1F",X"3F",
|
||||
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"01",X"03",X"07",X"07",
|
||||
X"00",X"1C",X"1E",X"14",X"00",X"0F",X"07",X"03",X"07",X"07",X"79",X"FE",X"FF",X"CF",X"CF",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"01",X"00",X"01",X"01",X"07",X"0F",X"1F",X"27",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"0F",X"00",X"3F",X"3E",X"7F",X"EF",X"CF",X"CF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"0F",X"00",X"3F",X"3F",X"7F",X"EF",X"CF",X"CF",
|
||||
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"03",X"07",X"3F",X"7F",X"EF",X"CF",X"CF",X"CF",X"EF",X"7F",X"3F",X"3F",X"F9",X"F7",
|
||||
X"00",X"00",X"03",X"07",X"3F",X"7F",X"EF",X"CF",X"CF",X"CF",X"EF",X"7F",X"3F",X"1F",X"3C",X"3D",
|
||||
X"00",X"00",X"04",X"1C",X"65",X"E7",X"1F",X"1F",X"1F",X"55",X"4C",X"44",X"04",X"00",X"00",X"00",
|
||||
X"00",X"00",X"04",X"1C",X"64",X"E1",X"F9",X"E9",X"C1",X"55",X"4C",X"44",X"04",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"02",X"0E",X"32",X"71",X"1F",X"1F",X"1F",X"2A",X"26",X"22",X"02",X"00",X"00",
|
||||
X"00",X"00",X"00",X"02",X"0E",X"32",X"70",X"7C",X"74",X"60",X"2A",X"26",X"22",X"02",X"00",X"00",
|
||||
X"00",X"03",X"07",X"07",X"0F",X"0F",X"1F",X"1F",X"1F",X"0F",X"0F",X"1C",X"3F",X"3F",X"7F",X"7F",
|
||||
X"00",X"00",X"00",X"78",X"FC",X"FC",X"F8",X"FC",X"7E",X"7F",X"3F",X"3F",X"3F",X"7F",X"7F",X"FF",
|
||||
X"00",X"00",X"00",X"0C",X"BF",X"FF",X"FF",X"FF",X"7F",X"E7",X"C3",X"C3",X"47",X"1F",X"3F",X"7F",
|
||||
X"1F",X"0F",X"07",X"03",X"07",X"37",X"3F",X"3F",X"3F",X"37",X"07",X"03",X"07",X"0F",X"1F",X"00",
|
||||
X"00",X"00",X"00",X"00",X"05",X"06",X"07",X"09",X"0F",X"1F",X"3F",X"7F",X"7F",X"7E",X"78",X"21",
|
||||
X"00",X"00",X"00",X"00",X"0A",X"0C",X"0F",X"13",X"1F",X"0F",X"07",X"07",X"03",X"03",X"01",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"03",X"03",X"07",X"0D",X"03",X"07",X"03",
|
||||
X"04",X"1C",X"65",X"E1",X"F9",X"E8",X"C0",X"55",X"4C",X"44",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"1C",X"65",X"E1",X"F9",X"E9",X"C1",X"55",X"4C",X"44",X"04",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"1C",X"65",X"E1",X"F9",X"E9",X"C1",X"54",X"4C",X"45",X"05",X"01",X"00",X"00",X"00",
|
||||
X"00",X"02",X"0E",X"32",X"70",X"7C",X"74",X"60",X"2A",X"26",X"22",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"02",X"0E",X"32",X"70",X"7C",X"74",X"60",X"2A",X"26",X"22",X"02",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"03",X"01",X"01",X"00",X"00",
|
||||
X"00",X"02",X"0D",X"06",X"07",X"03",X"03",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"3F",X"07",X"07",X"07",X"03",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"03",X"07",X"0B",X"2A",X"2B",X"2B",X"16",X"0B",X"07",X"03",X"01",X"00",X"00",
|
||||
X"03",X"07",X"05",X"08",X"1B",X"19",X"05",X"3F",X"3F",X"0F",X"05",X"37",X"3F",X"3F",X"3E",X"1C",
|
||||
X"00",X"01",X"0D",X"1C",X"61",X"C9",X"ED",X"C7",X"C7",X"ED",X"C9",X"61",X"9C",X"0D",X"01",X"00",
|
||||
X"03",X"07",X"0F",X"1F",X"3F",X"7F",X"79",X"79",X"7F",X"79",X"79",X"7F",X"3F",X"1F",X"0F",X"07",
|
||||
X"03",X"07",X"0F",X"1F",X"3F",X"7F",X"79",X"79",X"7F",X"79",X"79",X"7F",X"3F",X"1F",X"0F",X"07",
|
||||
X"00",X"80",X"00",X"80",X"00",X"85",X"44",X"88",X"70",X"88",X"44",X"85",X"00",X"80",X"00",X"80",
|
||||
X"54",X"86",X"45",X"89",X"4B",X"B7",X"FF",X"FF",X"FF",X"FF",X"FF",X"BF",X"1F",X"0F",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"07",X"8F",X"DF",X"FF",X"FF",X"FF",X"B7",X"4B",X"89",X"45",X"86",X"54",
|
||||
X"00",X"18",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"B7",X"4B",X"89",X"45",X"86",X"54",
|
||||
X"00",X"00",X"09",X"00",X"00",X"08",X"08",X"08",X"08",X"04",X"04",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"07",X"3F",X"3F",X"7F",X"5F",X"EF",X"F6",X"AC",X"CD",X"68",X"23",X"07",
|
||||
X"07",X"03",X"08",X"1A",X"33",X"2B",X"3D",X"3B",X"17",X"1F",X"0F",X"07",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"06",X"04",X"04",X"01",X"06",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"78",X"00",X"00",X"00",X"00",X"00",X"17",X"E7",X"87",X"06",X"06",
|
||||
X"7F",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"41",X"42",X"44",X"48",X"10",X"00",X"0F",X"00",
|
||||
X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",
|
||||
X"00",X"0F",X"00",X"13",X"4B",X"53",X"53",X"4B",X"47",X"43",X"43",X"43",X"43",X"40",X"40",X"7F",
|
||||
X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"FF",X"00",
|
||||
X"00",X"FF",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"FF",
|
||||
X"00",X"00",X"01",X"01",X"02",X"02",X"02",X"04",X"04",X"04",X"08",X"08",X"08",X"08",X"08",X"08",
|
||||
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"20",X"10",X"08",X"00",X"00",X"00",X"00",X"04",X"18",X"00",X"00",X"00",X"00",X"02",X"00",X"00",
|
||||
X"17",X"2F",X"1F",X"2F",X"3F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"7F",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"0C",X"06",X"06",X"06",X"04",X"08",X"10",X"20",X"00",X"80",X"60",X"18",X"0C",X"00",X"00",
|
||||
X"00",X"18",X"20",X"40",X"80",X"00",X"00",X"21",X"11",X"09",X"04",X"04",X"06",X"06",X"06",X"06",
|
||||
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"3C",X"1F",X"0F",X"07",X"07",X"07",X"00",X"00",X"00",X"07",X"07",X"07",X"0F",X"1F",X"3C",X"00",
|
||||
X"01",X"03",X"05",X"06",X"00",X"00",X"00",X"0F",X"1F",X"3F",X"3F",X"3F",X"3E",X"38",X"10",X"00",
|
||||
X"01",X"03",X"05",X"06",X"00",X"00",X"00",X"03",X"07",X"07",X"07",X"03",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"03",X"01",X"00",X"01",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"00",X"11",X"02",X"05",X"0D",X"0F",X"0D",X"05",X"42",X"01",X"00",X"04",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"09",X"02",X"05",X"05",X"05",X"02",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"02",X"05",X"0B",X"0B",X"0B",X"0B",X"05",X"02",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",X"05",X"04",X"04",X"05",X"02",X"01",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"02",X"05",X"08",X"00",X"00",X"00",X"03",X"01",X"00",X"00",X"05",X"02",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"BF",X"BF",X"E0",X"40",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"FF",X"FF",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"03",X"03",X"01",X"00",X"00",X"00",
|
||||
X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"7F",X"80",
|
||||
X"00",X"00",X"00",X"00",X"07",X"03",X"0B",X"0C",X"0C",X"0F",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"03",X"01",X"06",X"0D",X"05",X"07",X"02",X"07",X"02",X"02",X"01",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"0E",X"1F",X"3B",X"33",X"33",X"39",X"18",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"10",X"29",X"2B",X"2B",X"27",X"27",X"03",X"03",X"02",X"02",X"02",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"11",X"2B",X"4B",X"47",X"87",X"03",X"01",X"01",X"01",X"01",X"00",
|
||||
X"07",X"0F",X"1E",X"3F",X"3F",X"7F",X"7E",X"7E",X"7F",X"7E",X"7F",X"3F",X"3F",X"1E",X"0F",X"07",
|
||||
X"C0",X"C0",X"C1",X"C2",X"CE",X"DC",X"F0",X"F9",X"F9",X"F0",X"DC",X"CE",X"C2",X"C1",X"C0",X"C0",
|
||||
X"0C",X"0C",X"0C",X"0C",X"0D",X"0D",X"0F",X"0F",X"0F",X"0F",X"0D",X"0D",X"0C",X"0C",X"0C",X"0C",
|
||||
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"80",X"80",X"80",X"C0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E1",X"E3",X"61",X"65",X"60",X"60",X"60",
|
||||
X"60",X"60",X"60",X"60",X"68",X"88",X"68",X"68",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
|
||||
X"60",X"E0",X"E0",X"E1",X"E3",X"E5",X"E6",X"E1",X"C0",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",
|
||||
X"C8",X"C8",X"C8",X"90",X"30",X"60",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"80",X"80",X"C0",X"E0",X"E0",X"E0",X"E0",X"E1",X"63",X"61",X"65",X"20",X"00",X"00",
|
||||
X"40",X"60",X"60",X"60",X"68",X"68",X"88",X"68",X"60",X"60",X"60",X"40",X"00",X"00",X"20",X"60",
|
||||
X"60",X"60",X"E0",X"E0",X"E0",X"E0",X"E0",X"C0",X"9F",X"9F",X"8D",X"06",X"02",X"06",X"00",X"00",
|
||||
X"40",X"80",X"89",X"01",X"18",X"18",X"4E",X"01",X"00",X"07",X"3C",X"38",X"31",X"00",X"88",X"80",
|
||||
X"01",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"32",X"18",X"00",X"00",
|
||||
X"00",X"7F",X"C0",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"C0",X"7F",X"00",
|
||||
X"00",X"03",X"04",X"08",X"10",X"20",X"20",X"20",X"20",X"20",X"20",X"10",X"08",X"04",X"03",X"00",
|
||||
X"00",X"00",X"00",X"01",X"02",X"04",X"08",X"08",X"08",X"08",X"04",X"02",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"04",X"02",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"08",X"04",X"00",X"00",X"00",X"18",X"00",X"00",X"00",X"04",X"08",X"00",X"00",
|
||||
X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"CF",X"BF",X"1E",X"1E",X"0C",X"00",X"00",X"00",X"00",X"00",
|
||||
X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"BF",X"1F",X"1E",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"67",X"DF",X"0F",X"0F",X"06",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"3F",X"3F",X"3F",X"18",X"0C",X"1F",X"1F",X"3E",X"7C",X"F8",X"00",X"A0",X"F0",X"E0",X"00",
|
||||
X"63",X"77",X"7F",X"7F",X"3F",X"1F",X"07",X"0F",X"1F",X"3F",X"7E",X"00",X"A0",X"F0",X"00",X"00",
|
||||
X"CF",X"EF",X"7F",X"3E",X"3F",X"00",X"0F",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"CF",X"EF",X"7F",X"3F",X"3F",X"00",X"0F",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"78",X"F0",X"F0",X"D0",X"80",X"00",X"00",X"00",X"00",X"20",X"70",X"78",X"7E",X"3E",X"1C",
|
||||
X"F7",X"E7",X"07",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"39",X"39",X"01",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"30",X"38",X"38",X"7C",X"7C",X"1E",X"1F",X"0F",X"0F",X"0F",X"07",X"07",X"27",X"8B",
|
||||
X"FB",X"8B",X"2F",X"0F",X"0F",X"1F",X"3F",X"3E",X"FC",X"F8",X"70",X"F0",X"60",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"06",X"06",X"0C",X"0E",X"0F",X"0F",X"07",X"03",X"00",
|
||||
X"7F",X"67",X"7F",X"3F",X"0F",X"7F",X"FF",X"FF",X"7E",X"F0",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"EF",X"C7",X"CF",X"47",X"2F",X"7E",X"7C",X"7C",X"2E",X"3C",X"0C",X"00",X"00",X"00",
|
||||
X"CF",X"CF",X"EF",X"CF",X"CF",X"7F",X"3F",X"5F",X"C7",X"E7",X"7F",X"FF",X"FF",X"FF",X"BF",X"0E",
|
||||
X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"0F",X"0F",X"0F",X"0C",X"07",X"00",X"00",X"00",X"00",
|
||||
X"01",X"03",X"03",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"0F",X"0F",X"2F",X"8B",X"FB",
|
||||
X"FB",X"03",X"27",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"0F",X"0F",X"07",X"0F",X"06",
|
||||
X"00",X"00",X"30",X"38",X"38",X"7C",X"7C",X"1E",X"1F",X"0F",X"0F",X"0F",X"07",X"07",X"27",X"8B",
|
||||
X"07",X"08",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"08",X"07",X"00",X"00",X"0F",X"04",X"00",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"06",X"09",X"08",X"08",X"04",X"00",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"08",X"0D",X"0B",X"09",X"08",X"00",
|
||||
X"07",X"08",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"08",X"07",X"00",X"0F",X"04",X"02",X"01",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"06",X"09",X"09",X"09",X"06",X"00",
|
||||
X"07",X"08",X"07",X"00",X"07",X"08",X"07",X"00",X"06",X"09",X"08",X"04",X"00",X"0F",X"04",X"00",
|
||||
X"07",X"08",X"07",X"00",X"07",X"08",X"07",X"00",X"04",X"09",X"09",X"07",X"00",X"0F",X"04",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj2 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 obj2 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"3B",X"3F",X"3F",X"3F",X"9F",X"FD",
|
||||
X"00",X"00",X"00",X"06",X"0F",X"1F",X"1F",X"3D",X"3C",X"3D",X"3F",X"1F",X"1A",X"80",X"C0",X"E3",
|
||||
X"00",X"00",X"00",X"00",X"00",X"18",X"0C",X"1C",X"1C",X"3C",X"7E",X"FF",X"FF",X"FD",X"FC",X"DE",
|
||||
X"00",X"00",X"00",X"00",X"1C",X"9C",X"CC",X"CE",X"DE",X"DE",X"DC",X"EC",X"4C",X"84",X"80",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"CC",X"CE",X"EE",X"E7",X"EF",X"9F",X"1E",X"DE",X"DF",X"EF",
|
||||
X"00",X"00",X"00",X"0C",X"7E",X"FF",X"FF",X"E4",X"C1",X"E5",X"47",X"87",X"83",X"D0",X"D8",X"D4",
|
||||
X"00",X"00",X"00",X"0C",X"7E",X"FF",X"FF",X"E4",X"C1",X"E5",X"47",X"87",X"83",X"D0",X"D8",X"D4",
|
||||
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"80",X"C0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"FC",X"FE",X"FE",X"FC",X"FF",X"FF",
|
||||
X"00",X"00",X"80",X"C0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"FC",X"FE",X"FE",X"7E",X"FE",X"FC",
|
||||
X"00",X"06",X"0F",X"1F",X"FD",X"FC",X"F8",X"F8",X"B8",X"FC",X"7C",X"1C",X"1C",X"3C",X"00",X"00",
|
||||
X"00",X"06",X"0F",X"1F",X"FD",X"FC",X"F8",X"F8",X"F8",X"FC",X"FC",X"DC",X"1C",X"1C",X"00",X"00",
|
||||
X"1E",X"1C",X"1C",X"1C",X"FC",X"FC",X"F8",X"FB",X"FF",X"DF",X"FD",X"38",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"1C",X"1C",X"1C",X"FC",X"FC",X"F8",X"FB",X"FF",X"FF",X"FD",X"78",X"00",X"00",X"00",X"00",
|
||||
X"06",X"0E",X"9E",X"9C",X"0E",X"1E",X"8E",X"CE",X"C6",X"C4",X"80",X"00",X"00",X"E0",X"F4",X"E4",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"E0",X"E0",X"F0",X"EC",X"0B",
|
||||
X"00",X"00",X"00",X"00",X"03",X"87",X"8F",X"DF",X"EF",X"F6",X"F2",X"F0",X"E0",X"C0",X"80",X"C0",
|
||||
X"80",X"C0",X"C0",X"E0",X"E0",X"E0",X"10",X"C0",X"10",X"E0",X"E0",X"E0",X"C0",X"C0",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"08",X"18",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"E8",X"E0",X"E0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"10",X"38",X"F8",X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"FC",X"EC",X"C4",
|
||||
X"03",X"07",X"0D",X"08",X"00",X"00",X"03",X"9F",X"1D",X"F8",X"F8",X"F8",X"F8",X"F0",X"F0",X"A0",
|
||||
X"00",X"F0",X"F8",X"FF",X"FF",X"FF",X"DD",X"F8",X"FE",X"FE",X"DE",X"02",X"00",X"00",X"00",X"00",
|
||||
X"1C",X"1E",X"FC",X"FC",X"FC",X"F8",X"F0",X"D1",X"F3",X"F9",X"F9",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"38",X"FF",X"FF",X"FF",X"FF",X"FD",X"EC",X"FC",X"FC",X"FE",X"DE",X"CC",X"98",X"00",X"00",
|
||||
X"0E",X"1E",X"3C",X"FC",X"FC",X"FF",X"FF",X"EF",X"FF",X"7D",X"30",X"10",X"00",X"00",X"00",X"00",
|
||||
X"1C",X"1A",X"3C",X"FC",X"FC",X"FC",X"FE",X"FF",X"FF",X"DF",X"FD",X"CC",X"C0",X"40",X"00",X"00",
|
||||
X"00",X"78",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",
|
||||
X"30",X"58",X"E8",X"EC",X"74",X"B4",X"B4",X"B4",X"B4",X"AC",X"AC",X"A8",X"D0",X"60",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",X"E0",X"00",X"00",X"00",
|
||||
X"00",X"F0",X"F8",X"FC",X"FE",X"FE",X"3E",X"DE",X"DE",X"3E",X"FE",X"FE",X"FC",X"F8",X"F0",X"00",
|
||||
X"E0",X"F0",X"50",X"08",X"6C",X"CC",X"A0",X"FE",X"FE",X"F8",X"D0",X"FB",X"FF",X"FF",X"3E",X"0C",
|
||||
X"38",X"BC",X"9C",X"DC",X"FC",X"BC",X"F8",X"F8",X"F8",X"FC",X"BE",X"FE",X"DE",X"8C",X"8C",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"DF",X"87",X"97",X"FF",X"D3",X"C3",X"D3",X"FB",X"D3",X"C3",X"D3",X"FF",X"97",X"87",X"DD",
|
||||
X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"80",X"80",X"80",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"B8",X"18",X"08",
|
||||
X"02",X"06",X"0E",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"F8",X"E0",X"C0",X"C0",X"C0",
|
||||
X"10",X"30",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"80",X"80",X"80",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"04",X"04",X"04",X"04",X"08",X"0C",X"0C",X"14",X"1C",X"1C",X"0C",
|
||||
X"00",X"00",X"00",X"E0",X"F0",X"F8",X"FC",X"FC",X"FE",X"BE",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FF",X"FF",X"3F",X"7F",X"3F",X"9F",X"EE",X"EE",X"FE",X"FE",X"FC",X"FC",X"FC",X"38",X"00",
|
||||
X"00",X"00",X"00",X"30",X"78",X"FC",X"FC",X"DE",X"9E",X"DF",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"03",X"3C",X"60",X"C0",X"80",X"00",X"00",X"00",X"00",X"01",X"03",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"70",X"B0",X"F8",X"18",X"00",
|
||||
X"FF",X"00",X"00",X"00",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"FF",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"FF",X"00",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"00",X"00",X"FF",
|
||||
X"FE",X"C2",X"C2",X"C2",X"C2",X"C2",X"C2",X"C2",X"C2",X"C2",X"E2",X"12",X"0A",X"04",X"F8",X"00",
|
||||
X"00",X"F8",X"04",X"0A",X"12",X"0A",X"7A",X"72",X"72",X"72",X"72",X"72",X"72",X"72",X"72",X"FE",
|
||||
X"40",X"80",X"00",X"00",X"00",X"42",X"33",X"07",X"07",X"07",X"07",X"07",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"70",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",
|
||||
X"3F",X"7F",X"3E",X"19",X"07",X"03",X"00",X"00",X"00",X"00",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"F8",X"F8",X"F4",X"F0",X"F0",X"F0",X"E8",X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",
|
||||
X"80",X"80",X"80",X"80",X"80",X"80",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"0C",X"0E",X"0F",X"0F",X"0F",X"07",X"07",X"03",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"70",X"70",X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",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"80",X"80",X"00",X"18",X"14",X"0E",X"14",X"18",X"00",X"80",X"80",X"00",X"00",X"00",
|
||||
X"C0",X"80",X"00",X"00",X"00",X"08",X"08",X"1C",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"80",X"00",X"00",X"00",X"10",X"10",X"38",X"80",X"E0",X"FC",X"F8",X"F0",X"00",X"00",X"00",
|
||||
X"00",X"08",X"06",X"01",X"06",X"18",X"FE",X"7F",X"F3",X"E3",X"E7",X"C3",X"C7",X"83",X"87",X"02",
|
||||
X"04",X"02",X"01",X"02",X"04",X"1A",X"3F",X"FF",X"7B",X"F7",X"FB",X"77",X"7B",X"77",X"7B",X"32",
|
||||
X"00",X"08",X"20",X"C0",X"A8",X"D0",X"D8",X"F8",X"D8",X"D4",X"A0",X"D0",X"00",X"08",X"40",X"00",
|
||||
X"00",X"00",X"00",X"20",X"80",X"40",X"A0",X"A0",X"A8",X"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"40",X"A0",X"D0",X"D0",X"D0",X"D0",X"A0",X"40",X"80",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"A0",X"20",X"20",X"A0",X"40",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"00",X"C0",X"C0",X"40",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"C0",X"C0",X"40",X"00",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",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"06",X"0F",X"FF",X"FF",X"0B",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"01",X"07",X"0F",X"0F",X"1F",X"1D",X"1D",X"1F",X"0F",X"0F",X"0F",X"0D",X"0C",X"0C",X"0E",X"0E",
|
||||
X"01",X"07",X"0F",X"0F",X"1F",X"1D",X"1D",X"3F",X"7F",X"EF",X"C7",X"81",X"80",X"00",X"00",X"00",
|
||||
X"01",X"FF",X"F7",X"FF",X"F7",X"F7",X"FF",X"F7",X"F7",X"FF",X"F7",X"F7",X"FF",X"01",X"FE",X"01",
|
||||
X"00",X"01",X"07",X"0D",X"B8",X"E4",X"84",X"CA",X"CA",X"C4",X"E4",X"B8",X"0D",X"07",X"01",X"00",
|
||||
X"E0",X"F0",X"F0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"70",X"F0",X"F0",X"70",X"F0",X"F0",X"60",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"60",X"00",X"00",X"00",
|
||||
X"00",X"00",X"1C",X"3E",X"F0",X"E0",X"80",X"00",X"80",X"80",X"E0",X"F0",X"FE",X"FE",X"DC",X"88",
|
||||
X"00",X"00",X"00",X"00",X"00",X"FC",X"FE",X"A8",X"54",X"FE",X"FE",X"FC",X"60",X"60",X"60",X"C0",
|
||||
X"80",X"00",X"00",X"00",X"80",X"00",X"04",X"02",X"FC",X"00",X"00",X"80",X"00",X"00",X"00",X"80",
|
||||
X"03",X"03",X"83",X"43",X"73",X"3B",X"0F",X"8F",X"8F",X"0F",X"3B",X"73",X"43",X"83",X"03",X"03",
|
||||
X"03",X"63",X"93",X"93",X"9B",X"0B",X"0F",X"6F",X"6F",X"0F",X"0B",X"9B",X"93",X"93",X"63",X"03",
|
||||
X"C3",X"C3",X"DB",X"DB",X"FF",X"E7",X"E7",X"FF",X"FF",X"E7",X"E7",X"FF",X"DB",X"DB",X"C3",X"C3",
|
||||
X"1B",X"1B",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1B",X"1B",
|
||||
X"00",X"00",X"00",X"00",X"01",X"07",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",
|
||||
X"7F",X"3F",X"3F",X"1F",X"0F",X"46",X"52",X"50",X"54",X"54",X"14",X"44",X"54",X"40",X"50",X"40",
|
||||
X"50",X"01",X"D0",X"C2",X"C0",X"C4",X"C0",X"C8",X"00",X"50",X"E0",X"D8",X"E8",X"F0",X"E0",X"C0",
|
||||
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"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"07",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",
|
||||
X"7F",X"3F",X"3F",X"1F",X"0F",X"46",X"52",X"50",X"54",X"54",X"14",X"44",X"54",X"40",X"50",X"40",
|
||||
X"50",X"01",X"10",X"02",X"18",X"10",X"18",X"2C",X"BE",X"3E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"1E",X"03",X"93",X"CB",X"6F",X"3F",X"DF",X"1F",X"3F",X"7F",X"EF",X"CB",X"A3",X"1E",X"0C",
|
||||
X"00",X"08",X"00",X"64",X"CE",X"06",X"06",X"06",X"06",X"26",X"46",X"06",X"0E",X"04",X"30",X"00",
|
||||
X"00",X"E0",X"10",X"E8",X"F4",X"F4",X"FB",X"FB",X"FB",X"FB",X"F4",X"F4",X"E8",X"10",X"E0",X"00",
|
||||
X"00",X"C0",X"20",X"10",X"08",X"04",X"04",X"04",X"04",X"04",X"04",X"08",X"10",X"20",X"C0",X"00",
|
||||
X"00",X"00",X"00",X"80",X"40",X"20",X"10",X"10",X"10",X"10",X"20",X"40",X"80",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"20",X"20",X"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"88",X"10",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"10",X"88",X"80",X"00",
|
||||
X"F0",X"F9",X"FF",X"3F",X"8F",X"DF",X"2D",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E7",X"F7",X"F7",X"7F",X"7D",X"B9",X"BC",X"1D",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"DE",X"9F",X"9F",X"9F",X"CF",X"E1",X"E1",X"80",X"F0",X"F8",X"FD",X"7F",X"1F",X"0E",X"00",X"00",
|
||||
X"D0",X"D8",X"A0",X"04",X"0C",X"3E",X"BF",X"1F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E6",X"E0",X"C0",X"C0",X"B8",X"78",X"F0",X"F0",X"E0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"D4",X"C1",X"83",X"87",X"47",X"E5",X"C1",X"E4",X"FF",X"FF",X"7E",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"D4",X"C1",X"83",X"87",X"47",X"E5",X"C1",X"E4",X"FF",X"FF",X"7E",X"0C",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"BF",X"1B",X"02",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"DE",X"CF",X"C7",X"0F",X"0E",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"04",X"1C",X"3E",X"BE",X"FE",X"FC",X"E4",X"C2",X"D0",X"D8",
|
||||
X"D4",X"D4",X"C2",X"E6",X"FC",X"DC",X"3C",X"3E",X"1E",X"0C",X"18",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"5E",X"3F",X"07",X"05",X"09",X"7B",X"01",X"3D",X"7F",X"7F",X"BF",X"FF",X"FF",X"F0",X"F8",X"70",
|
||||
X"EE",X"CE",X"DE",X"DE",X"DC",X"8C",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"97",X"9F",X"DF",X"DF",X"CD",X"C0",X"88",X"1E",X"3E",X"3E",X"1E",X"02",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"F2",X"F3",X"E3",X"E3",X"C7",X"8F",X"AD",X"E1",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"E0",X"D0",X"D0",X"D0",X"90",X"20",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"80",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"85",X"CF",X"CF",X"FF",X"C6",X"C2",X"D0",X"D8",
|
||||
X"D4",X"D4",X"C2",X"C6",X"FF",X"EF",X"CF",X"85",X"80",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"04",X"1C",X"3E",X"BE",X"FE",X"FC",X"E4",X"C2",X"D0",X"D8",
|
||||
X"C0",X"20",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",X"20",X"E0",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"20",X"20",X"A0",X"60",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",X"E0",X"40",X"40",X"C0",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",
|
||||
X"C0",X"20",X"C0",X"00",X"C0",X"20",X"C0",X"00",X"20",X"20",X"A0",X"60",X"00",X"E0",X"00",X"00",
|
||||
X"C0",X"20",X"C0",X"00",X"C0",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"E0",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;
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj3 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 obj3 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"00",X"00",X"18",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"08",X"00",X"00",X"18",
|
||||
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"1C",X"1E",X"14",X"00",X"0C",X"00",X"00",X"00",X"08",X"1E",X"2F",X"7F",X"7F",X"DD",X"B8",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"02",X"01",X"00",X"00",X"00",X"07",X"05",X"0C",X"0C",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"07",X"35",X"1B",X"3B",X"67",X"77",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"07",X"35",X"1A",X"3E",X"66",X"70",
|
||||
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"07",X"35",X"1B",X"3B",X"67",X"77",X"67",X"3B",X"1B",X"35",X"07",X"F0",X"D6",
|
||||
X"00",X"00",X"00",X"07",X"35",X"1B",X"3B",X"67",X"77",X"67",X"3B",X"1B",X"35",X"07",X"30",X"39",
|
||||
X"00",X"00",X"04",X"1C",X"3D",X"3F",X"FF",X"FF",X"FF",X"3E",X"1E",X"1E",X"1C",X"08",X"00",X"00",
|
||||
X"00",X"00",X"04",X"1C",X"3C",X"3F",X"3F",X"3E",X"3E",X"3F",X"1E",X"1E",X"1C",X"08",X"00",X"00",
|
||||
X"00",X"00",X"00",X"02",X"0E",X"1E",X"1F",X"FF",X"FF",X"FF",X"1F",X"0F",X"0F",X"0E",X"04",X"00",
|
||||
X"00",X"00",X"00",X"02",X"0E",X"1E",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"0E",X"04",X"00",
|
||||
X"00",X"03",X"07",X"06",X"07",X"02",X"00",X"02",X"00",X"00",X"0C",X"0F",X"07",X"03",X"17",X"3F",
|
||||
X"00",X"00",X"00",X"38",X"7C",X"7C",X"38",X"10",X"00",X"00",X"00",X"00",X"00",X"30",X"3E",X"07",
|
||||
X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"60",X"E0",X"C0",X"C0",X"47",X"1F",X"09",X"3C",
|
||||
X"00",X"0C",X"00",X"03",X"10",X"09",X"01",X"00",X"01",X"09",X"10",X"03",X"00",X"0C",X"00",X"00",
|
||||
X"04",X"07",X"07",X"07",X"02",X"01",X"06",X"09",X"0F",X"06",X"00",X"00",X"12",X"12",X"10",X"00",
|
||||
X"00",X"01",X"03",X"07",X"05",X"03",X"0C",X"12",X"1E",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"05",X"0B",X"1B",X"1F",X"3F",X"5F",X"3C",X"1D",X"09",X"02",X"04",X"00",X"00",
|
||||
X"00",X"00",X"5B",X"DF",X"C7",X"D7",X"FF",X"6B",X"52",X"58",X"18",X"08",X"C1",X"22",X"14",X"08",
|
||||
X"00",X"00",X"00",X"5A",X"DE",X"C7",X"D6",X"FE",X"6A",X"52",X"58",X"18",X"08",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"5A",X"DE",X"C6",X"D7",X"FF",X"6A",X"52",X"58",X"18",X"08",X"01",X"03",X"07",
|
||||
X"00",X"00",X"00",X"2C",X"6F",X"63",X"6B",X"7F",X"35",X"29",X"2C",X"0C",X"04",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"2D",X"6F",X"63",X"6B",X"7F",X"35",X"29",X"2C",X"0C",X"04",X"01",X"03",
|
||||
X"00",X"00",X"00",X"18",X"0C",X"0C",X"05",X"03",X"06",X"0F",X"1F",X"1B",X"01",X"01",X"00",X"00",
|
||||
X"00",X"0C",X"0E",X"07",X"07",X"03",X"03",X"01",X"01",X"01",X"00",X"00",X"00",X"01",X"03",X"00",
|
||||
X"00",X"00",X"00",X"10",X"30",X"30",X"18",X"00",X"0B",X"13",X"31",X"30",X"10",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"15",X"15",X"55",X"55",X"3D",X"15",X"01",X"00",X"00",X"00",X"00",
|
||||
X"03",X"07",X"02",X"07",X"04",X"46",X"E3",X"D2",X"42",X"07",X"07",X"07",X"07",X"03",X"02",X"00",
|
||||
X"03",X"06",X"02",X"20",X"5C",X"F7",X"D2",X"FA",X"FA",X"D2",X"F7",X"5C",X"A0",X"02",X"06",X"03",
|
||||
X"03",X"07",X"00",X"04",X"0F",X"1F",X"1F",X"0D",X"07",X"0D",X"1F",X"1F",X"0F",X"04",X"00",X"07",
|
||||
X"03",X"07",X"00",X"04",X"0F",X"1F",X"1F",X"0D",X"07",X"0D",X"1F",X"1F",X"0F",X"05",X"00",X"07",
|
||||
X"80",X"00",X"80",X"00",X"80",X"7A",X"BB",X"77",X"8F",X"77",X"BB",X"7A",X"80",X"00",X"80",X"00",
|
||||
X"AB",X"79",X"BA",X"76",X"B4",X"48",X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"10",X"0F",X"00",
|
||||
X"00",X"00",X"01",X"06",X"08",X"10",X"20",X"00",X"00",X"00",X"48",X"B4",X"76",X"BA",X"79",X"AB",
|
||||
X"18",X"24",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"48",X"B4",X"76",X"BA",X"79",X"AB",
|
||||
X"00",X"01",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"38",X"3C",X"7C",X"7C",X"FC",X"FD",X"FF",X"FC",X"78",X"20",X"00",
|
||||
X"06",X"00",X"08",X"1E",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"06",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"01",X"03",X"07",X"07",X"07",X"03",X"01",X"01",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"EE",X"FF",X"FC",X"F0",X"00",
|
||||
X"FF",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C1",X"C2",X"C4",X"C8",X"F0",X"70",X"3F",X"1F",
|
||||
X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"1F",X"3F",X"70",X"F0",X"C9",X"D0",X"D1",X"C8",X"C4",X"C1",X"C0",X"C1",X"C0",X"C0",X"C0",X"FF",
|
||||
X"FF",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"FF",X"FF",
|
||||
X"FF",X"FF",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"FF",
|
||||
X"00",X"00",X"01",X"01",X"03",X"03",X"03",X"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0C",X"08",
|
||||
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"20",X"10",X"08",X"00",X"00",X"00",X"00",X"04",X"18",X"00",X"00",X"00",X"00",X"02",X"00",X"00",
|
||||
X"68",X"50",X"60",X"50",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"80",X"60",X"C8",X"F4",
|
||||
X"FE",X"FF",X"FF",X"F1",X"E0",X"C0",X"60",X"31",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"0E",X"00",X"00",
|
||||
X"00",X"1C",X"3E",X"7F",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",
|
||||
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"10",X"08",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"00",
|
||||
X"00",X"04",X"00",X"02",X"00",X"48",X"7F",X"7F",X"7F",X"48",X"00",X"02",X"00",X"04",X"00",X"00",
|
||||
X"00",X"00",X"0C",X"0F",X"0F",X"07",X"03",X"00",X"00",X"05",X"14",X"10",X"11",X"01",X"03",X"01",
|
||||
X"00",X"00",X"0C",X"0F",X"0F",X"07",X"03",X"00",X"00",X"02",X"00",X"00",X"02",X"03",X"06",X"02",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"01",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"01",X"02",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"00",X"10",X"01",X"03",X"02",X"1F",X"02",X"03",X"41",X"00",X"00",X"04",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"03",X"02",X"09",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"03",X"44",X"08",X"11",X"23",X"26",X"27",X"27",X"26",X"23",X"11",X"08",X"04",X"03",X"08",
|
||||
X"00",X"10",X"00",X"00",X"01",X"03",X"06",X"07",X"07",X"06",X"03",X"01",X"00",X"10",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"07",X"0F",X"0F",X"0E",X"0F",X"0F",X"0F",X"0F",X"0E",X"0F",X"0F",X"0F",X"0E",X"0F",X"0F",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"5F",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"FF",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"03",X"03",X"01",X"00",X"00",X"00",
|
||||
X"80",X"F7",X"F7",X"F4",X"F4",X"F7",X"F4",X"F4",X"F7",X"F4",X"F5",X"F4",X"F7",X"FF",X"F7",X"80",
|
||||
X"00",X"00",X"00",X"07",X"0F",X"0F",X"1C",X"1B",X"1B",X"1C",X"0F",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"02",X"01",X"02",X"0A",X"08",X"05",X"00",X"05",X"05",X"02",X"00",X"01",X"00",
|
||||
X"00",X"00",X"00",X"00",X"0E",X"1F",X"3B",X"33",X"33",X"39",X"18",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"05",X"01",X"06",X"00",X"03",X"02",X"02",X"02",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"01",X"06",X"00",X"01",X"01",X"01",X"01",X"00",
|
||||
X"07",X"0F",X"18",X"30",X"20",X"47",X"1E",X"FE",X"FE",X"1E",X"47",X"20",X"30",X"18",X"0F",X"07",
|
||||
X"00",X"00",X"01",X"03",X"0F",X"1C",X"30",X"26",X"26",X"30",X"1C",X"0F",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"02",X"02",X"03",X"01",X"01",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"40",X"40",X"42",X"02",X"06",X"07",X"4F",X"4F",
|
||||
X"4F",X"4F",X"4F",X"4F",X"4F",X"FF",X"DF",X"4F",X"43",X"41",X"40",X"40",X"40",X"40",X"00",X"00",
|
||||
X"00",X"C0",X"C0",X"C1",X"83",X"83",X"81",X"80",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"30",X"30",X"30",X"30",X"34",X"34",X"36",X"36",X"37",X"37",X"36",X"37",X"37",
|
||||
X"37",X"37",X"37",X"6F",X"CF",X"9E",X"3F",X"7F",X"FC",X"F8",X"F0",X"E0",X"C0",X"80",X"80",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"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"80",X"80",X"80",X"80",X"C0",X"40",X"40",X"00",X"02",X"02",X"06",X"07",X"0F",X"0F",
|
||||
X"0F",X"0F",X"0F",X"0F",X"0F",X"9F",X"FF",X"0F",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"40",X"40",X"40",X"00",X"00",X"1F",X"1E",X"0E",X"04",X"04",X"00",X"00",X"00",
|
||||
X"40",X"80",X"89",X"01",X"10",X"18",X"4E",X"01",X"00",X"07",X"1C",X"38",X"31",X"00",X"88",X"80",
|
||||
X"01",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"10",X"00",X"00",
|
||||
X"00",X"00",X"3F",X"40",X"40",X"40",X"4C",X"53",X"53",X"4C",X"40",X"40",X"40",X"3F",X"00",X"00",
|
||||
X"00",X"00",X"03",X"04",X"08",X"10",X"10",X"10",X"10",X"10",X"10",X"08",X"04",X"03",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"04",X"04",X"04",X"02",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"02",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"10",X"00",
|
||||
X"18",X"0C",X"27",X"6F",X"7F",X"7D",X"5D",X"3D",X"0E",X"0E",X"0C",X"00",X"00",X"00",X"00",X"00",
|
||||
X"18",X"0E",X"27",X"6F",X"7E",X"7D",X"7D",X"5D",X"3D",X"0D",X"0E",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"0C",X"07",X"13",X"37",X"3F",X"3C",X"2C",X"1E",X"06",X"07",X"06",X"00",X"00",X"00",X"00",
|
||||
X"58",X"19",X"3B",X"36",X"1F",X"03",X"00",X"00",X"00",X"00",X"C0",X"00",X"A0",X"F0",X"E0",X"00",
|
||||
X"34",X"3C",X"3E",X"1B",X"01",X"07",X"06",X"00",X"00",X"00",X"60",X"00",X"A0",X"F0",X"00",X"00",
|
||||
X"67",X"3B",X"1B",X"35",X"07",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"66",X"3E",X"1A",X"35",X"07",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"78",X"F0",X"F0",X"D0",X"80",X"00",X"00",X"00",X"00",X"20",X"70",X"78",X"7E",X"3E",X"1C",
|
||||
X"B5",X"E7",X"07",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"29",X"39",X"01",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"30",X"38",X"28",X"58",X"70",X"00",X"00",X"00",X"07",X"7C",X"F8",X"F8",X"D8",X"74",
|
||||
X"04",X"7C",X"58",X"78",X"0C",X"07",X"00",X"00",X"E0",X"B0",X"50",X"F0",X"60",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"02",X"03",X"03",X"07",X"03",X"00",
|
||||
X"3E",X"2C",X"3C",X"1D",X"0F",X"67",X"B0",X"D8",X"58",X"F0",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"2F",X"7C",X"7C",X"6C",X"75",X"6F",X"17",X"01",X"00",X"04",X"0E",X"0C",X"0C",X"00",X"00",X"00",
|
||||
X"5E",X"76",X"36",X"56",X"7E",X"3C",X"09",X"5F",X"C7",X"E0",X"40",X"80",X"80",X"80",X"80",X"00",
|
||||
X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"07",X"00",X"00",X"00",X"00",
|
||||
X"01",X"03",X"03",X"07",X"01",X"00",X"00",X"00",X"00",X"00",X"07",X"0C",X"78",X"59",X"75",X"05",
|
||||
X"05",X"FD",X"D9",X"F8",X"FC",X"77",X"00",X"00",X"00",X"00",X"00",X"0E",X"0B",X"05",X"0F",X"06",
|
||||
X"00",X"00",X"30",X"38",X"28",X"58",X"70",X"00",X"00",X"00",X"07",X"7C",X"F8",X"F8",X"D8",X"74",
|
||||
X"07",X"08",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"08",X"07",X"00",X"00",X"0F",X"04",X"00",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"06",X"09",X"08",X"08",X"04",X"00",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"08",X"0D",X"0B",X"09",X"08",X"00",
|
||||
X"07",X"08",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"08",X"07",X"00",X"0F",X"04",X"02",X"01",
|
||||
X"07",X"08",X"08",X"07",X"00",X"07",X"08",X"08",X"07",X"00",X"06",X"09",X"09",X"09",X"06",X"00",
|
||||
X"07",X"08",X"07",X"00",X"07",X"08",X"07",X"00",X"06",X"09",X"08",X"04",X"00",X"0F",X"04",X"00",
|
||||
X"07",X"08",X"07",X"00",X"07",X"08",X"07",X"00",X"04",X"09",X"09",X"07",X"00",X"0F",X"04",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,150 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj4 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 obj4 is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"C1",X"C0",X"C0",X"C1",X"61",X"01",
|
||||
X"00",X"00",X"00",X"06",X"0B",X"01",X"01",X"01",X"00",X"C1",X"C3",X"E0",X"E4",X"7C",X"3C",X"1D",
|
||||
X"00",X"00",X"00",X"00",X"00",X"18",X"0C",X"1C",X"1C",X"10",X"06",X"01",X"01",X"09",X"04",X"20",
|
||||
X"00",X"00",X"00",X"00",X"0C",X"0C",X"04",X"06",X"02",X"00",X"20",X"10",X"B0",X"F8",X"FC",X"BC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"44",X"C6",X"02",X"03",X"01",X"60",X"E0",X"A0",X"A0",X"50",
|
||||
X"00",X"00",X"00",X"0C",X"06",X"0F",X"0F",X"04",X"00",X"10",X"B8",X"F8",X"FC",X"AE",X"A6",X"AA",
|
||||
X"00",X"00",X"00",X"0C",X"06",X"0F",X"0F",X"04",X"00",X"10",X"B8",X"F8",X"FC",X"AE",X"A6",X"AA",
|
||||
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"30",X"98",X"9C",X"9E",X"8E",X"8F",X"8F",X"83",X"80",X"90",X"00",X"20",X"40",
|
||||
X"00",X"00",X"00",X"30",X"98",X"9C",X"9E",X"8E",X"8F",X"8F",X"83",X"80",X"88",X"08",X"10",X"80",
|
||||
X"00",X"06",X"07",X"03",X"C1",X"C0",X"C0",X"00",X"40",X"00",X"00",X"00",X"1C",X"3C",X"00",X"00",
|
||||
X"00",X"06",X"07",X"03",X"C1",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"C0",X"FC",X"FC",X"E0",X"C0",
|
||||
X"1E",X"1C",X"00",X"00",X"C0",X"C0",X"E0",X"E3",X"C3",X"A3",X"81",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"1C",X"00",X"00",X"C0",X"C0",X"E0",X"E3",X"E3",X"63",X"E1",X"60",X"60",X"E0",X"E0",X"C0",
|
||||
X"06",X"0A",X"92",X"80",X"70",X"E0",X"70",X"30",X"38",X"38",X"7C",X"FC",X"FC",X"9C",X"C8",X"D8",
|
||||
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"10",X"08",X"10",X"F1",
|
||||
X"00",X"00",X"00",X"00",X"03",X"07",X"03",X"01",X"11",X"08",X"0C",X"0E",X"1E",X"BE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"10",X"D8",X"2C",X"FE",X"2C",X"D8",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"08",X"18",X"B8",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"18",X"10",
|
||||
X"80",X"A0",X"A0",X"B0",X"E0",X"C0",X"00",X"20",X"10",X"08",X"A0",X"A0",X"28",X"08",X"18",X"10",
|
||||
X"03",X"E7",X"FD",X"F8",X"F8",X"F0",X"F3",X"E7",X"FD",X"FC",X"E0",X"80",X"0C",X"1C",X"1C",X"00",
|
||||
X"00",X"30",X"18",X"1C",X"1C",X"3C",X"3C",X"38",X"3C",X"3C",X"1C",X"C0",X"E0",X"C0",X"00",X"00",
|
||||
X"00",X"18",X"3C",X"1C",X"0C",X"00",X"CC",X"6E",X"3E",X"BE",X"7A",X"61",X"61",X"01",X"1A",X"04",
|
||||
X"00",X"38",X"3C",X"1C",X"1C",X"1E",X"1C",X"1C",X"1C",X"1C",X"3C",X"18",X"00",X"00",X"80",X"80",
|
||||
X"00",X"1C",X"3C",X"FC",X"FC",X"3E",X"1E",X"1E",X"0E",X"04",X"08",X"0C",X"0C",X"0C",X"00",X"00",
|
||||
X"00",X"18",X"3C",X"FC",X"3C",X"1C",X"1C",X"1C",X"3E",X"3E",X"3C",X"0C",X"00",X"80",X"C0",X"C0",
|
||||
X"00",X"00",X"00",X"78",X"FC",X"F8",X"F8",X"F0",X"00",X"00",X"C0",X"E0",X"E0",X"E0",X"E0",X"00",
|
||||
X"00",X"60",X"70",X"30",X"B8",X"F8",X"F8",X"F8",X"F8",X"F0",X"F0",X"F0",X"E0",X"80",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"F0",X"98",X"E8",X"F4",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"00",X"00",X"00",
|
||||
X"E0",X"F0",X"A0",X"F0",X"90",X"32",X"93",X"21",X"20",X"70",X"F0",X"F8",X"F8",X"F0",X"30",X"00",
|
||||
X"00",X"00",X"00",X"10",X"7C",X"FC",X"F8",X"78",X"78",X"FC",X"F8",X"78",X"10",X"00",X"00",X"00",
|
||||
X"70",X"F0",X"EC",X"DC",X"DE",X"DE",X"DE",X"5E",X"5E",X"5E",X"DE",X"DE",X"DE",X"DC",X"EC",X"F0",
|
||||
X"70",X"E8",X"FC",X"EC",X"C6",X"EE",X"FE",X"6E",X"46",X"6E",X"FE",X"EE",X"C6",X"EC",X"FC",X"E8",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"80",X"C0",X"80",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"18",X"08",X"38",X"38",X"18",X"18",X"30",X"18",X"30",X"38",X"10",X"08",
|
||||
X"02",X"04",X"EE",X"0C",X"06",X"0C",X"06",X"06",X"0E",X"0A",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"10",X"30",X"70",X"70",X"30",X"70",X"50",X"30",X"30",X"70",X"50",X"30",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"E0",X"E0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F4",X"F0",X"F0",X"28",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"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E1",X"00",X"00",X"00",X"00",X"C0",X"60",X"10",X"10",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"20",X"60",X"20",X"20",X"31",X"38",X"35",X"1F",X"1E",
|
||||
X"00",X"00",X"00",X"00",X"03",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"60",X"B0",X"40",X"00",X"00",X"00",
|
||||
X"FF",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"00",X"40",X"00",X"40",X"00",X"FF",X"FF",
|
||||
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"FF",X"FF",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"FF",
|
||||
X"FF",X"03",X"83",X"03",X"83",X"03",X"03",X"83",X"03",X"83",X"23",X"13",X"0B",X"07",X"FE",X"FC",
|
||||
X"FC",X"FE",X"07",X"0B",X"13",X"0B",X"0B",X"23",X"03",X"23",X"03",X"03",X"23",X"03",X"23",X"FF",
|
||||
X"60",X"F0",X"F8",X"FC",X"FC",X"FE",X"FC",X"EC",X"CE",X"CE",X"C0",X"C0",X"E0",X"E0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"72",X"F9",X"FE",X"FF",X"6F",X"9F",X"DF",X"5F",
|
||||
X"5F",X"5F",X"6F",X"27",X"0F",X"07",X"00",X"00",X"00",X"00",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"03",X"07",X"06",X"0A",X"0C",X"0C",X"08",X"10",X"18",X"14",X"10",X"38",X"30",X"20",X"20",X"60",
|
||||
X"50",X"40",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"30",X"F6",X"F7",X"F7",X"F3",X"FB",X"F9",X"FC",X"E4",X"C2",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"90",X"30",X"70",X"F0",X"F0",X"E0",X"40",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"80",X"49",X"2A",X"08",X"7E",X"08",X"2A",X"49",X"80",X"00",X"02",X"09",X"80",X"08",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"30",X"78",X"70",X"F0",X"70",X"78",X"30",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"C0",X"70",X"60",X"60",X"C0",X"C0",X"80",X"00",X"00",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"80",X"60",X"00",X"80",X"20",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"14",X"D0",X"4C",X"C4",X"14",X"10",X"24",X"28",X"44",X"48",X"04",
|
||||
X"00",X"00",X"00",X"00",X"00",X"14",X"10",X"CC",X"44",X"C8",X"04",X"08",X"04",X"08",X"04",X"0C",
|
||||
X"00",X"08",X"A0",X"80",X"C8",X"E0",X"60",X"FC",X"60",X"E4",X"C0",X"90",X"80",X"08",X"40",X"00",
|
||||
X"00",X"00",X"80",X"00",X"00",X"80",X"40",X"C0",X"40",X"80",X"00",X"00",X"20",X"00",X"00",X"00",
|
||||
X"00",X"C8",X"20",X"10",X"88",X"C4",X"64",X"E4",X"E4",X"64",X"C4",X"88",X"10",X"24",X"C0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"82",X"C0",X"60",X"E0",X"E0",X"60",X"C0",X"80",X"00",X"00",X"00",X"10",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F0",X"00",X"00",X"80",X"E0",X"C0",X"00",X"00",X"00",X"E0",X"00",X"00",X"80",X"F0",X"80",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",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"02",X"01",X"00",X"F0",X"04",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"06",X"0E",X"0E",X"1C",X"1A",X"1A",X"1C",X"0E",X"0E",X"06",X"00",X"00",X"00",X"0E",X"0E",
|
||||
X"00",X"06",X"0E",X"0E",X"1C",X"1A",X"1A",X"1C",X"0E",X"0E",X"86",X"80",X"80",X"00",X"00",X"00",
|
||||
X"01",X"DF",X"5F",X"5F",X"5F",X"DF",X"5F",X"5F",X"DF",X"5F",X"5F",X"5F",X"DF",X"FF",X"DF",X"01",
|
||||
X"00",X"01",X"01",X"81",X"C0",X"00",X"60",X"64",X"64",X"60",X"00",X"C0",X"81",X"01",X"01",X"00",
|
||||
X"60",X"70",X"70",X"70",X"70",X"F0",X"70",X"70",X"70",X"F0",X"70",X"70",X"F0",X"70",X"70",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"60",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"0C",X"10",X"60",X"80",X"00",X"60",X"10",X"8C",X"80",X"80",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"56",X"AA",X"00",X"00",X"C0",X"40",X"40",X"40",X"80",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"02",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"80",
|
||||
X"00",X"00",X"80",X"C0",X"F0",X"38",X"0C",X"74",X"74",X"0C",X"38",X"F0",X"C0",X"80",X"00",X"00",
|
||||
X"00",X"60",X"F0",X"F0",X"98",X"08",X"0C",X"94",X"94",X"0C",X"08",X"98",X"F0",X"F0",X"60",X"00",
|
||||
X"18",X"18",X"18",X"18",X"3C",X"24",X"24",X"24",X"24",X"24",X"24",X"3C",X"18",X"18",X"18",X"18",
|
||||
X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"00",X"00",X"04",X"04",X"04",X"04",X"04",X"04",X"04",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"1B",X"38",X"20",X"40",X"80",X"00",X"00",X"00",X"80",
|
||||
X"80",X"C0",X"C0",X"E0",X"F0",X"F9",X"BD",X"AF",X"AF",X"AB",X"EB",X"FB",X"EB",X"FF",X"EF",X"FF",
|
||||
X"EF",X"FF",X"EE",X"FE",X"FC",X"FC",X"F8",X"78",X"F0",X"F0",X"80",X"E0",X"F0",X"F0",X"E0",X"C0",
|
||||
X"00",X"00",X"80",X"40",X"20",X"22",X"35",X"38",X"35",X"22",X"20",X"E0",X"E0",X"20",X"20",X"20",
|
||||
X"20",X"20",X"20",X"20",X"20",X"20",X"E0",X"E0",X"20",X"22",X"35",X"38",X"35",X"22",X"20",X"20",
|
||||
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"03",X"1B",X"38",X"20",X"40",X"80",X"00",X"00",X"00",X"80",
|
||||
X"80",X"C0",X"C0",X"E0",X"F0",X"F9",X"BD",X"AF",X"AF",X"AB",X"EB",X"FB",X"EB",X"FF",X"EF",X"FF",
|
||||
X"EF",X"FF",X"EE",X"FE",X"E4",X"E8",X"E8",X"DC",X"DE",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"12",X"01",X"81",X"C9",X"25",X"05",X"C5",X"05",X"05",X"35",X"E5",X"C9",X"81",X"12",X"0C",
|
||||
X"00",X"08",X"00",X"44",X"CA",X"02",X"02",X"02",X"00",X"02",X"40",X"02",X"0A",X"04",X"20",X"00",
|
||||
X"00",X"00",X"E0",X"10",X"08",X"08",X"54",X"F4",X"F4",X"04",X"08",X"08",X"10",X"E0",X"00",X"00",
|
||||
X"00",X"00",X"C0",X"20",X"10",X"08",X"08",X"08",X"08",X"08",X"08",X"10",X"20",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"20",X"20",X"20",X"20",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"04",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"04",X"80",
|
||||
X"0C",X"01",X"03",X"C1",X"76",X"20",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"19",X"08",X"08",X"81",X"81",X"41",X"04",X"05",X"03",X"06",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"20",X"61",X"60",X"E0",X"B1",X"B9",X"B1",X"E0",X"80",X"80",X"05",X"07",X"03",X"06",X"00",X"00",
|
||||
X"AC",X"A4",X"5C",X"F8",X"F0",X"C0",X"01",X"01",X"13",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"59",X"5F",X"7F",X"FF",X"C6",X"86",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"AA",X"BE",X"FC",X"F8",X"B8",X"10",X"00",X"04",X"0F",X"0F",X"06",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"AA",X"BE",X"FC",X"F8",X"B8",X"10",X"00",X"04",X"0F",X"0F",X"06",X"0C",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"01",X"01",X"02",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"40",X"C0",X"C0",X"01",X"0E",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"04",X"04",X"06",X"02",X"86",X"40",X"58",X"BC",X"AE",X"A6",
|
||||
X"AA",X"AA",X"BC",X"58",X"40",X"80",X"00",X"02",X"06",X"0C",X"18",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"5E",X"3F",X"18",X"7A",X"F6",X"04",X"3E",X"12",X"21",X"70",X"F8",X"F8",X"F8",X"FF",X"FF",X"73",
|
||||
X"50",X"72",X"46",X"8E",X"9C",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"A1",X"A1",X"B1",X"BC",X"70",X"E2",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",
|
||||
X"CE",X"CC",X"CD",X"DC",X"DD",X"F8",X"F1",X"C1",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"80",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"81",X"B8",X"BC",X"AE",X"A6",
|
||||
X"AA",X"AA",X"BC",X"BA",X"83",X"01",X"01",X"01",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"04",X"04",X"06",X"02",X"86",X"40",X"58",X"BC",X"AE",X"A6",
|
||||
X"C0",X"20",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",X"20",X"E0",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"20",X"20",X"A0",X"60",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"20",X"00",
|
||||
X"C0",X"20",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",X"E0",X"40",X"40",X"C0",
|
||||
X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"20",X"C0",X"00",
|
||||
X"C0",X"20",X"C0",X"00",X"C0",X"20",X"C0",X"00",X"20",X"20",X"A0",X"60",X"00",X"E0",X"00",X"00",
|
||||
X"C0",X"20",X"C0",X"00",X"C0",X"20",X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"E0",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;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,278 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity snd1 is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(11 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of snd1 is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"55",X"04",X"37",X"C5",X"E5",X"86",X"03",X"14",X"6A",X"A5",X"B5",X"85",X"8A",X"80",X"B9",X"10",
|
||||
X"BB",X"40",X"BA",X"06",X"54",X"62",X"FB",X"47",X"E7",X"53",X"1F",X"6B",X"AB",X"EA",X"14",X"BA",
|
||||
X"06",X"54",X"62",X"FB",X"47",X"E7",X"53",X"1F",X"37",X"17",X"6B",X"AB",X"EA",X"21",X"F9",X"03",
|
||||
X"FB",X"F6",X"35",X"9A",X"7F",X"E9",X"12",X"05",X"85",X"A5",X"B8",X"20",X"B0",X"00",X"D5",X"27",
|
||||
X"AE",X"AF",X"C5",X"8A",X"80",X"A5",X"26",X"A3",X"46",X"C9",X"0A",X"37",X"92",X"79",X"B2",X"77",
|
||||
X"D2",X"7B",X"80",X"53",X"0F",X"03",X"FD",X"96",X"5B",X"24",X"64",X"03",X"FD",X"96",X"61",X"24",
|
||||
X"8F",X"27",X"AE",X"AF",X"B4",X"24",X"14",X"6A",X"04",X"43",X"93",X"83",X"26",X"A3",X"46",X"C9",
|
||||
X"0A",X"37",X"D2",X"7B",X"92",X"79",X"83",X"24",X"00",X"44",X"00",X"B8",X"07",X"A5",X"B5",X"D4",
|
||||
X"1A",X"D4",X"3A",X"8A",X"80",X"96",X"89",X"04",X"43",X"B9",X"04",X"B4",X"24",X"26",X"A3",X"E9",
|
||||
X"8B",X"FA",X"03",X"FC",X"A9",X"C6",X"81",X"9A",X"7F",X"B4",X"24",X"26",X"A1",X"E9",X"99",X"04",
|
||||
X"81",X"8A",X"80",X"BA",X"E0",X"FA",X"AB",X"54",X"48",X"FA",X"77",X"77",X"53",X"3F",X"37",X"17",
|
||||
X"6A",X"AB",X"54",X"48",X"FA",X"AB",X"54",X"48",X"46",X"C9",X"FA",X"47",X"E7",X"53",X"1F",X"37",
|
||||
X"17",X"6A",X"AA",X"03",X"C0",X"F6",X"A5",X"04",X"43",X"BA",X"06",X"FA",X"AB",X"54",X"55",X"54",
|
||||
X"55",X"FA",X"97",X"67",X"6A",X"AB",X"54",X"55",X"54",X"55",X"FA",X"AB",X"54",X"55",X"54",X"55",
|
||||
X"FA",X"77",X"77",X"53",X"3F",X"6A",X"AA",X"03",X"C0",X"E6",X"CB",X"04",X"43",X"AB",X"54",X"3C",
|
||||
X"54",X"3C",X"FA",X"77",X"77",X"53",X"3F",X"6A",X"AA",X"03",X"C0",X"E6",X"DD",X"04",X"59",X"FF",
|
||||
X"BB",X"02",X"B9",X"88",X"BA",X"88",X"27",X"A8",X"AC",X"AD",X"D5",X"AC",X"AD",X"C5",X"97",X"A5",
|
||||
X"B5",X"34",X"DA",X"F9",X"53",X"3F",X"AF",X"FA",X"AE",X"D5",X"53",X"1F",X"AF",X"C5",X"F9",X"D5",
|
||||
X"AE",X"23",X"FF",X"62",X"D4",X"B7",X"34",X"5B",X"E8",X"11",X"9A",X"7F",X"EB",X"11",X"BB",X"08",
|
||||
X"8A",X"80",X"FC",X"D5",X"AC",X"C5",X"FD",X"D5",X"AD",X"C5",X"34",X"DA",X"F9",X"53",X"7F",X"AF",
|
||||
X"D5",X"AF",X"C5",X"FA",X"AE",X"D5",X"AE",X"23",X"FF",X"62",X"D4",X"B7",X"34",X"5B",X"E8",X"3A",
|
||||
X"9A",X"7F",X"EB",X"3A",X"D5",X"27",X"AE",X"AF",X"C5",X"04",X"43",X"0A",X"B2",X"62",X"76",X"63",
|
||||
X"24",X"00",X"A5",X"83",X"F9",X"96",X"6C",X"FC",X"AA",X"96",X"6C",X"19",X"34",X"DA",X"37",X"AB",
|
||||
X"FA",X"37",X"5B",X"AB",X"54",X"19",X"54",X"22",X"FA",X"AB",X"54",X"19",X"54",X"22",X"34",X"DA",
|
||||
X"F9",X"AB",X"54",X"19",X"54",X"22",X"80",X"53",X"0F",X"03",X"FD",X"C6",X"6C",X"04",X"43",X"BB",
|
||||
X"90",X"D5",X"B9",X"01",X"BA",X"04",X"BB",X"30",X"C5",X"54",X"7C",X"F2",X"AC",X"96",X"A1",X"04",
|
||||
X"37",X"AA",X"54",X"7C",X"37",X"96",X"AB",X"FA",X"A9",X"24",X"C0",X"37",X"D4",X"65",X"B9",X"03",
|
||||
X"D4",X"83",X"34",X"C9",X"E9",X"B0",X"FA",X"03",X"FA",X"A9",X"34",X"C9",X"E9",X"BA",X"B9",X"03",
|
||||
X"27",X"AE",X"AF",X"34",X"C9",X"E9",X"C3",X"24",X"99",X"D5",X"E9",X"D2",X"B9",X"08",X"FA",X"37",
|
||||
X"17",X"AA",X"FB",X"6A",X"AB",X"54",X"70",X"F5",X"C4",X"40",X"F9",X"F7",X"A9",X"FA",X"F7",X"AA",
|
||||
X"F9",X"F6",X"EA",X"32",X"EC",X"F9",X"53",X"FE",X"A9",X"83",X"32",X"E5",X"F9",X"43",X"01",X"A9",
|
||||
X"83",X"32",X"EC",X"F9",X"43",X"01",X"A9",X"83",X"54",X"41",X"14",X"6B",X"54",X"41",X"14",X"6B",
|
||||
X"B9",X"20",X"BA",X"40",X"FA",X"AB",X"54",X"62",X"FA",X"97",X"67",X"AB",X"54",X"62",X"FA",X"47",
|
||||
X"E7",X"53",X"1F",X"6A",X"AA",X"E6",X"04",X"04",X"43",X"54",X"48",X"14",X"6C",X"54",X"48",X"14",
|
||||
X"6C",X"83",X"54",X"33",X"14",X"6C",X"54",X"33",X"14",X"6C",X"54",X"33",X"14",X"6C",X"54",X"33",
|
||||
X"14",X"6C",X"83",X"27",X"AE",X"AF",X"D5",X"AE",X"AF",X"A4",X"24",X"FB",X"47",X"E7",X"AE",X"53",
|
||||
X"1F",X"AF",X"FE",X"53",X"E0",X"AE",X"A4",X"24",X"FB",X"77",X"77",X"AE",X"53",X"3F",X"AF",X"FE",
|
||||
X"53",X"C0",X"AE",X"A4",X"24",X"FB",X"77",X"AE",X"53",X"7F",X"AF",X"FE",X"53",X"80",X"AE",X"D5",
|
||||
X"A4",X"24",X"FB",X"77",X"77",X"AE",X"53",X"3F",X"AF",X"FE",X"53",X"C0",X"AE",X"D5",X"A4",X"6E",
|
||||
X"FB",X"77",X"77",X"AE",X"53",X"3F",X"AF",X"FE",X"53",X"C0",X"AE",X"83",X"FB",X"1B",X"A3",X"A8",
|
||||
X"83",X"98",X"30",X"A0",X"0C",X"A2",X"A6",X"A4",X"A2",X"18",X"A8",X"A8",X"0C",X"A8",X"AA",X"A4",
|
||||
X"18",X"A0",X"30",X"A6",X"0C",X"A8",X"AB",X"AA",X"A8",X"18",X"B0",X"B0",X"0C",X"B0",X"B2",X"AA",
|
||||
X"AB",X"18",X"A8",X"A8",X"0C",X"A8",X"AB",X"AA",X"A8",X"A6",X"B6",X"B4",X"B2",X"B0",X"AB",X"AA",
|
||||
X"A8",X"30",X"A6",X"0C",X"A8",X"AB",X"AA",X"A8",X"18",X"B0",X"B0",X"0C",X"B0",X"B2",X"AA",X"AB",
|
||||
X"18",X"A8",X"A8",X"0C",X"A8",X"AB",X"AA",X"A8",X"A6",X"B0",X"A8",X"AA",X"18",X"A6",X"18",X"FF",
|
||||
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"18",X"86",X"82",X"80",X"0C",X"82",X"18",X"86",X"86",X"0C",X"82",X"18",X"80",X"82",X"18",X"88",
|
||||
X"84",X"82",X"0C",X"84",X"18",X"88",X"88",X"0C",X"84",X"18",X"82",X"84",X"00",X"10",X"86",X"20",
|
||||
X"86",X"10",X"80",X"86",X"20",X"86",X"10",X"80",X"86",X"20",X"86",X"10",X"80",X"86",X"84",X"86",
|
||||
X"87",X"88",X"20",X"88",X"10",X"82",X"88",X"20",X"88",X"10",X"82",X"88",X"20",X"88",X"10",X"82",
|
||||
X"88",X"87",X"88",X"89",X"00",X"00",X"00",X"00",X"0C",X"90",X"90",X"90",X"90",X"92",X"94",X"96",
|
||||
X"96",X"96",X"96",X"94",X"92",X"00",X"04",X"A4",X"10",X"A6",X"04",X"AC",X"10",X"B0",X"04",X"B4",
|
||||
X"10",X"B6",X"00",X"09",X"EA",X"8A",X"E8",X"88",X"6C",X"EA",X"8A",X"09",X"E8",X"88",X"E6",X"86",
|
||||
X"E4",X"84",X"E2",X"82",X"24",X"E1",X"81",X"48",X"E2",X"82",X"24",X"FF",X"09",X"DA",X"8A",X"D8",
|
||||
X"88",X"6C",X"DA",X"8A",X"0C",X"D4",X"84",X"D6",X"86",X"D1",X"81",X"6C",X"D2",X"82",X"24",X"FF",
|
||||
X"12",X"82",X"C6",X"82",X"C9",X"86",X"CC",X"89",X"D2",X"8C",X"D6",X"92",X"D9",X"96",X"DC",X"99",
|
||||
X"09",X"E2",X"9C",X"E1",X"9C",X"E2",X"9C",X"E1",X"9C",X"09",X"E2",X"9C",X"E1",X"9C",X"E2",X"9C",
|
||||
X"E1",X"9C",X"24",X"E2",X"9C",X"00",X"0F",X"E8",X"90",X"B0",X"94",X"A8",X"1E",X"F0",X"98",X"E8",
|
||||
X"94",X"0F",X"E7",X"90",X"B0",X"93",X"A7",X"1E",X"F0",X"97",X"E7",X"93",X"0F",X"E6",X"92",X"B0",
|
||||
X"96",X"A6",X"1E",X"F0",X"9A",X"F4",X"A0",X"B8",X"06",X"97",X"18",X"98",X"3C",X"88",X"00",X"1E",
|
||||
X"E0",X"98",X"0F",X"E2",X"9A",X"E4",X"9C",X"1E",X"E6",X"A0",X"E4",X"A0",X"1E",X"E2",X"A0",X"0F",
|
||||
X"E0",X"9A",X"1E",X"DC",X"98",X"0F",X"DA",X"96",X"1E",X"D8",X"94",X"1E",X"E0",X"98",X"0F",X"E2",
|
||||
X"9A",X"E4",X"9C",X"1E",X"E6",X"A0",X"E4",X"A0",X"1E",X"E2",X"A0",X"0F",X"E0",X"9A",X"38",X"DC",
|
||||
X"98",X"00",X"12",X"E4",X"94",X"A9",X"EC",X"8C",X"B2",X"E7",X"87",X"AA",X"F0",X"83",X"B3",X"09",
|
||||
X"F6",X"92",X"B2",X"B4",X"B0",X"F2",X"8C",X"AC",X"B0",X"AA",X"EC",X"88",X"A8",X"AA",X"A6",X"E8",
|
||||
X"84",X"A4",X"A6",X"A2",X"12",X"E0",X"80",X"82",X"84",X"24",X"88",X"12",X"8A",X"90",X"92",X"48",
|
||||
X"90",X"00",X"1E",X"E0",X"90",X"E8",X"88",X"0F",X"E4",X"80",X"A0",X"1E",X"88",X"DC",X"94",X"E8",
|
||||
X"8C",X"0F",X"E4",X"94",X"9C",X"1E",X"8C",X"DA",X"86",X"E0",X"80",X"0F",X"E6",X"86",X"A8",X"80",
|
||||
X"A6",X"1E",X"E4",X"90",X"88",X"E2",X"98",X"92",X"E0",X"90",X"E8",X"88",X"0F",X"E4",X"80",X"A0",
|
||||
X"1E",X"88",X"DC",X"94",X"E8",X"8C",X"0F",X"E4",X"94",X"9C",X"1E",X"8C",X"DA",X"86",X"E0",X"80",
|
||||
X"0F",X"E4",X"94",X"A8",X"8C",X"A4",X"1E",X"E2",X"88",X"82",X"3C",X"E0",X"90",X"00",X"20",X"80",
|
||||
X"10",X"E4",X"A0",X"E4",X"A0",X"E6",X"A2",X"E6",X"A2",X"E8",X"A4",X"E8",X"A4",X"10",X"EA",X"86",
|
||||
X"80",X"EA",X"86",X"80",X"E8",X"86",X"E6",X"80",X"E6",X"82",X"84",X"90",X"E8",X"88",X"E8",X"90",
|
||||
X"E8",X"88",X"E6",X"90",X"E8",X"98",X"96",X"94",X"E6",X"92",X"8A",X"E6",X"92",X"E6",X"8A",X"E6",
|
||||
X"92",X"E4",X"8A",X"92",X"E2",X"8A",X"E0",X"86",X"8A",X"8B",X"90",X"E6",X"86",X"8B",X"EA",X"90",
|
||||
X"92",X"E8",X"98",X"96",X"94",X"92",X"90",X"8B",X"8A",X"E4",X"88",X"E6",X"86",X"20",X"86",X"10",
|
||||
X"86",X"90",X"8B",X"8A",X"88",X"40",X"86",X"00",X"86",X"90",X"8B",X"8A",X"88",X"40",X"86",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"A3",X"83",
|
||||
X"00",X"01",X"80",X"00",X"02",X"06",X"00",X"40",X"20",X"12",X"14",X"16",X"18",X"1A",X"1C",X"00",
|
||||
X"08",X"00",X"09",X"00",X"0A",X"00",X"0B",X"00",X"0C",X"00",X"0D",X"00",X"FF",X"00",X"0E",X"00",
|
||||
X"08",X"00",X"A3",X"83",X"D5",X"B6",X"90",X"B8",X"20",X"80",X"53",X"0F",X"20",X"37",X"17",X"60",
|
||||
X"96",X"4D",X"F0",X"A3",X"C6",X"4B",X"F2",X"73",X"D4",X"83",X"E9",X"4B",X"FF",X"96",X"42",X"FE",
|
||||
X"C6",X"5E",X"FA",X"03",X"F8",X"C6",X"5E",X"A9",X"27",X"AE",X"AF",X"C4",X"90",X"F0",X"A3",X"C6",
|
||||
X"6E",X"92",X"66",X"B2",X"6A",X"D2",X"89",X"F2",X"75",X"8A",X"80",X"A8",X"D4",X"1A",X"D4",X"3A",
|
||||
X"C6",X"4D",X"B9",X"08",X"C4",X"90",X"F4",X"04",X"04",X"37",X"F4",X"3B",X"04",X"37",X"27",X"AE",
|
||||
X"AF",X"C4",X"90",X"E9",X"79",X"B9",X"10",X"BB",X"73",X"FB",X"47",X"E7",X"53",X"1F",X"6B",X"AB",
|
||||
X"77",X"77",X"AE",X"53",X"3F",X"AF",X"F5",X"C4",X"40",X"B9",X"48",X"95",X"BA",X"06",X"BB",X"C0",
|
||||
X"E9",X"9B",X"B8",X"20",X"27",X"A0",X"AE",X"AF",X"85",X"A4",X"24",X"EA",X"AC",X"BA",X"06",X"FB",
|
||||
X"47",X"E7",X"53",X"1F",X"A8",X"97",X"67",X"68",X"37",X"17",X"6B",X"AB",X"FB",X"77",X"77",X"53",
|
||||
X"3F",X"AF",X"80",X"53",X"0F",X"03",X"F6",X"C6",X"98",X"F5",X"C4",X"40",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"28",X"00",X"2A",X"61",X"2C",X"E6",X"2F",X"91",X"32",X"66",X"FF",X"FF",X"35",X"65",X"38",X"92",
|
||||
X"3B",X"EF",X"3F",X"75",X"43",X"46",X"47",X"46",X"4B",X"83",X"BB",X"00",X"B9",X"30",X"B1",X"FF",
|
||||
X"C4",X"26",X"D4",X"29",X"96",X"22",X"E8",X"22",X"83",X"B9",X"30",X"FB",X"96",X"2F",X"11",X"F1",
|
||||
X"96",X"36",X"FB",X"1B",X"E3",X"83",X"FB",X"1B",X"84",X"FE",X"D4",X"29",X"C6",X"64",X"F2",X"43",
|
||||
X"AA",X"D4",X"29",X"A8",X"37",X"96",X"4F",X"AE",X"AF",X"D5",X"AE",X"AF",X"C5",X"17",X"83",X"D4",
|
||||
X"65",X"F8",X"83",X"D2",X"5C",X"D5",X"BE",X"00",X"BF",X"00",X"C5",X"83",X"D4",X"29",X"D5",X"A8",
|
||||
X"D4",X"65",X"C5",X"F8",X"83",X"F8",X"53",X"0F",X"E7",X"AC",X"A3",X"AF",X"FC",X"17",X"A3",X"AE",
|
||||
X"F8",X"53",X"30",X"47",X"AC",X"FF",X"97",X"67",X"AF",X"FE",X"67",X"AE",X"1C",X"FC",X"03",X"FC",
|
||||
X"96",X"75",X"83",X"FE",X"6F",X"E6",X"88",X"1F",X"6F",X"E6",X"8C",X"1F",X"AE",X"83",X"FF",X"FF",
|
||||
X"42",X"03",X"78",X"62",X"76",X"B7",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",
|
||||
X"A3",X"A8",X"C5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"D5",X"68",
|
||||
X"39",X"16",X"B5",X"C4",X"96",X"C5",X"83",X"F5",X"E4",X"40",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"60",X"5D",X"5A",X"57",X"54",X"51",X"4E",X"4B",X"48",X"45",X"42",X"3F",X"3C",X"39",X"36",X"33",
|
||||
X"30",X"2D",X"2A",X"27",X"24",X"21",X"1E",X"1B",X"18",X"15",X"12",X"0F",X"0C",X"09",X"06",X"03",
|
||||
X"E2",X"FC",X"04",X"1E",X"AB",X"D5",X"FB",X"1B",X"C5",X"B4",X"22",X"C6",X"5E",X"A8",X"92",X"5A",
|
||||
X"D4",X"1A",X"D4",X"3A",X"D4",X"53",X"C6",X"05",X"B9",X"03",X"8A",X"80",X"D4",X"83",X"D5",X"D4",
|
||||
X"83",X"D4",X"90",X"E9",X"1C",X"B9",X"03",X"D5",X"D4",X"90",X"E9",X"27",X"FA",X"03",X"FA",X"A9",
|
||||
X"C6",X"12",X"9A",X"7F",X"D5",X"D4",X"90",X"E9",X"34",X"E4",X"12",X"AB",X"D5",X"FB",X"1B",X"C5",
|
||||
X"B4",X"22",X"C6",X"5E",X"A8",X"D4",X"1A",X"D4",X"3A",X"D4",X"53",X"C6",X"3C",X"FA",X"A9",X"D4",
|
||||
X"83",X"D4",X"83",X"D5",X"D4",X"90",X"E9",X"53",X"E4",X"47",X"F4",X"5F",X"E4",X"05",X"83",X"BF",
|
||||
X"80",X"B9",X"F0",X"B8",X"02",X"F4",X"76",X"E5",X"00",X"F4",X"82",X"18",X"F8",X"96",X"65",X"19",
|
||||
X"F9",X"03",X"0D",X"96",X"63",X"83",X"F9",X"B3",X"BE",X"08",X"EE",X"7A",X"FB",X"77",X"77",X"AB",
|
||||
X"E4",X"85",X"BA",X"04",X"AB",X"53",X"03",X"A3",X"F2",X"94",X"6F",X"E6",X"8F",X"23",X"FF",X"AF",
|
||||
X"39",X"EA",X"78",X"83",X"6F",X"F6",X"8F",X"27",X"E4",X"8F",X"9E",X"BA",X"04",X"AB",X"53",X"03",
|
||||
X"A3",X"F2",X"AD",X"6F",X"E6",X"A8",X"23",X"FF",X"AF",X"39",X"EA",X"91",X"83",X"6F",X"F6",X"A8",
|
||||
X"27",X"E4",X"A8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F8",X"F5",X"04",X"00",X"F8",X"F5",X"24",X"00",X"F8",X"F5",X"44",X"00",X"F8",X"F5",X"64",X"00",
|
||||
X"F8",X"F5",X"84",X"00",X"F8",X"F5",X"A4",X"00",X"F8",X"F5",X"C4",X"00",X"F8",X"F5",X"E4",X"00",
|
||||
X"D0",X"D4",X"D8",X"DC",X"E0",X"E4",X"E8",X"EC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"A3",X"83",X"70",X"7C",X"0F",X"E0",X"E3",X"80",X"5F",X"0F",X"FC",X"F0",X"C0",X"8F",X"02",X"7F",
|
||||
X"04",X"FF",X"03",X"FC",X"3C",X"C0",X"4B",X"0F",X"BD",X"08",X"F8",X"C3",X"0B",X"3F",X"90",X"FE",
|
||||
X"41",X"4B",X"0F",X"F8",X"11",X"F8",X"0B",X"0E",X"EF",X"81",X"3F",X"B0",X"F0",X"0B",X"F0",X"1B",
|
||||
X"48",X"7F",X"90",X"FE",X"40",X"8F",X"0F",X"FC",X"E0",X"C0",X"4F",X"C1",X"2F",X"7C",X"F0",X"0F",
|
||||
X"F0",X"83",X"07",X"3F",X"09",X"FF",X"D0",X"D0",X"1F",X"C0",X"8B",X"09",X"3F",X"0F",X"FC",X"C1",
|
||||
X"F0",X"57",X"C0",X"2F",X"24",X"FF",X"40",X"F7",X"02",X"3F",X"3C",X"F0",X"07",X"A9",X"6E",X"D0",
|
||||
X"67",X"C0",X"1F",X"29",X"9F",X"03",X"7E",X"1C",X"BC",X"0B",X"F8",X"3C",X"F0",X"83",X"C0",X"7F",
|
||||
X"D0",X"2F",X"80",X"BF",X"01",X"FE",X"00",X"FF",X"02",X"FC",X"07",X"FC",X"0B",X"B8",X"1E",X"F0",
|
||||
X"1F",X"D0",X"3B",X"D0",X"1F",X"C0",X"BF",X"80",X"FF",X"00",X"FE",X"00",X"FF",X"01",X"BE",X"03",
|
||||
X"FC",X"07",X"F8",X"06",X"F4",X"0B",X"F0",X"1F",X"F0",X"2F",X"C0",X"3F",X"00",X"FF",X"C0",X"CF",
|
||||
X"00",X"FF",X"00",X"FF",X"03",X"FC",X"00",X"FD",X"06",X"F4",X"0F",X"F0",X"2B",X"B0",X"0F",X"BC",
|
||||
X"3D",X"F0",X"2D",X"C0",X"3F",X"C0",X"7F",X"E0",X"F1",X"80",X"7F",X"40",X"FF",X"00",X"FF",X"02",
|
||||
X"FC",X"00",X"FE",X"03",X"D3",X"07",X"FC",X"03",X"F4",X"07",X"8E",X"1F",X"E8",X"07",X"DE",X"07",
|
||||
X"3C",X"0F",X"E4",X"0F",X"F8",X"0F",X"A0",X"3F",X"20",X"2F",X"B8",X"35",X"F8",X"34",X"F4",X"0E",
|
||||
X"F8",X"52",X"F0",X"47",X"F0",X"2F",X"F0",X"53",X"C0",X"3F",X"D0",X"BF",X"C0",X"7B",X"C0",X"0F",
|
||||
X"41",X"BF",X"C0",X"AF",X"C0",X"3E",X"80",X"BF",X"80",X"FF",X"40",X"FF",X"00",X"BF",X"40",X"BF",
|
||||
X"A3",X"83",X"00",X"7F",X"01",X"FF",X"03",X"AF",X"01",X"EF",X"03",X"FC",X"02",X"FC",X"03",X"FC",
|
||||
X"0F",X"74",X"0E",X"E8",X"03",X"5F",X"0F",X"7C",X"06",X"7D",X"0A",X"6E",X"0F",X"7C",X"1C",X"BC",
|
||||
X"08",X"FD",X"09",X"FC",X"64",X"F8",X"50",X"5F",X"74",X"F8",X"80",X"FF",X"00",X"FF",X"00",X"BF",
|
||||
X"01",X"FE",X"01",X"AF",X"03",X"FC",X"01",X"FF",X"00",X"FF",X"01",X"CF",X"0F",X"FC",X"01",X"FC",
|
||||
X"03",X"FC",X"81",X"EB",X"81",X"D7",X"03",X"FD",X"00",X"FC",X"82",X"FF",X"03",X"FC",X"00",X"AE",
|
||||
X"0B",X"5F",X"E1",X"D2",X"91",X"1F",X"84",X"FF",X"00",X"FF",X"40",X"2F",X"05",X"FE",X"01",X"FE",
|
||||
X"01",X"FF",X"40",X"7F",X"00",X"FF",X"40",X"FF",X"40",X"3F",X"C0",X"F7",X"40",X"5F",X"E1",X"D2",
|
||||
X"46",X"1F",X"F8",X"81",X"0F",X"9E",X"07",X"BF",X"50",X"7D",X"D0",X"3E",X"30",X"FC",X"01",X"BE",
|
||||
X"78",X"F0",X"C1",X"C7",X"83",X"F4",X"03",X"FE",X"41",X"F1",X"43",X"5E",X"3F",X"F0",X"92",X"C0",
|
||||
X"1F",X"F0",X"1F",X"F0",X"1F",X"F0",X"0F",X"F0",X"0F",X"F0",X"0B",X"F0",X"0F",X"F4",X"0F",X"F0",
|
||||
X"03",X"F4",X"0F",X"F0",X"0F",X"F8",X"0B",X"28",X"FD",X"80",X"3F",X"F0",X"2F",X"C0",X"3F",X"40",
|
||||
X"FF",X"00",X"3F",X"00",X"FE",X"42",X"FF",X"00",X"FD",X"01",X"BF",X"E0",X"C3",X"0B",X"F9",X"D1",
|
||||
X"74",X"E5",X"06",X"8F",X"03",X"3F",X"3D",X"F0",X"0F",X"D0",X"0F",X"F0",X"1F",X"E0",X"3F",X"D0",
|
||||
X"0F",X"C0",X"1F",X"F4",X"7D",X"C0",X"0F",X"0D",X"2F",X"F0",X"07",X"E6",X"1F",X"E0",X"1F",X"C0",
|
||||
X"6F",X"80",X"3F",X"F0",X"2F",X"C0",X"7F",X"80",X"AF",X"C0",X"BF",X"00",X"FF",X"00",X"3F",X"40",
|
||||
X"FF",X"C0",X"FA",X"80",X"77",X"B4",X"F0",X"E1",X"C1",X"E3",X"82",X"CF",X"06",X"BC",X"0F",X"F4",
|
||||
X"A3",X"83",X"03",X"BC",X"0F",X"F0",X"3A",X"E0",X"0F",X"F0",X"0F",X"F0",X"1F",X"C0",X"BF",X"80",
|
||||
X"3F",X"40",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FD",X"03",X"FB",X"02",X"FC",X"03",
|
||||
X"E9",X"0B",X"FC",X"03",X"B9",X"43",X"A7",X"A4",X"0B",X"BC",X"0F",X"F0",X"0F",X"F0",X"0B",X"F0",
|
||||
X"0F",X"F0",X"0F",X"F0",X"0B",X"F8",X"4B",X"D0",X"0F",X"6A",X"CB",X"42",X"0F",X"7F",X"70",X"6E",
|
||||
X"70",X"2F",X"B0",X"EE",X"80",X"7F",X"00",X"BF",X"00",X"FF",X"00",X"FF",X"01",X"BF",X"90",X"5D",
|
||||
X"E1",X"0A",X"E5",X"0B",X"FD",X"03",X"FC",X"0B",X"F0",X"0B",X"E0",X"2F",X"C0",X"7F",X"40",X"7F",
|
||||
X"04",X"FC",X"03",X"FD",X"07",X"F4",X"07",X"CB",X"0F",X"1D",X"3D",X"3C",X"E4",X"B7",X"40",X"7F",
|
||||
X"00",X"7F",X"40",X"7F",X"3D",X"F0",X"C3",X"81",X"FF",X"00",X"FD",X"03",X"F8",X"0B",X"F0",X"0F",
|
||||
X"D0",X"2F",X"08",X"FF",X"06",X"F8",X"3E",X"C0",X"1F",X"C0",X"3F",X"38",X"F8",X"F0",X"D0",X"D7",
|
||||
X"03",X"FC",X"42",X"F8",X"43",X"0B",X"FD",X"30",X"E8",X"0F",X"B0",X"6F",X"40",X"FF",X"10",X"FC",
|
||||
X"BA",X"C0",X"2F",X"00",X"FF",X"02",X"FC",X"52",X"A9",X"92",X"2F",X"E0",X"5F",X"E0",X"9E",X"01",
|
||||
X"FD",X"C2",X"61",X"FD",X"01",X"FC",X"16",X"F0",X"1F",X"D0",X"1F",X"B5",X"15",X"F5",X"03",X"FC",
|
||||
X"07",X"E8",X"6B",X"90",X"6B",X"85",X"4F",X"B2",X"A5",X"96",X"55",X"3E",X"90",X"BE",X"0A",X"F8",
|
||||
X"17",X"D0",X"8F",X"03",X"FD",X"62",X"94",X"6F",X"41",X"7E",X"09",X"7E",X"55",X"A5",X"6A",X"F4",
|
||||
X"C1",X"57",X"81",X"AF",X"91",X"E9",X"03",X"FD",X"01",X"FF",X"00",X"FE",X"81",X"3A",X"89",X"1F",
|
||||
X"B4",X"3D",X"A0",X"7E",X"D0",X"07",X"F9",X"15",X"F8",X"B6",X"90",X"1B",X"AA",X"D1",X"D3",X"42",
|
||||
X"A3",X"83",X"7E",X"15",X"8E",X"0B",X"FD",X"02",X"E9",X"2F",X"90",X"2F",X"A4",X"7D",X"E0",X"6A",
|
||||
X"D0",X"7E",X"81",X"4B",X"57",X"E5",X"51",X"9B",X"0A",X"7E",X"28",X"F9",X"41",X"2F",X"94",X"7F",
|
||||
X"80",X"6F",X"A0",X"5F",X"A1",X"59",X"6E",X"54",X"FE",X"01",X"E7",X"03",X"F9",X"0A",X"F8",X"46",
|
||||
X"B9",X"95",X"16",X"7D",X"A4",X"B5",X"82",X"BA",X"38",X"B8",X"29",X"B9",X"55",X"69",X"95",X"47",
|
||||
X"1E",X"2E",X"A5",X"2B",X"B8",X"2A",X"B4",X"17",X"6D",X"1A",X"B9",X"55",X"96",X"A6",X"95",X"69",
|
||||
X"59",X"E6",X"82",X"9B",X"16",X"2E",X"6D",X"F4",X"81",X"9B",X"25",X"BD",X"51",X"A9",X"57",X"E4",
|
||||
X"A9",X"A0",X"5F",X"91",X"7A",X"C1",X"6B",X"51",X"7E",X"A0",X"FA",X"80",X"AF",X"10",X"FD",X"03",
|
||||
X"F9",X"07",X"B8",X"2A",X"A4",X"5F",X"51",X"6E",X"55",X"6D",X"59",X"1A",X"AA",X"5A",X"A5",X"1E",
|
||||
X"B8",X"65",X"B5",X"52",X"B9",X"46",X"A5",X"0F",X"E5",X"59",X"65",X"5E",X"E1",X"46",X"9E",X"92",
|
||||
X"6A",X"5A",X"4A",X"7E",X"64",X"A5",X"4E",X"56",X"2E",X"96",X"66",X"A5",X"76",X"54",X"AE",X"45",
|
||||
X"EA",X"25",X"F8",X"D1",X"E1",X"07",X"B9",X"55",X"9A",X"A5",X"E5",X"91",X"4B",X"A9",X"57",X"D4",
|
||||
X"0B",X"6D",X"69",X"A5",X"53",X"B9",X"05",X"BE",X"05",X"FD",X"54",X"EA",X"42",X"BA",X"55",X"69",
|
||||
X"1A",X"AA",X"56",X"5A",X"AA",X"A1",X"5B",X"E1",X"A5",X"55",X"5E",X"69",X"55",X"AA",X"56",X"A5",
|
||||
X"5A",X"95",X"1B",X"A9",X"6A",X"A4",X"5B",X"F4",X"91",X"96",X"47",X"96",X"5B",X"55",X"1E",X"B5",
|
||||
X"95",X"96",X"56",X"6A",X"2A",X"A9",X"2A",X"A9",X"AA",X"D0",X"6B",X"E0",X"6A",X"45",X"2F",X"A5",
|
||||
X"69",X"E5",X"52",X"A9",X"0B",X"AA",X"5A",X"95",X"1E",X"A9",X"79",X"D4",X"B2",X"D4",X"96",X"91",
|
||||
X"A3",X"83",X"70",X"7C",X"0F",X"E0",X"E3",X"80",X"5F",X"0F",X"FC",X"F0",X"C0",X"8F",X"02",X"7F",
|
||||
X"04",X"FF",X"03",X"FC",X"3C",X"C0",X"4B",X"0F",X"BD",X"08",X"F8",X"C3",X"0B",X"3F",X"90",X"FE",
|
||||
X"41",X"4B",X"0F",X"F8",X"11",X"F8",X"0B",X"0E",X"EF",X"81",X"3F",X"B0",X"F0",X"0B",X"F0",X"1B",
|
||||
X"48",X"7F",X"90",X"FE",X"40",X"8F",X"0F",X"FC",X"E0",X"C0",X"4F",X"C1",X"2F",X"7C",X"F0",X"0F",
|
||||
X"F0",X"83",X"07",X"3F",X"09",X"FF",X"D0",X"D0",X"1F",X"C0",X"8B",X"09",X"3F",X"0F",X"FC",X"C1",
|
||||
X"F0",X"57",X"C0",X"2F",X"24",X"FF",X"40",X"F7",X"02",X"3F",X"3C",X"F0",X"07",X"A9",X"6E",X"D0",
|
||||
X"67",X"C0",X"1F",X"29",X"9F",X"03",X"7E",X"1C",X"BC",X"0B",X"F8",X"3C",X"F0",X"83",X"C0",X"7F",
|
||||
X"D0",X"2F",X"80",X"BF",X"01",X"FE",X"00",X"FF",X"02",X"FC",X"07",X"FC",X"0B",X"B8",X"1E",X"F0",
|
||||
X"1F",X"D0",X"3B",X"D0",X"1F",X"C0",X"BF",X"80",X"FF",X"00",X"FE",X"00",X"FF",X"01",X"BE",X"03",
|
||||
X"FC",X"07",X"F8",X"06",X"F4",X"0B",X"F0",X"1F",X"F0",X"2F",X"C0",X"3F",X"00",X"FF",X"C0",X"CF",
|
||||
X"00",X"FF",X"00",X"FF",X"03",X"FC",X"00",X"FD",X"06",X"F4",X"0F",X"F0",X"2B",X"B0",X"0F",X"BC",
|
||||
X"3D",X"F0",X"2D",X"C0",X"3F",X"C0",X"7F",X"E0",X"F1",X"80",X"7F",X"40",X"FF",X"00",X"FF",X"02",
|
||||
X"FC",X"00",X"FE",X"03",X"D3",X"07",X"FC",X"03",X"F4",X"07",X"8E",X"1F",X"E8",X"07",X"DE",X"07",
|
||||
X"3C",X"0F",X"E4",X"0F",X"F8",X"0F",X"A0",X"3F",X"20",X"2F",X"B8",X"35",X"F8",X"34",X"F4",X"0E",
|
||||
X"F8",X"52",X"F0",X"47",X"F0",X"2F",X"F0",X"53",X"C0",X"3F",X"D0",X"BF",X"C0",X"7B",X"C0",X"0F",
|
||||
X"41",X"BF",X"C0",X"AF",X"C0",X"3E",X"80",X"BF",X"80",X"FF",X"40",X"FF",X"00",X"BF",X"40",X"BF",
|
||||
X"A3",X"83",X"00",X"7F",X"01",X"FF",X"03",X"AF",X"01",X"EF",X"03",X"FC",X"02",X"FC",X"03",X"FC",
|
||||
X"0F",X"74",X"0E",X"E8",X"03",X"5F",X"0F",X"7C",X"06",X"7D",X"0A",X"6E",X"0F",X"7C",X"1C",X"BC",
|
||||
X"08",X"FD",X"09",X"FC",X"64",X"F8",X"50",X"5F",X"74",X"F8",X"80",X"FF",X"00",X"FF",X"00",X"BF",
|
||||
X"01",X"FE",X"01",X"AF",X"03",X"FC",X"01",X"FF",X"00",X"FF",X"01",X"CF",X"0F",X"FC",X"01",X"FC",
|
||||
X"03",X"FC",X"81",X"EB",X"81",X"D7",X"03",X"FD",X"00",X"FC",X"82",X"FF",X"03",X"FC",X"00",X"AE",
|
||||
X"0B",X"5F",X"E1",X"D2",X"91",X"1F",X"84",X"FF",X"00",X"FF",X"40",X"2F",X"05",X"FE",X"01",X"FE",
|
||||
X"01",X"FF",X"40",X"7F",X"00",X"FF",X"40",X"FF",X"40",X"3F",X"C0",X"F7",X"40",X"5F",X"E1",X"D2",
|
||||
X"46",X"1F",X"F8",X"81",X"0F",X"9E",X"07",X"BF",X"50",X"7D",X"D0",X"3E",X"30",X"FC",X"01",X"BE",
|
||||
X"78",X"F0",X"C1",X"C7",X"83",X"F4",X"03",X"FE",X"41",X"F1",X"43",X"5E",X"3F",X"F0",X"92",X"C0",
|
||||
X"1F",X"F0",X"1F",X"F0",X"1F",X"F0",X"0F",X"F0",X"0F",X"F0",X"0B",X"F0",X"0F",X"F4",X"0F",X"F0",
|
||||
X"03",X"F4",X"0F",X"F0",X"0F",X"F8",X"0B",X"28",X"FD",X"80",X"3F",X"F0",X"2F",X"C0",X"3F",X"40",
|
||||
X"FF",X"00",X"3F",X"00",X"FE",X"42",X"FF",X"00",X"FD",X"01",X"BF",X"E0",X"C3",X"0B",X"F9",X"D1",
|
||||
X"74",X"E5",X"06",X"8F",X"03",X"3F",X"3D",X"F0",X"0F",X"D0",X"0F",X"F0",X"1F",X"E0",X"3F",X"D0",
|
||||
X"0F",X"C0",X"1F",X"F4",X"7D",X"C0",X"0F",X"0D",X"2F",X"F0",X"07",X"E6",X"1F",X"E0",X"1F",X"C0",
|
||||
X"6F",X"80",X"3F",X"F0",X"2F",X"C0",X"7F",X"80",X"AF",X"C0",X"BF",X"00",X"FF",X"00",X"3F",X"40",
|
||||
X"FF",X"C0",X"FA",X"80",X"77",X"B4",X"F0",X"E1",X"C1",X"E3",X"82",X"CF",X"06",X"BC",X"0F",X"F4",
|
||||
X"00",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"60",X"5D",X"5A",X"57",X"54",X"51",X"4E",X"4B",X"48",X"45",X"42",X"3F",X"3C",X"39",X"36",X"33",
|
||||
X"30",X"2D",X"2A",X"27",X"24",X"21",X"1E",X"1B",X"18",X"15",X"12",X"0F",X"0C",X"09",X"06",X"03",
|
||||
X"42",X"03",X"78",X"62",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"A8",
|
||||
X"C5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"53",X"3F",X"A3",X"D5",X"68",X"39",X"16",
|
||||
X"63",X"C4",X"44",X"C5",X"E5",X"83",X"07",X"CB",X"0F",X"1D",X"3D",X"3C",X"E4",X"B7",X"40",X"7F",
|
||||
X"00",X"7F",X"40",X"7F",X"3D",X"F0",X"C3",X"81",X"FF",X"00",X"FD",X"03",X"F8",X"0B",X"F0",X"0F",
|
||||
X"D0",X"2F",X"08",X"FF",X"06",X"F8",X"3E",X"C0",X"1F",X"C0",X"3F",X"38",X"F8",X"F0",X"D0",X"D7",
|
||||
X"03",X"FC",X"42",X"F8",X"43",X"0B",X"FD",X"30",X"E8",X"0F",X"B0",X"6F",X"40",X"FF",X"10",X"FC",
|
||||
X"BA",X"C0",X"2F",X"00",X"FF",X"02",X"FC",X"52",X"A9",X"92",X"2F",X"E0",X"5F",X"E0",X"9E",X"01",
|
||||
X"FD",X"C2",X"61",X"FD",X"01",X"FC",X"16",X"F0",X"1F",X"D0",X"1F",X"B5",X"15",X"F5",X"03",X"FC",
|
||||
X"00",X"02",X"04",X"06",X"08",X"0A",X"0C",X"0E",X"10",X"12",X"14",X"16",X"18",X"1A",X"1C",X"1E",
|
||||
X"20",X"22",X"24",X"26",X"28",X"2A",X"2C",X"2E",X"30",X"32",X"34",X"36",X"38",X"3A",X"3C",X"3E",
|
||||
X"40",X"3E",X"3C",X"3A",X"38",X"36",X"34",X"32",X"30",X"2E",X"2C",X"2A",X"28",X"26",X"24",X"22",
|
||||
X"20",X"1E",X"1C",X"1A",X"18",X"16",X"14",X"12",X"10",X"0E",X"0C",X"0A",X"08",X"06",X"04",X"02",
|
||||
X"00",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"60",X"5D",X"5A",X"57",X"54",X"51",X"4E",X"4B",X"48",X"45",X"42",X"3F",X"3C",X"39",X"36",X"33",
|
||||
X"30",X"2D",X"2A",X"27",X"24",X"21",X"1E",X"1B",X"18",X"15",X"12",X"0F",X"0C",X"09",X"06",X"03",
|
||||
X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"77",X"77",X"53",X"3F",X"A3",X"A8",X"C5",X"FC",X"6E",X"AC",
|
||||
X"FD",X"7F",X"AD",X"77",X"77",X"43",X"C0",X"A3",X"D5",X"68",X"39",X"16",X"5F",X"E4",X"40",X"C5",
|
||||
X"E5",X"83",X"5F",X"91",X"7A",X"C1",X"6B",X"51",X"7E",X"A0",X"FA",X"80",X"AF",X"10",X"FD",X"03",
|
||||
X"F9",X"07",X"B8",X"2A",X"A4",X"5F",X"51",X"6E",X"55",X"6D",X"59",X"1A",X"AA",X"5A",X"A5",X"1E",
|
||||
X"B8",X"65",X"B5",X"52",X"B9",X"46",X"A5",X"0F",X"E5",X"59",X"65",X"5E",X"E1",X"46",X"9E",X"92",
|
||||
X"6A",X"5A",X"4A",X"7E",X"64",X"A5",X"4E",X"56",X"2E",X"96",X"66",X"A5",X"76",X"54",X"AE",X"45",
|
||||
X"EA",X"25",X"F8",X"D1",X"E1",X"07",X"B9",X"55",X"9A",X"A5",X"E5",X"91",X"4B",X"A9",X"57",X"D4",
|
||||
X"0B",X"6D",X"69",X"A5",X"53",X"B9",X"05",X"BE",X"05",X"FD",X"54",X"EA",X"42",X"BA",X"55",X"69",
|
||||
X"00",X"05",X"0A",X"0F",X"14",X"19",X"1E",X"23",X"28",X"2D",X"32",X"37",X"3C",X"41",X"46",X"4B",
|
||||
X"50",X"55",X"5A",X"5F",X"64",X"69",X"6E",X"73",X"78",X"7D",X"82",X"87",X"8C",X"91",X"96",X"9B",
|
||||
X"9F",X"9B",X"96",X"91",X"8C",X"87",X"82",X"7D",X"78",X"73",X"6E",X"69",X"64",X"5F",X"5A",X"55",
|
||||
X"50",X"4B",X"46",X"41",X"3C",X"37",X"32",X"2D",X"28",X"23",X"1E",X"19",X"14",X"0F",X"0A",X"05");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,278 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity vid1 is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(11 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of vid1 is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",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"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",
|
||||
X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",
|
||||
X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",
|
||||
X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",
|
||||
X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",
|
||||
X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",
|
||||
X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",
|
||||
X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",
|
||||
X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",X"F8",X"FE",X"1C",X"38",X"1C",X"FE",X"F8",X"00",
|
||||
X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"C0",X"F0",X"1E",X"1E",X"F0",X"C0",X"00",X"00",
|
||||
X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",
|
||||
X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",
|
||||
X"00",X"00",X"82",X"C6",X"6C",X"38",X"00",X"00",X"00",X"00",X"38",X"6C",X"C6",X"82",X"00",X"00",
|
||||
X"00",X"00",X"82",X"FE",X"FE",X"82",X"00",X"00",X"82",X"FE",X"FE",X"82",X"82",X"FE",X"FE",X"82",
|
||||
X"00",X"28",X"28",X"28",X"28",X"28",X"28",X"00",X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",
|
||||
X"F6",X"F6",X"00",X"00",X"F6",X"F6",X"00",X"00",X"FA",X"FA",X"00",X"00",X"FA",X"FA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"F6",X"F6",X"00",X"00",X"00",X"00",X"00",X"00",X"FA",X"FA",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"C0",X"00",X"00",X"00",X"00",X"E0",X"C0",X"00",X"E0",X"C0",X"00",X"00",
|
||||
X"00",X"60",X"E0",X"00",X"60",X"E0",X"00",X"00",X"00",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",
|
||||
X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"06",X"00",X"00",
|
||||
X"38",X"28",X"3E",X"00",X"00",X"00",X"00",X"00",X"3E",X"00",X"3C",X"02",X"02",X"3C",X"00",X"0E",
|
||||
X"22",X"2A",X"3E",X"00",X"00",X"0E",X"3A",X"2A",X"22",X"3E",X"00",X"3E",X"08",X"10",X"3E",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"22",X"A5",X"BD",X"81",X"42",X"3C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"3C",X"42",X"81",X"A5",X"7C",X"40",X"00",X"38",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"38",X"00",X"40",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"A2",X"00",X"F0",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"01",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"07",X"0F",
|
||||
X"54",X"A6",X"02",X"02",X"62",X"73",X"77",X"FF",X"FF",X"8F",X"76",X"7C",X"4E",X"A6",X"D7",X"A3",
|
||||
X"FF",X"FF",X"FE",X"FD",X"7F",X"87",X"03",X"80",X"1F",X"3F",X"78",X"F0",X"F1",X"F6",X"F8",X"6F",
|
||||
X"BF",X"5F",X"AF",X"4F",X"2A",X"90",X"40",X"A8",X"C1",X"61",X"51",X"25",X"35",X"A1",X"B2",X"AE",
|
||||
X"CE",X"9A",X"31",X"3B",X"BF",X"3F",X"1D",X"08",X"1F",X"33",X"61",X"C0",X"C0",X"C7",X"C7",X"65",
|
||||
X"40",X"A8",X"50",X"AA",X"4F",X"AF",X"5F",X"BF",X"AE",X"AE",X"B2",X"A1",X"25",X"55",X"41",X"61",
|
||||
X"05",X"07",X"03",X"02",X"80",X"00",X"81",X"C1",X"61",X"C5",X"C7",X"C7",X"C0",X"61",X"33",X"1F",
|
||||
X"FF",X"77",X"73",X"62",X"02",X"02",X"A6",X"54",X"51",X"E3",X"92",X"66",X"CC",X"76",X"0F",X"FF",
|
||||
X"81",X"00",X"81",X"41",X"E0",X"FE",X"FF",X"FF",X"6F",X"F8",X"F6",X"F1",X"F0",X"78",X"3F",X"1F",
|
||||
X"A2",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F0",X"00",
|
||||
X"FF",X"FF",X"FF",X"7F",X"1F",X"07",X"01",X"00",X"0F",X"07",X"01",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"9F",X"9F",X"8E",X"80",X"8A",X"95",X"95",X"9F",X"84",X"8F",X"9F",X"9F",X"80",X"8E",X"91",X"91",
|
||||
X"81",X"81",X"9F",X"9F",X"9E",X"80",X"9F",X"82",X"96",X"97",X"97",X"9D",X"9D",X"8D",X"80",X"9E",
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"4E",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"B2",X"B2",X"B2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",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"0A",X"0A",X"0A",X"0A",X"0A",X"0A",X"0A",X"0A",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"7C",X"10",X"00",X"FF",X"00",X"FF",X"00",
|
||||
X"00",X"3C",X"7E",X"52",X"4A",X"7E",X"3C",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"00",X"22",X"72",X"5A",X"4E",X"66",X"22",X"00",X"00",X"44",X"6E",X"7A",X"52",X"46",X"44",X"00",
|
||||
X"00",X"04",X"7E",X"7E",X"34",X"1C",X"0C",X"00",X"00",X"4C",X"5E",X"52",X"52",X"76",X"74",X"00",
|
||||
X"00",X"0C",X"5E",X"52",X"52",X"7E",X"3C",X"00",X"00",X"60",X"70",X"58",X"4E",X"46",X"40",X"00",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"7E",X"2C",X"00",X"00",X"38",X"7C",X"56",X"52",X"72",X"20",X"00",
|
||||
X"7E",X"7E",X"30",X"18",X"30",X"7E",X"7E",X"00",X"1E",X"20",X"20",X"1E",X"20",X"20",X"3E",X"00",
|
||||
X"81",X"81",X"01",X"FE",X"01",X"81",X"81",X"80",X"0A",X"0B",X"08",X"07",X"08",X"0B",X"0A",X"0A",
|
||||
X"9F",X"9F",X"80",X"81",X"81",X"01",X"FE",X"00",X"0A",X"0A",X"0A",X"0A",X"0B",X"08",X"07",X"00",
|
||||
X"00",X"00",X"00",X"07",X"08",X"0B",X"0A",X"0A",X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FE",X"01",X"81",X"81",X"80",X"81",X"81",X"81",X"81",X"9F",X"9F",X"9F",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"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"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"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"00",X"C0",X"E0",X"F0",X"F8",X"FC",X"FE",
|
||||
X"00",X"80",X"C0",X"E0",X"F0",X"F8",X"FC",X"FE",X"FE",X"FC",X"F8",X"F0",X"E0",X"C0",X"80",X"00",
|
||||
X"FE",X"FC",X"F8",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"80",X"C0",X"00",X"00",X"F8",X"FC",X"FE",
|
||||
X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FC",X"FD",X"03",X"03",X"FD",X"FE",X"FF",
|
||||
X"FF",X"F7",X"FB",X"FD",X"FD",X"FB",X"FF",X"FF",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"57",X"FF",X"FF",X"1F",X"FF",X"57",X"57",
|
||||
X"68",X"E8",X"FF",X"FF",X"E0",X"FF",X"A8",X"68",X"80",X"80",X"40",X"40",X"20",X"20",X"10",X"10",
|
||||
X"08",X"08",X"04",X"04",X"02",X"02",X"01",X"01",X"00",X"10",X"00",X"00",X"08",X"08",X"10",X"00",
|
||||
X"01",X"01",X"02",X"02",X"04",X"04",X"08",X"08",X"10",X"00",X"00",X"04",X"00",X"00",X"10",X"00",
|
||||
X"00",X"00",X"00",X"3F",X"40",X"9F",X"A0",X"A0",X"A0",X"A0",X"A0",X"9F",X"40",X"3F",X"00",X"00",
|
||||
X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"10",X"10",X"20",X"20",X"40",X"40",X"80",X"80",
|
||||
X"01",X"01",X"02",X"02",X"04",X"04",X"08",X"08",X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"C7",X"00",X"C7",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"28",X"FF",X"38",X"FF",X"28",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"66",X"99",X"66",X"00",X"00",X"00",X"00",X"02",X"67",X"9F",X"67",X"02",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"C3",X"24",X"3C",X"24",X"24",X"3C",X"24",X"C3",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"38",X"40",X"99",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"80",X"88",X"88",
|
||||
X"88",X"88",X"80",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"99",X"40",X"38",
|
||||
X"00",X"00",X"F8",X"00",X"F0",X"00",X"00",X"00",X"40",X"80",X"40",X"20",X"10",X"08",X"10",X"20",
|
||||
X"40",X"80",X"40",X"20",X"10",X"08",X"10",X"20",X"00",X"00",X"00",X"F0",X"00",X"F8",X"00",X"00",
|
||||
X"3F",X"7F",X"C0",X"00",X"00",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"00",X"00",X"C0",X"C0",X"C0",
|
||||
X"C0",X"C0",X"C0",X"00",X"00",X"C0",X"7F",X"3F",X"FC",X"FE",X"03",X"00",X"00",X"03",X"03",X"03",
|
||||
X"03",X"03",X"03",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"00",X"03",X"FE",X"FC",
|
||||
X"00",X"08",X"0C",X"FC",X"FC",X"00",X"A4",X"A6",X"00",X"C0",X"E8",X"00",X"40",X"A0",X"F8",X"F8",
|
||||
X"50",X"50",X"4F",X"40",X"40",X"40",X"50",X"50",X"00",X"00",X"01",X"21",X"43",X"41",X"00",X"00",
|
||||
X"01",X"20",X"10",X"11",X"03",X"21",X"00",X"00",X"00",X"01",X"41",X"23",X"11",X"01",X"00",X"00",
|
||||
X"1F",X"20",X"40",X"8F",X"9F",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",
|
||||
X"98",X"98",X"98",X"9F",X"8F",X"40",X"20",X"1F",X"01",X"09",X"F1",X"01",X"01",X"01",X"01",X"01",
|
||||
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"F8",X"F0",X"00",X"F0",X"40",X"40",X"E0",X"E0",
|
||||
X"00",X"04",X"04",X"FC",X"F8",X"00",X"A8",X"A8",X"E0",X"F8",X"7D",X"01",X"70",X"88",X"FE",X"FE",
|
||||
X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"FF",X"F5",X"FB",X"FB",X"FB",X"FB",X"FB",X"FF",
|
||||
X"F8",X"04",X"02",X"F1",X"F9",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",
|
||||
X"19",X"19",X"19",X"F9",X"F1",X"02",X"04",X"F8",X"3C",X"42",X"A5",X"A5",X"A5",X"A5",X"A5",X"A5",
|
||||
X"A5",X"A5",X"A5",X"A5",X"A5",X"BD",X"42",X"3C",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"06",
|
||||
X"04",X"08",X"10",X"08",X"04",X"02",X"01",X"02",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"60",X"90",X"90",X"8A",X"80",X"40",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"42",X"24",X"00",X"00",X"24",X"42",X"00",X"01",X"0F",X"1F",X"3F",X"3F",X"37",X"4F",X"0E",
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",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"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",
|
||||
X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",
|
||||
X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",
|
||||
X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",
|
||||
X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",
|
||||
X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",
|
||||
X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",
|
||||
X"F8",X"F8",X"78",X"78",X"78",X"78",X"F8",X"F8",X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",
|
||||
X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",X"F8",X"FE",X"1C",X"38",X"1C",X"FE",X"F8",X"00",
|
||||
X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"C0",X"F0",X"1E",X"1E",X"F0",X"C0",X"00",X"00",
|
||||
X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",
|
||||
X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",
|
||||
X"00",X"01",X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"00",X"80",X"E0",X"F0",X"F8",X"F8",X"FC",X"FC",
|
||||
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"80",X"E0",X"F8",X"FC",X"FE",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"1F",X"1F",X"0F",X"0F",X"01",X"3C",X"FF",X"FC",X"FC",X"F8",X"F0",X"E4",X"8C",X"3C",X"FC",
|
||||
X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"C7",X"C3",X"C1",X"C0",X"C0",X"C0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"81",X"01",X"01",X"83",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"E0",
|
||||
X"7F",X"7F",X"7C",X"78",X"78",X"78",X"7C",X"7F",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"03",X"03",X"07",X"0F",X"0F",X"0F",X"07",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F8",X"E0",
|
||||
X"FF",X"FE",X"F8",X"E0",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"80",X"C0",X"C0",X"C0",X"C1",X"C3",X"C7",X"FF",X"03",X"01",X"01",X"81",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"7F",X"00",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",
|
||||
X"FF",X"1F",X"CF",X"EF",X"EF",X"E0",X"E0",X"E0",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"F8",X"00",X"00",X"00",X"00",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"E0",X"E0",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"1F",X"1F",X"F8",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"00",X"00",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",
|
||||
X"1F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",
|
||||
X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"00",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"C0",X"00",
|
||||
X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FE",X"F0",X"00",X"00",
|
||||
X"F0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",
|
||||
X"40",X"40",X"C1",X"81",X"83",X"82",X"82",X"83",X"10",X"19",X"0F",X"0C",X"18",X"30",X"20",X"60",
|
||||
X"41",X"43",X"41",X"40",X"40",X"60",X"20",X"30",X"8C",X"F8",X"10",X"30",X"20",X"60",X"40",X"40",
|
||||
X"E0",X"80",X"80",X"80",X"80",X"80",X"83",X"86",X"80",X"80",X"80",X"FF",X"00",X"03",X"0E",X"38",
|
||||
X"40",X"40",X"40",X"FF",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"FC",X"86",X"02",X"03",X"01",X"01",X"FF",X"00",X"FE",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"83",X"02",X"83",X"C1",X"5E",X"73",X"60",X"40",X"00",X"00",X"00",X"40",X"60",X"73",X"5E",X"C1",
|
||||
X"04",X"07",X"00",X"00",X"00",X"FF",X"81",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"01",X"07",
|
||||
X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"FC",
|
||||
X"08",X"08",X"0C",X"04",X"04",X"04",X"04",X"04",X"08",X"18",X"B0",X"E0",X"60",X"30",X"10",X"18",
|
||||
X"02",X"02",X"02",X"82",X"82",X"86",X"04",X"0C",X"34",X"1C",X"08",X"0C",X"04",X"86",X"82",X"82",
|
||||
X"00",X"FC",X"04",X"04",X"04",X"04",X"C4",X"64",X"04",X"04",X"04",X"04",X"1C",X"70",X"C0",X"00",
|
||||
X"02",X"02",X"02",X"FE",X"06",X"04",X"04",X"04",X"1E",X"07",X"01",X"00",X"7F",X"40",X"40",X"40",
|
||||
X"C3",X"C0",X"C0",X"40",X"40",X"40",X"40",X"78",X"82",X"82",X"83",X"80",X"80",X"80",X"F8",X"CE",
|
||||
X"83",X"83",X"82",X"82",X"82",X"82",X"82",X"82",X"06",X"18",X"70",X"40",X"40",X"40",X"40",X"FD",
|
||||
X"40",X"40",X"70",X"1C",X"07",X"01",X"00",X"01",X"00",X"7C",X"46",X"43",X"41",X"40",X"40",X"40",
|
||||
X"00",X"00",X"C3",X"42",X"C3",X"00",X"00",X"00",X"81",X"E3",X"3E",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"85",X"85",X"87",X"00",X"00",X"00",X"00",X"00",X"81",X"FD",X"85",X"85",X"85",X"85",X"85",X"85",
|
||||
X"00",X"00",X"07",X"0C",X"18",X"30",X"60",X"C1",X"18",X"0C",X"07",X"00",X"00",X"80",X"80",X"80",
|
||||
X"00",X"3C",X"7E",X"52",X"4A",X"7E",X"3C",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"00",X"22",X"72",X"5A",X"4E",X"66",X"22",X"00",X"00",X"44",X"6E",X"7A",X"52",X"46",X"44",X"00",
|
||||
X"00",X"04",X"7E",X"7E",X"34",X"1C",X"0C",X"00",X"00",X"4C",X"5E",X"52",X"52",X"76",X"74",X"00",
|
||||
X"00",X"0C",X"5E",X"52",X"52",X"7E",X"3C",X"00",X"00",X"60",X"70",X"58",X"4E",X"46",X"40",X"00",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"7E",X"2C",X"00",X"00",X"38",X"7C",X"56",X"52",X"72",X"20",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"C0",X"60",X"30",X"38",X"E0",X"80",X"00",X"FE",X"02",X"02",X"02",
|
||||
X"82",X"02",X"02",X"02",X"02",X"02",X"02",X"0E",X"04",X"04",X"04",X"04",X"04",X"3E",X"62",X"C2",
|
||||
X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"02",X"02",X"FE",X"00",X"00",X"00",X"00",X"FC",
|
||||
X"00",X"00",X"FE",X"02",X"02",X"02",X"02",X"02",X"80",X"80",X"E0",X"38",X"0E",X"03",X"00",X"FF",
|
||||
X"30",X"F0",X"9C",X"87",X"81",X"80",X"80",X"80",X"40",X"41",X"43",X"41",X"40",X"40",X"60",X"20",
|
||||
X"86",X"8C",X"F8",X"10",X"30",X"20",X"60",X"40",X"38",X"E0",X"80",X"80",X"80",X"80",X"80",X"83",
|
||||
X"80",X"80",X"80",X"80",X"FF",X"00",X"03",X"0E",X"60",X"20",X"30",X"10",X"FF",X"80",X"80",X"80",
|
||||
X"00",X"00",X"00",X"00",X"01",X"87",X"84",X"87",X"40",X"00",X"01",X"03",X"C6",X"7C",X"18",X"00",
|
||||
X"C1",X"83",X"02",X"83",X"C1",X"5E",X"53",X"60",X"00",X"00",X"00",X"00",X"40",X"60",X"73",X"5E",
|
||||
X"07",X"04",X"07",X"00",X"00",X"00",X"FF",X"81",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"01",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"04",X"04",X"1C",X"70",X"C0",X"00",X"00",X"FC",
|
||||
X"7C",X"C4",X"84",X"04",X"04",X"04",X"04",X"04",X"82",X"02",X"02",X"02",X"82",X"82",X"86",X"04",
|
||||
X"64",X"34",X"1C",X"08",X"0C",X"04",X"86",X"82",X"00",X"00",X"FC",X"04",X"04",X"04",X"04",X"C4",
|
||||
X"04",X"04",X"04",X"04",X"04",X"1C",X"70",X"C0",X"06",X"04",X"0C",X"08",X"FC",X"04",X"04",X"04",
|
||||
X"40",X"40",X"41",X"41",X"41",X"41",X"40",X"40",X"01",X"07",X"0C",X"18",X"10",X"30",X"20",X"60",
|
||||
X"55",X"DD",X"80",X"00",X"00",X"81",X"C3",X"7E",X"DF",X"50",X"50",X"50",X"50",X"50",X"50",X"57",
|
||||
X"06",X"82",X"82",X"82",X"82",X"82",X"02",X"02",X"FE",X"02",X"02",X"02",X"02",X"0E",X"08",X"0C",
|
||||
X"F8",X"FC",X"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",
|
||||
X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",
|
||||
X"FC",X"FC",X"F8",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"F8",X"F8",X"F0",X"F0",X"E0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",
|
||||
X"F0",X"F8",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",
|
||||
X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"60",X"F8",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",X"F0",X"F8",X"F8",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F0",X"F0",X"F8",X"FC",X"00",X"00",X"60",X"F8",X"FC",X"FC",X"FC",X"FC",
|
||||
X"01",X"01",X"02",X"02",X"04",X"04",X"08",X"08",X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"C7",X"00",X"C7",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"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"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"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"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"01",X"01",X"02",X"02",X"04",X"04",X"08",X"08",X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"C7",X"00",X"C7",X"00",X"00",
|
||||
X"50",X"50",X"4F",X"40",X"40",X"40",X"50",X"50",X"00",X"00",X"01",X"21",X"43",X"41",X"00",X"00",
|
||||
X"01",X"20",X"10",X"11",X"03",X"21",X"00",X"00",X"00",X"01",X"41",X"23",X"11",X"01",X"00",X"00",
|
||||
X"1F",X"20",X"40",X"8F",X"9F",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",X"98",
|
||||
X"98",X"98",X"98",X"9F",X"8F",X"40",X"20",X"1F",X"01",X"09",X"F1",X"01",X"01",X"01",X"01",X"01",
|
||||
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"F8",X"F0",X"00",X"F0",X"40",X"40",X"E0",X"E0",
|
||||
X"00",X"04",X"04",X"FC",X"F8",X"00",X"A8",X"A8",X"E0",X"F8",X"7D",X"01",X"70",X"88",X"FE",X"FE",
|
||||
X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"FF",X"F5",X"FB",X"FB",X"FB",X"FB",X"FB",X"FF",
|
||||
X"F8",X"04",X"02",X"F1",X"F9",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",X"19",
|
||||
X"19",X"19",X"19",X"F9",X"F1",X"02",X"04",X"F8",X"3C",X"42",X"A5",X"A5",X"A5",X"A5",X"A5",X"A5",
|
||||
X"A5",X"A5",X"A5",X"A5",X"A5",X"BD",X"42",X"3C",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"06",
|
||||
X"04",X"08",X"10",X"08",X"04",X"02",X"01",X"02",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"60",X"90",X"90",X"8A",X"80",X"40",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"42",X"24",X"00",X"00",X"24",X"42",X"00",X"01",X"0F",X"1F",X"3F",X"3F",X"37",X"4F",X"0E");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -1,278 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity vid2 is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(11 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of vid2 is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",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"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",
|
||||
X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",
|
||||
X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",
|
||||
X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",
|
||||
X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",
|
||||
X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",
|
||||
X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",
|
||||
X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",
|
||||
X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",X"F8",X"FE",X"1C",X"38",X"1C",X"FE",X"F8",X"00",
|
||||
X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"C0",X"F0",X"1E",X"1E",X"F0",X"C0",X"00",X"00",
|
||||
X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",
|
||||
X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",
|
||||
X"00",X"00",X"82",X"C6",X"6C",X"38",X"00",X"00",X"00",X"00",X"38",X"6C",X"C6",X"82",X"00",X"00",
|
||||
X"00",X"00",X"82",X"FE",X"FE",X"82",X"00",X"00",X"82",X"FE",X"FE",X"82",X"82",X"FE",X"FE",X"82",
|
||||
X"00",X"28",X"28",X"28",X"28",X"28",X"28",X"00",X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",
|
||||
X"F6",X"F6",X"00",X"00",X"F6",X"F6",X"00",X"00",X"FA",X"FA",X"00",X"00",X"FA",X"FA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"F6",X"F6",X"00",X"00",X"00",X"00",X"00",X"00",X"FA",X"FA",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"C0",X"00",X"00",X"00",X"00",X"E0",X"C0",X"00",X"E0",X"C0",X"00",X"00",
|
||||
X"00",X"60",X"E0",X"00",X"60",X"E0",X"00",X"00",X"00",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",
|
||||
X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"06",X"00",X"00",
|
||||
X"38",X"28",X"3E",X"00",X"00",X"00",X"00",X"00",X"3E",X"00",X"3C",X"02",X"02",X"3C",X"00",X"0E",
|
||||
X"22",X"2A",X"3E",X"00",X"00",X"0E",X"3A",X"2A",X"22",X"3E",X"00",X"3E",X"08",X"10",X"3E",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"22",X"A5",X"BD",X"81",X"42",X"3C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"3C",X"42",X"81",X"A5",X"FE",X"C2",X"82",X"BA",X"44",X"44",X"28",X"10",
|
||||
X"10",X"28",X"44",X"44",X"AA",X"BA",X"82",X"C2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"03",X"07",X"45",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"A3",X"59",X"FD",X"FD",X"9D",X"8C",X"88",X"00",X"00",X"00",X"01",X"03",X"31",X"59",X"28",X"5C",
|
||||
X"00",X"00",X"00",X"00",X"80",X"78",X"FC",X"7F",X"00",X"00",X"07",X"0F",X"0E",X"09",X"07",X"00",
|
||||
X"40",X"A0",X"50",X"B0",X"D0",X"68",X"B8",X"50",X"3E",X"9E",X"AE",X"DA",X"CA",X"DE",X"CD",X"D1",
|
||||
X"3F",X"7B",X"F1",X"FB",X"7F",X"FF",X"FD",X"78",X"00",X"0C",X"1E",X"3F",X"3F",X"3E",X"3E",X"1C",
|
||||
X"B8",X"50",X"A8",X"50",X"B0",X"50",X"A0",X"40",X"D1",X"D1",X"CD",X"DE",X"DA",X"AA",X"BE",X"9E",
|
||||
X"7D",X"7F",X"FF",X"FE",X"7C",X"FE",X"7F",X"3F",X"1E",X"3C",X"3E",X"3E",X"3F",X"1E",X"0C",X"00",
|
||||
X"00",X"88",X"8C",X"9D",X"FD",X"FD",X"59",X"A3",X"AE",X"1C",X"6D",X"19",X"33",X"01",X"00",X"00",
|
||||
X"7F",X"FF",X"7E",X"BE",X"1C",X"00",X"00",X"00",X"00",X"07",X"09",X"0E",X"0F",X"07",X"00",X"00",
|
||||
X"45",X"07",X"03",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"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"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"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"00",
|
||||
X"08",X"08",X"08",X"08",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"FF",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"FF",X"00",
|
||||
X"00",X"3C",X"7E",X"52",X"4A",X"7E",X"3C",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"00",X"22",X"72",X"5A",X"4E",X"66",X"22",X"00",X"00",X"44",X"6E",X"7A",X"52",X"46",X"44",X"00",
|
||||
X"00",X"04",X"7E",X"7E",X"34",X"1C",X"0C",X"00",X"00",X"4C",X"5E",X"52",X"52",X"76",X"74",X"00",
|
||||
X"00",X"0C",X"5E",X"52",X"52",X"7E",X"3C",X"00",X"00",X"60",X"70",X"58",X"4E",X"46",X"40",X"00",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"7E",X"2C",X"00",X"00",X"38",X"7C",X"56",X"52",X"72",X"20",X"00",
|
||||
X"7E",X"7E",X"30",X"18",X"30",X"7E",X"7E",X"00",X"1E",X"20",X"20",X"1E",X"20",X"20",X"3E",X"00",
|
||||
X"01",X"01",X"01",X"FE",X"01",X"01",X"01",X"00",X"08",X"08",X"08",X"07",X"08",X"08",X"08",X"08",
|
||||
X"00",X"00",X"00",X"01",X"01",X"01",X"FE",X"00",X"08",X"08",X"08",X"08",X"08",X"08",X"07",X"00",
|
||||
X"00",X"00",X"00",X"07",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FE",X"01",X"01",X"01",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"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"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"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"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"FF",X"FF",X"3F",X"03",X"03",X"3F",X"FF",X"FF",X"A7",X"A7",X"1F",X"1F",X"FF",X"1F",X"A7",X"A7",
|
||||
X"00",X"00",X"00",X"00",X"1F",X"00",X"40",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"7F",X"7F",X"3B",X"3B",X"3F",X"3D",X"7B",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"04",X"00",X"00",X"10",X"00",
|
||||
X"00",X"00",X"00",X"00",X"3F",X"60",X"40",X"40",X"40",X"40",X"40",X"60",X"3F",X"00",X"00",X"00",
|
||||
X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",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"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"28",X"38",X"FF",X"38",X"28",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"C7",X"C7",X"C7",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"02",X"04",X"00",X"FF",X"06",X"03",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"02",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"02",X"FC",X"FC",X"02",X"01",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"24",X"00",X"00",X"24",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"03",X"3B",X"61",X"41",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"70",X"7C",X"7E",
|
||||
X"7E",X"7C",X"70",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"41",X"61",X"3B",X"03",
|
||||
X"FC",X"FC",X"F8",X"F8",X"F0",X"F0",X"60",X"60",X"50",X"88",X"50",X"20",X"50",X"88",X"50",X"20",
|
||||
X"50",X"88",X"50",X"20",X"50",X"88",X"50",X"20",X"60",X"60",X"F0",X"F0",X"F8",X"F8",X"FC",X"FC",
|
||||
X"00",X"3F",X"40",X"C0",X"C0",X"40",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"40",X"40",X"40",X"C0",X"C0",X"40",X"3F",X"00",X"00",X"FC",X"02",X"03",X"03",X"02",X"02",X"02",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"03",X"03",X"02",X"FC",X"00",
|
||||
X"00",X"08",X"0C",X"FC",X"FC",X"00",X"A4",X"A6",X"00",X"C0",X"E8",X"00",X"40",X"A0",X"F8",X"F8",
|
||||
X"A0",X"A0",X"B0",X"BF",X"BF",X"B0",X"A0",X"A0",X"1C",X"3E",X"7E",X"7C",X"F8",X"FC",X"FE",X"FE",
|
||||
X"FC",X"FE",X"FE",X"FC",X"F8",X"FC",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",X"7C",X"7E",X"3E",X"1C",
|
||||
X"00",X"1F",X"3F",X"70",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
|
||||
X"60",X"60",X"60",X"60",X"70",X"3F",X"1F",X"00",X"06",X"06",X"0E",X"FE",X"FE",X"0E",X"06",X"06",
|
||||
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"F8",X"F0",X"00",X"F0",X"40",X"40",X"E0",X"E0",
|
||||
X"00",X"04",X"04",X"FC",X"F8",X"00",X"A8",X"A8",X"E0",X"F8",X"7D",X"01",X"70",X"88",X"FE",X"FE",
|
||||
X"00",X"F0",X"F0",X"60",X"60",X"F0",X"F0",X"00",X"81",X"80",X"90",X"80",X"A0",X"A1",X"81",X"81",
|
||||
X"00",X"F8",X"FC",X"0E",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",
|
||||
X"06",X"06",X"06",X"06",X"0E",X"FC",X"F8",X"00",X"00",X"3C",X"42",X"42",X"42",X"42",X"42",X"42",
|
||||
X"42",X"42",X"42",X"42",X"42",X"42",X"3C",X"00",X"00",X"0F",X"0F",X"06",X"06",X"0F",X"0F",X"00",
|
||||
X"04",X"08",X"10",X"08",X"04",X"02",X"01",X"02",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"60",X"90",X"90",X"8A",X"80",X"40",X"00",
|
||||
X"FF",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"FF",
|
||||
X"81",X"00",X"00",X"18",X"18",X"00",X"00",X"81",X"00",X"00",X"04",X"0A",X"1F",X"17",X"0D",X"06",
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",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"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",
|
||||
X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",
|
||||
X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",
|
||||
X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",
|
||||
X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",
|
||||
X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",
|
||||
X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",
|
||||
X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",
|
||||
X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"00",X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",
|
||||
X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",X"F8",X"FE",X"1C",X"38",X"1C",X"FE",X"F8",X"00",
|
||||
X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"C0",X"F0",X"1E",X"1E",X"F0",X"C0",X"00",X"00",
|
||||
X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",
|
||||
X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",
|
||||
X"03",X"0F",X"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",
|
||||
X"00",X"03",X"0F",X"1F",X"3F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"F0",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"80",X"81",X"C7",
|
||||
X"7F",X"7F",X"3F",X"3F",X"1F",X"7F",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"E7",X"E3",X"E1",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C3",X"07",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FE",X"FC",X"FE",X"FF",X"FF",X"E0",X"C0",X"80",X"00",X"00",X"00",X"80",X"C0",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"1F",X"1F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00",X"00",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"E1",X"E3",X"E7",X"EF",X"FF",X"FF",X"07",X"07",X"C3",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"00",X"00",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"C0",X"E0",X"F0",X"F8",X"F8",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"3F",X"FC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",
|
||||
X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",
|
||||
X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"00",
|
||||
X"F8",X"F8",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"00",
|
||||
X"3F",X"3F",X"3E",X"7E",X"7C",X"7C",X"7C",X"7C",X"0F",X"06",X"00",X"03",X"07",X"0F",X"1F",X"1F",
|
||||
X"3E",X"3C",X"3E",X"3F",X"3F",X"1F",X"1F",X"0F",X"73",X"07",X"0F",X"0F",X"1F",X"1F",X"3F",X"3F",
|
||||
X"1F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7C",X"79",X"7F",X"7F",X"7F",X"00",X"00",X"00",X"01",X"07",
|
||||
X"3F",X"3F",X"3F",X"00",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"FF",X"03",X"01",X"01",X"00",X"00",X"00",X"00",X"FF",X"01",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"01",X"00",X"00",X"80",X"8C",X"9F",X"BF",X"FF",X"FF",X"FF",X"BF",X"9F",X"8C",X"80",X"00",
|
||||
X"F8",X"F8",X"FF",X"FF",X"FF",X"00",X"7E",X"FF",X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"FE",X"F8",
|
||||
X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"00",
|
||||
X"F0",X"F0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",X"40",X"00",X"80",X"C0",X"E0",X"E0",
|
||||
X"FC",X"FC",X"FC",X"7C",X"7C",X"78",X"F8",X"F0",X"C8",X"E0",X"F0",X"F0",X"F8",X"78",X"7C",X"7C",
|
||||
X"00",X"00",X"F8",X"F8",X"F8",X"F8",X"38",X"98",X"F8",X"F8",X"F8",X"F8",X"E0",X"80",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"00",X"F8",X"F8",X"F8",X"F8",X"01",X"00",X"00",X"00",X"00",X"3F",X"3F",X"3F",
|
||||
X"3C",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"07",X"7C",X"7C",X"7C",X"7F",X"7F",X"7F",X"07",X"31",
|
||||
X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"01",X"07",X"0F",X"3F",X"3F",X"3F",X"3F",X"02",
|
||||
X"3F",X"3F",X"0F",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"3C",X"3E",X"3F",X"3F",X"3F",
|
||||
X"FF",X"FF",X"3C",X"3C",X"3C",X"FF",X"FF",X"FF",X"7E",X"1C",X"C1",X"F3",X"FF",X"FF",X"FF",X"FF",
|
||||
X"78",X"78",X"78",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"78",X"78",X"78",X"78",X"78",X"78",
|
||||
X"FF",X"FF",X"F8",X"F0",X"E0",X"C0",X"80",X"00",X"E0",X"F0",X"F8",X"FF",X"FF",X"7F",X"7F",X"7F",
|
||||
X"00",X"3C",X"7E",X"52",X"4A",X"7E",X"3C",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"00",X"22",X"72",X"5A",X"4E",X"66",X"22",X"00",X"00",X"44",X"6E",X"7A",X"52",X"46",X"44",X"00",
|
||||
X"00",X"04",X"7E",X"7E",X"34",X"1C",X"0C",X"00",X"00",X"4C",X"5E",X"52",X"52",X"76",X"74",X"00",
|
||||
X"00",X"0C",X"5E",X"52",X"52",X"7E",X"3C",X"00",X"00",X"60",X"70",X"58",X"4E",X"46",X"40",X"00",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"7E",X"2C",X"00",X"00",X"38",X"7C",X"56",X"52",X"72",X"20",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",
|
||||
X"7C",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"C0",X"9C",X"3C",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"7F",X"7F",X"1F",X"07",X"01",X"00",X"00",X"00",
|
||||
X"0F",X"0F",X"63",X"78",X"7E",X"7F",X"7F",X"7F",X"3F",X"3E",X"3C",X"3E",X"3F",X"3F",X"1F",X"1F",
|
||||
X"79",X"73",X"07",X"0F",X"0F",X"1F",X"1F",X"3F",X"07",X"1F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7C",
|
||||
X"7F",X"7F",X"7F",X"7F",X"00",X"00",X"00",X"01",X"1F",X"1F",X"0F",X"0F",X"00",X"7F",X"7F",X"7F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"78",X"78",X"78",X"BF",X"FF",X"FE",X"FC",X"39",X"83",X"E7",X"FF",
|
||||
X"00",X"00",X"01",X"00",X"00",X"80",X"8C",X"9F",X"FF",X"FF",X"FF",X"FF",X"BF",X"9F",X"8C",X"80",
|
||||
X"F8",X"F8",X"F8",X"FF",X"FF",X"FF",X"00",X"7E",X"FF",X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"FE",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"F8",X"F8",X"E0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"80",X"38",X"78",X"F8",X"F8",X"F8",X"F8",X"F8",X"7C",X"FC",X"FC",X"FC",X"7C",X"7C",X"78",X"F8",
|
||||
X"98",X"C8",X"E0",X"F0",X"F0",X"F8",X"78",X"7C",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"F8",X"38",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"E0",X"80",X"00",X"F8",X"F8",X"F0",X"F0",X"00",X"F8",X"F8",X"F8",
|
||||
X"3F",X"3F",X"3E",X"3E",X"3E",X"3E",X"3F",X"3F",X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"1F",
|
||||
X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"81",X"00",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"88",
|
||||
X"F8",X"7C",X"7C",X"7C",X"7C",X"7C",X"FC",X"FC",X"00",X"FC",X"FC",X"FC",X"FC",X"F0",X"F0",X"F0",
|
||||
X"C0",X"E0",X"F0",X"F0",X"F8",X"F8",X"FC",X"FC",X"F0",X"F0",X"F0",X"F0",X"60",X"00",X"00",X"80",
|
||||
X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"80",
|
||||
X"F0",X"E0",X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",
|
||||
X"E0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"E0",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"F0",X"E0",
|
||||
X"C0",X"C0",X"E0",X"E0",X"F0",X"F0",X"F8",X"F8",X"F0",X"F0",X"F0",X"F0",X"70",X"20",X"00",X"80",
|
||||
X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"F0",X"60",X"00",X"00",X"80",X"C0",X"C0",X"E0",
|
||||
X"F0",X"F0",X"C0",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"60",X"F0",X"F0",X"F0",
|
||||
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"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"28",X"38",X"FF",X"38",X"28",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"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"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"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"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"00",X"00",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"28",X"38",X"FF",X"38",X"28",X"00",
|
||||
X"A0",X"A0",X"B0",X"BF",X"BF",X"B0",X"A0",X"A0",X"1C",X"3E",X"7E",X"7C",X"F8",X"FC",X"FE",X"FE",
|
||||
X"FC",X"FE",X"FE",X"FC",X"F8",X"FC",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",X"7C",X"7E",X"3E",X"1C",
|
||||
X"00",X"1F",X"3F",X"70",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
|
||||
X"60",X"60",X"60",X"60",X"70",X"3F",X"1F",X"00",X"06",X"06",X"0E",X"FE",X"FE",X"0E",X"06",X"06",
|
||||
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"F8",X"F0",X"00",X"F0",X"40",X"40",X"E0",X"E0",
|
||||
X"00",X"04",X"04",X"FC",X"F8",X"00",X"A8",X"A8",X"E0",X"F8",X"7D",X"01",X"70",X"88",X"FE",X"FE",
|
||||
X"00",X"F0",X"F0",X"60",X"60",X"F0",X"F0",X"00",X"81",X"80",X"90",X"80",X"A0",X"A1",X"81",X"81",
|
||||
X"00",X"F8",X"FC",X"0E",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"06",
|
||||
X"06",X"06",X"06",X"06",X"0E",X"FC",X"F8",X"00",X"00",X"3C",X"42",X"42",X"42",X"42",X"42",X"42",
|
||||
X"42",X"42",X"42",X"42",X"42",X"42",X"3C",X"00",X"00",X"0F",X"0F",X"06",X"06",X"0F",X"0F",X"00",
|
||||
X"04",X"08",X"10",X"08",X"04",X"02",X"01",X"02",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"60",X"90",X"90",X"8A",X"80",X"40",X"00",
|
||||
X"FF",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"FF",
|
||||
X"81",X"00",X"00",X"18",X"18",X"00",X"00",X"81",X"00",X"00",X"04",X"0A",X"1F",X"17",X"0D",X"06");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
Reference in New Issue
Block a user