Difference between revisions of "Ratrob"

From Vlsiwiki
Jump to: navigation, search
Line 1: Line 1:
 
THIS PAGE IS UNDER CONSTUCTION
 
THIS PAGE IS UNDER CONSTUCTION
  
==Fetch Engine → RobRat Interface==
+
==Fetch Engine==
===Branch Predictor Msg===
+
===[[Branch Predictor I/F]]===
* <b>[[BPredRecoveryType]]</b>
+
*<b> BPredRecoveryType </b>   
 +
<span style="color:Blue"> <i> OUTPUT </i></span>
  
 
::{| height=”50”
 
::{| height=”50”
Line 25: Line 26:
 
|width=100pt | <span style="color:Crimson"> <b> state </b></span>
 
|width=100pt | <span style="color:Crimson"> <b> state </b></span>
 
|width=100pt | (9 bits)
 
|width=100pt | (9 bits)
 +
|}
 +
 +
*<b> Status Flag </b>   
 +
<span style="color:Blue"> <i> OUTPUT </i></span>
 +
::{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> rr_empty </b></span>
 +
|width=100pt | (1 bits)
 +
|}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
===[[Crack I/F]]===
 +
*<b> Constants </b>   
 +
::{| height=”50”
 +
|width=150pt |<i> const  ClusterIdType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> CLUSTER_AUNIT </b></span>
 +
|width=100pt | 2'b00
 +
|-
 +
|width=150pt |<i> const ClusterIdType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> CLUSTER_AUNIT </b></span>
 +
|width=100pt | 2'b01
 +
|-
 +
|width=150pt |<i> const ClusterIdType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> CLUSTER_AUNIT </b></span>
 +
|width=100pt | 2'b10
 +
|-
 +
|width=150pt |<i> const ClusterIdType  </i>
 +
|width=100pt | <span style="color:Crimson"> <b> CLUSTER_AUNIT </b></span>
 +
|width=100pt | 2'b11
 +
|}
 +
 +
*<b> LRegType </b>   
 +
::{| height=”50”
 +
! Range of Register
 +
|-
 +
|width=150pt |<i> 0..31 </i>
 +
|width=200pt | <span style="color:Crimson"> <b> integer logical register </b></span>
 +
|-
 +
|width=150pt |<i> 32..63  </i>
 +
|width=200pt | <span style="color:Crimson"> <b> FP logical register </b></span>
 +
|-
 +
|width=150pt |<i> 64..74</i>
 +
|width=200pt | <span style="color:Crimson"> <b> special use registers </b></span>
 +
|}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
::{| height=”50”
 +
!Special Use Registers Definitions
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ZERO </b></span>
 +
|width=100pt | 7'b0000000;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_CEXC </b></span>
 +
|width=100pt | 7'd64;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ PSR  </b></span>
 +
|width=100pt | 7'd65;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ WIM  </b></span>
 +
|width=100pt | 7'd66;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ CWP  </b></span>
 +
|width=100pt | 7'd67;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ TBR  </b></span>
 +
|width=100pt | 7'd68;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ Y  </b></span>
 +
|width=100pt | 7'd69;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ FSR  </b></span>
 +
|width=100pt | 7'd70;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ ICC  </b></span>
 +
|width=100pt | 7'd71;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ FCC  </b></span>
 +
|width=100pt | 7'd672;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ PC  </b></span>
 +
|width=100pt | 7'd73;
 +
|-
 +
|width=150pt |<i> const  LRegType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> LOG_ TMP  </b></span>
 +
|width=100pt | 7'd74;
 +
|}
 +
 +
*<b> DInst_CRType </b>   
 +
<span style="color:Blue"> <i> INPUT </i></span>
 +
 +
::{| height=”50”
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> valid </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> slow </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> ‘’’OPType ‘’’</i>
 +
|width=100pt | <span style="color:Crimson"> <b> op </b></span>
 +
|width=100pt | 10 bits)
 +
|-
 +
|width=150pt |<i> ‘’’IMMType ‘’’</i>
 +
|width=100pt | <span style="color:Crimson"> <b> imm </b></span>
 +
|width=100pt | (32 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> expop </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> cexc </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> aexc_clear </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> icc </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BoolType''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> useY </b></span>
 +
|width=100pt | (1 bits)
 +
|-
 +
|width=150pt |<i> '''BPredStateType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> state </b></span>
 +
|width=100pt | (9 bits)
 +
|-
 +
|width=150pt |<i> ''' ClusterIdType ‘’’</i>
 +
|width=100pt | <span style="color:Crimson"> <b> id </b></span>
 +
|width=100pt | (3 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> ldest </b></span>
 +
|width=100pt | (7 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> lsrc1</b></span>
 +
|width=100pt | (7 bits)
 +
|-
 +
|width=150pt |<i> ''' LRegType ''' </i>
 +
|width=100pt | <span style="color:Crimson"> <b> lsrc2</b></span>
 +
|width=100pt | (7 bits)
 +
|}
 +
*<b> Status Flag </b>   
 +
<span style="color:Blue"> <i> INPUT </i></span>
 +
::{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> sched_busy </b></span>
 +
|width=100pt | (1 bits)
 +
|}
 +
 +
::{| height=”50”
 +
|width=150pt |<i> BoolType </i>
 +
|width=100pt | <span style="color:Crimson"> <b> rr_clear </b></span>
 +
|width=100pt | (1 bits)
 
|}
 
|}

Revision as of 23:37, 17 May 2009

THIS PAGE IS UNDER CONSTUCTION

Fetch Engine

Branch Predictor I/F

  • BPredRecoveryType

OUTPUT

BoolType miss (1 bits)
BoolType taken (1 bits)
AddrType target_PC (32 bits)
AddrType addrs (32 bits)
BPredStateType state (9 bits)
  • Status Flag

OUTPUT

BoolType rr_empty (1 bits)






Crack I/F

  • Constants
const ClusterIdType CLUSTER_AUNIT 2'b00
const ClusterIdType CLUSTER_AUNIT 2'b01
const ClusterIdType CLUSTER_AUNIT 2'b10
const ClusterIdType CLUSTER_AUNIT 2'b11
  • LRegType
Range of Register
0..31 integer logical register
32..63 FP logical register
64..74 special use registers






Special Use Registers Definitions
const LRegType LOG_ZERO 7'b0000000;
const LRegType LOG_CEXC 7'd64;
const LRegType LOG_ PSR 7'd65;
const LRegType LOG_ WIM 7'd66;
const LRegType LOG_ CWP 7'd67;
const LRegType LOG_ TBR 7'd68;
const LRegType LOG_ Y 7'd69;
const LRegType LOG_ FSR 7'd70;
const LRegType LOG_ ICC 7'd71;
const LRegType LOG_ FCC 7'd672;
const LRegType LOG_ PC 7'd73;
const LRegType LOG_ TMP 7'd74;
  • DInst_CRType

INPUT

BoolType valid (1 bits)
BoolType slow (1 bits)
‘’’OPType ‘’’ op 10 bits)
‘’’IMMType ‘’’ imm (32 bits)
BoolType expop (1 bits)
BoolType cexc (1 bits)
BoolType aexc_clear (1 bits)
BoolType icc (1 bits)
BoolType useY (1 bits)
BPredStateType state (9 bits)
ClusterIdType ‘’’ id (3 bits)
LRegType ldest (7 bits)
LRegType lsrc1 (7 bits)
LRegType lsrc2 (7 bits)
  • Status Flag

INPUT

BoolType sched_busy (1 bits)
BoolType rr_clear (1 bits)