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

Subversion Repositories t48

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 214 to Rev 215
    Reverse comparison

Rev 214 → Rev 215

/trunk/rtl/vhdl/decoder.vhd
3,7 → 3,7
-- The Decoder unit.
-- It decodes the instruction opcodes and executes them.
--
-- $Id: decoder.vhd,v 1.23 2005-11-07 19:25:01 arniml Exp $
-- $Id: decoder.vhd,v 1.24 2005-11-14 21:12:29 arniml Exp $
--
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
--
198,45 → 198,47
 
-- Flag 1
signal clear_f1_s,
cpl_f1_s : boolean;
signal f1_q : std_logic;
cpl_f1_s : boolean;
signal f1_q : std_logic;
-- memory bank select
signal clear_mb_s,
set_mb_s : boolean;
signal mb_q : std_logic;
set_mb_s : boolean;
signal mb_q : std_logic;
 
-- T0 direction selection
signal ent0_clk_s : boolean;
signal t0_dir_q : std_logic;
signal ent0_clk_s : boolean;
signal t0_dir_q : std_logic;
 
signal data_s : word_t;
signal read_dec_s : boolean;
signal data_s : word_t;
signal read_dec_s : boolean;
 
signal tf_s : std_logic;
signal tf_s : std_logic;
 
signal bus_read_bus_s : boolean;
signal add_read_bus_s : boolean;
signal bus_read_bus_s : boolean;
signal add_read_bus_s : boolean;
 
signal dm_write_dmem_s : boolean;
signal dm_write_dmem_s : boolean;
 
signal p2_output_exp_s : boolean;
signal p2_output_exp_s : boolean;
 
signal movx_first_cycle_s : boolean;
 
-- interrupt handling
signal jtf_executed_s : boolean;
signal en_tcnti_s : boolean;
signal dis_tcnti_s : boolean;
signal en_i_s : boolean;
signal dis_i_s : boolean;
signal tim_int_s : boolean;
signal retr_executed_s : boolean;
signal int_executed_s : boolean;
signal int_pending_s : boolean;
signal int_in_progress_s : boolean;
signal jtf_executed_s : boolean;
signal en_tcnti_s : boolean;
signal dis_tcnti_s : boolean;
signal en_i_s : boolean;
signal dis_i_s : boolean;
signal tim_int_s : boolean;
signal retr_executed_s : boolean;
signal int_executed_s : boolean;
signal int_pending_s : boolean;
signal int_in_progress_s : boolean;
 
-- pragma translate_off
signal istrobe_res_q : std_logic;
signal istrobe_q : std_logic;
signal injected_int_q : std_logic;
signal istrobe_res_q : std_logic;
signal istrobe_q : std_logic;
signal injected_int_q : std_logic;
-- pragma translate_on
 
begin
306,7 → 308,8
assert_psen_s,
branch_taken_q,
int_pending_s,
p2_output_exp_s)
p2_output_exp_s,
movx_first_cycle_s)
 
variable need_address_v : boolean;
 
380,7 → 383,11
when MSTATE5 =>
if ea_i = '1' and
(need_address_v or last_cycle_s) and
not p2_output_exp_s then
-- Suppress output of PCH when either
-- a) expander port is driven on P2, has priority
not p2_output_exp_s and
-- b) first cycle of MOVX, don't disturb external access
not movx_first_cycle_s then
p2_output_pch_o <= true;
end if;
 
532,6 → 539,7
add_write_pmem_addr_s <= false;
ent0_clk_s <= false;
add_read_bus_s <= false;
movx_first_cycle_s <= false;
 
-- the Program Memory Bank Flag is held low when interrupts are in progress
-- according to the MCS-48 User's Manual
1478,6 → 1486,7
end if;
 
if not clk_second_cycle_i then
movx_first_cycle_s <= true;
case clk_mstate_i is
-- read dmem and put contents on BUS as external address
when MSTATE3 =>
1963,6 → 1972,9
-- File History:
--
-- $Log: not supported by cvs2svn $
-- Revision 1.23 2005/11/07 19:25:01 arniml
-- fix sensitivity list
--
-- Revision 1.22 2005/11/01 21:25:37 arniml
-- * suppress p2_output_pch_o when p2_output_exp is active
-- * wire xtal_i to interrupt module

powered by: WebSVN 2.1.0

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