260 likes | 502 Views
Application of UML for Hardware Design Based on Design Process Model. Authors: R. Damasevicius, V. Stuikys. Speaker: Prof. Vytautas STUIKYS, Software Engineering Department, Kaunas University of Technology, Kaunas, Lithuania E-mail: vystu@if.ktu.lt
E N D
Application of UML for Hardware Design Based on Design Process Model Authors: R. Damasevicius, V. Stuikys Speaker: Prof. Vytautas STUIKYS, Software Engineering Department, Kaunas University of Technology, Kaunas, Lithuania E-mail: vystu@if.ktu.lt Phone: +370-37-300399
Content • Motivation • Higher-Level Abstractions: Design Processes & UML-Based Specification • Taxonomy, Definition, Examples • Metamodel for Conversion of a given Specification from UML to VHDL • Design Flow, Experiments • Evaluation, Discussion, Conclusions
MOTIVATION • MAIN DESIGN PROBLEM (Complexity and its derivatives - quality, productivity, time-to market) can be solved through: • Higher Reuse content at all design levels • System-Level Design • Novel design methodologies (e.g., Platform-Based Design) • Standardization initiatives • RAISING THE ABSTRACTION LEVEL IN DESIGN • We INTRODUCE 3 higher-level abstractions • DESIGN PROCESSES • UML for specifying Design Processes (PD) • METAPROGRAMMING for specifying generic functionality within a DP
Object-Oriented (OO) View to HL HW Design Processes: Taxonomy • Basic Operations: • Refinement, Widening • Narrowing, Containment • Logical Composition, Physical Composition • Design Patterns (processes) as a specific combination of Basic Operations: • Wrapping, Specialization • Composition, Recursive Composition
Example 1: Refinement UML VHDL • Interface class is given in italic • Refinement (HW domain) = Realization (SW domain)
Example 2: Widening UML VHDL • Widening (HW domain) = Inheritance (SW domain) • Narrowing (HW domain) = inversion of Widening (HW domain)
Example 4: Containment UML VHDL • Containment (HW domain) = Composition (SW domain)
Example 5: Logical Composition UML VHDL • Logical Composition (HW domain) = Multiple Inheritance (SW domain)
Example 6: Physical Composition UML VHDL • Physical Composition (HW domain) = Composition (SW domain)
Wrapping Design Process UML Block diagram • Wrapping Design Process (HW domain) Decorator Design Pattern (SW domain) • For details, and VHDL code see http://soften.ktu.lt/~stuik/dac03/
Metamodel and Transformation from UML to VHDL (1) • UML Interface = VHDL Entity
Metamodel and Transformation from UML to VHDL (2) • UML Inheritance VHDL abstraction • Inheritance (widening) is implemented using the metaprogramming techniques
Metamodel and Transformation from UML to VHDL (3) • UML Realization = Refinement (VHDL entity-architecture)
Metamodel and Transformation from UML to VHDL (4) • UML Composition = HW Containment(VHDL Port map)
What Is a Design Process? • Design Process (DP) is: • More than a simple design pattern • A domain-specific generative process • A pattern that includes • documentation (well-proven models, natural language descriptions, UML diagrams), which describes a design solution, • domain code components, and • tools (parsers, generators, etc.), which implement the solution • For properties of DPs (see paper)
Detailed Design Flow & Automatic Generation of Instances in VHDL
Experimental Approval • Design Problems very close to the Real World Design Problems we have solved: • IP Communication Problems • Based on HandShake Model • Based on FIFO Communication Model • Reliable Components (sub-systems, IPs) based on TRM • Based on SPACE redundancy • Based on DATA redundancy • Based on TIME redundancy • Third-party Soft IPs: Freely available the coarse-grained components in VHDL (Free-6502 core, DRAGONFLY core, AX8 core, i8051 micro-controller, etc.) • Important note: All above stated design problems can be specified using the same PD- WRAPPER DESIGN PATTERN
Evaluation of the Approach at the Design Process Level • HW Design Processes (DPs) reside within some framework such as Platform-Based Design • HW designers conceive DPs usually intuitively (on previous knowledge and design experience basis) • In our view, DP is an abstraction (model) and it can be treated at different levels of abstractions • A HW DP not always matches to the SW DP (Patterns) • Perhaps (our vision) HW DPs are richer than SW DPs • The same DP can be expressed using different relationships
Evaluation of the Approach at the Specification Level • Advantages of using UML for HW design: • Graphical, OO, standard, well-documented, serious efforts for applying in HW domain now, may serve for converging SW/HW design • High level specification (abstraction) of a designed system • Soft IP reusability, adaptability, maintainability for reuse • Difficulties of using UML for HW design relate with: • Specification of interconnections between components, generic domain functionality • Model validation, increased initial development time • Relationship UML /non-OO HDL is not well-understood yet • Expressiveness of UML for HW DP is not enough • A little maturity in usage of UML for HW design • Some problems with metamodel (UML subset/VHDL subset)
General Evaluation of the Proposed Approach • Several problems are still left to be solved: • How to select a HDL to implement the OO model of a system? • SystemC (an OO HDL) is better for HW modeling, HW/SW co-simulation and IP reuse • VHDL (not an OO HDL) is better for optimization and synthesis • Which specification method is better for HW design: block-based or OO? • Block diagrams are more common for HW designers. They are more straightforward and are oriented at interconnecting components • UML class diagrams are more intuitive and oriented at reusing and customizing components
SUMMARY & CONCLUSION • We have shown that High-level Abstractionsplay a key role in System-Level Design • We have introduced and discussed 3 types of Abstractions for System-Level Design: • Design Process as a higher-level (or meta) model • UML for Specification and Implementation of the model • MetaProgramming for generic Specification (partially) • We have (1) introduced taxonomy of UML- based Design Processes at two levels: Operations and Design Patterns, (2) discussed Design Flow based on MetaModel (UML-VHDL) and its implementation using UMLStudio Tools, and (3) evaluated the proposed methodology
Application of UML for Hardware Design Based on Design Process Model • Thank You for Your attention ! • http://soften.ktu.lt/~stuik/group/