In the rhea package there are numerous functions,
~~modules~~ blocks, and objects that are used to develop a core.
The following is a list of the most commonly used.
Core development¶
-
class
rhea.system.Global(clock=None, reset=None, frequency=1)¶
-
class
rhea.system.Clock(val, frequency=1)¶
-
class
rhea.system.Reset(val, active, isasync)¶
-
rhea.system.Signals(sigtype, num_sigs)¶ Create a list of signals :param sigtype: The type to create a Signal from. :type sigtype: bool, intbv :param num_sigs: The number of signals to create in the list :type num_sigs: int
Returns: a list of signals all of type sigtype Return type: sigs Creating multiple signals of the same type is common, this function helps facilitate the creation of multiple signals of the same type.
- The following example creates two signals of bool
>>> enable, timeout = Signals(bool(0), 2)
- The following creates a list-of-signals of 8-bit types
>>> mem = Signals(intbv(0)[8:], 256)
-
class
rhea.system.ControlStatusBase¶
Memory-mapped interfaces
Streaming interfaces
-
rhea.cores.misc.assign()¶ assign a = b
-
rhea.cores.misc.syncro()¶ signal synchronizer
Parameters: - sigin – signal input.
- sigout – synchronized signal output.
- posedge – a positive edge in the sync
- negedge – a negitive edge in the sync
- num_sync_ff – the number of sync stages.