Difference between revisions of "Ratrob"
From Vlsiwiki
Line 1: | Line 1: | ||
THIS PAGE IS UNDER CONSTUCTION | THIS PAGE IS UNDER CONSTUCTION | ||
− | ==Fetch Engine | + | ==Fetch Engine== |
− | ===Branch Predictor | + | ===[[Branch Predictor I/F]]=== |
− | * | + | *<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)