27 m_filename(
std::string(
"")),
37 setTitle(
"Proto40MHz_v1 A3PE_BitFlip test" );
50 debug(
"A3PE_BitFlip" ,
"initialize");
53 info(
"____________________________");
54 info(
"A3PE bit flip test");
61 warning(
"A3PE_BitFlip",
"No Proto40MHz_v1 board found. Interrupt." );
86 info(
"Dynamic Random RAM mode.");
92 warning(
"In internal loop the offset should be -3 with a Latency of 4 at least");
93 warning(
"In external loop the offset should be -6 with a Latency of 5 at least");
110 debug(
"A3PE_BitFlip" ,
"execute");
111 unsigned long latency;
133 bool errLatencySeen=
false;
134 for (
unsigned int d=0; d<
m_length; ++d){
135 unsigned int position=(d+latency+
m_offset)%512;
141 if (!errLatencySeen) {
146 sprintf(line,
"%3d -> %1d %1d %1d %1d / %1d %1d %1d %1d",
174 for (
int i=0; i<depth ; ++i){
175 m_data[4*i ]=(
unsigned int) ( (
float)rand()/RAND_MAX * 255. );
176 m_data[4*i+1]=(
unsigned int) ( (
float)rand()/RAND_MAX * 255. );
177 m_data[4*i+2]=(
unsigned int) ( (
float)rand()/RAND_MAX * 255. );
178 m_data[4*i+3]=(
unsigned int) ( (
float)rand()/RAND_MAX * 255. );
void info(std::string mymsg)
virtual ~A3PE_BitFlip()
Destructor.
virtual StatusCode write()
StatusCode setAddToAXRam(int)
void setName(std::string name)
void loadToAX(std::string)
virtual StatusCode execute()
StatusCode startSequenceAX()
virtual StatusCode read()
StatusCode randomValues()
void setType(std::string type)
void error(std::string mymsg)
void debug(std::string mymsg)
StatusCode setLatencyAX(unsigned int)
void setTitle(std::string title)
A3PE_BitFlip()
Standard constructor.
virtual StatusCode initialize()
StatusCode setAddFromAXRam(int)
unsigned int m_latencyMin
unsigned int m_latencyMax
virtual StatusCode finalize()
void warning(std::string mymsg)
StatusCode setAXRamUsb(bool)
bool internalAXSequence()