UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor kong0329
Visitor
195 Views
Registered: ‎07-19-2019

What is platform interface? Why do we need .dsa?

Jump to solution

Hello,

I have some questions about platform and dsa file.

 

1. what is platform interface exactly, and why do we need that?

According to userguide, I enable some AXI interface ports and clocks as platform interface.

I wonder how these interfaces are used in SDSoC environment.

 

2. As far as I understand, dsa file also includes the information about block design, which means when I change some PL designs, I have to regenerate dsa file.

However, I found that SDSoC provides some default dsa files for some examples like zynq. Can I just use sample dsa file if hardware matches?

If so, even if I create new bd, I do not have to regenerate dsa file?

Also, what is the `pre_synth` dsa and `implementation` dsa?

 

Thanks!

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
131 Views
Registered: ‎09-12-2007

Re: What is platform interface? Why do we need .dsa?

Jump to solution

The platform is needed to tell the SDSoC how you want to connect your accellerated C function to your processor. In your platform crated in Vivado, you would advertise what PS/PL interfaces are available (you may be using some interfaces in your HW design, therefor this is not available in the SDSoC). You may also have axi stream interfaces in the PL, that can be used in the SDSoC. In Vivado, this platform is packaged in a DSA file. The DSA file is a container file that will contain the HW information, and SW information (such as the OS, bootloader information) to be used in the SDSoC. The SDSoC will then allow the user to create their application that will auto create the datamover system to connect and run on this platform.

So, there is a two step process. First you need to build your platform, and your boot images (either linux or standalone), then export to SDSoC and build your application on this target platform:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug1146-sdsoc-platform-development.pdf

 

BTW, your HW project could be an already complex embedded design utilizing the expansive number of IP in the Vivado IP catalog to meet your design needs prior to being exported to SDSoC. The SDSoC will just connect your accellerated functions to your existing system.

If you have a development board such as the zc702, then there are pre-built DSA files that you can use.

4 Replies
Moderator
Moderator
132 Views
Registered: ‎09-12-2007

Re: What is platform interface? Why do we need .dsa?

Jump to solution

The platform is needed to tell the SDSoC how you want to connect your accellerated C function to your processor. In your platform crated in Vivado, you would advertise what PS/PL interfaces are available (you may be using some interfaces in your HW design, therefor this is not available in the SDSoC). You may also have axi stream interfaces in the PL, that can be used in the SDSoC. In Vivado, this platform is packaged in a DSA file. The DSA file is a container file that will contain the HW information, and SW information (such as the OS, bootloader information) to be used in the SDSoC. The SDSoC will then allow the user to create their application that will auto create the datamover system to connect and run on this platform.

So, there is a two step process. First you need to build your platform, and your boot images (either linux or standalone), then export to SDSoC and build your application on this target platform:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug1146-sdsoc-platform-development.pdf

 

BTW, your HW project could be an already complex embedded design utilizing the expansive number of IP in the Vivado IP catalog to meet your design needs prior to being exported to SDSoC. The SDSoC will just connect your accellerated functions to your existing system.

If you have a development board such as the zc702, then there are pre-built DSA files that you can use.

Visitor kong0329
Visitor
116 Views
Registered: ‎07-19-2019

Re: What is platform interface? Why do we need .dsa?

Jump to solution

Thanks Stephen.

I have a follow-up question.

Until now, I have thought that in order to make an accelerator using Zynq for example, I should instantiate PS and create IP or use Xilinx IP that will be mapped to PL, and all these processes are done in Vivado.

After this process, I export HW and program some application in SDSoC.

 

After reading your answer, it seems like that I can also just instantiate PS and do some configuration for PS-PL interface in Vivado, and export that HW to SDSoC, even before creatubg my own accelerator part that will be mapped to PL.

HW blocks that will be mapped to PL can always be implemented later? (even after I generate dsa?)

Thanks

 

 

0 Kudos
Moderator
Moderator
110 Views
Registered: ‎09-12-2007

Re: What is platform interface? Why do we need .dsa?

Jump to solution

Yes, you would create  your base HW in Vivado. You can add your zynq PS and any IP you want here. Then export to SDSoC. Here, you would create the dsa with the platform and SW boot files.

 

In SDSoC, you can create your application to target your platform. If you select one of the functions to accelerate, the SDSoC will create the accellerated IP and use the platform info to know how to create the data mover to hook your accelerated IP to your base HW. 

 

So, you would use vivado to create your HW. You would export to SDSoC with a DSA if you plan to accelerate your some of your application in HW.

0 Kudos
Visitor kong0329
Visitor
101 Views
Registered: ‎07-19-2019

Re: What is platform interface? Why do we need .dsa?

Jump to solution
Thanks Stephen!
0 Kudos