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: 
Explorer
Explorer
2,234 Views
Registered: ‎05-23-2017

How could just use the PL part on the zynq mpsoc device?

Hi ,

 

I am not familiar with the connection between the PS and PL on the Zynq ultrascale+ mpsoc.

I wonder how could I just use PL part.

My project is a pure logic design have no connection with the PS part.

After I download the bit-stream, I found there is no clock for the design.

My search result is to use the PL part ,firstly should enable the PS part.

Is it so?

 

Any hint will be appreciated!

 

0 Kudos
4 Replies
Scholar hbucher
Scholar
2,229 Views
Registered: ‎03-22-2016

Re: How could just use the PL part on the zynq mpsoc device?

@mathmaxsean  What is the board you are using?

We have a ZCU102 and it has several clocks available, some of them programmable.

If you want to use the PL part you just dont add the ZYNQ IP to your design, simple as that.

That said, adding the PS to the design will not cost you much in terms of area and will provide you with a handy way to generate clocks for the PL using the Zynq configuration.

For example, in the design below, I use FCLK_CLK0 from the PS to drive a microblaze.

(Granted this is for the Zybo board/Zynq7 but it is almost the same)

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
mblazeclock.PNG
clockconfig.PNG
Voyager
Voyager
2,226 Views
Registered: ‎06-24-2013

Re: How could just use the PL part on the zynq mpsoc device?

Hey @mathmaxsean,

 

The PS is what first boots up and usually initializes the PL, but you can basically get away with a minimum there and just have the PS run system setup and nothing else.

 

Most likely you already have a bootloader (u-boot) installed on your board, which will do the basic initialization for you.

 

Hope this helps,

Herbert

-------------- Yes, I do this for fun!
0 Kudos
Historian
Historian
2,199 Views
Registered: ‎01-23-2009

Re: How could just use the PL part on the zynq mpsoc device?

As opposed to all other FPGAs, which have a variety of means for downloading the bitstream from flash/ROM on FPGA powerup, the Zynq does not.

 

The only way to get a bitstream into the programmable logic (PL) of the Zynq is

  - via the PCAP, which is controlled by the processor system (PS) - you must boot the PS to access this

  - via JTAG

 

So if you want to use "only" the PL, you can download a bitstream directly into the fabric via JTAG. But that is non-permanent - every time you power up the system you will need an external PC with a JTAG programmer to bring up the FPGA.

 

Alternatively, the Vivado tools make it easy to create the First Stage Boot Loader (FSBL), which boots the PS with some simple code, which then downloads the bitstream into the fabric. This FSBL code (along with the bitstream) can be downloaded into flash accessed by the flash controller of the PS.

 

A Zynq fabric has access to clocks from two different sources. Like all other 7 series devices, there are clock capable pins that can bring in external clocks. In addition, the PS requires an external oscillator, and can provide clocks to the PL. If you are working on a development board that only has PS clocks, then you have to bring up the PS first to get the PS->PL clocks programmed and running. Again, the FSBL will do this for you...

 

Avrum

Explorer
Explorer
2,178 Views
Registered: ‎05-23-2017

Re: How could just use the PL part on the zynq mpsoc device?

@hbucher,

Thanks it work.