Edit the Platform DSA
Copy the Base Platform
The first step is to locate the platform specific files for one of the
SDSoC base platforms. The files are provided as a
part of the SDSoC software installation, and can generally be found at the following
location: <SDx_Install_Dir>/platforms. For instance,
the files for the ZCU102 platform can be found at <SDx_Install_Dir>/platforms/zcu102.
Open the Platform DSA
The DSA file for the platform can be can be found in the
./hw folder of the platform. For example, the DSA file for the ZCU102
platform is found at zcu102/hw/zcu102.dsa.
- Launch the Vivado Design
Suite:
source <SDx_Install_Dir>/settings64.csh vivado & - From within the Vivado IDE, open the DSA by using the following command from the Tcl
Console:
open_dsa <path_to_dsa>/zcu102.dsa
A new project is created in your current working directory, and the block design is opened in the Vivado IP Integrator. The block design inside the DSA file has the name from the original platform you are editing. At this point, you should rename the block design to match the name of the new platform you are creating.
Use the command from the main menu to rename the block design.
Remove Original Block Design
To remove the original block design, and its wrapper from the project, open the Sources window, and expand the wrapper to show original block design inside. Select both the wrapper and the block design. Right-click and select the Remove File from Project command.
Figure: Remove File from Project
This removes the HDL wrapper and the original block design from the project. In the Remove Sources dialog box that opens, you can select the Also delete the project local file/directory from disk checkbox to completely delete the files. This should leave the new block design in the project, and you are ready to move to the next step of changing the target part for the project.
Change the Project Part
At this point you can edit the project settings to change the target part for the project. Select the Settings command under the Project Manager menu in the Flow Navigator window. The Settings dialog box will open displaying the current Project device as shown below.
Figure: General Page of the Settings Dialog Box
Select the Browse button for the Project device field to open the Select Device dialog box. From this dialog box you can select a board or part for the project. Select the Parts tab at the top of the Select Device dialog box to list the available parts as shown below. The displayed parts can be filtered by Category, Family, Package, etc. You can also use the Search field to filter the displayed parts by a specific search string.
Select a new Project part for your design, for example the xczu9eg-ffvb1156-2-i device.
Figure: Select Device
As soon as you change the project settings from a board flow to a part-based flow, all of the IP in the design will go stale, be locked, and require an upgrade. This is indicated by the yellow banner at the top of the block design. At the very least, the change of the target part in the project has made the current customization of the IP in the design out-of-date. For this reason the IP is locked, and must be updated to re-target the new part in the design.
Figure: Locked IP Banner
Click the Report IP Status link in the banner. This opens the IP Status report. Select all of the IP in the report and click the Upgrade Selected command.
After the IP in the design are upgraded, the Generate Output Products dialog box is displayed. Select Generate. This starts the generation of the necessary HDL files for the IP contained within the block design. Wait for the generation of the output products to finish. The Design Runs window displays the status of the Out-of-Context module runs.
Edit Platform Properties
The block design needs platform properties to be defined, as explained in Declaring Platform (PFM) Interfaces and Properties. Review that topic for a complete discussion of what needs to be done.
Begin editing the platform properties by selecting from the Vivado menu bar and clicking on the Enable platform interfaces link. This displays any existing platform properties that you may need to update.
In the Platform Interface window, select the top-level Platform, as shown in the following figure. Selecting the top-level Platform in the Platform Interfaces window, opens the Platform Properties window, also shown in the following figure.
Figure: Select the Top-Level Platform
Notice the Platform Properties window displays the Name, Vendor, Board, and Version properties, which you can edit as needed to define your custom platform. Edit the Vendor field to specify your company name, or appropriate name as the Vendor of this platform.
set_property pfm.name my_platform [get_files ...]
set_property dsa.name "my_platform" [current_project]
set_property dsa.vendor "xilinx.com" [current_project]
set_property dsa.board_id "lib" [current_project]In the Platform Interfaces window, check the Clocking properties, the Interface properties, and the Interrupt properties as defined in Configuring Platform Interface Properties.
With the platform properties defined, you can validate the block design by running validation. This can be done by typing the following command in the Tcl console:
validate_bd_design -include_pfm -force
Write the Platform DSA
In this step, you will create an HDL wrapper for the block design, generate a bitstream for the design (after synthesis and implementation), export the hardware description file, and write the DSA file for use by SDSoC.
In the Sources window, create a new HDL wrapper by right-clicking on the block design and selecting Create HDL Wrapper. In the Create HDL Wrapper dialog box, select the Let Vivado manage wrapper and auto-update option, and click OK.
After the wrapper is created, right-click the wrapper in the Sources window, and select the Set as Top command to specify this as the top-level of your platform design.
In the Flow Navigator, select Generate Bitstream. The Vivado tool notifies you that there are no implementation results, and asks if you want to run synthesis and implementation. Click Yes to proceed. Click OK to launch the runs.
With the bitstream generated for the platform, use the command to write the hardware description file for the project. Select Include bitstream when prompted in the Export Hardware dialog box.
write_dsa -force -include_bit <path_to_platform>/my_platform.dsa
validate_dsa my_platform.dsaWith the platform DSA file exported, you are now ready to import the DSA into a new platform project, and define the software platform elements as described in the next section.
Edit the Platform DSA
Copy the Base Platform
The first step is to locate the platform specific files for one of the
SDSoC base platforms. The files are provided as a
part of the SDSoC software installation, and can generally be found at the following
location: <SDx_Install_Dir>/platforms. For instance,
the files for the ZCU102 platform can be found at <SDx_Install_Dir>/platforms/zcu102.
Open the Platform DSA
The DSA file for the platform can be can be found in the
./hw folder of the platform. For example, the DSA file for the ZCU102
platform is found at zcu102/hw/zcu102.dsa.
- Launch the Vivado Design
Suite:
source <SDx_Install_Dir>/settings64.csh vivado & - From within the Vivado IDE, open the DSA by using the following command from the Tcl
Console:
open_dsa <path_to_dsa>/zcu102.dsa
A new project is created in your current working directory, and the block design is opened in the Vivado IP Integrator. The block design inside the DSA file has the name from the original platform you are editing. At this point, you should rename the block design to match the name of the new platform you are creating.
Use the command from the main menu to rename the block design.
Remove Original Block Design
To remove the original block design, and its wrapper from the project, open the Sources window, and expand the wrapper to show original block design inside. Select both the wrapper and the block design. Right-click and select the Remove File from Project command.
Figure: Remove File from Project
This removes the HDL wrapper and the original block design from the project. In the Remove Sources dialog box that opens, you can select the Also delete the project local file/directory from disk checkbox to completely delete the files. This should leave the new block design in the project, and you are ready to move to the next step of changing the target part for the project.
Change the Project Part
At this point you can edit the project settings to change the target part for the project. Select the Settings command under the Project Manager menu in the Flow Navigator window. The Settings dialog box will open displaying the current Project device as shown below.
Figure: General Page of the Settings Dialog Box
Select the Browse button for the Project device field to open the Select Device dialog box. From this dialog box you can select a board or part for the project. Select the Parts tab at the top of the Select Device dialog box to list the available parts as shown below. The displayed parts can be filtered by Category, Family, Package, etc. You can also use the Search field to filter the displayed parts by a specific search string.
Select a new Project part for your design, for example the xczu9eg-ffvb1156-2-i device.
Figure: Select Device
As soon as you change the project settings from a board flow to a part-based flow, all of the IP in the design will go stale, be locked, and require an upgrade. This is indicated by the yellow banner at the top of the block design. At the very least, the change of the target part in the project has made the current customization of the IP in the design out-of-date. For this reason the IP is locked, and must be updated to re-target the new part in the design.
Figure: Locked IP Banner
Click the Report IP Status link in the banner. This opens the IP Status report. Select all of the IP in the report and click the Upgrade Selected command.
After the IP in the design are upgraded, the Generate Output Products dialog box is displayed. Select Generate. This starts the generation of the necessary HDL files for the IP contained within the block design. Wait for the generation of the output products to finish. The Design Runs window displays the status of the Out-of-Context module runs.
Edit Platform Properties
The block design needs platform properties to be defined, as explained in Declaring Platform (PFM) Interfaces and Properties. Review that topic for a complete discussion of what needs to be done.
Begin editing the platform properties by selecting from the Vivado menu bar and clicking on the Enable platform interfaces link. This displays any existing platform properties that you may need to update.
In the Platform Interface window, select the top-level Platform, as shown in the following figure. Selecting the top-level Platform in the Platform Interfaces window, opens the Platform Properties window, also shown in the following figure.
Figure: Select the Top-Level Platform
Notice the Platform Properties window displays the Name, Vendor, Board, and Version properties, which you can edit as needed to define your custom platform. Edit the Vendor field to specify your company name, or appropriate name as the Vendor of this platform.
set_property pfm.name my_platform [get_files ...]
set_property dsa.name "my_platform" [current_project]
set_property dsa.vendor "xilinx.com" [current_project]
set_property dsa.board_id "lib" [current_project]In the Platform Interfaces window, check the Clocking properties, the Interface properties, and the Interrupt properties as defined in Configuring Platform Interface Properties.
With the platform properties defined, you can validate the block design by running validation. This can be done by typing the following command in the Tcl console:
validate_bd_design -include_pfm -force
Write the Platform DSA
In this step, you will create an HDL wrapper for the block design, generate a bitstream for the design (after synthesis and implementation), export the hardware description file, and write the DSA file for use by SDSoC.
In the Sources window, create a new HDL wrapper by right-clicking on the block design and selecting Create HDL Wrapper. In the Create HDL Wrapper dialog box, select the Let Vivado manage wrapper and auto-update option, and click OK.
After the wrapper is created, right-click the wrapper in the Sources window, and select the Set as Top command to specify this as the top-level of your platform design.
In the Flow Navigator, select Generate Bitstream. The Vivado tool notifies you that there are no implementation results, and asks if you want to run synthesis and implementation. Click Yes to proceed. Click OK to launch the runs.
With the bitstream generated for the platform, use the command to write the hardware description file for the project. Select Include bitstream when prompted in the Export Hardware dialog box.
write_dsa -force -include_bit <path_to_platform>/my_platform.dsa
validate_dsa my_platform.dsaWith the platform DSA file exported, you are now ready to import the DSA into a new platform project, and define the software platform elements as described in the next section.
Edit the Platform DSA
Copy the Base Platform
The first step is to locate the platform specific files for one of the
SDSoC base platforms. The files are provided as a
part of the SDSoC software installation, and can generally be found at the following
location: <SDx_Install_Dir>/platforms. For instance,
the files for the ZCU102 platform can be found at <SDx_Install_Dir>/platforms/zcu102.
Open the Platform DSA
The DSA file for the platform can be can be found in the
./hw folder of the platform. For example, the DSA file for the ZCU102
platform is found at zcu102/hw/zcu102.dsa.
- Launch the Vivado Design
Suite:
source <SDx_Install_Dir>/settings64.csh vivado & - From within the Vivado IDE, open the DSA by using the following command from the Tcl
Console:
open_dsa <path_to_dsa>/zcu102.dsa
A new project is created in your current working directory, and the block design is opened in the Vivado IP Integrator. The block design inside the DSA file has the name from the original platform you are editing. At this point, you should rename the block design to match the name of the new platform you are creating.
Use the command from the main menu to rename the block design.
Remove Original Block Design
To remove the original block design, and its wrapper from the project, open the Sources window, and expand the wrapper to show original block design inside. Select both the wrapper and the block design. Right-click and select the Remove File from Project command.
Figure: Remove File from Project
This removes the HDL wrapper and the original block design from the project. In the Remove Sources dialog box that opens, you can select the Also delete the project local file/directory from disk checkbox to completely delete the files. This should leave the new block design in the project, and you are ready to move to the next step of changing the target part for the project.
Change the Project Part
At this point you can edit the project settings to change the target part for the project. Select the Settings command under the Project Manager menu in the Flow Navigator window. The Settings dialog box will open displaying the current Project device as shown below.
Figure: General Page of the Settings Dialog Box
Select the Browse button for the Project device field to open the Select Device dialog box. From this dialog box you can select a board or part for the project. Select the Parts tab at the top of the Select Device dialog box to list the available parts as shown below. The displayed parts can be filtered by Category, Family, Package, etc. You can also use the Search field to filter the displayed parts by a specific search string.
Select a new Project part for your design, for example the xczu9eg-ffvb1156-2-i device.
Figure: Select Device
As soon as you change the project settings from a board flow to a part-based flow, all of the IP in the design will go stale, be locked, and require an upgrade. This is indicated by the yellow banner at the top of the block design. At the very least, the change of the target part in the project has made the current customization of the IP in the design out-of-date. For this reason the IP is locked, and must be updated to re-target the new part in the design.
Figure: Locked IP Banner
Click the Report IP Status link in the banner. This opens the IP Status report. Select all of the IP in the report and click the Upgrade Selected command.
After the IP in the design are upgraded, the Generate Output Products dialog box is displayed. Select Generate. This starts the generation of the necessary HDL files for the IP contained within the block design. Wait for the generation of the output products to finish. The Design Runs window displays the status of the Out-of-Context module runs.
Edit Platform Properties
The block design needs platform properties to be defined, as explained in Declaring Platform (PFM) Interfaces and Properties. Review that topic for a complete discussion of what needs to be done.
Begin editing the platform properties by selecting from the Vivado menu bar and clicking on the Enable platform interfaces link. This displays any existing platform properties that you may need to update.
In the Platform Interface window, select the top-level Platform, as shown in the following figure. Selecting the top-level Platform in the Platform Interfaces window, opens the Platform Properties window, also shown in the following figure.
Figure: Select the Top-Level Platform
Notice the Platform Properties window displays the Name, Vendor, Board, and Version properties, which you can edit as needed to define your custom platform. Edit the Vendor field to specify your company name, or appropriate name as the Vendor of this platform.
set_property pfm.name my_platform [get_files ...]
set_property dsa.name "my_platform" [current_project]
set_property dsa.vendor "xilinx.com" [current_project]
set_property dsa.board_id "lib" [current_project]In the Platform Interfaces window, check the Clocking properties, the Interface properties, and the Interrupt properties as defined in Configuring Platform Interface Properties.
With the platform properties defined, you can validate the block design by running validation. This can be done by typing the following command in the Tcl console:
validate_bd_design -include_pfm -force
Write the Platform DSA
In this step, you will create an HDL wrapper for the block design, generate a bitstream for the design (after synthesis and implementation), export the hardware description file, and write the DSA file for use by SDSoC.
In the Sources window, create a new HDL wrapper by right-clicking on the block design and selecting Create HDL Wrapper. In the Create HDL Wrapper dialog box, select the Let Vivado manage wrapper and auto-update option, and click OK.
After the wrapper is created, right-click the wrapper in the Sources window, and select the Set as Top command to specify this as the top-level of your platform design.
In the Flow Navigator, select Generate Bitstream. The Vivado tool notifies you that there are no implementation results, and asks if you want to run synthesis and implementation. Click Yes to proceed. Click OK to launch the runs.
With the bitstream generated for the platform, use the command to write the hardware description file for the project. Select Include bitstream when prompted in the Export Hardware dialog box.
write_dsa -force -include_bit <path_to_platform>/my_platform.dsa
validate_dsa my_platform.dsaWith the platform DSA file exported, you are now ready to import the DSA into a new platform project, and define the software platform elements as described in the next section.