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.