Xilinx / open-nic-shell

AMD OpenNIC Shell includes the HDL source files
Apache License 2.0
94 stars 63 forks source link

U45N does not build #57

Closed adb-luna closed 5 months ago

adb-luna commented 5 months ago

I cloned this repository from the current head: 8077751

From the script directory, I run this:

/m2ssd/Xilinx/Vivado/2022.1/bin/vivado -mode tcl -source build.tcl -tclargs -board au45n -overwrite 1 -jobs 12 -impl 1 -post_impl 1

After churning for a while, it fails with this:

ERROR: [Bitstream 40-47] File /m2ssd/tmp/open-nic-shell/build/au45n/open_nic_shell/open_nic_shell.runs/impl_1/open_nic_shell.bit does not exist.

Further digging shows the root cause in file ../build/au45n/open_nic_shell/open_nic_shell.runs/synth_1/runme.log:

ERROR: [Synth 8-524] part-select [23:0] out of range of prefix 'qdma_pcie_rxp' [/m2ssd/tmp/open-nic-shell/src/open_nic_shell.sv:489]

As you can see above, this is with Vivado 2022.1, one of the supported releases.

cneely-amd commented 5 months ago

Hi @adb-luna ,

I suggest instead the following command for Alveo U45N, which does run through to produce a bitfile (at least please note the following combination of ports and number of physical functions):

"vivado -mode batch -source build.tcl -tclargs -board au45n -impl 1 -post_impl 1 -num_phys_func 2 -num_cmac_port 2"

I verified that this worked today using Vivado 2022.1.2 (which was what I had already installed on my machine).

Please also note that the out of the box settings aren't enough for meeting timing for that device. I think you also need to use Vivado IDR (Intelligent Design Run) feature towards fully meeting the timing constraints.

Best regards, --Chris

adb-luna commented 5 months ago

Thanks for the help, @cneely-amd.

It still failed to build with that command, but it worked when I added -num_qdma 2.

cneely-amd commented 5 months ago

Thanks @adb-luna, you are correct that parameter also needs to be added. Sorry, I made that mistake in typing my earlier message.