SystemVerilog for implementing MATLAB neural net onto Xilinx RFSoC.
zyNet/
directory, where you should be able to open the .xpr
file to open the entire project.conv_to_fc_tb
simulation and make sure all test cases pass (they should show in tcl console).zyNet_matlab_tb
testbench to compare the toplevel to matlab, change lines 115 and 116 in zyNet_matlab_tb.sv
to match your directory. Otherwise, the testbench and python script will not run properly.sim_1
testbench (the toplevel), make sure you run python ./Scripts/python/actual_outputs_to_mif.py
in the toplevel to make sure your memory file for 'expected' outputs in the toplevel is up to date.zyNet/zyNet.srcs/unused_testbenches
folder for other testbenches you can run.70-need-synopsis-flow
branch. Note that the hierarchy is different. This is because the structure was updated for Synopsis, and it is no longer cleanly compatible with Vivado. DO NOT merge this branch with main.You can now run commands for synthesis and APR from the toplevel directory with make . The RTL is very similar (some compatibility modifications).
Here is a table of make commands: |
Command | Result |
---|---|---|
make syn |
run synthesis in DC compiler | |
make apr |
run apr in IC compiler | |
make syn-link |
run synthesis up to linking | |
make apr-to-floorplan |
run APR up to floorplanning script | |
make clean-syn |
clean out the synthesis directory | |
make clean-apr |
clean out the apr directory | |
make clean |
should clean out both synthesis and apr directories |
Be aware that synthesis has taken about 4 hours in the past. APR takes close to a week.
git
main
branch and switch to the new branch with the following commands (for example, if your branch name is 18-new-module):
git pull
git checkout 18-new-module
Git should show that you are tracking the remote branch associated with your new issue.
git
, add it to the .gitignore
file. See the current version for examples.git add .
git commit -m "INSERT YOUR OWN COMMIT MESSAGE"
git push
Other useful git commands |
Command | Result |
---|---|---|
git branch --all |
See a list of your current branch and all branches on your PC | |
git stash |
Stash changes so you can move them to a different branch | |
git stash pop |
Bring stashed changes off the stash and into the current branch | |
git branch -d 'BRANCH_NAME' |
Delete the branch (use this only for local branches, DO NOT delete main) |
base
to the branch you would like to push changes to and compare
to your current working branch.There are several python scripts used for text processing and data analysis. Most of them are legacies and were run once. They should be run using an environment that has pandas
installed, and run in the top-level directory of this repo. There are only two that still apply:
actual_outputs_to_mif.py
is used for converting the csv
file that the matlab testbench produces to an 'expected' mif
file for the toplevel testbench.error_histogram.py
is used to plot the errors produced by the matlab testbench on a histogram.