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
320 Views
Registered: ‎10-16-2018

AXI_GPIO IP block

Jump to solution

Hi,
I am need to use more than one block of AXI_GPIO.
What is the number of channels in the second added block should be? Are they will be 3 and 4 since the in first block the number of channels are 1 and 2 ?
Kindly, find the attached pictures.


Thanks.

Tags (1)
AXI_GPIO.JPG
code_snip.JPG
0 Kudos
1 Solution

Accepted Solutions
Voyager
Voyager
274 Views
Registered: ‎03-28-2016

Re: AXI_GPIO IP block

Jump to solution

Think of the two AXI_GPIO blocks as completely unrelated IP.  Note in Vivado, each IP has a unique name and is given a unique adress space.  In your C code, you will need to intialize and configure both of the IPs seperately.  Note that there should be a generated file called "xparameters.h" that is added to your SDK workspace.  That file contains #Defines for all of the IP in your design.  Look in there to find the specific info for each IP.

When you read or write the GPIOs, it's the instance pointer that specifies which IP is being accessed.  From your example, you had a read of (&Gpio,1).  To read from the second GPIO, you might have (&Gpio1,1).

Ted Booth - Tech. Lead FPGA Design Engineer
www.designlinxhs.com
4 Replies
Scholar dpaul24
Scholar
306 Views
Registered: ‎08-07-2014

Re: AXI_GPIO IP block

Jump to solution

@ahmed_alfadhel,

Why don't you create, add the block and see it for yourself?

Just change the instiantiation name to axi_gpio_2 and add the block to your design.

 

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------
0 Kudos
Explorer
Explorer
299 Views
Registered: ‎10-16-2018

Re: AXI_GPIO IP block

Jump to solution

Hi @dpaul24 ,

Thank you for your reply.

I meant what should I put inside my C code, in case of multiple AXI_GPIO blocks. 

Kindly, see the attached picture. 

Thanks

code_snippet.JPG
0 Kudos
Highlighted
Scholar dpaul24
Scholar
290 Views
Registered: ‎08-07-2014

Re: AXI_GPIO IP block

Jump to solution

@ahmed_alfadhel,

Put a 2 in the place which you have marked.

Are they will be 3 and 4 since the in first block the number of channels are 1 and 2 ?

I think in the 2nd instiantiation, the channels will be 1 and 2 . If the block inst name is different it won't be a problem.

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------
Voyager
Voyager
275 Views
Registered: ‎03-28-2016

Re: AXI_GPIO IP block

Jump to solution

Think of the two AXI_GPIO blocks as completely unrelated IP.  Note in Vivado, each IP has a unique name and is given a unique adress space.  In your C code, you will need to intialize and configure both of the IPs seperately.  Note that there should be a generated file called "xparameters.h" that is added to your SDK workspace.  That file contains #Defines for all of the IP in your design.  Look in there to find the specific info for each IP.

When you read or write the GPIOs, it's the instance pointer that specifies which IP is being accessed.  From your example, you had a read of (&Gpio,1).  To read from the second GPIO, you might have (&Gpio1,1).

Ted Booth - Tech. Lead FPGA Design Engineer
www.designlinxhs.com