winIDEA SDK
|
Holds a batch of access operations including read, write, fill, and test.
Main benefits are that sequence is executed faster and can be saved for later to repeat it.
The CAccessBatch class:
This method allows user to queue multiple operations and execute them at once, as opposed to calling each action separately in user script. This saves time and number of communication cycles:
Python example: test_soc_ctrl_bus_access_batch.py
#include <CSessionCtrl.h>
Public Member Functions | |
uint32_t | fill (ADDRESS_64 offset, ADDRESS_64 num_MAUs, const std::vector< uint8_t > &data) |
Add fill operation to access batch queue, use destination relative to the address set in base() call. | |
uint32_t | fill_a (const SAddressInfo &address_info, ADDRESS_64 num_MAUs, const std::vector< uint8_t > &data) |
Add fill operation to access batch queue, use destination provided in address_info parameter. | |
uint32_t | ftrig (uint8_t n_trig) |
Add FNet trigger generation to access batch queue. | |
SPAccessBatchItem | item (uint32_t handle) |
Retrieves an access batch item by handle. | |
uint32_t | poll (ADDRESS_64 offset, const std::vector< uint8_t > &data, const std::vector< uint8_t > &mask, uint32_t timeout_us) |
Add poll operation to access batch queue, use destination relative to the address set in base() call. | |
uint32_t | poll_a (const SAddressInfo &address_info, const std::vector< uint8_t > &data, const std::vector< uint8_t > &mask, uint32_t timeout_us) |
Add poll operation to access batch queue, use destination provided in address_info parameter. | |
uint32_t | read (ADDRESS_64 offset, ADDRESS_64 num_MAUs) |
Add read operation to access batch queue, use destination relative to the address set in base() call. | |
uint32_t | read_a (const SAddressInfo &address_info, ADDRESS_64 num_MAUs) |
Add read operation to access batch queue, use destination provided in address_info parameter. | |
void | set_base (const SAddressInfo &address_info) |
Set base address for batch access entries added after this call. | |
uint32_t | write (ADDRESS_64 offset, const std::vector< uint8_t > &data) |
Add write operation to access batch queue, use destination relative to the address set in base() call. | |
uint32_t | write_a (const SAddressInfo &address_info, const std::vector< uint8_t > &data) |
Add write operation to access batch queue, use destination provided in address_info parameter. | |
uint32_t | write_CS_a (const SAddressInfo &address_info, SPCodeStore code_store) |
Add write operation, of data stored in code store, to access batch queue. | |
uint32_t isys::CAccessBatch::fill | ( | ADDRESS_64 | offset, |
ADDRESS_64 | num_MAUs, | ||
const std::vector< uint8_t > & | data ) |
Add fill operation to access batch queue, use destination relative to the address set in base() call.
offset | Offset to be added to base address for this operation. |
num_MAUs | Number of memory access units to fill. |
data | Data to be used for filling. |
TException | If operation could not be added (e.g. base address info is not set). |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::fill_a | ( | const SAddressInfo & | address_info, |
ADDRESS_64 | num_MAUs, | ||
const std::vector< uint8_t > & | data ) |
Add fill operation to access batch queue, use destination provided in address_info parameter.
address_info | Address info structure describing access destination (see SAddressInfo). |
num_MAUs | Number of memory access units to fill. |
data | Data to be used for filling. |
TException | If operation could not be added. |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::ftrig | ( | uint8_t | n_trig | ) |
Add FNet trigger generation to access batch queue.
More information on FNet triggers can be found in winIDEA help: FNet Communication Network / Overview / FNet Triggers and Actions
n_trig | Index of FNet trigger to generate. |
Python example (test_soc_ctrl_bus_access_batch.py):
SPAccessBatchItem isys::CAccessBatch::item | ( | uint32_t | handle | ) |
Retrieves an access batch item by handle.
Access batch item structure holds
handle | Handle identifying the access batch item. |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::poll | ( | ADDRESS_64 | offset, |
const std::vector< uint8_t > & | data, | ||
const std::vector< uint8_t > & | mask, | ||
uint32_t | timeout_us ) |
Add poll operation to access batch queue, use destination relative to the address set in base() call.
offset | Offset to be added to base address for this operation. |
data | Data to be compared. |
mask | Mask used for comparison. |
timeout_us | Timeout duration in microseconds. |
TException | If operation could not be added (e.g. base address info is not set). |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::poll_a | ( | const SAddressInfo & | address_info, |
const std::vector< uint8_t > & | data, | ||
const std::vector< uint8_t > & | mask, | ||
uint32_t | timeout_us ) |
Add poll operation to access batch queue, use destination provided in address_info parameter.
address_info | Address info structure describing access destination (see SAddressInfo). |
data | Data to be compared. |
mask | Mask used for comparison. |
timeout_us | Timeout duration in microseconds. |
TException | If operation could not be added. |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::read | ( | ADDRESS_64 | offset, |
ADDRESS_64 | num_MAUs ) |
Add read operation to access batch queue, use destination relative to the address set in base() call.
offset | Offset to be added to base address for this operation. |
num_MAUs | Number of memory access units to read. |
TException | If operation could not be added (e.g. base address info is not set). |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::read_a | ( | const SAddressInfo & | address_info, |
ADDRESS_64 | num_MAUs ) |
Add read operation to access batch queue, use destination provided in address_info parameter.
address_info | Address info structure describing access destination (see SAddressInfo). |
num_MAUs | Number of memory access units to read. |
TException | If operation could not be added. |
Python example (test_soc_ctrl_bus_access_batch.py):
void isys::CAccessBatch::set_base | ( | const SAddressInfo & | address_info | ) |
Set base address for batch access entries added after this call.
address_info | Address info structure describing base (see SAddressInfo). |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::write | ( | ADDRESS_64 | offset, |
const std::vector< uint8_t > & | data ) |
Add write operation to access batch queue, use destination relative to the address set in base() call.
offset | Offset to be added to base address for this operation. |
data | Data to be written. |
TException | If operation could not be added (e.g. base address info is not set). |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::write_a | ( | const SAddressInfo & | address_info, |
const std::vector< uint8_t > & | data ) |
Add write operation to access batch queue, use destination provided in address_info parameter.
address_info | Address info structure describing access destination (see SAddressInfo). |
data | Data to be written. |
TException | If operation could not be added. |
Python example (test_soc_ctrl_bus_access_batch.py):
uint32_t isys::CAccessBatch::write_CS_a | ( | const SAddressInfo & | address_info, |
SPCodeStore | code_store ) |
Add write operation, of data stored in code store, to access batch queue.
Use destination provided in address_info parameter.
address_info | Address info structure describing access destination (see SAddressInfo). |
code_store | Shared pointer to the code store. |
TException | If operation could not be added. |
Python example (test_soc_ctrl_bus_access_batch.py):