130 likes | 245 Views
Interface-based Design. Donald Chai EE249. Outline. Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads. Orthogonalization of Concerns. Behavior (or computation, coordination) Communication (or interfaces)
E N D
Interface-based Design Donald Chai EE249 Interface-based Design
Outline • Orthogonalization of concerns • Formalisms • Interface-based Design Example • Cheetah Simulator • Future Inroads
Orthogonalization of Concerns • Behavior • (or computation, coordination) • Communication • (or interfaces) • These two are (or should be) independent
Interface-based Design • Done all the time • OSI stack • Memory mapped I/O • Virtual memory
Required Tools • A good formalism with which to perform: • Abstraction (and hierarchy) • Decomposition (and composition) • These concepts exist for both computation and communication
Formalism – Models of Computation • All models of computation specify a set of actors and a communication mechanism • FSMs – synchronous composition • CFSMs – event broadcast • Dataflow/KPN – lossless queues • CSP – rendezvous • Some models conflate communication and computation
Refinement (Abstraction-1) • Simple channel through which tokens are passed • REQ/ACK protocol • Master requests, slave acknowledges • Repartition
(De)composition • Largely ignored in this paper • Consider at least three communicating processes
Design Example • What • Software thread sending packets through a hardware transmitter • Asynchronous Transfer Mode (ATM) • How • Communication through bus (PCI, EISA, or PI) • Single byte transmission or burst mode?
Cheetah Simulator • Event driven • Built with communication platforms
Cheetah Simulator (II) • At most abstract level, channel has a simple delay • With more detail, expands in both space and time • Simulation speed varies from 7x to 175x RTL
Future Inroads • Better modeling and design exploration • Can mix and match communication and behaviors • Better synthesis • Allows design reuse • Improves don’t care extraction • Composeability
Future Inroads (II) • Verification • Abstraction and Decomposition are necessary • Can be used between steps in communication platform • Formal specification allows test generation