I've been reading up on this for a few days, and I see a lot of details, but I want to make sure I have this right: I have some digital data coming in on a wire, and I just want to queue it up and package it and send it as a UDP packet to a computer. I was thinking an Arty board can be used for this, so that's on order.
I have the input coming in, and can write VHDL if needed to to help with timing. I'm realizing as I write this I might not even need VHDL, but my data is coming in several kHz, so maybe I need to write VHDL to handle that.
I would use the Arty tutorial steps to get a Microblaze, DDR3, and Ethernet IP block. Question 1: If I write my own VHDL, so I need it package it as an IP? I'm not concerned about code reuse/modularity. If no IP, can I just Add Port... twice and add an input and tie it directly to an output? And then I just modify my .xdc file. That seems... to simple
Question 2: Do I need to use AXI? It seems like that's how users like to get data between the VHDL and SDK C code. But it seems like maybe I can use xil_io.h or xpgio.h to just access data directly. So if I do need AXI, this is where I get confused as in Vivado I can add an IP or I can add an AXI Peripheral. It seems like I'd only want one of those, but if I add an IP before, how does that connect to the AXI Periph?
Sorry for the very basic question, but it just seems like all this IP and AXI data I've been playing with might be overkill. I have data on a pin, and I just want to get it as a variable in the SDK C code.
Question
rnelsonee
Hello all,
I've been reading up on this for a few days, and I see a lot of details, but I want to make sure I have this right: I have some digital data coming in on a wire, and I just want to queue it up and package it and send it as a UDP packet to a computer. I was thinking an Arty board can be used for this, so that's on order.
I have the input coming in, and can write VHDL if needed to to help with timing. I'm realizing as I write this I might not even need VHDL, but my data is coming in several kHz, so maybe I need to write VHDL to handle that.
I would use the Arty tutorial steps to get a Microblaze, DDR3, and Ethernet IP block. Question 1: If I write my own VHDL, so I need it package it as an IP? I'm not concerned about code reuse/modularity. If no IP, can I just Add Port... twice and add an input and tie it directly to an output? And then I just modify my .xdc file. That seems... to simple
Question 2: Do I need to use AXI? It seems like that's how users like to get data between the VHDL and SDK C code. But it seems like maybe I can use xil_io.h or xpgio.h to just access data directly. So if I do need AXI, this is where I get confused as in Vivado I can add an IP or I can add an AXI Peripheral. It seems like I'd only want one of those, but if I add an IP before, how does that connect to the AXI Periph?
Sorry for the very basic question, but it just seems like all this IP and AXI data I've been playing with might be overkill. I have data on a pin, and I just want to get it as a variable in the SDK C code.
Thank you all!
- Rick
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.