cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
311 Views
Registered: ‎11-19-2010

Vivado names AXI IP projects with illegal characters

 

Inside of a Vivado project I create a new AXI4 peripheral IP

I give it a name, configure the ports (a master AXI stream) and edit it.

Vivado opens a new window.I add my logic to the core and a testbench.

When I want to simulate it it fails. The reason is it (not me) created a folder (myip_1.0) and the '.' is not allowed. Wonderful.

How can I go around this?

Untitled picture.png
0 Kudos
3 Replies
Highlighted
Scholar
Scholar
221 Views
Registered: ‎06-20-2017

I can confirm the problem in Vivado 2020.1  (But I do not work at Xilinx, hopefully somebody who has actual responsibility will come by and not only confirm, but submit a change request).

In the meantime, when you create and package new IP in the graphical user interface (GUI), note that tcl commands are issued.  Copy them, bring them into a text editor, and modify.  For example the following seems to work for me:

 

create_peripheral morgan-aps.com user myip 1.0 -dir C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP
add_peripheral_interface S_AXIS -interface_mode slave -axi_type stream [ipx::find_open_core morgan-aps.com:user:myip:1.0]
add_peripheral_interface M_AXIS -interface_mode master -axi_type stream [ipx::find_open_core morgan-aps.com:user:myip:1.0]
generate_peripheral [ipx::find_open_core morgan-aps.com:user:myip:1.0]
write_peripheral [ipx::find_open_core morgan-aps.com:user:myip:1.0]
set_property  ip_repo_paths  {C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP/myip_1.0} [current_project]
update_ip_catalog -rebuild
ipx::edit_ip_in_project -upgrade true -name edit_myip_v1_0 -directory C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP C:/some_dir_you_use/maps_ip_repo/Managed_IP/myip_1.0/component.xml



# Above was captured from GUI.
# After closing the new project that doesn't allow simulation, and deleting all of the generated files from the managed IP project and the disk drive,
# Copy the above into a text editor, and change the above (note RED) to the following (note RED)

create_peripheral morgan-aps.com user myip 1 -dir C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP add_peripheral_interface S_AXIS -interface_mode slave -axi_type stream [ipx::find_open_core morgan-aps.com:user:myip:1] add_peripheral_interface M_AXIS -interface_mode master -axi_type stream [ipx::find_open_core morgan-aps.com:user:myip:1] generate_peripheral [ipx::find_open_core morgan-aps.com:user:myip:1] write_peripheral [ipx::find_open_core morgan-aps.com:user:myip:1] set_property ip_repo_paths {C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP/myip_1} [current_project] update_ip_catalog -rebuild ipx::edit_ip_in_project -upgrade true -name edit_myip_v1_0 -directory C:/some_dir_you_use/maps_ip_repo/managed_ip_project/../Managed_IP C:/some_dir_you_use/maps_ip_repo/Managed_IP/myip_1/component.xml

Turn it into a tcl script if desired, or paste it into the tcl console.

Kludgy, but short of creating a separate project just for simulating, it's all I got until a person paid to monitor these posts swings by with a better suggestion.

I hope this helps.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
125 Views
Registered: ‎06-27-2018

Hi @jcabel,

dot is not allowed in directory name when it is used as a terminal character (refer to Vivado naming convention).  In myip_1.0, dot is not terminal. Please let me know what error are you facing while simulation, if it is due to this dot, I will report it to development.

~Chinmay

Highlighted
Scholar
Scholar
47 Views
Registered: ‎06-20-2017

Hey @chinmays thanks for that gentle reminder.

@jcabel you might want to close this issue.   I doubt they will change the supported file or directory naming convention.

0 Kudos