-
Notifications
You must be signed in to change notification settings - Fork 265
AHB-Lite Bus Integration in neorv32_vivado_ip #1218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This might be the problem: set_property enablement_dependency {$XBUS_EN} [ipx::get_bus_interfaces ahb_lite -of_objects [ipx::current_core]] I think Vivado cannot identify your Please change that line to a generic port (just to check that this is actually the reason for the error message): set_property enablement_dependency {$XBUS_EN} [ipx::get_ports ahb_* -of_objects [ipx::current_core]] |
Thank you so much for your previous help; it worked perfectly for generating the IP! However, I am now encountering a new issue. After combining all the AHB pins with the AHB Lite bus, I am unable to connect my NEORV32 IP to Vivado’s AHB Lite to AXI Bridge. I keep receiving the error "No matching connections" when attempting to link the ports. I suspect this could be due to a mismatch with the hready_in and hsel signals. Additionally, when I manually connect all other signals, and I loopback the ready_signal and assign constant value of 1 to hsel. Do you think this issue is due to a port mismatch between the AHB interface of the NEORV32 and the Bridge interface, or could there be another underlying problem? I would appreciate your insights on this matter. |
Great to hear!
This is because Vivado cannot identify the I have nerver used AHB in a Vivado IP design so I am not sure what the correct "interface name" is so that Vivado can actually identify all the ports. How about using the AXI-to-AHB bridge instead (at the cost of additional latency)? 😉 |
Thanks for your response. Let me try some try some attributes in HDL. |
Keep us updated! |
Uh oh!
There was an error while loading. Please reload this page.
I am trying to modify the neorv32_vivado_ip to use the AHB bus instead of the AXI4-Lite bus, as the guide suggests using AXI4-Lite. I've made the following changes to adapt the design to AHB-Lite:
In the TCL script, I modified:
Line 55: Added the AHB bridge instead of the AXI4-Lite bridge:
add_file $neorv32_home/rtl/system_integration/xbus2ahblite_bridge.vhd
Line 125: Updated the bus interface:
set_property enablement_dependency {$XBUS_EN} [ipx::get_bus_interfaces ahb_lite -of_objects [ipx::current_core]]
Line 210: Modified the group name for the bus interface:
set group [add_group $page {External Bus Interface (XBUS / AHB-Lite-MM Host)}]
In the neorv32_vivado_ip.vhd file, I replaced all instances of AXI4 with AHB in the module and signal names.
However, I am encountering the following error:
ERROR: [Common 17-55] 'set_property' expects at least one object.
Resolution: If [get_] was used to populate the object, check to make sure this command returns at least one valid object.
It seems that the set_property command is failing because the object being referenced (like the AHB interface) is not being found or properly instantiated. I’ve double-checked the changes, but I’m still unable to resolve the issue.
Could you please guide me on the correct approach to integrate AHB-Lite and address this error?
I am using vivado 2019.1.
Thanks for your help!
The text was updated successfully, but these errors were encountered: