Skip to content
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

[WIP] Caravel on Arty FPGA #12

Open
wants to merge 854 commits into
base: main
Choose a base branch
from

Conversation

tmichalak
Copy link

@tmichalak tmichalak commented Feb 3, 2023

This PR adds initial support for building the caravel design for an Arty FPGA.
The design uses the updated version of the mgmt_core see PR
Currently the SKY130 macros were replaced matching Xilinx equivalents or generic Verilog code.
The design is clocked from an external clock (the DLL needs to be replaced with a Xilinx PLL primitive and some FSM to enable control through the housekeeping module).
Added a vivado target to the Makefile in order to build the bitstream.

M0stafaRady and others added 30 commits October 15, 2022 09:30
…CW_ROOT>/signoff/`

add false paths and case analysis reports for top-level caravel STA run
-case analysis for the 38 IO pads
-false path from some pads inputs to the housekeeping
like avoid obstructions in the padframe and power routing, add
decap, and separate coupling wires to reduce capacitance.
Corrected one instance where a buffer had incorrectly been replaced
with a decap cell.  Moved the left-hand side in by 0.6um to clear
the chip_io connections on the left-hand side.  Corrected a small
DRC error in a route position at the bottom.
- based on second iteration of the buffer macro
- change config with updated placement of spare logic macros
and power routing cell
Updating to the most recent caravel_redesign branch version.
above housekeeping, because the upper GPIO pins are in the wrong
place relative to the new GPIO signal routing below the SoC.
Added pins for the pass-through connections.  Unconnected/
unrouted OEB pins are still not present and probably should be
removed from the RTL.
being buffered pass through the buffer macros.  Removed the
straight-through signals from the layout, and renumbered the
vectors in the buffer cells, which no longer match the numbering
at the top level (unfortunately).
M0stafaRady and others added 25 commits November 20, 2022 04:27
Caravel fails to build with recent Icarus Verilog versions because some of
the port definitions are not valid.
Update serial configuration fsm to reset the transfer bit
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
Signed-off-by: Rafal Kolucki <rkolucki@antmicro.com>
@proppy
Copy link

proppy commented Feb 4, 2023

@tmichalak awesome! How many LUTs does it use?

@tmichalak
Copy link
Author

@tmichalak awesome! How many LUTs does it use?

@proppy currently it takes ~4K LUTs. It is still missing few things, like the clock control - the DLL needs to be replaced with a Xilinx PLL primitive and some FSM to enable control though the housekeeping module

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.