System-level design of embedded computer systems is essential to manage complexity and enhance designer productivity. Viewing designs at t abstraction levels allows developers to evaluate the system performance early in the design cycle. System-level design languages (SLDLs) allow the representation of a system at multiple levels of ion. Two leading SLDLs, SpecC and SystemC, are taught in Iowa State University's graduate-level embedded systems course, CPRE 588. SpecC includes a handful of explicit language constructs that directly address characteristics of embedded applications, which gives students a quick start into understanding the concepts of system-level design. Moreover, a clear refinement methodology is defined for SpecC. However, SystemC has widespread industry support in many commercial tools, which gives students experience with actual practices. In this paper, we describe our strategy of teaching both SpecC and SystemC so as to leverage the strengths of both language...
Robert D. Walstrom, Joseph Schneider, Diane T. Rov