chipflow_lib.config_models#

Attributes#

Classes#

PadConfig

Configuration for a pad in chipflow.toml.

SiliconConfig

Configuration for silicon in chipflow.toml.

StepsConfig

Configuration for steps in chipflow.toml.

ChipFlowConfig

Root configuration for chipflow.toml.

Config

Root configuration model for chipflow.toml.

Module Contents#

class chipflow_lib.config_models.PadConfig(/, **data)#

Bases: pydantic.BaseModel

Configuration for a pad in chipflow.toml.

Parameters:

data (Any)

type: Literal['io', 'i', 'o', 'oe', 'clock', 'reset', 'power', 'ground']#
loc: str#
validate_loc_format()#

Validate that the location is in the correct format.

classmethod validate_pad_dict(v, info)#

Custom validation for pad dicts from TOML that may not have all fields.

Parameters:
  • v (dict)

  • info (pydantic.ValidationInfo)

chipflow_lib.config_models.Voltage#
class chipflow_lib.config_models.SiliconConfig(/, **data)#

Bases: pydantic.BaseModel

Configuration for silicon in chipflow.toml.

Parameters:

data (Any)

process: chipflow_lib.platforms.utils.Process#
package: Literal['caravel', 'cf20', 'pga144']#
power: Dict[str, Voltage]#
debug: Dict[str, bool] | None = None#
pads: Dict[str, PadConfig] | None#
classmethod validate_pad_dicts(v, info)#

Pre-process pad dictionaries to handle legacy format.

Parameters:

info (pydantic.ValidationInfo)

class chipflow_lib.config_models.StepsConfig(/, **data)#

Bases: pydantic.BaseModel

Configuration for steps in chipflow.toml.

Parameters:

data (Any)

silicon: str#
class chipflow_lib.config_models.ChipFlowConfig(/, **data)#

Bases: pydantic.BaseModel

Root configuration for chipflow.toml.

Parameters:

data (Any)

project_name: str | None = None#
top: Dict[str, Any]#
steps: StepsConfig#
silicon: SiliconConfig#
clocks: Dict[str, str] | None = None#
resets: Dict[str, str] | None = None#
class chipflow_lib.config_models.Config(/, **data)#

Bases: pydantic.BaseModel

Root configuration model for chipflow.toml.

Parameters:

data (Any)

chipflow: ChipFlowConfig#