FABulous.fabric_definition.define ================================= .. py:module:: FABulous.fabric_definition.define .. autoapi-nested-parse:: 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 ------- .. py:class:: ConfigBitMode(*args, **kwds) **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:** .. py:class:: Direction(*args, **kwds) **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:** .. py:class:: FABulousAttribute() **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:** .. py:class:: HDLType() **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:** .. py:class:: IO(*args, **kwds) **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:** .. py:class:: MultiplexerStyle(*args, **kwds) **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:** .. py:class:: Side(*args, **kwds) **Bases:** 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) **Methods:**