Nodes and I/O ports..Use the concept of nodes, where a resource is situated and then scheduled. Protocols (programs) use an interface made of a number of nodes. Sections sport nodes. Example Syntax for H2InterfaceWe define interfaces by listing their nodes and the protocol to be used or created.
interface bunny
{
neutral:
protocol hopper; // existing or generated now.
assert always dvalid->ack; //
always ~dvalid -> terms == X; // Allow declarations everwhere
forward:
node out [2:0] terms;
node out ack;
node in dvalid;
reverse:
// The nodes are implicitly defined here
// but with the reverse direction.
}
SectionExample section definition. Uses a number of interfaces. We do not optimise over section boundaries at the moment, but will add support and control for that.
section mysource
{
interface bunny a;
}
section mytranscoder // default operation will be the identity data conservation.
{
interface bunny b;
interface bunny c;
}
section mysink
{
interface bunny d;
}
// Top-level section for simulation
section system
{
interface bunny x, y;
mysource s1(.a(x));
mytranscoder tc1(.b(x), .c(y));
mysink s2(.d(y);
}
Eternal InteroperationThe node syntax requires some extension to provide defaults when interoperating with newer versions. |
Home. SRG Talk. 12 March 2003. DJ Greaves. www.cl.cam.ac.uk.