gen_npnr_model¶
Nextpnr model generation for FABulous FPGA fabrics.
This module provides functionality to generate nextpnr models from FABulous fabric definitions. The nextpnr model includes detailed descriptions of programmable interconnect points (PIPs), basic elements of logic (BELs), and routing resources needed for place-and-route operations.
The generated models enable nextpnr to understand the fabric architecture and perform placement and routing for user designs.
Functions¶
|
Generate the fabric's nextpnr model. |
|
Write the nextpnr pip file for the given fabric. |
Module Contents¶
- genNextpnrModel(fabric, delay_model=None) tuple[str, str, str, str][source]¶
Generate the fabric’s nextpnr model.
- Parameters:
fabric (Fabric) – Fabric object containing tile information.
delay_model (FABulousTimingModelInterface, optional) – Timing model interface to provide delay information, by default None.
- Returns:
pipStr: A string with tile-internal and tile-external pip descriptions.
belStr: A string with old style BEL definitions.
belv2Str: A string with new style BEL definitions.
constrainStr: A string with constraint definitions.
- Raises:
InvalidFileType – If matrixDir of a tile is not ‘.csv’ or ‘.list’ file.
InvalidState – If a wire in a tile points to an invalid tile outside the fabric bounds.
- writeNextpnrPipFile(fabric, outputFile, delay_model=None) None[source]¶
Write the nextpnr pip file for the given fabric.
- Parameters:
fabric (Fabric) – Fabric object containing tile information.
outputFile (Path) – File to write the pip information to.
delay_model (FABulousTimingModelInterface) – Timing model interface to provide delay information, by default None.