mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-01-19 17:27:59 +00:00
SpyHunter: save RAM to SD-Card
This commit is contained in:
parent
6478ee115d
commit
bec9ee23f9
@ -41,7 +41,7 @@
|
||||
# ========================
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
|
||||
# Pin & Location Assignments
|
||||
@ -214,7 +214,7 @@ 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
|
||||
set_global_assignment -name ENABLE_SIGNALTAP OFF
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/csd.stp
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/cmos.stp
|
||||
set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE SPEED
|
||||
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON
|
||||
set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS"
|
||||
@ -241,4 +241,5 @@ set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
|
||||
set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/vol_table_array.vhd
|
||||
set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/YM2149.vhd
|
||||
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/cmos.stp
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
@ -54,6 +54,7 @@ localparam CONF_STR = {
|
||||
"O6,Service,Off,On;",
|
||||
"O8,Demo Sounds,Off,On;",
|
||||
"O9,Show Lamps,Off,On;",
|
||||
"R2048,Save settings;",
|
||||
"T0,Reset;",
|
||||
"V,v1.1.",`BUILD_DATE
|
||||
};
|
||||
@ -121,21 +122,26 @@ wire [15:0] csd_do;
|
||||
wire [14:0] sp_addr;
|
||||
wire [31:0] sp_do;
|
||||
wire ioctl_downl;
|
||||
wire ioctl_upl;
|
||||
wire [7:0] ioctl_index;
|
||||
wire ioctl_wr;
|
||||
wire [24:0] ioctl_addr;
|
||||
wire [7:0] ioctl_dout;
|
||||
wire [7:0] ioctl_din;
|
||||
|
||||
data_io data_io(
|
||||
.clk_sys ( clk_sys ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS2 ( SPI_SS2 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.SPI_DO ( SPI_DO ),
|
||||
.ioctl_download( ioctl_downl ),
|
||||
.ioctl_upload ( ioctl_upl ),
|
||||
.ioctl_index ( ioctl_index ),
|
||||
.ioctl_wr ( ioctl_wr ),
|
||||
.ioctl_addr ( ioctl_addr ),
|
||||
.ioctl_dout ( ioctl_dout )
|
||||
.ioctl_dout ( ioctl_dout ),
|
||||
.ioctl_din ( ioctl_din )
|
||||
);
|
||||
|
||||
// ROM structure:
|
||||
@ -200,7 +206,7 @@ always @(posedge clk_sys) begin
|
||||
|
||||
ioctl_wr_last <= ioctl_wr;
|
||||
if (ioctl_downl) begin
|
||||
if (~ioctl_wr_last && ioctl_wr) begin
|
||||
if (~ioctl_wr_last && ioctl_wr && ioctl_index == 0) begin
|
||||
port1_req <= ~port1_req;
|
||||
port2_req <= ~port2_req;
|
||||
end
|
||||
@ -281,7 +287,9 @@ spy_hunter spy_hunter(
|
||||
.sp_graphx32_do ( sp_do ),
|
||||
.dl_addr ( ioctl_addr[18:0]),
|
||||
.dl_data ( ioctl_dout ),
|
||||
.dl_wr ( ioctl_wr )
|
||||
.dl_wr ( ioctl_wr && ioctl_index == 0 ),
|
||||
.up_data ( ioctl_din ),
|
||||
.cmos_wr ( ioctl_wr && ioctl_index == 8'hff )
|
||||
);
|
||||
|
||||
wire vs_out;
|
||||
|
||||
@ -185,6 +185,8 @@ port(
|
||||
dl_addr : in std_logic_vector(18 downto 0);
|
||||
dl_data : in std_logic_vector(7 downto 0);
|
||||
dl_wr : in std_logic;
|
||||
up_data : out std_logic_vector(7 downto 0);
|
||||
cmos_wr : in std_logic;
|
||||
|
||||
dbg_cpu_addr : out std_logic_vector(15 downto 0)
|
||||
);
|
||||
@ -938,14 +940,19 @@ port map (
|
||||
--);
|
||||
|
||||
-- working RAM F000-F7FF 2Ko
|
||||
wram : entity work.cmos_ram
|
||||
wram : entity work.dpram
|
||||
generic map( dWidth => 8, aWidth => 11)
|
||||
port map(
|
||||
clk => clock_vidn,
|
||||
we => wram_we,
|
||||
addr => cpu_addr(10 downto 0),
|
||||
d => cpu_do,
|
||||
q => wram_do
|
||||
clk_a => clock_vidn,
|
||||
addr_a => cpu_addr(10 downto 0),
|
||||
d_a => cpu_do,
|
||||
we_a => wram_we,
|
||||
q_a => wram_do,
|
||||
clk_b => clock_vid,
|
||||
we_b => cmos_wr,
|
||||
addr_b => dl_addr(10 downto 0),
|
||||
d_b => dl_data,
|
||||
q_b => up_data
|
||||
);
|
||||
|
||||
-- char RAM E800-EBFF 1Ko + mirroring 0400
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user