I don't think the last paragraph is strictly true. In SLICC, when you
declare an in_port or out_port, you must declare a message type
(such as DataMsg, AddressMsg, etc.). So a particular MessageBuffer
only carries one type of message. And there's no way to connect
multiple MessageBuffers to a virtual network, so the same
restriction applies to virtual networks, also.
(This does seem a little odd, since a virtual network just
represents a communication channel, and shouldn't care about
the message format. But I'm pretty sure this is accurate.
Someone will surely correct me, if I'm wrong.)
Of course, you can create a generic type that carries lots of
different messages with different kinds of information. But at
the data type level, they must all have the same message type.
...Greg
Niket Agarwal wrote:
Yes, there is no way to connect different MessageBuffers to different
links, even now, in the default GEMS.
I think the point being made is that the same virtual network can be
used for different kind of messages. In this case the L1->L1 and L2->
L1 responses use the same virtual network. Virtual networks are only
used avoid protocol-level deadlocks and otherwise have no restriction
on what messages go in which virtual network.
Niket
\
|