00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 struct AmbaMasterData
00018 {
00019
00020 public:
00021 AmbaMasterData() : adr(31,0),
00022 wdata(31,0),
00023 rdata(31,0),
00024 trans(1,0),
00025 size(2,0),
00026 burst(2,0) {};
00027
00028 tbvSignal4StateT adr ;
00029 tbvSignal4StateT wdata ;
00030 tbvSignal4StateT rdata ;
00031 tbvSignal4StateT trans ;
00032 tbvSignal4StateT size ;
00033 tbvSignal4StateT burst ;
00034 tbvSignal4StateT wrt ;
00035
00036
00037
00038 } ;
00039
00040
00041 struct AmbaMasterBuf
00042 {
00043
00044 public:
00045 AmbaMasterBuf() : wdtbf(31,0)
00046 {
00047 wflg = 0 ;
00048 rflg = 0 ;
00049 next_rflg = 0 ;
00050 wdtbf = 0x00000000 ;
00051 } ;
00052
00053 tbvSignal4StateT wflg ;
00054 tbvSignal4StateT rflg ;
00055 tbvSignal4StateT next_rflg ;
00056 tbvSignal4StateT wdtbf ;
00057
00058 } ;
00059
00060
00061
00062
00068 class AmbaMaster
00069 {
00070 AmbaMasterBuf GFLAG ;
00071
00072 public:
00073
00074 AmbaMaster(){} ;
00075 ~AmbaMaster(){} ;
00076
00077 int AmbaMasterOnecycle( AmbaMasterData * ) ;
00078
00079 int AmbaMasterTransferCtl
00080 (
00081 tbvFastQueueT<AmbaMasterData> * ,
00082 tbvFastQueueT<AmbaMasterData> *
00083 ) ;
00084
00085
00086
00087
00088 int AmbaMasterSingle(
00089 tbvFastQueueT<AmbaMasterData> * ,
00090 tbvFastQueueT<AmbaMasterData> *
00091 ) ;
00092
00095
00096 int AmbaMasterBurstIncr(
00097 tbvFastQueueT<AmbaMasterData> * ,
00098 tbvFastQueueT<AmbaMasterData> *
00099 ) ;
00100
00102 int AmbaMasterBurstIncr4(
00103 tbvFastQueueT<AmbaMasterData> * ,
00104 tbvFastQueueT<AmbaMasterData> *
00105 ) ;
00106
00108 int AmbaMasterBurstIncr8(
00109 tbvFastQueueT<AmbaMasterData> * ,
00110 tbvFastQueueT<AmbaMasterData> *
00111 ) ;
00112
00114 int AmbaMasterBurstIncr16(
00115 tbvFastQueueT<AmbaMasterData> * ,
00116 tbvFastQueueT<AmbaMasterData> *
00117 ) ;
00118
00121
00122 int AmbaMasterBurstWrap4(
00123 tbvFastQueueT<AmbaMasterData> * ,
00124 tbvFastQueueT<AmbaMasterData> *
00125 ) ;
00126
00128 int AmbaMasterBurstWrap8(
00129 tbvFastQueueT<AmbaMasterData> * ,
00130 tbvFastQueueT<AmbaMasterData> *
00131 ) ;
00132
00134 int AmbaMasterBurstWrap16(
00135 tbvFastQueueT<AmbaMasterData> * ,
00136 tbvFastQueueT<AmbaMasterData> *
00137 ) ;
00138
00141
00142 int AmbaMasterIdle(
00143 tbvFastQueueT<AmbaMasterData> * ,
00144 tbvFastQueueT<AmbaMasterData> *
00145 ) ;
00146
00147
00151
00153 int AmbaMasterComp(
00154 tbvFastQueueT<AmbaMasterData> *
00155 ) ;
00156
00158 int AmbaMasterCompComp(
00159 AmbaMasterData * ,
00160 tbvSignal4StateT
00161 ) ;
00162
00164 int AmbaMasterSingleComp(
00165 tbvFastQueueT<AmbaMasterData> * ,
00166 tbvFastQueueT<AmbaMasterData> *
00167 ) ;
00168
00171
00172 int AmbaMasterBurstIncrComp(
00173 tbvFastQueueT<AmbaMasterData> * ,
00174 tbvFastQueueT<AmbaMasterData> *
00175 ) ;
00176
00178 int AmbaMasterBurstIncr4Comp(
00179 tbvFastQueueT<AmbaMasterData> * ,
00180 tbvFastQueueT<AmbaMasterData> *
00181 ) ;
00182
00184 int AmbaMasterBurstIncr8Comp(
00185 tbvFastQueueT<AmbaMasterData> * ,
00186 tbvFastQueueT<AmbaMasterData> *
00187 ) ;
00188
00190 int AmbaMasterBurstIncr16Comp(
00191 tbvFastQueueT<AmbaMasterData> * ,
00192 tbvFastQueueT<AmbaMasterData> *
00193 ) ;
00194
00197
00198 int AmbaMasterBurstWrap4Comp(
00199 tbvFastQueueT<AmbaMasterData> * ,
00200 tbvFastQueueT<AmbaMasterData> *
00201 ) ;
00202
00204 int AmbaMasterBurstWrap8Comp(
00205 tbvFastQueueT<AmbaMasterData> * ,
00206 tbvFastQueueT<AmbaMasterData> *
00207 ) ;
00208
00210 int AmbaMasterBurstWrap16Comp(
00211 tbvFastQueueT<AmbaMasterData> * ,
00212 tbvFastQueueT<AmbaMasterData> *
00213 ) ;
00214
00217
00218 int AmbaMasterIdleComp(
00219 tbvFastQueueT<AmbaMasterData> *
00220 ) ;
00222
00223 void AmbaMasterWait( int ) ;
00224 void AmbaMasterWaitResetUp() ;
00225
00226 } ;
00227
00228