Skip to content

Commit

Permalink
Add Hemaia Configs (#330)
Browse files Browse the repository at this point in the history
* cfg: add hemaia cfgs

* cfg: rename configs

* ci: update cfg names

* make: update cfg names
  • Loading branch information
rgantonio authored Sep 17, 2024
1 parent 4fae969 commit 0a7ab8f
Show file tree
Hide file tree
Showing 13 changed files with 199 additions and 54 deletions.
50 changes: 25 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-mac.hjson
CFG_OVERRIDE=cfg/snax_mac.hjson
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-mac.hjson
CFG_OVERRIDE=cfg/snax_mac.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-mac.hjson \
make CFG_OVERRIDE=cfg/snax_mac.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Run Tests
working-directory: target/snitch_cluster
Expand All @@ -105,10 +105,10 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-streamer-gemm.hjson
CFG_OVERRIDE=cfg/snax_streamer_gemm.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-streamer-gemm.hjson \
make CFG_OVERRIDE=cfg/snax_streamer_gemm.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
sw-snax-streamer-gemm-add-c-cluster-vlt-generic:
Expand All @@ -123,10 +123,10 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-streamer-gemm-add-c.hjson
CFG_OVERRIDE=cfg/snax_streamer_gemm_add_c.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-streamer-gemm-add-c.hjson \
make CFG_OVERRIDE=cfg/snax_streamer_gemm_add_c.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
sw-snax-mac-mult-cluster-vlt-generic:
Expand All @@ -141,14 +141,14 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-mac-mult.hjson
CFG_OVERRIDE=cfg/snax_mac_mult.hjson
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-mac-mult.hjson
CFG_OVERRIDE=cfg/snax_mac_mult.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-mac-mult.hjson \
make CFG_OVERRIDE=cfg/snax_mac_mult.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Run Tests
working-directory: target/snitch_cluster
Expand All @@ -169,14 +169,14 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-alu.hjson
CFG_OVERRIDE=cfg/snax_alu.hjson
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-alu.hjson
CFG_OVERRIDE=cfg/snax_alu.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-alu.hjson \
make CFG_OVERRIDE=cfg/snax_alu.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Run Tests
working-directory: target/snitch_cluster
Expand All @@ -201,14 +201,14 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-hypercorex.hjson
CFG_OVERRIDE=cfg/snax_hypercorex.hjson
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-hypercorex.hjson
CFG_OVERRIDE=cfg/snax_hypercorex.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-hypercorex.hjson \
make CFG_OVERRIDE=cfg/snax_hypercorex.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Run Tests
working-directory: target/snitch_cluster
Expand All @@ -217,7 +217,7 @@ jobs:
sw/runtime.yaml \
sw/snax-hypercorex-run.yaml -j
snax-dimc-cluster-vlt-generic:
snax_dimc-cluster-vlt-generic:
name: SNAX DIMC w/ Verilator (Generic LLVM)
runs-on: ubuntu-22.04
container:
Expand All @@ -229,10 +229,10 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-dimc.hjson
CFG_OVERRIDE=cfg/snax_dimc.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-dimc.hjson \
make CFG_OVERRIDE=cfg/snax_dimc.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
sw-snax-KUL-cluster-vlt-generic:
Expand All @@ -246,16 +246,16 @@ jobs:
submodules: "recursive"
- name: RTL GEN
run: |
make CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide.hjson \
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson \
-C target/snitch_cluster rtl-gen
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide.hjson \
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide.hjson
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson
- name: Run Tests
working-directory: target/snitch_cluster
run: |-
Expand All @@ -276,15 +276,15 @@ jobs:
- name: Generate RTL
run: |
make -C target/snitch_cluster rtl-gen \
CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide-xdma.hjson
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson
- name: Build Hardware
run: |
make CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide-xdma.hjson \
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson \
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc)
- name: Build Software
run: |
make -C target/snitch_cluster sw \
CFG_OVERRIDE=cfg/snax-kul-cluster-mixed-narrow-wide-xdma.hjson
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson
- name: Run Tests
working-directory: target/snitch_cluster
run: |-
Expand Down
6 changes: 3 additions & 3 deletions target/snitch_cluster/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,21 +77,21 @@ SYN_BENDER := $(SYN_BENDER) $(shell cat $(GENERATED_DIR)/bender_targets.tmp)
# List manual conditions for different configurations

# TODO: This config should be removed in the future, as the accelerator is in the seperate repo
ifeq (${CFG_OVERRIDE}, cfg/snax-streamer-gemm.hjson)
ifeq (${CFG_OVERRIDE}, cfg/snax_streamer_gemm.hjson)

SNAX_GEMM_ROOT ?= $(shell $(BENDER) path snax-gemm)
include $(SNAX_GEMM_ROOT)/Makefile

endif


ifeq (${CFG_OVERRIDE}, cfg/snax-mac.hjson)
ifeq (${CFG_OVERRIDE}, cfg/snax_mac.hjson)

BYPASS_ACCGEN = true

endif

ifeq (${CFG_OVERRIDE}, cfg/snax-mac-mult.hjson)
ifeq (${CFG_OVERRIDE}, cfg/snax_mac_mult.hjson)

BYPASS_ACCGEN = true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,25 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},

// Timing parameters
timing: {
lat_comp_fp32: 3,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
// Timing parameters
timing: {
lat_comp_fp32: 3,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
// SNAX custom cluster TCDM assignment
snax_custom_tcdm_assign: {
snax_enable_assign_tcdm_idx: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
snax_custom_tcdm_assign: {
snax_enable_assign_tcdm_idx: true,
snax_narrow_assign_start_idx: [0,56],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
snax_custom_tcdm_assign: {
snax_enable_assign_tcdm_idx: true,
snax_narrow_assign_start_idx: [0,56],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
// Timing parameters
timing: {
lat_comp_fp32: 3,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,24 @@
cluster_periph_size: 64, // kB
zero_mem_size: 64, // kB
dma_data_width: 512,
dma_axi_req_fifo_depth: 3,
dma_req_fifo_depth: 3,
dma_axi_req_fifo_depth: 16,
dma_req_fifo_depth: 8,

// Additional parameters for Hemaia integration
narrow_trans: 4,
wide_trans: 32,
dma_user_width: 1,
// We don't need Snitch debugging in Hemaia
enable_debug: false,
// We don't need Snitch (core-internal) virtual memory support
vm_support: false,
// Memory configuration inputs
sram_cfg_expose: true,
sram_cfg_fields: {
ema: 3,
emaw: 2,
emas: 1
},
// Timing parameters
timing: {
lat_comp_fp32: 3,
Expand Down
Loading

0 comments on commit 0a7ab8f

Please sign in to comment.