diff options
author | David Shah <dave@ds0.me> | 2019-11-28 20:45:49 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-12-27 10:44:30 +0000 |
commit | 6bf3c261fa3e13319430380096aca65042476ae3 (patch) | |
tree | 847d9136eee0f7c037b09a18d5e57aa23302bfeb /docs/netlist.md | |
parent | 035bfb0fe501fe5b840e83acaf781f2dffef8513 (diff) | |
download | nextpnr-6bf3c261fa3e13319430380096aca65042476ae3.tar.gz nextpnr-6bf3c261fa3e13319430380096aca65042476ae3.tar.bz2 nextpnr-6bf3c261fa3e13319430380096aca65042476ae3.zip |
First pass at data structures for hierarchy
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'docs/netlist.md')
-rw-r--r-- | docs/netlist.md | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/netlist.md b/docs/netlist.md index 0f9a8969..8886e4f8 100644 --- a/docs/netlist.md +++ b/docs/netlist.md @@ -19,6 +19,7 @@ Other structures used by these basic structures include: `CellInfo` instances have the following fields: - `name` and `type` are `IdString`s containing the instance name, and type + - `hierpath` is name of the hierarchical cell containing the instance, for designs with hierarchy - `ports` is a map from port name `IdString` to `PortInfo` structures for each cell port - `bel` and `belStrength` contain the ID of the Bel the cell is placed onto; and placement strength of the cell; if placed. Placement/ripup should always be done by `Arch::bindBel` and `Arch::unbindBel` rather than by manipulating these fields. - `params` and `attrs` store parameters and attributes - from the input JSON or assigned in flows to add metadata - by mapping from parameter name `IdString` to `Property`. @@ -34,6 +35,7 @@ Other structures used by these basic structures include: `NetInfo` instances have the following fields: - `name` is the IdString name of the net - for nets with multiple names, one name is chosen according to a set of rules by the JSON frontend + - `hierpath` is name of the hierarchical cell containing the instance, for designs with hierarchy - `driver` refers to the source of the net using `PortRef`; `driver.cell == nullptr` means that the net is undriven. Nets must have zero or one driver only. The corresponding cell port must be an output and its `PortInfo::net` must refer back to this net. - `users` contains a list of `PortRef` references to sink ports on the net. Nets can have zero or more sinks. Each corresponding cell port must be an input or inout; and its `PortInfo::net` must refer back to this net. - `wires` is a map that stores the routing tree of a net, if the net is routed. |