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

Subversion Repositories t80

[/] [t80/] [trunk/] [rtl/] [vhdl/] [T80s.vhd] - Diff between revs 25 and 29

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

Rev 25 Rev 29
Line 1... Line 1...
--
--
-- Z80 compatible microprocessor core, synchronous top level
-- Z80 compatible microprocessor core, synchronous top level
-- Different timing than the original z80
-- Different timing than the original z80
-- Inputs needs to be synchronous and outputs may glitch
-- Inputs needs to be synchronous and outputs may glitch
--
--
-- Version : 0238
-- Version : 0240
--
--
-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
--
--
-- All rights reserved
-- All rights reserved
--
--
Line 58... Line 58...
--
--
--      0237 : Fixed T2Write with wait state
--      0237 : Fixed T2Write with wait state
--
--
--      0238 : Updated for T80 interface change
--      0238 : Updated for T80 interface change
--
--
 
--      0240 : Updated for T80 interface change
 
--
 
 
library IEEE;
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.numeric_std.all;
use work.T80_Pack.all;
use work.T80_Pack.all;
Line 93... Line 95...
end T80s;
end T80s;
 
 
architecture rtl of T80s is
architecture rtl of T80s is
 
 
        signal CEN                      : std_logic;
        signal CEN                      : std_logic;
        signal False_M1         : std_logic;
 
        signal IntCycle_n       : std_logic;
        signal IntCycle_n       : std_logic;
        signal NoRead           : std_logic;
        signal NoRead           : std_logic;
        signal Write            : std_logic;
        signal Write            : std_logic;
        signal IORQ                     : std_logic;
        signal IORQ                     : std_logic;
        signal DI_Reg           : std_logic_vector(7 downto 0);
        signal DI_Reg           : std_logic_vector(7 downto 0);
Line 130... Line 131...
                        DInst => DI,
                        DInst => DI,
                        DI => DI_Reg,
                        DI => DI_Reg,
                        DO => DO,
                        DO => DO,
                        MC => MCycle,
                        MC => MCycle,
                        TS => TState,
                        TS => TState,
                        False_M1 => False_M1,
 
                        IntCycle_n => IntCycle_n);
                        IntCycle_n => IntCycle_n);
 
 
        process (RESET_n, CLK_n)
        process (RESET_n, CLK_n)
        begin
        begin
                if RESET_n = '0' then
                if RESET_n = '0' then
Line 146... Line 146...
                elsif CLK_n'event and CLK_n = '1' then
                elsif CLK_n'event and CLK_n = '1' then
                        RD_n <= '1';
                        RD_n <= '1';
                        WR_n <= '1';
                        WR_n <= '1';
                        IORQ_n <= '1';
                        IORQ_n <= '1';
                        MREQ_n <= '1';
                        MREQ_n <= '1';
                        if MCycle = "001" and False_M1 = '0' then
                        if MCycle = "001" then
                                if TState = "001" or (TState = "010" and Wait_n = '0') then
                                if TState = "001" or (TState = "010" and Wait_n = '0') then
                                        RD_n <= not IntCycle_n;
                                        RD_n <= not IntCycle_n;
                                        MREQ_n <= not IntCycle_n;
                                        MREQ_n <= not IntCycle_n;
                                        IORQ_n <= IntCycle_n;
                                        IORQ_n <= IntCycle_n;
                                end if;
                                end if;

powered by: WebSVN 2.1.0

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