Dear community,
I have already established a symmetric 3D mesh using Garnet internal links
as Through-Silicon Vias (TSVs). However, my current interest lies in
developing a 3D stacked mesh where a bus serves as the interlayer
communication mechanism. Utilizing a bus for vertical communication, as
opposed to point-to-point links, has the potential to enhance performance
by reducing the number of hops in the vertical direction to just one.
However, I am aware that higher traffic rates may lead to congestion within
the system.
My question is whether I need to create and integrate a separate bus module
into Garnet for achieving the 3D stacked mesh topology, or if I can achieve
the desired functionality using the existing Garnet SimObjects.
Thank you for your assistance.
Kind regards, Ali
Good question.
A bus will have N input ports and N output ports but only one of the input ports allowed to transmit per cycle. I don’t think any module will directly give you this functionality.
So you may need to create a new bus module, but you should be able to reuse the arbiter module from the router.
Cheers,
Tushar
On Mar 25, 2024 at 2:12 PM -0400, Ali Karazmoodeh via gem5-users gem5-users@gem5.org, wrote:
Dear community,
I have already established a symmetric 3D mesh using Garnet internal links as Through-Silicon Vias (TSVs). However, my current interest lies in developing a 3D stacked mesh where a bus serves as the interlayer communication mechanism. Utilizing a bus for vertical communication, as opposed to point-to-point links, has the potential to enhance performance by reducing the number of hops in the vertical direction to just one. However, I am aware that higher traffic rates may lead to congestion within the system.
My question is whether I need to create and integrate a separate bus module into Garnet for achieving the 3D stacked mesh topology, or if I can achieve the desired functionality using the existing Garnet SimObjects.
Thank you for your assistance.
Kind regards, Ali