cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
deepg799
Explorer
Explorer
737 Views
Registered: ‎01-20-2019

Usage of AXI-Interrupt controller - DPU-TRD Vitis-AI flow

Jump to solution

I am building the below design to integrate the DPU in Vitis-Flow where the AXI-interrupt controller is used to connect the PL-PS interrupt signals.

https://github.com/Xilinx/Vitis-AI/tree/v1.3/dsa/DPU-TRD/prj/Vitis

My question is here, why we needs the axi-interrupt controller in platform design?  we can directly connect the interrupt signals to PS?


Is there any specific reason to chose the axi-interrupt controller to route the interrupt signals?

0 Kudos
1 Solution

Accepted Solutions
chaoz
Xilinx Employee
Xilinx Employee
638 Views
Registered: ‎09-14-2018

Yes I think so. As long as the interrupt connection matches with the interupt attribute in DPU device tree node.

----------------------------------------------------------------------------------------------
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

 

Chao
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

View solution in original post

8 Replies
chaoz
Xilinx Employee
Xilinx Employee
682 Views
Registered: ‎09-14-2018

As you known it's an platfrom design, we need the hardware platform to be extendable and able to reserve interrupt signals for other parts of design. I think this is the reason behind.

 


----------------------------------------------------------------------------------------------
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

Chao
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------
deepg799
Explorer
Explorer
650 Views
Registered: ‎01-20-2019

@chaoz 

Thanks for the update.

I can understand that the axi-interrupt controller can be removed and we can connect the interrupt signal direct to the PS.

Is my understanding is correct?

Thank you.

0 Kudos
chaoz
Xilinx Employee
Xilinx Employee
639 Views
Registered: ‎09-14-2018

Yes I think so. As long as the interrupt connection matches with the interupt attribute in DPU device tree node.

----------------------------------------------------------------------------------------------
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

 

Chao
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

View solution in original post

deepg799
Explorer
Explorer
600 Views
Registered: ‎01-20-2019

@chaoz

One follow up question.

After DPU-TRD compilation I removed the axi-interrupt controller and manual map the interrupt lines of DPU to PS and generates the .bit file.

with this .bit file the dpu is working fine.

my question is,

why we dont need any dpu node in device tree? how interrupt number for DPU is takes care by XRT based dpu device driver?

0 Kudos
chaoz
Xilinx Employee
Xilinx Employee
561 Views
Registered: ‎09-14-2018

Hi @deepg799 

I thinks we do need dpu node in dt.

Have you checked system-user.dtsi? Should find something like below:

 

/include/ "system-conf.dtsi"
/{
        dpu: dpu@8f000000 {
                compatible = "deephi, dpu";
                reg = <0x0 0x8f000000 0x0 0x700>;
                interrupts = <0x0 106 0x1 0x0 107 0x1 0x0 108 0x1 0x0 109 0x1>;
                interrupt-parent = <&gic>;
                core-num = <0x4>;

                softmax@800001000 {
                        compatible = "deephi,smfc";
                        interrupt-parent = <&gic>;
                        interrupts = <0x0 0x6e 0x1>;
                        core-num = <0x1>;
                };
        };
        dpcma: dpcma {
                compatible = "deephi,cma";
        };

};

 

Chao
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------
deepg799
Explorer
Explorer
507 Views
Registered: ‎01-20-2019

@chaoz 

Currently, I am not using any dpu node in my system_user.dtsi and am not sure how the interrupt number is configured for DPU driver without passing it this information from .dtsi file to the driver.  if you have any idea about the same please let me know.

0 Kudos
chaoz
Xilinx Employee
Xilinx Employee
481 Views
Registered: ‎09-14-2018

Hi @deepg799 

That's strange. As far as I know, we do need dpu node in dt. 

So maybe you can further check pl.dtsi to see if you can find something.

Also you can de-compile the dtb file generated and check, that should have every nodes in it.

 

----------------------------------------------------------------------------------------------
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

Chao
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------
0 Kudos
deepg799
Explorer
Explorer
463 Views
Registered: ‎01-20-2019

@chaoz 

No, dtb file can not have any dpu node. and you will also not get any dpu node in pl.dtsi, because we are using vitis flow to integrate the DPU kernel.

Here, I am taking about vitis flow not vivado flow.

0 Kudos