Design Decisions#
A collection of notes to explain some of the design decisions to potential developers and advanced users
‘Pure’ Python#
The peakrdl-python RAL was designed to have very limited dependencies on other packages once deployed, this includes the peakrdl-python packages itself, so the library classes are copied into the generated package.
It does need a few packages inorder to build it:
systemrdl-compiler
jinja2
Integer Data Types#
All the APIs present memory, register and field entries as python integers. This abstracts, the complexity of byte ordering and reversed registers.
Blocks of Data#
Changed in version 0.9.0: blocks of data (for example memories were accessed as python array.array previously. This did not support width of larger than 128 bits therefore this was changed to list.