How to use UML in your SoC hardware/software design: Part 1
By Stephen J. Mellor, John R. Wolfe and Campbell McCausland, Mentor Graphics
Jul 17 2006 (10:00 AM), Embedded.com
From determining the hardware/software partition to meeting performance and cost objectives, the job of building systems on a chip has never been easy, and with ever-increasing demand for more functionality packed into smaller spaces consuming less power, building systems on a chip is unquestionably becoming more complex every day.
Add to this the desire to shrink development cycles and reduce the overall cost of the system, and you have an acute need to raise the level of abstraction and reduce unnecessary miscommunication between hardware and software teams.
To meet this need, several specification languages have been proposed such as Handel-C, SystemC, and so on. These languages unite hardware and software to some degree, but C is at such a low level of abstraction that software engineers have begun to move away from it as a specification language and use a more abstract modeling language, namely the Unified Modeling Language (UML).
As with most of the hardware-oriented C variants, one solution to the problem of taking a software-oriented language for use in SoC is to add hardware features to it. The same has been proposed for UML [1], but we propose the opposite: use only the minimum necessary to specify system functionality.
We then use model mappings, coupled with marks that indicate which mapping rule to apply, to translate the application model into hardware and software description languages. This approach enables a major simplification of the use of UML in SoC, and corresponding simplification of the work of SoC developers.
Jul 17 2006 (10:00 AM), Embedded.com
From determining the hardware/software partition to meeting performance and cost objectives, the job of building systems on a chip has never been easy, and with ever-increasing demand for more functionality packed into smaller spaces consuming less power, building systems on a chip is unquestionably becoming more complex every day.
Add to this the desire to shrink development cycles and reduce the overall cost of the system, and you have an acute need to raise the level of abstraction and reduce unnecessary miscommunication between hardware and software teams.
To meet this need, several specification languages have been proposed such as Handel-C, SystemC, and so on. These languages unite hardware and software to some degree, but C is at such a low level of abstraction that software engineers have begun to move away from it as a specification language and use a more abstract modeling language, namely the Unified Modeling Language (UML).
As with most of the hardware-oriented C variants, one solution to the problem of taking a software-oriented language for use in SoC is to add hardware features to it. The same has been proposed for UML [1], but we propose the opposite: use only the minimum necessary to specify system functionality.
We then use model mappings, coupled with marks that indicate which mapping rule to apply, to translate the application model into hardware and software description languages. This approach enables a major simplification of the use of UML in SoC, and corresponding simplification of the work of SoC developers.
To read the full article, click here
Related Semiconductor IP
- Multi-channel Ultra Ethernet TSS Transform Engine
- Configurable CPU tailored precisely to your needs
- Ultra high-performance low-power ADC
- HiFi iQ DSP
- CXL 4 Verification IP
Related Articles
- How to manage changing IP in an evolving SoC design
- How to make virtual prototyping better than designing with hardware: Part 1
- How to reuse your IIoT technology investments - now
- How to use snakes to speed up software without slowing down the time-to-market?
Latest Articles
- GenAI for Systems: Recurring Challenges and Design Principles from Software to Silicon
- Creating a Frequency Plan for a System using a PLL
- RISCover: Automatic Discovery of User-exploitable Architectural Security Vulnerabilities in Closed-Source RISC-V CPUs
- MING: An Automated CNN-to-Edge MLIR HLS framework
- Fault Tolerant Design of IGZO-based Binary Search ADCs