10-09-2017 02:19 AM
I'm new to vivado.
I have finished my RTL design in ncverilog and I want to package my design with AXI interface in order to connect to PYNQ.
However, the "Create and Package IP" seems to only package my design as IP, rather than package my design as IP with AXI interface.
I am wondering whether can I package my IP with AXI interface by any wizard?
10-09-2017 02:57 AM
I think you can package your design by selecting "Create a new AXI4 peripheral", then you can define your AXI4 interfaces.
10-09-2017 11:48 PM
"Create a new AXI4 peripheral" -> "Peripheral" -> "Add interface" -> "Create peripheral" seems only to create an wrapper but does not connect to my design?
I was wondering whether can I use some command to add AXI interface with memory mapping such as HLS?
10-10-2017 07:25 AM
If you are using HLS to create your design, the tools can automatically add AXI interfaces.
If you have created an RTL design, you can use the packager to create an AXI wrapper. You then need to manually connect your RTL to the wrapper. If you look through the wrapper code that is generated, you will see sections for use logic.
You can usually ignore most of the generated code, and look for the lines of code where you can link your design.
For example, if you create an AXI (lite) slave, you define a number of register that will be created in the wrapper. You can uses these registers (or the signals that write to them) to connect to your code.
All the AXI handshaking is taken care of for you in the wrapper.
There is a simple example of adding some custom logic to an AXI wrapper in lab3 here:
10-11-2017 12:55 AM
thanks for your reply!
The Lab3 Example does not take the LED output port in AXI interface.
However, HLS will take all output ports in AXI interface.
I was curious that can I take the output port into AXI interface?
My input/output port are 256bit.
I have tried the following code:
// Add user logic here
// User logic ends
But I will get the [Synth 8-685] error message.