prga.integration.common module

class prga.integration.common.FabricIntf

Bases: prga.util.Object

Fabric interfaces collection.

class _memory_piton(id_=None, ecc_type=<FabricIntfECCType.parity_even: 2>)

Bases: prga.integration.common._BaseFabricIntf

class _memory_piton_axi4r(id_=None, ecc_type=<FabricIntfECCType.parity_even: 2>)

Bases: prga.integration.common._BaseFabricIntf

class _memory_piton_axi4w(id_=None, ecc_type=<FabricIntfECCType.parity_even: 2>)

Bases: prga.integration.common._BaseFabricIntf

class _softreg(id_=None, ecc_type=<FabricIntfECCType.parity_even: 2>, addr_width=12, data_bytes_log2=3, strb=False)

Bases: prga.integration.common._BaseFabricIntf, prga.integration.common._AbstractByteAddressedIntf

addr_width

Number of bits of the address bus.

Type:int
data_bytes_log2

log2 of the number of bytes in the data bus.

Type:int
strb
class _syscon(id_=None)

Bases: prga.integration.common._BaseIntf

memory_piton = FabricIntf[memory_piton](id=None, ecc=parity_even)
memory_piton_axi4r = FabricIntf[memory_piton_axi4r](id=None, ecc=parity_even)
memory_piton_axi4w = FabricIntf[memory_piton_axi4w](id=None, ecc=parity_even)
softreg = FabricIntf[softreg](id=None, ecc=parity_even, addr_width=12, data_bytes_log2=3, strb=n)
syscon = FabricIntf[syscon](id=None)
class prga.integration.common.FabricIntfECCType

Bases: prga.util.Enum

Error correction/check code type for the fabric interface.

ecc_bits
none = 0

No ECC Check

parity_even = 2

Even parity check (ECC = ~^payload)

parity_odd = 1

Odd parity check (ECC = ^ payload)

class prga.integration.common.ProgIntf

Bases: prga.util.Object

Programming interfaces collection.

Currently all programming interfaces are hardcoded.

class _reg_piton(id_=None)

Bases: prga.integration.common._BaseIntf, prga.integration.common._AbstractByteAddressedIntf

addr_width

Number of bits of the address bus.

Type:int
data_bytes_log2

log2 of the number of bytes in the data bus.

Type:int
reg_piton = ProgIntf[reg_piton](id=None)
class prga.integration.common.SystemIntf

Bases: prga.util.Object

System interfaces collection.

Currently all system interfaces are hardcoded.

class _memory_piton(id_=None)

Bases: prga.integration.common._BaseIntf

class _reg_piton(id_=None)

Bases: prga.integration.common._BaseIntf, prga.integration.common._AbstractByteAddressedIntf

addr_width

Number of bits of the address bus.

Type:int
data_bytes_log2

log2 of the number of bytes in the data bus.

Type:int
class _syscon(id_=None)

Bases: prga.integration.common._BaseIntf

memory_piton = SystemIntf[memory_piton](id=None)
reg_piton = SystemIntf[reg_piton](id=None)
syscon = SystemIntf[syscon](id=None)
class prga.integration.common._AbstractByteAddressedIntf

Bases: prga.util.Object

Abstract base class for byte-addressable interfaces.

addr_width

Number of bits of the address bus.

Type:int
data_bytes_log2

log2 of the number of bytes in the data bus.

Type:int
class prga.integration.common._BaseFabricIntf(id_=None, ecc_type=<FabricIntfECCType.parity_even: 2>)

Bases: prga.integration.common._BaseIntf

Base class for fabric interfaces.

Parameters:
ecc_type
class prga.integration.common._BaseIntf(id_=None)

Bases: prga.util.Object

Base interface.

Parameters:id (str) – Identifier of this interface
_id
id_

Identifier of this interface.

This is used when the fabric has multiple of the same interfaces, such as when multiple memory interfaces are supported.

Type:str