commit | 93e8250459a77710bdecb00a318999ebdc8a5af5 | [log] [tgz] |
---|---|---|
author | Matthew Ballance <matt.ballance@gmail.com> | Sat Nov 28 14:44:48 2020 -0800 |
committer | Matthew Ballance <matt.ballance@gmail.com> | Sat Nov 28 14:44:48 2020 -0800 |
tree | e5066676bc623a0f6598eeb0aec8e7cd36ba32c0 | |
parent | 581b937e83b02acdd180c39d0f942823f09fcaca [diff] |
basic structure of tests in place Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
FWPayload is a small processor+peripherals subsystem, targeting the user-project area of Caraval.
FWPayload uses several pieces of external IP. Some are bundled with the project, and some are fetched during the initialization step.
RISC-V core originally targeted for FPGA application
Parameterized Wishbone interconnect
SPI master IP, obtained from the Caravel repository. Bundled with the project.
UART IP, obtained from the Caravel repository. Bundled with the project.
The FWPayload memory map is designed to fit within the 28-bit user-area portion of the Caravel memory map.
FWPayload uses the Caravel logic analyzer to configure reset and clocking, probe the program counter of the FWRISC, and optionally, single-step the clock.
The FWPayload project uses IVPM (IP and Verification Package Manager) to manage external IP and Python dependencies. The project can be setup both with and without IVPM installed.
In both cases, setting up the project will result in creation of a packages
directory within the project that contains external IPs and required Python packages.
Ensure IVPM is installed:
% pip3 install ivpm --user --upgrade
% cd <fwpayload_dir> % ivpm update
The project can also be setup without installing IVPM. The bootstrap.sh
script is provided for this purpose. bootstrap.sh
clones a local copy of ivpm.
% cd <fwpayload_dir> % ./bootstrap.sh
Openlane completes with the following status:
Number of pins violated: 479 Number of nets violated: 297 Total number of nets: 44367 [INFO]: Generating Final Summary Report... [SUCCESS]: Flow Completed Without Fatal Errors.