FABulous.fabric_definition.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#
- class ConfigBitMode(*args, **kwds)[source]#
Bases:
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
Methods:
- class Direction(*args, **kwds)[source]#
Bases:
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
Methods:
- class FABulousAttribute[source]#
Bases:
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.
Methods:
- class HDLType[source]#
Bases:
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.
Methods:
- class IO(*args, **kwds)[source]#
Bases:
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
Methods:
- class MultiplexerStyle(*args, **kwds)[source]#
Bases:
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.
Methods: