#include <bus.h>
Inheritance diagram for lcs::Bus< bits >:
bits | The number of data lines in the bus. |
Public Member Functions | |
Bus (void) | |
Bus (const Bus< bits > &bus) | |
virtual | ~Bus () |
Line & | operator[] (int index) |
template<int w> | |
const Bus< w+bits > | operator * (const Bus< w > &bus) const |
const Bus< bits+1 > | operator * (const Line &line) const |
void | operator= (int value) |
Private Member Functions | |
void | drive (Module *mod) |
void | unDrive (Module *mod) |
Friends | |
class | Bus |
The default constructor. The data lines are all initialised to the lcs::UNKNOWN state.
This function is inherited from InputBus. However, it has been declared private so that the user is prevented from using a Bus object to drive/un-drive a module.
Reimplemented from lcs::InputBus< bits >.
The overloaded operator to join a data line to a bus to form a new bus. The line to be joined will have to be the right operand. The joined line takes the MSB location in the resulting Bus object.
line | The right operand lcs::Line object. |
Reimplemented from lcs::InputBus< bits >.
const Bus< w+bits > lcs::Bus< bits >::operator * | ( | const Bus< w > & | bus | ) | const |
The overloaded operator to join data lines from two busses and form a new bus from these. The right operand bus takes the MSB locations.
bits | The width of the left-operand bus | |
w | The width of the right operand bus | |
bus | The right operand Bus object. |
void lcs::Bus< bits >::operator= | ( | int | value | ) |
The assignment operator which sets the data lines to a binary equivalent of the decimal argument value
.
value | The decimal equivalent of the binary value which has to be set. |
The operator which can be used to read and write data onto the lines of the bus.
index | The index of the data line in the bus. Note that all data in libLCS is stored in the little-endian format. |
This function is inherited from InputBus. However, it has been declared private so that the user is prevented from using a Bus object to drive/un-drive a module.
Reimplemented from lcs::InputBus< bits >.
friend class Bus [friend] |
Bus classes of other sizes are friends of this class.