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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [tools/] [src/] [librw11/] [Rw11Cpu.hpp] - Diff between revs 19 and 20

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

Rev 19 Rev 20
Line 1... Line 1...
// $Id: Rw11Cpu.hpp 504 2013-04-13 15:37:24Z mueller $
// $Id: Rw11Cpu.hpp 506 2013-04-14 21:54:03Z mueller $
//
//
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
//
// This program is free software; you may redistribute and/or modify it under
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
// the terms of the GNU General Public License as published by the Free
Line 11... Line 11...
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for complete details.
// for complete details.
// 
// 
// Revision History: 
// Revision History: 
// Date         Rev Version  Comment
// Date         Rev Version  Comment
 
// 2013-04-14   506   1.0.1  add AddLalh(),AddRMem(),AddWMem()
// 2013-04-12   504   1.0    Initial version
// 2013-04-12   504   1.0    Initial version
// 2013-01-27   478   0.1    First draft
// 2013-01-27   478   0.1    First draft
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
 
 
 
 
/*!
/*!
  \file
  \file
  \version $Id: Rw11Cpu.hpp 504 2013-04-13 15:37:24Z mueller $
  \version $Id: Rw11Cpu.hpp 506 2013-04-14 21:54:03Z mueller $
  \brief   Declaration of class Rw11Cpu.
  \brief   Declaration of class Rw11Cpu.
*/
*/
 
 
#ifndef included_Retro_Rw11Cpu
#ifndef included_Retro_Rw11Cpu
#define included_Retro_Rw11Cpu 1
#define included_Retro_Rw11Cpu 1
Line 53... Line 54...
      typedef std::map<std::string, boost::shared_ptr<Rw11Cntl>> cmap_t;
      typedef std::map<std::string, boost::shared_ptr<Rw11Cntl>> cmap_t;
      typedef cmap_t::iterator         cmap_it_t;
      typedef cmap_t::iterator         cmap_it_t;
      typedef cmap_t::const_iterator   cmap_cit_t;
      typedef cmap_t::const_iterator   cmap_cit_t;
      typedef cmap_t::value_type       cmap_val_t;
      typedef cmap_t::value_type       cmap_val_t;
 
 
 
 
      explicit      Rw11Cpu(const std::string& type);
      explicit      Rw11Cpu(const std::string& type);
      virtual      ~Rw11Cpu();
      virtual      ~Rw11Cpu();
 
 
      void          Setup(Rw11* pw11);
      void          Setup(Rw11* pw11);
      Rw11&         W11() const;
      Rw11&         W11() const;
Line 80... Line 82...
      int           AddIbrb(RlinkCommandList& clist, uint16_t ibaddr);
      int           AddIbrb(RlinkCommandList& clist, uint16_t ibaddr);
      int           AddRibr(RlinkCommandList& clist, uint16_t ibaddr);
      int           AddRibr(RlinkCommandList& clist, uint16_t ibaddr);
      int           AddWibr(RlinkCommandList& clist, uint16_t ibaddr,
      int           AddWibr(RlinkCommandList& clist, uint16_t ibaddr,
                            uint16_t data);
                            uint16_t data);
 
 
 
      int           AddLalh(RlinkCommandList& clist, uint32_t addr,
 
                            uint16_t mode=kCp_ah_m_22bit);
 
      int           AddRMem(RlinkCommandList& clist, uint32_t addr,
 
                            uint16_t* buf, size_t size,
 
                            uint16_t mode=kCp_ah_m_22bit);
 
      int           AddWMem(RlinkCommandList& clist, uint32_t addr,
 
                            const uint16_t* buf, size_t size,
 
                            uint16_t mode=kCp_ah_m_22bit);
 
 
      bool          MemRead(uint16_t addr, std::vector<uint16_t>& data,
      bool          MemRead(uint16_t addr, std::vector<uint16_t>& data,
                            size_t nword, RerrMsg& emsg);
                            size_t nword, RerrMsg& emsg);
      bool          MemWrite(uint16_t addr, const std::vector<uint16_t>& data,
      bool          MemWrite(uint16_t addr, const std::vector<uint16_t>& data,
                             RerrMsg& emsg);
                             RerrMsg& emsg);
 
 
Line 143... Line 154...
      static const uint16_t  kCp_cpurust_vecfet = 0x8;  //!< vector fetch halt
      static const uint16_t  kCp_cpurust_vecfet = 0x8;  //!< vector fetch halt
      static const uint16_t  kCp_cpurust_recrsv = 0x9;  //!< rec red-stack halt
      static const uint16_t  kCp_cpurust_recrsv = 0x9;  //!< rec red-stack halt
      static const uint16_t  kCp_cpurust_sfail  = 0xa;  //!< sequencer failure
      static const uint16_t  kCp_cpurust_sfail  = 0xa;  //!< sequencer failure
      static const uint16_t  kCp_cpurust_vfail  = 0xb;  //!< vmbox failure
      static const uint16_t  kCp_cpurust_vfail  = 0xb;  //!< vmbox failure
 
 
 
      static const uint16_t  kCp_ah_m_addr  = 0x003f;  //!< 
 
      static const uint16_t  kCp_ah_m_22bit = kWBit06; //!< 
 
      static const uint16_t  kCp_ah_m_ubmap = kWBit07; //!<
 
 
    private:
    private:
                    Rw11Cpu() {}            //!< default ctor blocker
                    Rw11Cpu() {}            //!< default ctor blocker
 
 
    protected:
    protected:
      Rw11*         fpW11;
      Rw11*         fpW11;

powered by: WebSVN 2.1.0

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