OpenCores
URL https://opencores.org/ocsvn/z80soc/z80soc/trunk

Subversion Repositories z80soc

[/] [z80soc/] [tags/] [z80soc05b/] [rtl/] [VHDL/] [top_de1.vhd] - Diff between revs 2 and 4

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 4
Line 7... Line 7...
-- Release Date: 2008 / 04 / 16
-- Release Date: 2008 / 04 / 16
--
--
-- Based on the T80 core: http://www.opencores.org/projects.cgi/web/t80
-- Based on the T80 core: http://www.opencores.org/projects.cgi/web/t80
-- This version developed and tested on: Altera DE1 Development Board
-- This version developed and tested on: Altera DE1 Development Board
--
--
 
-- Please, see the RevisionHistory.txt file for complete features and change history.
 
--
-- Peripherals configured (Using Ports):
-- Peripherals configured (Using Ports):
--
--
--      08 KB Internal ROM      Read            (0x0000h - 0x1FFFh)
--      08 KB Internal ROM      Read            (0x0000h - 0x1FFFh)
--      08 KB INTERNAL VRAM     Write           (0x2000h - 0x3FFFh)
--      08 KB INTERNAL VRAM     Write           (0x2000h - 0x3FFFh)
--      48 KB External SRAM     Read/Write      (0x4000h - 0xFFFFh)
--      48 KB External SRAM     Read/Write      (0x4000h - 0xFFFFh)
Line 246... Line 248...
        HEX1 <= HEX_DISP1;
        HEX1 <= HEX_DISP1;
        HEX2 <= HEX_DISP2;
        HEX2 <= HEX_DISP2;
        HEX3 <= HEX_DISP3;
        HEX3 <= HEX_DISP3;
 
 
        SRAM_ADDR(15 downto 0) <= A - x"4000" when (A >= x"4000" and MReq_n = '0');
        SRAM_ADDR(15 downto 0) <= A - x"4000" when (A >= x"4000" and MReq_n = '0');
        -- SRAM_ADDR(15 downto 0) <= A - x"4000" when (A >= x"4000" and MReq_n = '0') else A;
 
        -- this is bad --> SRAM_ADDR(15 downto 0) <= A - x"4000";
 
        SRAM_DQ(15 downto 8) <= (others => 'Z');
        SRAM_DQ(15 downto 8) <= (others => 'Z');
        SRAM_ADDR(17 downto 16) <= "00";
        SRAM_ADDR(17 downto 16) <= "00";
        SRAM_UB_N <= '1';
        SRAM_UB_N <= '1';
        SRAM_LB_N <= '0';
        SRAM_LB_N <= '0';
        SRAM_CE_N <= '0';
        SRAM_CE_N <= '0';
Line 260... Line 260...
 
 
        -- Write to SRAM (0x4000 - 0xFFFF)
        -- Write to SRAM (0x4000 - 0xFFFF)
        SRAM_DQ(7 downto 0) <= DO_CPU when (Wr_n = '0' and MReq_n = '0' and A >= x"4000") else (others => 'Z');
        SRAM_DQ(7 downto 0) <= DO_CPU when (Wr_n = '0' and MReq_n = '0' and A >= x"4000") else (others => 'Z');
 
 
        -- Write into VRAM
        -- Write into VRAM
        -- this is almost ok -->vram_wraddress_sig <= A - x"2000" when (A >= x"2000" and A < x"4000" and MReq_n = '0' and IORQ_n = '1');
 
        vram_wraddress_sig <= A - x"2000" when (A >= x"2000" and A < x"4000" and MReq_n = '0');
        vram_wraddress_sig <= A - x"2000" when (A >= x"2000" and A < x"4000" and MReq_n = '0');
        -- vram_wraddress_sig <= A - x"2000";
 
        vram_wren_sig <= not Wr_n when (A >= x"2000" and A < x"4000" and IORQ_n = '1');
        vram_wren_sig <= not Wr_n when (A >= x"2000" and A < x"4000" and IORQ_n = '1');
        vram_data_sig <= DO_CPU  when (Wr_n = '0' and MReq_n = '0' and A >= x"2000" and A < x"4000") else (others => 'Z');
        vram_data_sig <= DO_CPU  when (Wr_n = '0' and MReq_n = '0' and A >= x"2000" and A < x"4000") else (others => 'Z');
        -- this is ok --> vram_data_sig <= DO_CPU;
 
 
 
        -- Input to Z80
        -- Input to Z80
        DI_CPU <= SRAM_DQ(7 downto 0) when (Rd_n = '0' and MReq_n = '0' and A >= x"4000") else
        DI_CPU <= SRAM_DQ(7 downto 0) when (Rd_n = '0' and MReq_n = '0' and A >= x"4000") else
                        -- vram_q_sig when (A >= x"2000" and A < x"4000") else
                        -- vram_q_sig when (A >= x"2000" and A < x"4000") else
                        D_ROM when (Rd_n = '0' and MReq_n = '0' and A < x"2000") else
                        D_ROM when (Rd_n = '0' and MReq_n = '0' and A < x"2000") else

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.