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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [bench/] [sysc/] [include/] [TapStateMachine.h] - Diff between revs 63 and 462

Show entire file | Details | Blame | View Log

Rev 63 Rev 462
Line 48... Line 48...
  TAP_EXIT1_IR         = 12,
  TAP_EXIT1_IR         = 12,
  TAP_PAUSE_IR         = 13,
  TAP_PAUSE_IR         = 13,
  TAP_EXIT2_IR         = 14,
  TAP_EXIT2_IR         = 14,
  TAP_UPDATE_IR        = 15,
  TAP_UPDATE_IR        = 15,
  TAP_SIZE             = 16
  TAP_SIZE             = 16
 
 
};      // enum TapState
};      // enum TapState
 
 
 
 
//! Textual representation of all the TAP states.
//! Textual representation of all the TAP states.
 
 
//! Provided for debugging purposes
//! Provided for debugging purposes
static const char *tapStateNames[TAP_SIZE] = {
static const char *tapStateNames[TAP_SIZE] = {
  "Test-Logic-Reset",
  "Test-Logic-Reset",
Line 72... Line 70...
  "Shift-IR",
  "Shift-IR",
  "Exit1-IR",
  "Exit1-IR",
  "Pause-IR",
  "Pause-IR",
  "Exit2-IR",
  "Exit2-IR",
  "Update-IR"
  "Update-IR"
 
 
};      // tapStateNames
};      // tapStateNames
 
 
 
 
//! TAP state machine
//! TAP state machine
 
 
//! Tracks the state of the TAP. This should mirror the state of the TAP in
//! Tracks the state of the TAP. This should mirror the state of the TAP in
//! the connected HW.
//! the connected HW.
 
 
Line 93... Line 89...
//! state machine.
//! state machine.
 
 
//! For convenience of users, this class provides a flag (resetDone::),
//! For convenience of users, this class provides a flag (resetDone::),
//! with accessors by which reset state can be recorded.
//! with accessors by which reset state can be recorded.
 
 
 
class TapStateMachine {
class TapStateMachine
 
{
 
public:
public:
 
 
  friend class  JtagSC;
  friend class  JtagSC;
  friend class  TapAction;
  friend class  TapAction;
  friend class  TapActionDRScan;
  friend class  TapActionDRScan;
  friend class  TapActionIRScan;
  friend class  TapActionIRScan;
  friend class  TapActionReset;
  friend class  TapActionReset;
 
 
 
 
protected:
protected:
 
 
  //! The number of cycles of TMS=1 required to force reset
  //! The number of cycles of TMS=1 required to force reset
  static const int TAP_RESET_CYCLES = 5;
  static const int TAP_RESET_CYCLES = 5;
 
 
Line 124... Line 117...
 
 
  // Drive the TAP state machine
  // Drive the TAP state machine
  void  nextState (bool tms);
  void  nextState (bool tms);
 
 
  // Determine if we are in a particular target state
  // Determine if we are in a particular target state
  bool  targetState (TapState  target,
        bool targetState(TapState target, bool & tms);
                     bool     &tms);
 
 
 
private:
private:
 
 
  //! The current TAP state
  //! The current TAP state
  TapState  state;
  TapState  state;
Line 140... Line 132...
  //! user classes to set this.
  //! user classes to set this.
  bool  resetDone;
  bool  resetDone;
 
 
};      // class TapStateMachine
};      // class TapStateMachine
 
 
 
 
#endif  // TAP_STATE_MACHINE__H
#endif  // TAP_STATE_MACHINE__H
 
 
 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.