-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fpga: Added flow and CI for implementation on VCU128 boards, added ov…
…erride files for Vivado compilation only fpga: switched to xilinx.mk and removed non essential overrides fpga: switched safety island bootmode and removed last override
- Loading branch information
Showing
35 changed files
with
5,413 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -233,7 +233,7 @@ packages: | |
dependencies: | ||
- common_cells | ||
fpu_interco: | ||
revision: 0769976fa51bdd820656a01161a4c46b88c59ac5 | ||
revision: c985d54c2b078ddfbec8c2a498f453410bbdc93e | ||
version: null | ||
source: | ||
Git: https://github.com/pulp-platform/fpu_interco.git | ||
|
@@ -371,7 +371,7 @@ packages: | |
dependencies: | ||
- axi_slice | ||
pulp_cluster: | ||
revision: a746000f9dc9965e1351186905b59bca36edef57 | ||
revision: 314f9a04f8dad4a5eeb0b9e8ad84898c6dc3f81e | ||
version: null | ||
source: | ||
Git: https://github.com/pulp-platform/pulp_cluster.git | ||
|
@@ -433,7 +433,7 @@ packages: | |
- common_cells | ||
- common_verification | ||
riscv: | ||
revision: 4eac53237c6d0062715d17016fe95462eb81ebc3 | ||
revision: 6187537f9994d16bad2d721c0f5ebc5193c0f010 | ||
version: null | ||
source: | ||
Git: [email protected]:AlSaqr-platform/riscv_nn.git | ||
|
@@ -500,7 +500,7 @@ packages: | |
- riscv-dbg | ||
- tech_cells_generic | ||
tech_cells_generic: | ||
revision: a9cae21902e75b1434328ecf36f85327ba5717de | ||
revision: 87b59bf0ece920f494e4819f5683e45148bfcebb | ||
version: 0.2.11 | ||
source: | ||
Git: https://github.com/pulp-platform/tech_cells_generic.git | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ dependencies: | |
hyperbus: { git: https://github.com/pulp-platform/hyperbus.git, rev: 2adb7271438cdb96c19fbaf3e2a6bf89ffeee568 } # branch: lv/phys_in_use | ||
car_l2: { git: [email protected]:carfield/carfield_l2_mem.git, rev: 4239b2a510d65aa110bcc8a070e434cabd1a8b9a } # branch: main | ||
safety_island: { git: [email protected]:carfield/safety-island.git, rev: 60e768a3ef29f47339e31674d497293f5a768893 } # branch: atops | ||
pulp_cluster: { git: https://github.com/pulp-platform/pulp_cluster.git, rev: a746000f9dc9965e1351186905b59bca36edef57 } # branch: yt/carfield-integration | ||
pulp_cluster: { git: https://github.com/pulp-platform/pulp_cluster.git, rev: 314f9a04f8dad4a5eeb0b9e8ad84898c6dc3f81e } # branch: yt/carfield-integration | ||
opentitan: { git: https://github.com/alsaqr-platform/opentitan.git, rev: 5ce64a6225e971c1e00ece29aa485f23a31aa7b2 } # branch: carfield | ||
mailbox_unit: { git: [email protected]:pulp-platform/mailbox_unit.git, version: 1.1.0 } | ||
apb: { git: https://github.com/pulp-platform/apb.git, version: 0.2.3 } | ||
|
@@ -26,6 +26,8 @@ dependencies: | |
spatz: { git: [email protected]:spatz/spatz.git, rev: 05b01d6a0045496ad82d393355158e3b3438438e } # branch: yt/hartid | ||
bus_err_unit: { git: [email protected]:carfield/bus_err_unit.git, rev: 47a6436dc4b4b7f4a44f7786033b22c6d01530b2 } # branch: main | ||
common_cells: { git: https://github.com/pulp-platform/common_cells.git, version: 1.30.0 } | ||
tech_cells_generic: { git: [email protected]:pulp-platform/tech_cells_generic.git, rev: 87b59bf0ece920f494e4819f5683e45148bfcebb } # branch: fix/fpga_clk_mux | ||
|
||
|
||
workspace: | ||
package_links: | ||
|
@@ -58,9 +60,16 @@ sources: | |
files: | ||
- scripts/spyglass/src/carfield_wrap.sv | ||
|
||
- target: synthesis | ||
- target: all(synthesis, not(fpga)) | ||
files: | ||
- target/synth/carfield_synth_wrap.sv | ||
|
||
- target: all(xilinx, fpga) | ||
include_dirs: | ||
- target/xilinx/src/overrides/include | ||
files: | ||
- target/xilinx/src/carfield_top_xilinx.sv | ||
- target/xilinx/src/dram_wrapper.sv | ||
|
||
vendor_package: | ||
- name: reggen | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Copyright 2021 ETH Zurich and University of Bologna. | ||
# Solderpad Hardware License, Version 0.51, see LICENSE for details. | ||
# SPDX-License-Identifier: SHL-0.51 | ||
# | ||
# Author: Cyril Koenig <[email protected]> | ||
|
||
# bender targets | ||
xilinx_targs += -t fpga | ||
|
||
# bender defines | ||
xilinx_defs += -D PULP_FPGA_EMUL | ||
|
||
# Conditionally add GEN_{island} to bender define | ||
define check_enable_island | ||
ifeq ($($(1)),1) | ||
xilinx_defs += -D$(1)=1 | ||
endif | ||
endef | ||
|
||
$(eval $(call check_enable_island,GEN_PULP_CLUSTER)) | ||
$(eval $(call check_enable_island,GEN_SAFETY_ISLAND)) | ||
$(eval $(call check_enable_island,GEN_SPATZ_CLUSTER)) | ||
$(eval $(call check_enable_island,GEN_OPEN_TITAN)) | ||
|
||
# note : bender targets are later modified in xilinx.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,10 +9,12 @@ | |
CAR_ROOT ?= . | ||
CHS_ROOT ?= $(CAR_ROOT)/cheshire | ||
CAR_SW_DIR := $(CAR_ROOT)/sw | ||
CAR_XIL_DIR := $(CAR_ROOT)/target/xilinx | ||
|
||
# Bender | ||
BENDER ?= bender | ||
QUESTA ?= questa-2022.3 | ||
VIVADO ?= vitis-2020.2 vivado | ||
TBENCH ?= tb_carfield_soc | ||
BOOTMODE ?= 0 # default passive bootmode | ||
PRELMODE ?= 1 # default serial link preload | ||
|
@@ -43,6 +45,10 @@ CHS_IMAGE ?= | |
# (the following includes are mandatory) | ||
include $(CAR_ROOT)/bender-common.mk | ||
include $(CAR_ROOT)/bender-synth.mk | ||
include $(CAR_ROOT)/bender-xilinx.mk | ||
|
||
print_stuff: | ||
echo $(xilinx_defs) | ||
|
||
# Setup Virtual Environment for python scripts (reggen) | ||
VENVDIR?=$(WORKDIR)/.venv | ||
|
@@ -72,7 +78,7 @@ endif | |
###################### | ||
|
||
CAR_NONFREE_REMOTE ?= [email protected]:carfield/carfield-nonfree.git | ||
CAR_NONFREE_COMMIT ?= 5b6b7ed7c08ec079a6725f6b2c3ddf69fea3ba16 | ||
CAR_NONFREE_COMMIT ?= c45fe6682a59a001caa4a1be3b2ad1a5861051d2 | ||
|
||
## Clone the non-free verification IP for the Carfield TB | ||
car-nonfree-init: | ||
|
@@ -239,6 +245,16 @@ SPYGLASS_DEFS += $(synth_defs) | |
lint: | ||
$(MAKE) -C scripts lint bender_defs="$(SPYGLASS_DEFS)" bender_targs="$(SPYGLASS_TARGS)" > make.log | ||
|
||
############# | ||
# Emulation # | ||
############# | ||
|
||
include $(CAR_XIL_DIR)/xilinx.mk | ||
|
||
######## | ||
# Help # | ||
######## | ||
|
||
# Setup Autodocumentation of the Makefile | ||
HELP_TITLE="Carfield Open-Source RTL" | ||
HELP_DESCRIPTION="Hardware generation and simulation targets for Carfield" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# VCU128 emulation | ||
|
||
```bash | ||
# Build the bitstream: | ||
make | ||
# Re-build the bitstream without | ||
# re-building the IPs: | ||
make rebuild-top | ||
# Simulate with the IPs | ||
# Note you need to generate the | ||
# Vivado IP models before | ||
make sim | ||
``` |
Oops, something went wrong.