Overview
A ChipLib YAML file represents a single integrated circuit (IC) or IP block. The file is structured into four primary sections:
- Metadata: Top-level information identifying the chip.
- Defaults: Global settings applied to registers unless overridden.
- Enums: Shared enumeration definitions for bit-fields.
- Registers: The complete memory map definition.
Example Skeleton
chip: <String>
manufacturer: <String>
description: <String>
interface: <List[String]>
defaults:
register_width: <Integer>
byte_order: <"big" | "little">
access: <List[AccessCode]>
enums:
- symbol: <String>
values: [...]
registers:
- address: <Integer>
symbol: <String>
fields: [...]