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

Subversion Repositories t48

[/] [t48/] [tags/] [rel_0_6__beta/] [rtl/] [vhdl/] [t48_core.vhd] - Diff between revs 24 and 28

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

Rev 24 Rev 28
Line 1... Line 1...
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--
--
-- T48 Microcontroller Core
-- T48 Microcontroller Core
--
--
-- $Id: t48_core.vhd,v 1.2 2004-03-28 13:13:20 arniml Exp $
-- $Id: t48_core.vhd,v 1.3 2004-03-28 21:27:50 arniml Exp $
--
--
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
--
--
-- All rights reserved
-- All rights reserved
--
--
Line 45... Line 45...
-- =============
-- =============
--
--
-- Compared to the original MCS-48 architecture, the following limitations
-- Compared to the original MCS-48 architecture, the following limitations
-- apply:
-- apply:
--
--
--   * DA A instruction not implemented.
--   * Nibble-wide instructions addressing expander port implemented but
--     Implementation targeted for Beta milestone.
--     not verified yet.
--
 
--   * Nibble-wide instructions addressing expander port not implemented.
 
--     Implementation targeted for Beta milestone.
 
--
--
--   * Single-step mode not implemented.
--   * Single-step mode not implemented.
--     Not selected for future implementation.
--     Not selected for future implementation.
--
--
--   * Reading of internal Program Memory not implemented.
--   * Reading of internal Program Memory not implemented.
Line 149... Line 146...
  signal alu_read_alu_s       : boolean;
  signal alu_read_alu_s       : boolean;
  signal alu_carry_s          : std_logic;
  signal alu_carry_s          : std_logic;
  signal alu_aux_carry_s      : std_logic;
  signal alu_aux_carry_s      : std_logic;
  signal alu_op_s             : alu_op_t;
  signal alu_op_s             : alu_op_t;
  signal alu_use_carry_s      : boolean;
  signal alu_use_carry_s      : boolean;
 
  signal alu_da_low_s         : boolean;
 
  signal alu_da_high_s        : boolean;
 
  signal alu_da_overflow_s    : boolean;
 
  signal alu_p06_temp_reg_s   : boolean;
 
  signal alu_p60_temp_reg_s   : boolean;
 
 
  -- BUS signals
  -- BUS signals
  signal bus_write_bus_s  : boolean;
  signal bus_write_bus_s  : boolean;
  signal bus_read_bus_s   : boolean;
  signal bus_read_bus_s   : boolean;
  signal bus_output_pcl_s : boolean;
  signal bus_output_pcl_s : boolean;
Line 288... Line 290...
      carry_i            => psw_carry_s,
      carry_i            => psw_carry_s,
      carry_o            => alu_carry_s,
      carry_o            => alu_carry_s,
      aux_carry_i        => psw_aux_carry_s,
      aux_carry_i        => psw_aux_carry_s,
      aux_carry_o        => alu_aux_carry_s,
      aux_carry_o        => alu_aux_carry_s,
      alu_op_i           => alu_op_s,
      alu_op_i           => alu_op_s,
      use_carry_i        => alu_use_carry_s
      use_carry_i        => alu_use_carry_s,
 
      da_low_i           => alu_da_low_s,
 
      da_high_i          => alu_da_high_s,
 
      da_overflow_o      => alu_da_overflow_s,
 
      p06_temp_reg_i     => alu_p06_temp_reg_s,
 
      p60_temp_reg_i     => alu_p60_temp_reg_s
    );
    );
 
 
  bus_mux_b : bus_mux
  bus_mux_b : bus_mux
    port map (
    port map (
      alu_data_i => alu_data_s,
      alu_data_i => alu_data_s,
Line 412... Line 419...
      psw_read_psw_o         => psw_read_psw_s,
      psw_read_psw_o         => psw_read_psw_s,
      psw_read_sp_o          => psw_read_sp_s,
      psw_read_sp_o          => psw_read_sp_s,
      psw_write_psw_o        => psw_write_psw_s,
      psw_write_psw_o        => psw_write_psw_s,
      psw_write_sp_o         => psw_write_sp_s,
      psw_write_sp_o         => psw_write_sp_s,
      alu_carry_i            => alu_carry_s,
      alu_carry_i            => alu_carry_s,
      alu_aux_carry_i        => alu_aux_carry_s,
 
      alu_op_o               => alu_op_s,
      alu_op_o               => alu_op_s,
      alu_use_carry_o        => alu_use_carry_s,
      alu_use_carry_o        => alu_use_carry_s,
 
      alu_da_low_o           => alu_da_low_s,
 
      alu_da_high_o          => alu_da_high_s,
 
      alu_da_overflow_i      => alu_da_overflow_s,
 
      alu_p06_temp_reg_o     => alu_p06_temp_reg_s,
 
      alu_p60_temp_reg_o     => alu_p60_temp_reg_s,
      bus_output_pcl_o       => bus_output_pcl_s,
      bus_output_pcl_o       => bus_output_pcl_s,
      bus_bidir_bus_o        => bus_bidir_bus_s,
      bus_bidir_bus_o        => bus_bidir_bus_s,
      clk_multi_cycle_o      => clk_multi_cycle_s,
      clk_multi_cycle_o      => clk_multi_cycle_s,
      clk_assert_psen_o      => clk_assert_psen_s,
      clk_assert_psen_o      => clk_assert_psen_s,
      clk_assert_prog_o      => clk_assert_prog_s,
      clk_assert_prog_o      => clk_assert_prog_s,
Line 446... Line 457...
      pm_inc_pc_o            => pm_inc_pc_s,
      pm_inc_pc_o            => pm_inc_pc_s,
      pm_write_pmem_addr_o   => pm_write_pmem_addr_s,
      pm_write_pmem_addr_o   => pm_write_pmem_addr_s,
      pm_addr_type_o         => pm_addr_type_s,
      pm_addr_type_o         => pm_addr_type_s,
      psw_special_data_o     => psw_special_data_s,
      psw_special_data_o     => psw_special_data_s,
      psw_carry_i            => psw_carry_s,
      psw_carry_i            => psw_carry_s,
 
      psw_aux_carry_i        => psw_aux_carry_s,
      psw_f0_i               => psw_f0_s,
      psw_f0_i               => psw_f0_s,
      psw_inc_stackp_o       => psw_inc_stackp_s,
      psw_inc_stackp_o       => psw_inc_stackp_s,
      psw_dec_stackp_o       => psw_dec_stackp_s,
      psw_dec_stackp_o       => psw_dec_stackp_s,
      psw_write_carry_o      => psw_write_carry_s,
      psw_write_carry_o      => psw_write_carry_s,
      psw_write_aux_carry_o  => psw_write_aux_carry_s,
      psw_write_aux_carry_o  => psw_write_aux_carry_s,
Line 592... Line 604...
      write_carry_i      => psw_write_carry_s,
      write_carry_i      => psw_write_carry_s,
      write_aux_carry_i  => psw_write_aux_carry_s,
      write_aux_carry_i  => psw_write_aux_carry_s,
      write_f0_i         => psw_write_f0_s,
      write_f0_i         => psw_write_f0_s,
      write_bs_i         => psw_write_bs_s,
      write_bs_i         => psw_write_bs_s,
      carry_o            => psw_carry_s,
      carry_o            => psw_carry_s,
 
      aux_carry_i        => alu_aux_carry_s,
      aux_carry_o        => psw_aux_carry_s,
      aux_carry_o        => psw_aux_carry_s,
      f0_o               => psw_f0_s,
      f0_o               => psw_f0_s,
      bs_o               => psw_bs_s
      bs_o               => psw_bs_s
    );
    );
 
 
Line 617... Line 630...
 
 
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- File History:
-- File History:
--
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
 
-- Revision 1.2  2004/03/28 13:13:20  arniml
 
-- connect control signal for Port 2 expander
 
--
-- Revision 1.1  2004/03/23 21:31:53  arniml
-- Revision 1.1  2004/03/23 21:31:53  arniml
-- initial check-in
-- initial check-in
--
--
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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