define¶
Fabric definition enumerations and constants.
This module defines various enumerations used throughout FABulous for fabric definition, including I/O types, directions, sides, and configuration modes.
Classes¶
|
Enumeration for configuration bit access modes. |
|
Enumeration for wire and port directions in the fabric. |
|
Enumeration for FABulous attributes in the HDL. |
|
Enumeration for HDLs supported by FABulous. |
|
Enumeration for I/O port directions. |
|
Enumeration for multiplexer implementation styles. |
|
Enumeration for pin sorting modes. |
|
Enumeration for tile sides and placement. |
|
Named tuple representing the size of a tile. |
Module Contents¶
ConfigBitMode¶
- ConfigBitMode(*args, **kwds) :module:
Inheritance: → ConfigBitMode
Enumeration for configuration bit access modes.
Defines how configuration bits are accessed and programmed: - FRAME_BASED: Frame-based configuration - FLIPFLOP_CHAIN: Flip-flop chain configuration
Direction¶
- Direction(*args, **kwds) :module:
Inheritance: → Direction
Enumeration for wire and port directions in the fabric.
Defines the directional flow of wires and ports: - NORTH: Northward direction - SOUTH: Southward direction - EAST: Eastward direction - WEST: Westward direction - JUMP: Local connections within a tile
FABulousAttribute¶
- FABulousAttribute :module:
Inheritance: → FABulousAttribute
Enumeration for FABulous attributes in the HDL.
This enumeration includes the following values: - EXTERNAL: External attribute - SHARED_PORT: Shared port attribute - GLOBAL: Global attribute - USER_CLK: User clock attribute - CONFIG_BIT: Configuration bit attribute
Initialize self. See help(type(self)) for accurate signature.
HDLType¶
- HDLType :module:
Inheritance: → HDLType
Enumeration for HDLs supported by FABulous.
This enumeration includes the following values: - VERILOG: Verilog HDL - VHDL: VHDL HDL - SYSTEM_VERILOG: SystemVerilog HDL
Initialize self. See help(type(self)) for accurate signature.
IO¶
- IO(*args, **kwds) :module:
Inheritance: → IO
Enumeration for I/O port directions.
Defines the direction of ports in fabric components: - INPUT: Input port - OUTPUT: Output port - INOUT: Bidirectional port - NULL: No connection/unused port
MultiplexerStyle¶
- MultiplexerStyle(*args, **kwds) :module:
Inheritance: → MultiplexerStyle
Enumeration for multiplexer implementation styles.
Defines how multiplexers are implemented in the fabric: - CUSTOM: Custom multiplexer implementations which instantiate a
custom multiplexer layout.
- GENERIC: Generic/standard multiplexer implementations which uses behavioral
modeling and will use standard cells in the physical implementation.
PinSortMode¶
- PinSortMode :module:
Inheritance: → PinSortMode
Enumeration for pin sorting modes.
Initialize self. See help(type(self)) for accurate signature.
Side¶
- Side :module:
Inheritance: → Side
Enumeration for tile sides and placement.
Defines the physical sides of tiles in the fabric: - NORTH: North side of tile - SOUTH: South side of tile - EAST: East side of tile - WEST: West side of tile - ANY: Any side (no specific placement)
Initialize self. See help(type(self)) for accurate signature.
TileSize¶
- TileSize :module:
Inheritance: → TileSize
Named tuple representing the size of a tile.