cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gianLuilui8
Visitor
Visitor
576 Views
Registered: ‎10-14-2020

Using AXI4Stream VIP as ethernet subsystem output

Jump to solution

Hello,

So I am using a 10G/25G Ethernet Subsystem and have the design working in hardware. However, as the design matures and more functionality is added apart from the ethernet subsystem, robust simulation is a must.

I looked at the design examples of the ethernet subsystem and saw the loopback used for simulation testing. However I am most concerned with how data looks after it passes through the ethernet subsystem and comes out on an AXI4Stream bus. So I decided to use the AXI4 Stream VIP. However, the output isn't exactly like a continuous stream, the AXI VIP is limited by how many data beats are in a single packet i.e. if transmitting 78 bytes and your AXI4S bus is 8 bytes, then you have 10 data beats.

Is there a way to buffer an entire message before giving it to the AXI4 VIP so that there are no dead cycles in between words on the bus?

Many Thanks for any and all advice!

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
brasilino
Adventurer
Adventurer
467 Views
Registered: ‎08-07-2014

HI @gianLuilui8 

 

Hello @gianLuilui8 

 

Well.. AFAIK you can't store multiple packets and send them at once.

To get the whole picture, can you post here your block design, the waveform you are seeing when using AXI-Stream VIP and, over the waveform, say a little bit more on how would you like the waveform to behave ?

 

regards

Brasilino

View solution in original post

0 Kudos
3 Replies
brasilino
Adventurer
Adventurer
543 Views
Registered: ‎08-07-2014

Hello @gianLuilui8 

 

You can use the 'AXI4-Stream Data FIFO' IP with "Packet Mode" enabled between the 10G/25G Ethernet Subsystem and the AXI4Stream VIP for that end. The FIFO will hold all valid words from Ethernet Subsystem until it receives a TLAST. Only after that FIFO will start to send continuously the stored data, as long as TREADY is asserted.

Regards

Brasilino

* If this post answer your question, please consider accept for solution and kudo.

gianLuilui8
Visitor
Visitor
492 Views
Registered: ‎10-14-2020

I think this is a good idea, but does this address throughput concerns? While packets will be compact, is it possible to load multiple packets and then send them out in a way that can simulate traffic coming from the ethernet subsystem? I realize I'm using the AXI VIP for a corner case, but just trying to figure out my options.

0 Kudos
brasilino
Adventurer
Adventurer
468 Views
Registered: ‎08-07-2014

HI @gianLuilui8 

 

Hello @gianLuilui8 

 

Well.. AFAIK you can't store multiple packets and send them at once.

To get the whole picture, can you post here your block design, the waveform you are seeing when using AXI-Stream VIP and, over the waveform, say a little bit more on how would you like the waveform to behave ?

 

regards

Brasilino

View solution in original post

0 Kudos