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

Subversion Repositories t80

[/] [t80/] [trunk/] [rtl/] [vhdl/] [T80se.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 with clock enable
-- Z80 compatible microprocessor core, synchronous top level with clock enable
-- 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 52... Line 52...
--
--
--      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 87... Line 89...
        );
        );
end T80se;
end T80se;
 
 
architecture rtl of T80se is
architecture rtl of T80se is
 
 
        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 122... Line 123...
                        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 139... Line 139...
                        if CLKEN = '1' then
                        if CLKEN = '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.