-
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
Xilinx toolchain #876
Comments
[01/26] I have verified that allocating the same number of AXI interface with the number of external memory declarations on Some examples used include memory tutorial, modified memory tutorial (mem_tut_dup.txt) (where I basically duplicated the logic to have 2 different memory), and vectorized-add. |
@sampsyo should we close this/re-evaluate once #1153 is merged and @nathanielnrn's work over the summer is complete? |
Certainly time to re-evaluate, given all this progress! I checked off a few things—the stuff to be re-categorized (put on a roadmap somewhere, factored out into another issue, etc.) include trying to simplify the relevant Tcl script, future work on Intel, and removing the special statistics-only stages in fud. |
Discussed in #873
Originally posted by sampsyo January 13, 2022
As a recreational project this winter, I poked around at our infrastructure for running programs for real on Xilinx FPGAs (which is all the incredible work of the inimitable @sgpthomas!!). I just wanted to tie together the issues I've been filing to summarize the current state of things, which might be especially relevant to @yn224.
The bottom line is: compilation is working OK, with one significant asterisk; emulation is barely starting to work; and I have not tried real FPGA execution.
xclbin
files from Calyx programs. 🎉xo
generation Tcl needs different declarations of the AXI interfaces, as described in [xilinx] Use a single AXI interface to communicate with all memories #853 (comment).xo
file (so we understand exactly what we're doing).fpga
stage to work for both emulation and execution #872.fpga
stage, which we should write after the refactoring. (We can delete the docs for theemulation
stage.)fpga
stage to work for both emulation and execution #872.Of course, the end result of all this should be that we can do
fud e something.fuse --to dat --through fpga
and everything just works (and the output matches our interpreter and Verilator execution). I also strongly believe we should maintain a focus on documenting things as thoroughly as we can possibly muster in the appropriate chapter—this stuff is so damned confusing and under-documented that we really benefit from writing things down clearly and exhaustively along the way.Some fun future work after everything's nailed down for an MVP:
The text was updated successfully, but these errors were encountered: