Describes up to 8 core variations. These can be used to describe very similar hardware with just a few asset changes. This is an upcoming feature.
Each variant may select a particular bitstream and override data slots with alternate ones as well as write arbitrary data into the core’s address space.
magic
: string
Must be APF_VER_1
.
Maximum of 8 variants.
name
: string
Maximum length of 15 characters.
id
: integer / hex string
ID number. Limited to 16-bit unsigned.
core_select
: object
Contains a child integer object core_id
which specifies the bitstream ID to load.
data_overridemagic
: array
List of data slot overrides.
memory_writes
: array
List of memory writes to tell the bitstream about the selected variant.
Maximum of 8 variants.
data_id_to
: integer / hex string
ID number of the data slot to be replaced. Limited to 16-bit unsigned.
data_id_from
: integer / hex string
ID number of the data slot replacing the above. It may be flagged as secondary. Limited to 16-bit unsigned.
Maximum of 16 variants.
address
: integer / hex string
Address to write to. 32-bit unsigned.
data
: integer / hex string
Data to be written. It may be flagged as secondary. 32-bit unsigned.
{
"variants": {
"magic": "APF_VER_1",
"variant_list": [
{
"name": "Variant1",
"id": 0,
"core_select": {
"core_id": 0
},
"data_override": [
{
"data_id": 3,
"data_id_override": 300
}
],
"memory_writes": [
{
"address": "0x00000004",
"data": "0x12345678"
},
{
"address": "0x02000200",
"data": "0xabcdabcd"
}
]
},
{
"name": "Variant2",
"id": 1,
"core_select": {
"core_id": 1
},
"data_override": [
{
"data_id": "0x100",
"data_id_override": "0x103"
}
]
}
]
}
}