Difference between revisions of "DESK-XZ7-L/Development/Creating and building the Vivado project"

From DAVE Developer's Wiki
Jump to: navigation, search
(4 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.0-rc1 release
 
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.0-rc1 release
 
|-
 
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|2024/01/25
+
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|2024/01/12
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.1 release
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.1 release
 
|-
 
|-
Line 16: Line 16:
 
__FORCETOC__
 
__FORCETOC__
 
<section begin=Body/>
 
<section begin=Body/>
 
{{ImportantMessage|text=Vivado installation path, in this documentation, is the <code>/opt</code> directory. If you have chosen a different one, set it properly. The commands reported here below have been used on a native server running Ubuntu 20.04.}}
 
 
  
 
== Creating and building the Vivado project ==
 
== Creating and building the Vivado project ==
 
The Vivado repository allows to:
 
The Vivado repository allows to:
 
* track hardware/fpga related sources/configuration
 
* track hardware/fpga related sources/configuration
* reproduce hardware design output (FPGA bitstream, XSA) using TCL scripts
+
* reproduce hardware design output (FPGA bitstream, XSA) using TCL scripts. Development kit TCL scripts supported are as follow:
 
 
Development kit TCL scripts supported are the following one:
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 45: Line 40:
 
|}
 
|}
  
As an example, to reproduce the build for the ''Bora'' platform, here below are the steps:
+
Take ''Bora'' platform for example, to reproduce the build, user just need to:
 
* clone the repository:
 
* clone the repository:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 52: Line 47:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
or clone the Vivado repository when you clone Petalinux repository
+
or you can clone Vivado repository when you clone Petalinux repository
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 59: Line 54:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* (only once as first tools setup) copy ''Bora'' hardware definition into Vivado installation path:
+
* (only once as first tools setup) copy ''Bora'' hardware definition into Vivado installation.:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cp -r boards/ <vivado directory installation>/Xilinx/2021.2/Vivado/2021.2/data/
+
cp -r boards/ /opt/Xilinx/2021.2/Vivado/2021.2/data/
 
</syntaxhighlight>
 
</syntaxhighlight>
* lunch Vivado Design Suite with the following commands and parameters:
+
* lunch Vivado Design Suite with the following command:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
source <vivado directory installation>/Xilinx/2021.2/Vivado/2021.2/settings64.sh
+
source /opt/Xilinx/2021.2/Vivado/2021.2/settings64.sh
 
vivado -mode tcl -source scripts/recreate_prj_bora_BASE.tcl -notrace -tclargs "gen_bitstream"
 
vivado -mode tcl -source scripts/recreate_prj_bora_BASE.tcl -notrace -tclargs "gen_bitstream"
 
</syntaxhighlight>
 
</syntaxhighlight>
* at the end of the bitstream build process, the script automatically exports the Xilinx Support Archive ('''XSA''') hardware design
+
* at the end of bitstream build process, the script automatically exports hardware
** the Vivado project <code>vivado/bora.xpr</code> is ready for customization through the Vivado GUI
+
** The Vivado project ready for customization through Vivado GUI is available into <code>vivado/bora.xpr</code>
** the bitstream files are
+
** The bitstream file is now present in
 
*** <code>vivado/bora.runs/impl_1/bora_wrapper.bit</code>
 
*** <code>vivado/bora.runs/impl_1/bora_wrapper.bit</code>
 
*** <code>vivado/bora.runs/impl_1/bora_wrapper.bin</code>
 
*** <code>vivado/bora.runs/impl_1/bora_wrapper.bin</code>
** the hardware design file <code>vivado/bora.xsa</code> is ready for the import into Petalinux
+
** The hardware export, ready for import into Petalinux, is available in <code>vivado/bora.xsa</code>
 
+
<section end=Body/>
=== CAN0 and UART0 routing example project ===
 
 
 
The following pictures show a simple PL design used to route PS' CAN0 and UART0 signals through EMIO.
 
 
 
[[File:Belk-default-vivado-project.png|thumb|center|400px|Block diagram of BORA example project]]
 
[[File:Belk-borax-default-vivado-project.png|thumb|center|400px|Block diagram of BORA Xpress example project]]
 
[[File:Boralite-default-vivado-project.png|thumb|center|400px|Block diagram of BORA Lite example project]]
 
  
<section end=Body/>
+
----
  
[[Category:BORA]] [[Category:BORA Xpress]][[Category:BORA Lite]]
+
[[Category:BORA]]

Revision as of 14:05, 22 January 2024

History
Issue Date Notes
2022/11/15 DESK-XZ7-L-1.0.0-rc1 release
2024/01/12 DESK-XZ7-L-1.0.1 release



Creating and building the Vivado project[edit | edit source]

The Vivado repository allows to:

  • track hardware/fpga related sources/configuration
  • reproduce hardware design output (FPGA bitstream, XSA) using TCL scripts. Development kit TCL scripts supported are as follow:
Script Boot
recreate_prj_bora.tcl uSD and QSPI-NOR
recreate_prj_borax_BASE.tcl uSD and QSPI-NOR
recreate_prj_boralite_BASE.tcl uSD and QSPI-NOR
recreate_prj_boralite_NAND.tcl uSD and NAND

Take Bora platform for example, to reproduce the build, user just need to:

  • clone the repository:
git clone git@git.dave.eu:desk-xz-l/vivado.git -b desk-xz7-l-1.0.1
cd vivado

or you can clone Vivado repository when you clone Petalinux repository

git clone --recursive git@git.dave.eu:desk-xz-l/petalinux.git -b desk-xz7-l-1.0.1
cd petalinux/vivado
  • (only once as first tools setup) copy Bora hardware definition into Vivado installation.:
cp -r boards/ /opt/Xilinx/2021.2/Vivado/2021.2/data/
  • lunch Vivado Design Suite with the following command:
source /opt/Xilinx/2021.2/Vivado/2021.2/settings64.sh
vivado -mode tcl -source scripts/recreate_prj_bora_BASE.tcl -notrace -tclargs "gen_bitstream"
  • at the end of bitstream build process, the script automatically exports hardware
    • The Vivado project ready for customization through Vivado GUI is available into vivado/bora.xpr
    • The bitstream file is now present in
      • vivado/bora.runs/impl_1/bora_wrapper.bit
      • vivado/bora.runs/impl_1/bora_wrapper.bin
    • The hardware export, ready for import into Petalinux, is available in vivado/bora.xsa