The Unified Modeling Language (UML) has already received considerable acceptance in the domain of telecommunication and automotive systems, and now we see emerging activities in the field of SoC design [1-3].
Although different UML diagrams are being used for various purposes, such as testbench description and the specification of requirements, architectures, and behavior, there has yet to be a major UML breakthrough for SoC design. However, with the arrival of a new generation of customizable UML tools based on the principles of model-driven architecture (MDA), we expect a major impact in this area, too.
In the field of model-based verification (also called model-based testing in the software and automotive systems domain), for instance, some UML tools already support testbench specification and code generation. One such tool is Telelogic’s Tau, which generates validation sequences in the TTCN-3 language from sequence diagrams. Other tools like dSPACE’s AutomationDesk employ activity diagrams for test descriptions and test script generation.
Typical usage patterns of UML subsets in the field of behavioral SoC designs exploit state-machine, activity, and sequence diagrams in combination with use cases. I-Logix pioneered the generation of synthesizable VHDL from state charts, the precursor of state-machine diagrams in UML. More recent work also considers the use of state-machine and activity diagrams when compiled to VHDL, SystemC, and Handel-C for simulation and synthesis. In that context, the electronics industry (e.g., Fujitsu, NEC, and STMicroelectronics) investigated several case studies and hardware/software co-design methodologies based on UML (such as ACES from NEC Labs).
A key strength of UML is its ability to be extended with domain-specific customizations—the so-called profiles. A prominent example of an existing profile relevant in the embedded-system domain is the UML profile for schedulability, performance, and time (SPT). This is expected to be improved and extended by the upcoming Modeling and Analysis of Real-Time and Embedded systems (MARTE) profile.
Of particular interest for SoC design is the submitted UML extension profile for SoC [4], as well as the Systems Modeling Language (SysML) [5]. The SoC profile targets SystemC-oriented applications. SysML, which extends UML for general systems engineering, deals with continuous quantities, requirements, and physical assemblies such as IP blocks.
In order for a profile to be used for real applications, it must be:
Easy to use by domain experts; preferably, it should come with application guidelines
Formalized as a machine-readable standard format given by a so-called metamodel.