Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
learn:programmable-logic:tutorials:vivado-hierarchical-blocks:start [2020/01/09 23:51] – [Baremetal Software] Arthur Brown | learn:programmable-logic:tutorials:vivado-hierarchical-blocks:start [2020/01/10 04:21] – Arthur Brown | ||
---|---|---|---|
Line 12: | Line 12: | ||
===== Guide ===== | ===== Guide ===== | ||
==== Download the Vivado Hierarchies Repository and Dependencies ==== | ==== Download the Vivado Hierarchies Repository and Dependencies ==== | ||
+ | === 1. === | ||
<WRAP GROUP> <WRAP COLUMN HALF> | <WRAP GROUP> <WRAP COLUMN HALF> | ||
Clone Digilent' | Clone Digilent' | ||
Line 28: | Line 29: | ||
{{: | {{: | ||
</ | </ | ||
+ | |||
+ | === 2. === | ||
+ | **Note**: If using a hierarchies for a Pmod, this step should be skipped. | ||
+ | |||
+ | At time of writing, Zmod Hierarchies are still a work in progress. As such, their sources in the vivado-library repository on placed on a feature **branch**. In order to ensure that their sources are picked up, the appropriate branch must be checked out as below: | ||
+ | |||
+ | < | ||
+ | git checkout feature/ | ||
+ | |||
---- | ---- | ||
==== Adding a Hierarchical Block to a Hardware Design ==== | ==== Adding a Hierarchical Block to a Hardware Design ==== | ||
Line 104: | Line 114: | ||
---- | ---- | ||
== 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: | + | This step works a little differently depending on whether the peripheral targeted by the hierarchical block is a [[reference: |
--> Pmod# | --> Pmod# | ||
Line 131: | Line 141: | ||
--> Zmod# | --> Zmod# | ||
+ | |||
+ | <WRAP GROUP> <WRAP COLUMN HALF> | ||
When create_hier.tcl is run for a Zmod Hierarchical Block, a constraint file is imported which contains template constraints for each external port created by the script. The constraint file is named after the hierarchical block created by the script, followed by the name of the particular Zmod, for example: " | When create_hier.tcl is run for a Zmod Hierarchical Block, a constraint file is imported which contains template constraints for each external port created by the script. The constraint file is named after the hierarchical block created by the script, followed by the name of the particular Zmod, for example: " | ||
Line 136: | Line 148: | ||
For other boards, the user must replace the PACKAGE_PIN location constraints for the Zmod ports with the corresponding locations found in the chosen board' | For other boards, the user must replace the PACKAGE_PIN location constraints for the Zmod ports with the corresponding locations found in the chosen board' | ||
+ | </ | ||
+ | {{: | ||
+ | </ | ||
+ | |||
<-- | <-- | ||