Skip to content

Snitch Cluster Schema Schema

http://pulp-platform.org/snitch/snitch_cluster.schema.json

Base description of a Snitch cluster and its internal structure and configuration.

Abstract Extensible Status Identifiable Custom Properties Additional Properties Access Restrictions Defined In
Can be instantiated No Unknown status No Forbidden Allowed none snitch_cluster.schema.json

Snitch Cluster Schema Type

object (Snitch Cluster Schema)

Snitch Cluster Schema Properties

Property Type Required Nullable Defined by
name string Optional cannot be null Snitch Cluster Schema
boot_addr number Optional cannot be null Snitch Cluster Schema
cluster_base_addr number Optional cannot be null Snitch Cluster Schema
tcdm object Optional cannot be null Snitch Cluster Schema
cluster_periph_size number Optional cannot be null Snitch Cluster Schema
zero_mem_size number Optional cannot be null Snitch Cluster Schema
addr_width number Required cannot be null Snitch Cluster Schema
data_width number Optional cannot be null Snitch Cluster Schema
dma_data_width number Optional cannot be null Snitch Cluster Schema
narrow_trans number Optional cannot be null Snitch Cluster Schema
wide_trans number Optional cannot be null Snitch Cluster Schema
id_width_in number Optional cannot be null Snitch Cluster Schema
dma_id_width_in number Optional cannot be null Snitch Cluster Schema
user_width number Optional cannot be null Snitch Cluster Schema
dma_user_width number Optional cannot be null Snitch Cluster Schema
hart_base_id number Optional cannot be null Snitch Cluster Schema
mode string Optional cannot be null Snitch Cluster Schema
vm_support boolean Optional cannot be null Snitch Cluster Schema
dma_axi_req_fifo_depth number Optional cannot be null Snitch Cluster Schema
dma_req_fifo_depth number Optional cannot be null Snitch Cluster Schema
enable_debug boolean Optional cannot be null Snitch Cluster Schema
sram_cfg_expose boolean Optional cannot be null Snitch Cluster Schema
sram_cfg_fields object Optional cannot be null Snitch Cluster Schema
timing object Optional cannot be null Snitch Cluster Schema
hives array Required cannot be null Snitch Cluster Schema

name

Optional name for the generated wrapper.

name

name Type

string

name Default Value

The default value is:

"snitch_cluster"

boot_addr

Address from which all harts of the cluster start to boot. The default setting is 0x8000_0000.

boot_addr

boot_addr Type

number

boot_addr Default Value

The default value is:

2147483648

cluster_base_addr

Base address of this cluster.

cluster_base_addr

cluster_base_addr Type

number

tcdm

Configuration of the Tightly Coupled Data Memory of this cluster.

tcdm

tcdm Type

object (Details)

tcdm Default Value

The default value is:

{
  "size": 128,
  "banks": 32
}

cluster_periph_size

Address region size reserved for cluster peripherals in KiByte.

cluster_periph_size

cluster_periph_size Type

number

cluster_periph_size Examples

128
64

zero_mem_size

Address region size reserved for the Zero-Memory in KiByte.

zero_mem_size

zero_mem_size Type

number

zero_mem_size Examples

128
64

addr_width

Length of the address, should be greater than 30. If the address is larger than 34 the data bus needs to be 64 bits in size.

addr_width

addr_width Type

number

addr_width Default Value

The default value is:

48

data_width

Data bus size of the integer core (everything except the DMA), must be 32 or 64. A double precision FPU requires 64 bit data length.

data_width

data_width Type

number

data_width Default Value

The default value is:

64

dma_data_width

Data bus size of DMA. Usually this is larger than the integer core as the DMA is used to efficiently transfer bulk of data.

dma_data_width

dma_data_width Type

number

dma_data_width Default Value

The default value is:

512

narrow_trans

Outstanding transactions on the narrow AXI network

narrow_trans

narrow_trans Type

number

narrow_trans Default Value

The default value is:

4

wide_trans

Outstanding transactions on the wide AXI network

wide_trans

wide_trans Type

number

wide_trans Default Value

The default value is:

4

id_width_in

Id width of the narrower AXI plug into the cluster.

id_width_in

id_width_in Type

number

id_width_in Default Value

The default value is:

2

dma_id_width_in

Id width of the wide AXI plug into the cluster.

dma_id_width_in

dma_id_width_in Type

number

dma_id_width_in Default Value

The default value is:

1

user_width

User width of the narrower AXI plug into the cluster.

user_width

user_width Type

number

user_width Default Value

The default value is:

1

dma_user_width

User width of the wide AXI plug into the cluster.

dma_user_width

dma_user_width Type

number

dma_user_width Default Value

The default value is:

1

hart_base_id

Base hart id of the cluster. All cores get the respective cluster id plus their cluster position as the final hart_id.

hart_base_id

hart_base_id Type

number

mode

Supported mode by the processor, can be msu.

Currently ignored.

mode

mode Type

string

vm_support

Whether to provide virtual memory support (Sv32).

vm_support

vm_support Type

boolean

vm_support Default Value

The default value is:

true

dma_axi_req_fifo_depth

Number of AXI FIFO entries of the DMA engine.

dma_axi_req_fifo_depth

dma_axi_req_fifo_depth Type

number

dma_axi_req_fifo_depth Default Value

The default value is:

3

dma_req_fifo_depth

Number of request entries the DMA can keep

dma_req_fifo_depth

dma_req_fifo_depth Type

number

dma_req_fifo_depth Default Value

The default value is:

3

enable_debug

Whether to provide a debug request input and external debug features

enable_debug

enable_debug Type

boolean

enable_debug Default Value

The default value is:

true

sram_cfg_expose

Whether to expose memory cut configuration inputs for implementation

sram_cfg_expose

sram_cfg_expose Type

boolean

sram_cfg_fields

The names and widths of memory cut configuration inputs needed for implementation

sram_cfg_fields

sram_cfg_fields Type

object (Details)

sram_cfg_fields Constraints

minimum number of properties: the minimum number of properties for this object is: 1

sram_cfg_fields Default Value

The default value is:

{
  "reserved": 1
}

timing

timing

timing Type

object (Timing and Latency Tuning Parameter)

hives

Cores in a hive share an instruction cache and other shared infrastructure such as the PTW or the multiply/divide unit.

hives

hives Type

object[] (Hive Description)

hives Constraints

minimum number of items: the minimum number of items for this array is: 1