-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fpga: Add VCU128 flow and other IPs #54
Conversation
0e9abf9
to
429e3fe
Compare
bdea74c
to
04b39fe
Compare
47db445
to
e9ee56b
Compare
f8a486a
to
be27e65
Compare
@alex96295 @paulsc96 All good,
Ready for review, remember to check the CI changes as well. Both genesys2 and VCU128 boots (note I uploaded a new image on the SD card that supports booting both from SD card and SPI nor) Pipeline running here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As previously discussed, the most important outstanding changes are to:
- Rebase onto
main
and resolve conflicts - Extend the "Xilinx FPGAs" Documentation chapter appropriately (no need to extend the README)
- Some overall cleanup
5bbbe25
to
886a1f6
Compare
@paulsc96 requested changes applied |
sw/sw.mk
Outdated
@@ -140,7 +140,7 @@ $(foreach link,$(patsubst $(CHS_SW_LD_DIR)/%.ld,%,$(wildcard $(CHS_SW_LD_DIR)/*. | |||
CHS_CVA6_SDK_IMGS ?= $(addprefix $(CHS_SW_DIR)/deps/cva6-sdk/install64/,fw_payload.bin uImage) | |||
|
|||
# Create full Linux disk image | |||
$(CHS_SW_DIR)/boot/linux.gpt.bin: $(CHS_SW_DIR)/boot/zsl.rom.bin $(CHS_SW_DIR)/boot/cheshire.dtb $(CHS_CVA6_SDK_IMGS) | |||
$(CHS_SW_DIR)/boot/linux-${BOARD}.gpt.bin: $(CHS_SW_DIR)/boot/zsl.rom.bin $(CHS_SW_DIR)/boot/cheshire_$(BOARD).dtb $(CHS_CVA6_SDK_IMGS) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I only noticed this now, but please don't do this. Making the name/availability of targets depend on variables is bad design and breaks things built on top of it. I tolerated this in the Xilinx Makefiles, but I don't want this in any other Makefiles. Use an appropriate pattern rule instead, e.g:
$(CHS_SW_DIR)/boot/linux-%.gpt.bin: $(CHS_SW_DIR)/boot/zsl.rom.bin $(CHS_SW_DIR)/boot/cheshire_%.dtb $(CHS_CVA6_SDK_IMGS)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, device trees are not an FPGA-specific thing, and neither is Cheshire. The whole point of Cheshire that it is silicon-ready and not another FPGA-only platform. Device trees should be differentiated by generic targets (including ASICs), not specifically FPGA boards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes absolutely thank you!
For the board, this (BOARD)[https://github.com/pulp-platform/cheshire/blob/ck/pr1/cheshire.mk#L15] variable should define more a development board, which is not only about the FPGA development board but also future PCBs.
So maybe the .dtsi
should stay where it is but the .dts
can be moved to the target/fpga
. Just that it will be more annoying for Makefiles.
Anyways I suppose that a chip instantiating Cheshire will need to re-define this target like I do in Carfield
PR updated Pipeline running |
56eddcd
to
310c66d
Compare
Changes updated, ready to be reviewed @paulsc96 @alex96295 |
// Instianciate data width resizer // | ||
///////////////////////////////////// | ||
|
||
if (cfg.DataWidth != SoC_DataWidth) begin : gen_dw_converter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, as in carfield, remove
// ID resizer // | ||
///////////////// | ||
|
||
if (cfg.IdWidth != SoC_IdWidth) begin : gen_iw_converter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DITTO
…d Vivado IP simulation flow fpga: Added ddr4 and vcu128 flow, added draft of Vivado IP simulation flow fpga: Added VIOs Connect VIO-generated reset signal to dram wrapper fpga: Support of zcu102 fpga: zcu102.xdc constraint file added fpga: zcu102 changed phy and added firsts constraints fpga: Switching to clk_wiz and xilinx.mk fpga: Testing ddr4 fpga: Start working on SPI driver Co-Authored-By: Yann Picod <[email protected]> fpga: SD card test fpga: Rolled-back SD fpga: Add vcu128 ci fpga: Debug new CI fpga: Adding artifacts management fpga: Added ID serializer in dram_wrapper and changed a few xdc constraints fpga: Correcting artifacts mngmt and applied new constraints to genesys2 fpga: Corrected vivado sim script fpga: Last review updates fpga: Last review updates 2 fpga: Updated artifact management to take select only useful envvar fpga: Update cva6-sdk, add openocd configs, and update docs fpga: Use https for cva6-sdk
This PR goes with the MR 7
Changes :
dram_wrapper
for DDR3 / DDR4xilinx/Makefile
and addedxilinx/xilinx.mk
simulate.mk
)clk_wiz
,vios
andddr4
IPsStatus :