Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
learn:programmable-logic:tutorials:vivado-hierarchical-blocks:start [2020/02/19 22:34] – Arthur Brownlearn:programmable-logic:tutorials:vivado-hierarchical-blocks:start [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 13: Line 13:
 ==== Setting Up Dependencies ==== ==== Setting Up Dependencies ====
  
-**Note**: //In order to clone,// [[https://git-scm.com|git]] //must be installed on the computer. There are various different applications which can be used to interact with the git tools. The code blocks below detail the commands used in a bash shell.//+Check if vivado-library is already included in the Vivado project, if it is not, then it should be downloaded:
  
-Check if vivado-library is already included in the Vivado project, if it is not, then it should be cloned: +{{https://github.com/Digilent/vivado-library/archive/refs/tags/zmod/v1/2019.1-2.zip|vivado-library-zmod-v1-2019.1-2.zip}}
-**Note:** //If git tools are installed, then a ZIP of the hierarchies branch can be downloaded from GitHub:// [[https://github.com/Digilent/vivado-library/archive/hierarchies.zip|vivado-library-hierarchies.zip]]+
  
 +Those familiar with git may want to clone the hierarchies rather than download a ZIP. The dropdown below contains brief instructions.
 +
 +--> Using git to clone the hierarchies #
 <code> <code>
 cd (somewhere memorable) cd (somewhere memorable)
-git clone https://github.com/digilent/vivado-library -b hierarchies+git clone https://github.com/digilent/vivado-library -b zmod/v1/2019.1-2
 </code> </code>
  
 Otherwise (if vivado-library is included in the project), use git tools to check out the branch: Otherwise (if vivado-library is included in the project), use git tools to check out the branch:
 +
 **Warning!** //If IP from the library are already included in the project, checking out a different branch may cause changes to them. Be careful!// **Warning!** //If IP from the library are already included in the project, checking out a different branch may cause changes to them. Be careful!//
 +
 +Note that the "branch" selected by this command is a git tag known to work with this documentation.
  
 <code> <code>
Line 30: Line 35:
 git checkout hierarchies git checkout hierarchies
 </code> </code>
 +<--
  
 ---- ----
Line 107: Line 113:
 ---- ----
 == 4.3 - Constraining the Design == == 4.3 - Constraining the Design ==
-This step works a little differently depending on whether the peripheral targeted by the hierarchical block is a [[reference:zmod:start|Zmod]] or a [[reference:pmod:start|Pmod]]. Select the dropdown for the chosen peripheral:+This step works a little differently depending on whether the peripheral targeted by the hierarchical block is a [[zmod:start|Zmod]] or a [[pmod:start|Pmod]]. Select the dropdown for the chosen peripheral:
  
 --> Pmod# --> Pmod#
 <WRAP GROUP> <WRAP COLUMN HALF> <WRAP GROUP> <WRAP COLUMN HALF>
-If the **Board Flow** was chosen, open the README.txt file in the hierarchical block's folder in vivado-hierarchies-master to determine whether any additional constraints are required. If there are none, //skip the rest of this section//.+If the **Board Flow** was chosen, open the README.txt file in the hierarchical block's folder in vivado-library-hierarchies to determine whether any additional constraints are required. If there are none, //skip the rest of this section//.
  
 When the Hierarchy was created, a constraint file, named "(Hierarchy Name)_Pmod_out.xdc", was imported into the Vivado project. This file contains a template for all required constraints, regardless of the flow used. Open it now from the //Sources// pane, by finding it under //Constraints// and double clicking on it. When the Hierarchy was created, a constraint file, named "(Hierarchy Name)_Pmod_out.xdc", was imported into the Vivado project. This file contains a template for all required constraints, regardless of the flow used. Open it now from the //Sources// pane, by finding it under //Constraints// and double clicking on it.
Line 159: Line 165:
 ==== Baremetal Software ==== ==== Baremetal Software ====
 <WRAP round center important 660px> <WRAP round center important 660px>
-Zmod Hierarchical Blocks are supported in software by the Zmod Library. If using a Zmod, see the [[reference:zmod:zmodbaselibraryuserguide|Zmod Base Library User Guide]], and skip the rest of this guide. If Petalinux support for the added hierarchy is desired, first see the [[reference:programmable-logic:eclypse-z7:customizing-zmods-os|Zmod Petalinux Configuration Guide]]+Zmod Hierarchical Blocks are supported in software by the Zmod Library. If using a Zmod, see the [[zmod:zmodbaselibraryuserguide|Zmod Base Library User Guide]], and skip the rest of this guide. If Petalinux support for the added hierarchy is desired, first see the [[programmable-logic:eclypse-z7:customizing-zmods-os|Zmod Petalinux Configuration Guide]]
 </WRAP> </WRAP>
  
Line 182: Line 188:
 <WRAP GROUP> <WRAP COLUMN HALF> <WRAP GROUP> <WRAP COLUMN HALF>
 === 3. === === 3. ===
-Create a new application project using the "Empty Application" template. Make sure to check if the hierarchical block requires any changes to project settings or if any libraries must be added to the BSP. These requirements, if any, are detailed in the README.txt file in the hierarchical block's sdk_sources folder in the vivado-hierarchies-master folder.+Create a new application project using the "Empty Application" template. Make sure to check if the hierarchical block requires any changes to project settings or if any libraries must be added to the BSP. These requirements, if any, are detailed in the README.txt file in the hierarchical block's sdk_sources folder in the vivado-library-hierarchies folder.
 </WRAP> <WRAP COLUMN HALF> </WRAP> <WRAP COLUMN HALF>
 {{ :learn:programmable-logic:tutorials:vivado-hierarchical-blocks:new-app.png?600 |}} {{ :learn:programmable-logic:tutorials:vivado-hierarchical-blocks:new-app.png?600 |}}
Line 191: Line 197:
 <WRAP GROUP> <WRAP COLUMN HALF> <WRAP GROUP> <WRAP COLUMN HALF>
 === 4. === === 4. ===
-Copy all of the files from the selected hierarchical block's sdk_sources folder (in the vivado-hierarchies-master folder), then paste them into the application project's src folder.+Copy all of the files from the selected hierarchical block's sdk_sources folder (in the vivado-library-hierarchies folder), then paste them into the application project's src folder.
 </WRAP> <WRAP COLUMN HALF> </WRAP> <WRAP COLUMN HALF>
 {{ :learn:programmable-logic:tutorials:vivado-hierarchical-blocks:import-sources.png?600 |}} {{ :learn:programmable-logic:tutorials:vivado-hierarchical-blocks:import-sources.png?600 |}}
Line 227: Line 233:
 The SDK sources provided with the hierarchical blocks are set up such that they can be easily included in any design using that block. The subfolder below sdk_sources contains all necessary drivers for the block. The SDK sources provided with the hierarchical blocks are set up such that they can be easily included in any design using that block. The subfolder below sdk_sources contains all necessary drivers for the block.
  
-For more reference materials and guides on the Digilent products being used, navigate to their resource centers, here on the [[:start:|Digilent Wiki]].+For more reference materials and guides on the Digilent products being used, navigate to their resource centers, here on the [[start:|Digilent Wiki]].
  
 For technical support, please visit the [[https://forum.digilentinc.com|Digilent Forums]]. For technical support, please visit the [[https://forum.digilentinc.com|Digilent Forums]].
  
 {{tag>vivado-hierarchical-blocks}} {{tag>vivado-hierarchical-blocks}}