creating a output register/interrup from PL to arm processor

Using Zynq Programmable Logic and Xilinx tools to create custom board configurations

creating a output register/interrup from PL to arm processor

Postby dipin » Tue May 29, 2018 12:30 pm

hi,

finally i successfully implemented https://www.parallella.org/2016/01/21/creating-an-fpga-accelerator-in-15-minutes/ this project and added a counter. now output of the adder is printing in the Ubuntu terminal. Here i need an extra control signal or register to give some control to the total design. when the counter reaches a particular value, i need to give a signal to arm processor. so anybody know how to how to add and extra output reg to above design ?
any help is really appreciated
thanks and regards
dipin divakar
Last edited by dipin on Thu May 31, 2018 11:16 am, edited 1 time in total.
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Re: creating an extra output register from PL to arm process

Postby dipin » Wed May 30, 2018 12:16 pm

hi,
what i am trying to do is an interrupt which will goes from fpga to arm processor.. if anybody had any clue please help...
i can give it to the zynq processor by enabling the interrupt option. but how can i acess it in the arm processor
thanks in advance
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Re: creating an extra output register from PL to arm process

Postby olajep » Fri Jun 08, 2018 2:26 pm

dipin wrote:hi,
what i am trying to do is an interrupt which will goes from fpga to arm processor.. if anybody had any clue please help...
i can give it to the zynq processor by enabling the interrupt option. but how can i acess it in the arm processor
thanks in advance


Check out the oh elink mailbox implementation:

Some pointers:

parallella_base verilog top block
https://github.com/parallella/oh/blob/m ... lla_base.v (search for mailbox_irq)

Vivado 'top block'
https://github.com/parallella/oh/blob/m ... d.tcl#L248 (search for mailbox_irq)

Device tree:
https://github.com/parallella/parallell ... 2677-L2678

Driver:
https://github.com/parallella/parallell ... 1.dtsi#L94

HTH
// Ola
_start = 266470723;
olajep
 
Posts: 139
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: creating a output register/interrup from PL to arm proce

Postby dipin » Tue Jun 12, 2018 4:32 am

HI,

thanks for the replay olajep :)
i connected the my interrupt to zynq processor IRQ_F2P pin. and i am using this c program https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/scugic/examples/xscugic_example.c to get the interrupt working. but my problem is the xil_drivers .my drivers are throwing error .

now how can i get the interrupt in arm side of the parallella board . which drivers are required for it. Is it xilinx drivers or we need to write our on ??
did parallella will supply some interface for this?

please share your views
thanks and regards
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Re: creating a output register/interrup from PL to arm proce

Postby olajep » Wed Jun 13, 2018 6:18 pm

dipin wrote:HI,

thanks for the replay olajep :)
i connected the my interrupt to zynq processor IRQ_F2P pin. and i am using this c program https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/scugic/examples/xscugic_example.c to get the interrupt working. but my problem is the xil_drivers .my drivers are throwing error .

IRQ_F2P is a 16 bit wide bus so you have to decide which pin you map it to.

See this xilinx forums thread:
https://forums.xilinx.com/t5/Embedded-L ... d-p/275370

dipin wrote:now how can i get the interrupt in arm side of the parallella board . which drivers are required for it. Is it xilinx drivers or we need to write our on ??
did parallella will supply some interface for this?
please share your views
thanks and regards


if you modify the device tree you should be able to use the uio_pdrv_genirq driver and then access your PL from user space.
This has been discussed previously on this forum search for "UIO"

// Ola
_start = 266470723;
olajep
 
Posts: 139
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: creating a output register/interrup from PL to arm proce

Postby dipin » Fri Jun 29, 2018 9:42 am

Hi @olajep ,

if you modify the device tree you should be able to use the uio_pdrv_genirq driver and then access your PL from user space.
This has been discussed previously on this forum search for "UIO"


How can i do that ?

One more thing is is it good to do either using "elink mailbox example " or using "UIO driver" which is a better idea ?
I tried using uio, I recompiled the kernel, but still its not working (uio drivers not showing up )

Thanks and Regards
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Re: creating a output register/interrup from PL to arm proce

Postby cpantel » Thu Sep 06, 2018 11:09 pm

hi dipin

Have you shared your experience somewhere? I am stuck with some common errors

dipin wrote:hi,

finally i successfully implemented https://www.parallella.org/2016/01/21/creating-an-fpga-accelerator-in-15-minutes/ this project and added a counter. now output of the adder is printing in the Ubuntu terminal. Here i need an extra control signal or register to give some control to the total design. when the counter reaches a particular value, i need to give a signal to arm processor. so anybody know how to how to add and extra output reg to above design ?
any help is really appreciated
thanks and regards
dipin divakar
cpantel
 
Posts: 9
Joined: Sat Sep 01, 2018 5:47 pm

Re: creating a output register/interrup from PL to arm proce

Postby dipin » Fri Oct 05, 2018 5:17 am

HI,
If you tell me what is the problem you are finding, i can help you
hints:: you have to use the old version of vivado.. 15.2 or 15.4 i think...
else the ip will show as a black box (because it will be empty if you uses the script).
if you are using 15.4, again you have to change the script file to 15.4 from 15.2.
then in the program, you have to change to "dev/epiphany" to "dev/mem"
then only it will map to fpga memory.

thanks and regards
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Re: creating a output register/interrup from PL to arm proce

Postby cpantel » Mon Oct 08, 2018 1:40 am

Hi dipin

please look this thread:

viewtopic.php?f=49&t=3411

I have used both 15.2 and 15.4

Thank you
cpantel
 
Posts: 9
Joined: Sat Sep 01, 2018 5:47 pm

Re: creating a output register/interrup from PL to arm proce

Postby dipin » Mon Oct 08, 2018 4:46 am

Hi,

now what was the problem you are facing, same as in the post you mentioned .

thanks
dipin
 
Posts: 11
Joined: Tue May 08, 2018 10:47 am

Next

Return to FPGA Design

Who is online

Users browsing this forum: No registered users and 3 guests