Version 3 (modified by 18 years ago) (diff) | ,
---|
Functional Description
This VCI target is an hardware locks controller.
VCI-based systems may have some difficulties implementing proper locking of target components as this can be done on buses. As a side-effect, locks and other atomic-access-based software resources can't be used. This component solves this problem implementing the atomic-access-like features on target side.
This components has one bit of information stored on each 32-bit addressable word:
- When read, its current value is returned, and it is implicitly set to 1
- When written to, it is reset to 0.
This way:
- A spin lock is a simple loop waiting to read 0
- Releasing the lock is a simple write operation
CABA Implementation
The caba implementation is in
- source:trunk/soclib/systemc/include/caba/target/vci_locks.h
- source:trunk/soclib/systemc/src/caba/target/vci_locks.cc
Template parameters:
- The VCI parameters
Constructor parameters
- Name
- Target index
- Mapping Table reference
Ports
- p_vci: the VCI port
- p_resetn: Global system reset
- p_clk: Global system clock
Attachments (1)
- VciLocks.png (1.1 KB) - added by 18 years ago.
Download all attachments as: .zip