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:

class Side(*args, **kwds)[source]#

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: