|
| | jdriver (int port, std::string &host, uint64_t seed, ProtocolPP::endian_t endianess, std::shared_ptr< InterfacePP::jmmu > &mmu, std::shared_ptr< InterfacePP::jlogger > &logger, std::shared_ptr< InterfacePP::jring< InterfacePP::ringin >> &iring, std::shared_ptr< InterfacePP::jring< InterfacePP::ringout >> &oring, std::shared_ptr< Q > &secass_snd, std::shared_ptr< Q > &secass_rcv) |
| |
|
virtual | ~jdriver () |
| | standard deconstructor
|
| |
| uint64_t | write_mem (uint8_t *data, uint32_t length) |
| |
| void | send () |
| |
| void | receive () |
| |
| uint32_t | get_status (std::string &packet) |
| |
| void | teardown (std::shared_ptr< Q > &secass_snd, std::shared_ptr< Q > &secass_rcv) |
| |
|
void | teardown () |
| | terminate the driver
|
| |
|
| jdriver (jdriver &rhs)=delete |
| |
|
| jdriver (const jdriver &rhs)=delete |
| |
◆ jdriver()
jdriver uses protocol++ to drive packets into a ring which can then be read by any device that supports a ring
- Parameters
-
| port | - port number |
| host | - string of the host name |
| seed | - seed for the randomizer |
| mmu | - tracks dynamic memory |
| logger | - object to print output |
| iring | - Software ring for the input packets |
| oring | - Software ring for the output packets |
| secass_snd | - Security association for send |
| secass_rcv | - Security association for receive |
| endianess | - Endianess of the platform to support |
◆ get_status()
template<typename Q >
| uint32_t jdriver::get_status |
( |
std::string & |
packet | ) |
|
retrieve the status word
- Returns
- - status of the indicated packet
◆ receive()
Issues the packet into the testbench or system must be overloaded in user's code
- See also
- jpacket
◆ send()
Issues the packet into the testbench or system must be overloaded in user's code
- See also
- jpacket
◆ teardown()
template<typename Q >
| void jdriver::teardown |
( |
std::shared_ptr< Q > & |
secass_snd, |
|
|
std::shared_ptr< Q > & |
secass_rcv |
|
) |
| |
terminate the driver and return the security associations
- Parameters
-
| secass_snd | - Security Association for sending packets |
| secass_rcv | - Security Association for receiving packets |
◆ write_mem()
template<typename Q >
| uint64_t jdriver::write_mem |
( |
uint8_t * |
data, |
|
|
uint32_t |
length |
|
) |
| |
Write function to overload in your testbench
- Parameters
-
| data | - Data to write to memory |
| length | - length of data to write |
- Returns
- address - Address data written to
The documentation for this class was generated from the following file:
- drivers/include/jdriver.h