1
\$\begingroup\$

Curious to understand the use case of designing synthesizable linked list in RTL. This seems to be common in network chip designs.

Given that synthesized hardware has static memory size, what's the advantage of having linked list structure over array?

asked Apr 7, 2024 at 2:52
\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

There are a lot of use cases. Some examples:

  • incoming packets of different sizes need to be received and stored in a way that the OS can skip over one without reading its contents. Storing a length field is already a primitive form of a linked list
  • for known flows, packet headers can be stripped off and stored separately, while the payload is appended to a payload buffer. A linked list is generated so the network stack can still inspect the entire packet as a whole if it needs to.
  • outgoing packets can be assembled inside the network chip, pulling the headers from one area of RAM and the payload from another
answered Apr 7, 2024 at 6:20
\$\endgroup\$
2
  • \$\begingroup\$ Thanks for response. Can we not do these with arrays? Given that synthesized hardware has static memory size, what's the advantage of having linked list structure over array? Trying to wrap my head around the array vs linked list part. \$\endgroup\$ Commented Apr 7, 2024 at 18:16
  • \$\begingroup\$ Pretty much all of these are on the interface to a host PC, so we're using the host's memory here, not BRAM, and in larger quantities than we have BRAM available. \$\endgroup\$ Commented Apr 7, 2024 at 23:28
0
\$\begingroup\$

Regardless of whether you mean network (co-)processors (or hardware accelerators for computer networking) or network-on-chips (NoCs) by "network chips," the terms "linked list" and array are used interchangeably by many people without a computer science, or even computer engineering, background.

You want to store incoming packets for either case, network processors or NoCs, in the buffers that are realized as linked lists or arrays.

Silicon implementations of circuits and electronic systems cannot be dynamically expanded/reduced.

Hence, they effectively mean the same thing.

answered Oct 20, 2024 at 14:10
\$\endgroup\$

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.