4#include "pflib/WishboneTarget.h"
36 if (ilink<n_links && ilink>=0)
118 void readCounters(
int link, uint32_t& nonidles, uint32_t& resyncs);
137 void setupBigspy(
int mode,
int ilink,
int presamples);
171 void setDelay(
int ilink,
int idelay);
WishboneTarget for configuring the elinks.
Definition: Elinks.h:12
bool bigspyDone()
Check if the current bigspy is done.
Definition: Elinks.cxx:130
void setupBigspy(int mode, int ilink, int presamples)
Prepare for a big spy of the link.
Definition: Elinks.cxx:112
int n_links
number of links available, read from chip
Definition: Elinks.h:174
int getBitslip(int ilink)
Get the bitslip value for a given link.
Definition: Elinks.cxx:88
void scanAlign(int ilink)
scan the input link attempting to align it
Definition: Elinks.cxx:148
Elinks(WishboneInterface *wb, int target=tgt_Elinks)
wrap the wishbone interface and use the tgt_Elinks target
Definition: Elinks.cxx:54
void getBigspySetup(int &mode, int &ilink, int &presamples)
Read the current setup for a bigspy.
Definition: Elinks.cxx:122
int nlinks() const
Get the number of links stored in this class.
Definition: Elinks.h:24
void readCounters(int link, uint32_t &nonidles, uint32_t &resyncs)
Decode the counters for non-idles and resyncs from the status bytes for the input link.
Definition: Elinks.cxx:102
std::vector< uint8_t > spy(int ilink)
spy into the passed link
Definition: Elinks.cxx:63
void clearErrorCounters(int ilink)
Clear the error counters for the input link.
Definition: Elinks.cxx:99
void resetHard()
Hard reset the links.
Definition: Elinks.cxx:108
std::vector< uint32_t > bigspy()
Readout the bigspy and return the data.
Definition: Elinks.cxx:135
uint32_t getStatusRaw(int ilink)
Get the status of the input link.
Definition: Elinks.cxx:95
void setDelay(int ilink, int idelay)
Set the delay for the input link.
Definition: Elinks.cxx:171
void setBitslip(int ilink, int bitslip)
set the bitslip value for the link
Definition: Elinks.cxx:72
void setBitslipAuto(int ilink, bool enable)
enable auto-setting of bitslip value
Definition: Elinks.cxx:77
std::vector< int > phaseDelay
UNUSED.
Definition: Elinks.h:178
std::vector< bool > m_linksActive
which links are "active", set by user
Definition: Elinks.h:176
void markActive(int ilink, bool active)
Mark a specific link as active (or inactive) depending on input.
Definition: Elinks.h:35
bool isActive(int ilink) const
Check if a link is active.
Definition: Elinks.h:46
bool isBitslipAuto(int ilink)
check if a link is auto-setting the bitslip
Definition: Elinks.cxx:84
Abstract interface for wishbone transactions, used by ~all classes in pflib.
Definition: WishboneInterface.h:15
Parent class for standard wishbone targets providing some utilities.
Definition: WishboneTarget.h:29
Polarfire Interaction Library.
Definition: Backend.h:8