hdl_registers.generator.vhdl.axi_lite package
Submodules
hdl_registers.generator.vhdl.axi_lite.wrapper module
- class hdl_registers.generator.vhdl.axi_lite.wrapper.VhdlAxiLiteWrapperGenerator(register_list: RegisterList, output_folder: Path)
Bases:
VhdlGeneratorCommon
Generate a VHDL wrapper around a generic AXI-Lite register file with correct generics and ports. See the VHDL generator article for usage details.
The wrapper will set the correct generics and will use record types for
regs_up
andregs_down
. This makes it very easy-to-use and saves a lot of manual conversion.The file is dependent on the packages from
VhdlRegisterPackageGenerator
andVhdlRecordPackageGenerator
. See also Dependencies for further dependencies.Note that the
regs_up
port is only available if there are any registers of a type where hardware gives a value to the bus. For example a “Read” register. If instead, for example, there are only “Write” registers, theregs_up
port will not be available and the type for it is not available in the VHDL package.Same, but vice versa, for the
regs_down
port. Will only be available if there are any registers of a type where the bus provides a value to the hardware, e.g. “Read, Write”.Similar concept for the
reg_was_read
andreg_was_written
ports. They are only present if there are any readable/writeable registers in the register list.- SHORT_DESCRIPTION = 'VHDL AXI-Lite register file'
- create(**kwargs: Any) Path
See super class for API details.
Overloaded here because this file shall only be created if the register list actually has any registers.