prga.netlist.net.common module¶
Common enums and abstract base class for nets.
-
class
prga.netlist.net.common.
AbstractNet
¶ Bases:
prga.util.Object
,collections.abc.Sequence
Abstract class for all nets and net references.
-
_auto_index
(index)¶
-
is_clock
¶ Test if this net is part of a clock network.
Type: bool
-
-
class
prga.netlist.net.common.
AbstractNonReferenceNet
¶ Bases:
prga.netlist.net.common.AbstractNet
Abstract class for all non-reference nets.
-
is_sink
¶ Test if this net can be driven by other nets.
Type: bool
-
is_source
¶ Test if this net can be used as drivers of other nets.
Type: bool
-
-
class
prga.netlist.net.common.
Concat
(items)¶ Bases:
prga.netlist.net.common.AbstractNet
A concatenation of slices and/or buses.
Parameters: items ( Sequence
[AbstractNet
]) – Items to be contenated togetherDirect instantiation of this class is not recommended. Use
NetUtils.concat
instead.-
is_clock
¶ Test if this net is part of a clock network.
Type: bool
-
items
¶
-
-
class
prga.netlist.net.common.
Const
(value=None, width=None)¶ Bases:
prga.netlist.net.common.AbstractNonReferenceNet
Constant-value nets used as tie-high/low or unconnected status marker for sinks.
Parameters: - value (
int
) – Value of this constant. UseNone
to represent “unconnected” - width (
int
) – Number of bits in this net
-
_Const__singletons
= {}¶
-
_value
¶
-
_width
¶
-
is_clock
¶ Test if this net is part of a clock network.
Type: bool
-
is_sink
¶ Test if this net can be driven by other nets.
Type: bool
-
is_source
¶ Test if this net can be used as drivers of other nets.
Type: bool
-
value
¶ Value of this constant net.
Type: int
- value (
-
class
prga.netlist.net.common.
NetType
¶ Bases:
prga.util.Enum
Enum type for nets and net references.
-
bit
= 3¶ one single bit in a bus
-
concat
= 6¶ concatenations of buses and/or subsets
-
const
= 0¶ constant-value nets
-
hierarchical
= 4¶ hierarchical pin buses
-
is_reference
¶ Test if this type is a reference.
Type: bool
-
pin
= 2¶ pin (input/output of an instance in a module) buses
-
port
= 1¶ port (input/output of a module) buses
-
slice_
= 5¶ consecutive subsets (slices) of a bus
-
-
class
prga.netlist.net.common.
PortDirection
¶ Bases:
prga.util.Enum
Enum type for port/pin directions.
-
input_
= 0¶ input direction
-
opposite
¶ The opposite of the this direction.
Returns: the enum value of the opposite direction. Return type: PortDirection
-
output
= 1¶ output direction
-
-
class
prga.netlist.net.common.
Slice
(bus, range_)¶ Bases:
prga.netlist.net.common.AbstractNet
Reference to a consecutive subset of a bus.
Parameters: - bus (
AbstractNet
) – The referenced bus - range (
slice
) – Range of the bit(s) in the bus.
Do not directly instantiate this class. Index into the bus instead, e.g.
module.ports[0:4]
-
bus
¶
-
index
¶ Index of the bit in the bus. Only valid when this object is a bit reference, i.e. length equals to 1.
Type: int
-
is_clock
¶ Test if this net is part of a clock network.
Type: bool
-
range_
¶
- bus (
-
class
prga.netlist.net.common.
TimingArcType
¶ Bases:
prga.util.Enum
Timing arc types.
-
comb_bitwise
= 0¶ combinational propagation delay of a bitwise timing arc
-
comb_matrix
= 1¶ combinational propagation delay of an all-to-all timing arc
-
seq_end
= 3¶ clock -> sequential endpoint(s), i.e., setup & hold
-
seq_start
= 2¶ clock -> sequential startpoint(s), i.e., clk2q
-