System Controller (Syscon)¶
The System Controller provides a read-only identification and configuration register block. Software can query compile-time SoC parameters at runtime: vendor, platform, product, silicon revision, feature flags, reference clock frequency, and build timestamp.
All registers are constants derived from elaboration-time Parameter values.
No write access is defined; bus writes are silently ignored.
Features¶
IP Identification block (header + version at 0x000–0x007)
32-bit identity register: vendor, platform, product, and platform class
Independent silicon major/minor revision registers
32-bit feature flag register: bit N set when
Featureelement with ordinal N is presentReference clock frequency register (Hz)
UNIX build timestamp register (seconds since epoch)
Supported buses: APB3, TileLink, Wishbone
Parameters¶
Parameter |
Default |
Description |
|---|---|---|
|
(required) |
Vendor identifier ( |
|
(required) |
Platform identifier ( |
|
(required) |
Platform class ( |
|
(required) |
Product identifier ( |
|
(required) |
Board reference oscillator frequency in Hz |
|
|
Silicon major revision |
|
|
Silicon minor revision |
|
|
Feature flags to set in the features register |
|
env |
UNIX timestamp (seconds). Read from the |
Register Map¶
Offset |
Name |
Description |
|---|---|---|
0x000 |
|
IP Identification header (API, length, IP ID) |
0x004 |
|
IP Identification version (major, minor, patch) |
0x008 |
|
SoC identity (see below) |
0x00C |
|
Silicon major revision |
0x010 |
|
Silicon minor revision |
0x014 |
|
Feature flag bitmask |
0x018 |
|
Reference oscillator frequency (Hz) |
0x01C |
|
Build UNIX timestamp (seconds) |
Identity Register (0x008)¶
Bits |
Field |
Description |
|---|---|---|
[31:24] |
|
Platform class ordinal (0=NonMetal/MCU, 1=Alkali/MPU) |
[23:16] |
|
Product ordinal (0=ElemRV) |
[15:8] |
|
Platform ordinal (0=Hydrogen, 1=Carbon, 2=Nitrogen, 3=Oxygen, 4=Phosphorus, 5=Sulfur) |
[7:0] |
|
Vendor ordinal (0=AescSilicon) |
Features Register (0x014)¶
Bit N is set when the Feature element with ordinal N appears in the
features parameter list. The SoC builder populates this list automatically
by collecting sysconFeatures from each IP on the bus.
Bit |
Feature |
Description |
|---|---|---|
0 |
|
I2C controller or device present |
1 |
|
SPI controller or device present |
2 |
|
UART present |
3 |
|
GPIO present |
4 |
|
Programmable I/O present |
5 |
|
PWM present |
6 |
|
Pin multiplexer present |
7 |
|
Clock controller present |
8 |
|
Error Signaling Module present |
9 |
|
Mailbox present |
10 |
|
Machine-mode timer present |
11 |
|
Platform-level interrupt controller present |
12 |
|
Reset controller present |
13 |
|
Hardware semaphore present |
14 |
|
Watchdog timer present |
15 |
|
AES accelerator present |
16 |
|
CRC engine present |
17 |
|
Pseudo-random number generator present |
18 |
|
HyperBus interface present |
19 |
|
On-chip SRAM controller present |
20 |
|
SPI flash controller present |