This is a plugin for LibreLane that integrates FABulous.
It provides two custom flows:
FABulousTile- Used to harden a tile or supertile.FABulousFabric- Used to stitch the tiles into a fabric.
Example tile libraries can be found in this repository: https://github.com/mole99/fabulous-tiles Examples of fabrics using these tile libraries can be found under: https://github.com/mole99/fabulous-fabrics
Important
For documentation about tile stitching, please see the README in the docs.
The config.json needs to be placed in the same directory as the tile.csv file.
- Set
DESIGN_NAMEto the name of the tile, e.g.LUT4AB. - Set
CLOCK_PORTto the clock port of the tile.
Additional configuration variables:
FABULOUS_EXTERNAL_SIDE:Optional[Literal["N", "E", "S", "W"]]The side of the macro at which the external pins are placed.FABULOUS_SUPERTILE:Optional[bool]Is the tile a supertile?FABULOUS_TILE_DIR:PathPath to the tile directory where the tile CSV file is located.
- Set
DESIGN_NAMEto the name of your fabric. - Add your models and custom cells to
VERILOG_FILES, e.g.["models_pack.v", "custom.v"].
Additional configuration variables:
FABULOUS_FABRIC_CONFIG:PathThe fabric configuration CSV file. It includes the tile map of the fabric, the parameters, and paths to the tiles.FABULOUS_TILE_LIBRARY:PathThe path to the tile library.FABULOUS_TILE_SPACING:Optional[Decimal]The spacing between tiles.FABULOUS_HALO_SPACING:Optional[Tuple[Decimal, Decimal, Decimal, Decimal]]The spacing around the fabric. [left, bottom, right, top]FABULOUS_SPEF_CORNERS:Optional[List[str]]The SPEF corners to use for the tile macros.
Enable a shell with the plugin:
nix-shellChecking if the plugin is recognized by LibreLane:
$ nix develop --command librelane --version
[…]
Discovered plugins:
librelane_plugin_fabulous -> 1.0.0Apache License, version 2.0.
See License.