Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 8 additions & 18 deletions Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,31 @@ packages:
dependencies:
- common_cells
axi:
revision: 2f395b176bee1c769c80f060a4345fda965bb04b
version: 0.38.0
revision: f07498d53ecd5518b277c7d213ec3b71ca4df93c
version: 0.39.7
source:
Git: https://github.com/pulp-platform/axi.git
dependencies:
- common_cells
- common_verification
- tech_cells_generic
common_cells:
revision: aed978efcef722859025085ae72e52c41ea45b32
version: 1.31.0
revision: 9afda9abb565971649c2aa0985639c096f351171
version: 1.38.0
source:
Git: https://github.com/pulp-platform/common_cells.git
dependencies:
- common_verification
- tech_cells_generic
common_verification:
revision: 9c07fa860593b2caabd9b5681740c25fac04b878
version: 0.2.3
revision: fb1885f48ea46164a10568aeff51884389f67ae3
version: 0.2.5
source:
Git: https://github.com/pulp-platform/common_verification.git
dependencies: []
register_interface:
revision: 3b2bf592100b769977c76e51812c55cd742882f6
version: 0.4.1
source:
Git: https://github.com/pulp-platform/register_interface.git
dependencies:
- apb
- axi
- common_cells
- common_verification
tech_cells_generic:
revision: a9cae21902e75b1434328ecf36f85327ba5717de
version: 0.2.11
revision: 7968dd6e6180df2c644636bc6d2908a49f2190cf
version: 0.2.13
source:
Git: https://github.com/pulp-platform/tech_cells_generic.git
dependencies:
Expand Down
2 changes: 1 addition & 1 deletion Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ package:

dependencies:
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.29.0 }
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.1 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.1 }
apb: { git: "https://github.com/pulp-platform/apb.git", version: 0.2.4 }

sources:
# Level 1
Expand Down
33 changes: 27 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,32 @@

BENDER ?= bender

REG_PATH = $(shell $(BENDER) path register_interface)
REG_TOOL = $(REG_PATH)/vendor/lowrisc_opentitan/util/regtool.py
PEAKRDL ?= peakrdl

REGS_HJSON = src/err_unit_regs.hjson
.PHONY: gen_regs
gen_regs: src/bus_err_unit_reg_pkg.sv src/bus_err_unit_reg_top.sv
gen_regs: doc/bus_err_unit_reg.md
gen_regs: driver/bus_err_unit_reg.h driver/bus_err_unit_reg_addrmap.h
gen_regs: doc/axi_bus_err_unit_reg.md
gen_regs: driver/axi_bus_err_unit_reg.h driver/axi_bus_err_unit_reg_addrmap.h

gen_regs:
python $(REG_TOOL) $(REGS_HJSON) -t src -r
python $(REG_TOOL) $(REGS_HJSON) -D > driver/bus_err_unit.h
src/bus_err_unit_reg_pkg.sv src/bus_err_unit_reg_top.sv: rdl/bus_err_unit.rdl
$(PEAKRDL) regblock $< -o src --cpuif apb4-flat --default-reset arst_n --module-name bus_err_unit_reg_top --package-name bus_err_unit_reg_pkg

doc/bus_err_unit_reg.md: rdl/bus_err_unit.rdl
$(PEAKRDL) markdown $< -o $@

driver/bus_err_unit_reg.h: rdl/bus_err_unit.rdl
$(PEAKRDL) c-header $< -o $@

driver/bus_err_unit_reg_addrmap.h: rdl/bus_err_unit.rdl
$(PEAKRDL) raw-header $< -o $@ --format c

doc/axi_bus_err_unit_reg.md: rdl/axi_bus_err_unit.rdl rdl/bus_err_unit.rdl
$(PEAKRDL) markdown $< -o $@ -I rdl

driver/axi_bus_err_unit_reg.h: rdl/axi_bus_err_unit.rdl rdl/bus_err_unit.rdl
$(PEAKRDL) c-header $< -o $@ -I rdl

driver/axi_bus_err_unit_reg_addrmap.h: rdl/axi_bus_err_unit.rdl rdl/bus_err_unit.rdl
$(PEAKRDL) raw-header $< -o $@ --format c -I rdl
155 changes: 155 additions & 0 deletions doc/axi_bus_err_unit_reg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
<!---
Markdown description for SystemRDL register map.

Don't override. Generated from: axi_bus_err_unit
- rdl/axi_bus_err_unit.rdl
-->

## axi_bus_err_unit address map

- Absolute Address: 0x0
- Base Offset: 0x0
- Size: 0x30

|Offset| Identifier |Name|
|------|--------------|----|
| 0x00 |write_err_unit| — |
| 0x20 | read_err_unit| — |

## write_err_unit address map

- Absolute Address: 0x0
- Base Offset: 0x0
- Size: 0x10

|Offset| Identifier |Name|
|------|------------|----|
| 0x0 | err_addr | — |
| 0x4 |err_addr_top| — |
| 0x8 | err_code | — |
| 0xC | meta | — |

### err_addr register

- Absolute Address: 0x0
- Base Offset: 0x0
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_addr | r | 0x0 |err_addr|

#### err_addr field

<p>Address of the bus error</p>

### err_addr_top register

- Absolute Address: 0x4
- Base Offset: 0x4
- Size: 0x4

|Bits| Identifier |Access|Reset| Name |
|----|------------|------|-----|------------|
|31:0|err_addr_top| r | 0x0 |err_addr_top|

#### err_addr_top field

<p>Top of the address of the bus error</p>

### err_code register

- Absolute Address: 0x8
- Base Offset: 0x8
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_code | r | 0x0 |err_code|

#### err_code field

<p>Type of the bus error</p>

### meta register

- Absolute Address: 0xC
- Base Offset: 0xC
- Size: 0x4

|Bits|Identifier|Access|Reset|Name|
|----|----------|------|-----|----|
|31:0| meta | r | 0x0 |meta|

#### meta field

<p>Meta information of the bus error</p>

## read_err_unit address map

- Absolute Address: 0x20
- Base Offset: 0x20
- Size: 0x10

|Offset| Identifier |Name|
|------|------------|----|
| 0x0 | err_addr | — |
| 0x4 |err_addr_top| — |
| 0x8 | err_code | — |
| 0xC | meta | — |

### err_addr register

- Absolute Address: 0x20
- Base Offset: 0x0
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_addr | r | 0x0 |err_addr|

#### err_addr field

<p>Address of the bus error</p>

### err_addr_top register

- Absolute Address: 0x24
- Base Offset: 0x4
- Size: 0x4

|Bits| Identifier |Access|Reset| Name |
|----|------------|------|-----|------------|
|31:0|err_addr_top| r | 0x0 |err_addr_top|

#### err_addr_top field

<p>Top of the address of the bus error</p>

### err_code register

- Absolute Address: 0x28
- Base Offset: 0x8
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_code | r | 0x0 |err_code|

#### err_code field

<p>Type of the bus error</p>

### meta register

- Absolute Address: 0x2C
- Base Offset: 0xC
- Size: 0x4

|Bits|Identifier|Access|Reset|Name|
|----|----------|------|-----|----|
|31:0| meta | r | 0x0 |meta|

#### meta field

<p>Meta information of the bus error</p>
75 changes: 75 additions & 0 deletions doc/bus_err_unit_reg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<!---
Markdown description for SystemRDL register map.

Don't override. Generated from: bus_err_unit
- rdl/bus_err_unit.rdl
-->

## bus_err_unit address map

- Absolute Address: 0x0
- Base Offset: 0x0
- Size: 0x10

|Offset| Identifier |Name|
|------|------------|----|
| 0x0 | err_addr | — |
| 0x4 |err_addr_top| — |
| 0x8 | err_code | — |
| 0xC | meta | — |

### err_addr register

- Absolute Address: 0x0
- Base Offset: 0x0
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_addr | r | 0x0 |err_addr|

#### err_addr field

<p>Address of the bus error</p>

### err_addr_top register

- Absolute Address: 0x4
- Base Offset: 0x4
- Size: 0x4

|Bits| Identifier |Access|Reset| Name |
|----|------------|------|-----|------------|
|31:0|err_addr_top| r | 0x0 |err_addr_top|

#### err_addr_top field

<p>Top of the address of the bus error</p>

### err_code register

- Absolute Address: 0x8
- Base Offset: 0x8
- Size: 0x4

|Bits|Identifier|Access|Reset| Name |
|----|----------|------|-----|--------|
|31:0| err_code | r | 0x0 |err_code|

#### err_code field

<p>Type of the bus error</p>

### meta register

- Absolute Address: 0xC
- Base Offset: 0xC
- Size: 0x4

|Bits|Identifier|Access|Reset|Name|
|----|----------|------|-----|----|
|31:0| meta | r | 0x0 |meta|

#### meta field

<p>Meta information of the bus error</p>
60 changes: 60 additions & 0 deletions driver/axi_bus_err_unit_reg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Generated by PeakRDL-cheader - A free and open-source header generator
// https://github.com/SystemRDL/PeakRDL-cheader

#ifndef AXI_BUS_ERR_UNIT_REG_H
#define AXI_BUS_ERR_UNIT_REG_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stdint.h>
#include <assert.h>

// Reg - bus_err_unit::err_addr
#define BUS_ERR_UNIT__ERR_ADDR__ERR_ADDR_bm 0xffffffff
#define BUS_ERR_UNIT__ERR_ADDR__ERR_ADDR_bp 0
#define BUS_ERR_UNIT__ERR_ADDR__ERR_ADDR_bw 32
#define BUS_ERR_UNIT__ERR_ADDR__ERR_ADDR_reset 0x0

// Reg - bus_err_unit::err_addr_top
#define BUS_ERR_UNIT__ERR_ADDR_TOP__ERR_ADDR_TOP_bm 0xffffffff
#define BUS_ERR_UNIT__ERR_ADDR_TOP__ERR_ADDR_TOP_bp 0
#define BUS_ERR_UNIT__ERR_ADDR_TOP__ERR_ADDR_TOP_bw 32
#define BUS_ERR_UNIT__ERR_ADDR_TOP__ERR_ADDR_TOP_reset 0x0

// Reg - bus_err_unit::err_code
#define BUS_ERR_UNIT__ERR_CODE__ERR_CODE_bm 0xffffffff
#define BUS_ERR_UNIT__ERR_CODE__ERR_CODE_bp 0
#define BUS_ERR_UNIT__ERR_CODE__ERR_CODE_bw 32
#define BUS_ERR_UNIT__ERR_CODE__ERR_CODE_reset 0x0

// Reg - bus_err_unit::meta
#define BUS_ERR_UNIT__META__META_bm 0xffffffff
#define BUS_ERR_UNIT__META__META_bp 0
#define BUS_ERR_UNIT__META__META_bw 32
#define BUS_ERR_UNIT__META__META_reset 0x0

// Addrmap - bus_err_unit
typedef struct __attribute__ ((__packed__)) {
uint32_t err_addr;
uint32_t err_addr_top;
uint32_t err_code;
uint32_t meta;
} bus_err_unit_t;

// Addrmap - axi_bus_err_unit
typedef struct __attribute__ ((__packed__)) {
bus_err_unit_t write_err_unit;
uint8_t RESERVED_10_1f[0x10];
bus_err_unit_t read_err_unit;
} axi_bus_err_unit_t;


static_assert(sizeof(axi_bus_err_unit_t) == 0x30, "Packing error");

#ifdef __cplusplus
}
#endif

#endif /* AXI_BUS_ERR_UNIT_REG_H */
Loading