60 likes | 75 Views
This paper delves into heterogeneous systems, communicating processes, and design aspects in CoWare to enhance understanding of hardware/software co-design. Learn about encapsulation, refinement, and the significance of managing different component types.
E N D
ESE 566: Hardware/Software Co-Design of Embedded SystemsFall 2005 Instructor: Dr. Alex Doboli. Paper discussed in class: D. Verkest, K. Van Rompay, I. Bolsens, H. De Man, ”CoWare – A Design Environment for Heterogeneous Hardware/Software Systems”, Design Automations for Embedded Systems, Vol. 1, No. 4, pp. 357-386, 1996.
Brief description of the paper content • What means heterogeneous system? What is the difference from codesign point-of-view between a heterogeneous and a homogeneous system? • What are communicating processes? What is encapsulation? What is refinement? Why separation between data processing and communication? • What design aspects are discussed in the paper?
The context of the work • Why an environment for managing different component types? Would such an environment be more a research or technology development effort? • What is the common denominator for designing with heterogeneous components? What is refinement of processes? What is refinement of communication? What challenges do you see in the refinement process?
Description of CoWare • Describe the concept of separating functionality from communication. Why does this help reusability? • System components as processes. What are primitive processes? What are hierarchical processes? Process = behavioral interface + implementation; Process = context + several threads. How does this model relate to the implementation? • What is a port? What is a primitive port? What is a hierarchical port? What is a protocol?What means in, out, inout? What means master and slave?
Example • Discuss the example in Figure 2. • How does channel refinement work for the example? • Summary of communication mechanisms in CoWare.
HW/SW Co-Design in CoWare • When a component is reused pay attention to communication part! • Methodology is presented in Figure 4. What are the inputs? What is INLINER? Why do we need INLINER? • How is software compiled? Why is C code converted into VHDL? • What is SHOCK?