-
Notifications
You must be signed in to change notification settings - Fork 667
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
Arty100T board + TSI-over-UART #1345
Conversation
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.
This is awesome!
One point of remaining confusion for me - for chip bringup specifically, would you use the NoCoresArty100TConfig instead of one of the Rocket ones?
Yes the intention is that you would use a NoCoresConfig, and use a TLSerdesser to cross between the FPGA and the test chip's serialized TL port. It would be a nice project to demonstrate this with 2 Artys. |
Failures seem to be transient. Commit-on-master fail for FPGA-shells has been resolved. Merging to unblock other PRs. |
Hi, does it means I need to connect the serialized TL signals to the top of the FPGA design for the Arty with NoCoresConfig? Then, these serialized TL signals can be connected to another Arty with RocketCore via some physical wires and making this Arty with RocketCore can be bring up? |
Yes |
Thanks @tianrui-wei for the help on bringing up the Arty DDR,
This PR adds support for the Arty100T board through FPGA-shells. The existing
arty
sub-project behaves as before.This PR also adds a new UART-based bringup mechanism for FPGA prototypes or test chips. A special FESVR implementation running on the host PC can connect to a TTY for the serial-adapter interface. A special UART device on the FPGA board converts the UART back to TSI commands, driving the FPGA serial-adapter. This bypasses the need for a soft-core-on-FPGA for bringing up chips. Existing FESVR functionality is all preserved, since the PC-fesvr just extends
testchip_tsi_t
.Notably, this also enables more accurate simulated bringup of RTL-simulations or FPGA-emulated systems. As long as the target implements the UART-to-TSI converter, and the SimUART can open a pty on the host PC,
uart_tsi
can connect to it and interact with it like a normal UART.After generating and programming a arty100t board with
cd fpga && make SUB_PROJECT=arty100t bitstream
, the target can be manipulated like:Running a program
Probing some address
Writing some address before running a program
Self-check (check that serial-adapter can read the program that was written):
Running designs with higher baudrate on the TSI-UART (
UART921600RocketArty100TConfig
)Related PRs / Issues:
Type of change:
Impact:
Contributor Checklist:
main
as the base branch?changelog:<topic>
label?changelog:
label?.conda-lock.yml
file if you updated the conda requirements file?Please Backport
?