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 spthomps
Visitor
227 Views
Registered: ‎09-18-2018

How to set address of AXI peripheral when Address Editor is not available

Hello,

I'm evaluating a soft-core processor design in an Arty A7 development board, and I'm having trouble connecting a UART to the processor's "Peripheral Port" because since I'm not using a Microblaze, I am unable to set the address of the peripheral via the Address Editor.

The processor is a Sifive E31 and has an AHB peripheral port that I connect to with the ahblite axi bridge, and then through an axi interconnect, I hang a UARTlite peripheral. The peripheral port is discussed more here: https://static.dev.sifive.com/E31-RISCVCoreIP.pdf

block_diagram.png

What I'm having a hard time understanding at the moment is how to give my "axi_uartlite_0" an address? In processor space the peripheral port can be accessed from 0x20000000->0x3FFFFFFF, and I'd like to set the uart peripheral at the beginning at 0x20000000. However, since my E31_Top object does not seem to "expose an AHB master port" I am not able to set the address ranges.

The peripheral bus from the core looks like:

    .periph_port_ahb_0_hmastlock(0),
    .periph_port_ahb_0_htrans(m_ahb_htrans),
    .periph_port_ahb_0_hsel(m_ahb_hsel),
    .periph_port_ahb_0_hready(m_ahb_hready_in),
    .periph_port_ahb_0_hwrite(m_ahb_hwrite),
    .periph_port_ahb_0_haddr(m_ahb_haddr),
    .periph_port_ahb_0_hsize(m_ahb_hsize),
    .periph_port_ahb_0_hburst(m_ahb_hburst),
    .periph_port_ahb_0_hprot(m_ahb_hprot),
    .periph_port_ahb_0_hwdata(m_ahb_hwdata),
    .periph_port_ahb_0_hreadyout(m_ahb_hready_out),
    .periph_port_ahb_0_hresp(m_ahb_hresp),
    .periph_port_ahb_0_hrdata(m_ahb_hrdata),

And all of the signals inside are exposed at the top level. How do I proceed from here?

Thanks,

Shawn

0 Kudos
7 Replies
Moderator
Moderator
188 Views
Registered: ‎11-09-2015

Re: How to set address of AXI peripheral when Address Editor is not available

HI @spthomps 

Are you sure you do not have the address editor tab? Even if you click Window > Address editor

The address editor is usually used to do the routing of the interconnect and as you have an AXI interconnect I would expect that you have the address editor tab available

 


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Visitor spthomps
Visitor
176 Views
Registered: ‎09-18-2018

Re: How to set address of AXI peripheral when Address Editor is not available

@florentw 

Yes, even Window->Address Editor is greyed out. Documentation seems to specify that there needs to be at least one AXI master for the address editor to be available, which I guess is true for the AXI Interconnect... Would I need to layout the port on my RTL block differently to allow it to be recognized as a master?

I've attach an image of the unavailability of the address editor with an open design.

no_address_editor.png
0 Kudos
Moderator
Moderator
150 Views
Registered: ‎11-09-2015

Re: How to set address of AXI peripheral when Address Editor is not available

Hi @spthomps 

I did some test, doing the same kind of design. I am able to get the Address Editor Tab in IP integrator using a similar design as yours:

AXI.JPG

 

One thing that could explain this: did you run validate bd design? This should propagate the AXI parameters and the address editor tab should appear


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Visitor spthomps
Visitor
113 Views
Registered: ‎09-18-2018

Re: How to set address of AXI peripheral when Address Editor is not available

@florentw,

Yes, I've made sure the design is validated (passes with "Validation successful. There are no errors or critical warnings in this design"), but I still do not have the address editor available.

0 Kudos
Moderator
Moderator
93 Views
Registered: ‎11-09-2015

Re: How to set address of AXI peripheral when Address Editor is not available

HI @spthomps 

Can you package and share you project?


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Visitor spthomps
Visitor
78 Views
Registered: ‎09-18-2018

Re: How to set address of AXI peripheral when Address Editor is not available

@florentw 

Yes, of course, the project is attached. I had to run a "reset_project" command to get the directory small enough to attach, hope that didn't cause any issues. It was built on Vivado 2017.4, but was also tested on 2019.1 (with IP upgrades) to test if it was a version issue.

Thanks,

Shawn

0 Kudos
Moderator
Moderator
17 Views
Registered: ‎11-09-2015

Re: How to set address of AXI peripheral when Address Editor is not available

Hi @spthomps 

Thank you for sharing your project.

I tried on my machine with 2019.1 and I found a weird behaviour. If I just replace the AHB-Lite to AXI Bridge with the same configuration (I used copy/paste un IPI) and with the same connection, then I can see the address editor tab...

To possiblilities:

  • there is an issue in 2017.4 which is getting propagatted when migrating to 2019.1
  • The IP is corrupted somehow in the project

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos