Line 75... |
Line 75... |
constant EXT_GP7 : integer := 4;
|
constant EXT_GP7 : integer := 4;
|
|
|
constant OPEN8_NULLBUS : DATA_TYPE := x"00";
|
constant OPEN8_NULLBUS : DATA_TYPE := x"00";
|
|
|
type OPEN8_BUS_TYPE is record
|
type OPEN8_BUS_TYPE is record
|
|
Clock : std_logic;
|
|
Reset : std_logic;
|
|
uSec_Tick : std_logic;
|
Address : ADDRESS_TYPE;
|
Address : ADDRESS_TYPE;
|
Wr_En : std_logic;
|
Wr_En : std_logic;
|
Wr_Data : DATA_TYPE;
|
Wr_Data : DATA_TYPE;
|
Rd_En : std_logic;
|
Rd_En : std_logic;
|
|
GP_Flags : EXT_GP_FLAGS;
|
end record;
|
end record;
|
|
|
|
constant Reset_Level : std_logic := '1';
|
|
|
-- Component declaration
|
-- Component declaration
|
-- (assumes a 1K RAM at 0x0000 and ROM at the top of the memory map)
|
-- (assumes a 1K RAM at 0x0000 and ROM at the top of the memory map)
|
component o8_cpu is
|
component o8_cpu is
|
generic(
|
generic(
|
Program_Start_Addr : ADDRESS_TYPE := x"8000";
|
Program_Start_Addr : ADDRESS_TYPE := x"8000";
|
Line 95... |
Line 101... |
Enable_Auto_Increment : boolean := false;
|
Enable_Auto_Increment : boolean := false;
|
BRK_Implements_WAI : boolean := false;
|
BRK_Implements_WAI : boolean := false;
|
Enable_NMI : boolean := true;
|
Enable_NMI : boolean := true;
|
RTI_Ignores_GP_Flags : boolean := false;
|
RTI_Ignores_GP_Flags : boolean := false;
|
Default_Interrupt_Mask : DATA_TYPE := x"FF";
|
Default_Interrupt_Mask : DATA_TYPE := x"FF";
|
Reset_Level : std_logic := '0' );
|
Clock_Frequency : real
|
|
);
|
port(
|
port(
|
Clock : in std_logic;
|
Clock : in std_logic;
|
Reset : in std_logic;
|
PLL_Locked : in std_logic;
|
CPU_Halt : in std_logic;
|
CPU_Halt : in std_logic := '0';
|
GP_Flags : out EXT_GP_FLAGS;
|
|
Open8_Bus : out OPEN8_BUS_TYPE;
|
Open8_Bus : out OPEN8_BUS_TYPE;
|
Rd_Data : in DATA_TYPE;
|
Rd_Data : in DATA_TYPE;
|
Interrupts : in INTERRUPT_BUNDLE
|
Interrupts : in INTERRUPT_BUNDLE := x"00"
|
);
|
);
|
end component;
|
end component;
|
|
|
-- This function is used to calculate RAM parameters, but is generally
|
-- This function is used to calculate RAM parameters, but is generally
|
-- useful for making things more generic.
|
-- useful for making things more generic.
|