Fast virtual platforms open up multicore software development
Filip Thoen, Synopsys
(02/11/2008 9:00 AM EST) -- EE Times
As research pushes for better programming models for multiprocessor and multicore (MC) embedded systems, virtual platforms solve one of today's biggest challenges in these systems: software debugging and validation. In addition to enabling software development long before hardware availability, virtual platforms are a practical enabler for MC systems today by their provision of better software development and debugging support than actual hardware. Virtual platforms offer unprecedented control and visibility, along with ease in deterministically reproducing MC problems.
With the right level of model abstraction, these platforms can handle MC complexity while offering high-speed execution of complete MC software stacks and requiring a relatively modest effort for platform development. The key is to use functional transaction-level modeling (TLM) for the virtual platform with abstracted or approximate timing, called Loosely Timed (LT) or Approximately Timed (AT), respectively. This approach relies on high-speed processor instruction-set simulators (ISSs) and high-level, fully functional SystemC/C++ models of the other hardware building blocks.
Even though the use of both homogeneous and heterogeneous MC architectures has increased dramatically, embedded software development practices have not adapted well to the complexities of these architectures. MC architectures pose new challenges in software partitioning and in the mapping of parallel software tasks in an optimized and predictable fashion, as well as in software debugging and validation. Asynchronous interactions among concurrent processors introduce both functional and timing software problems such as race conditions, deadlocks and memory corruption. Worse, their concurrent nature simultaneously makes it hard to pinpoint the causes of system problems.
(02/11/2008 9:00 AM EST) -- EE Times
As research pushes for better programming models for multiprocessor and multicore (MC) embedded systems, virtual platforms solve one of today's biggest challenges in these systems: software debugging and validation. In addition to enabling software development long before hardware availability, virtual platforms are a practical enabler for MC systems today by their provision of better software development and debugging support than actual hardware. Virtual platforms offer unprecedented control and visibility, along with ease in deterministically reproducing MC problems.
With the right level of model abstraction, these platforms can handle MC complexity while offering high-speed execution of complete MC software stacks and requiring a relatively modest effort for platform development. The key is to use functional transaction-level modeling (TLM) for the virtual platform with abstracted or approximate timing, called Loosely Timed (LT) or Approximately Timed (AT), respectively. This approach relies on high-speed processor instruction-set simulators (ISSs) and high-level, fully functional SystemC/C++ models of the other hardware building blocks.
Even though the use of both homogeneous and heterogeneous MC architectures has increased dramatically, embedded software development practices have not adapted well to the complexities of these architectures. MC architectures pose new challenges in software partitioning and in the mapping of parallel software tasks in an optimized and predictable fashion, as well as in software debugging and validation. Asynchronous interactions among concurrent processors introduce both functional and timing software problems such as race conditions, deadlocks and memory corruption. Worse, their concurrent nature simultaneously makes it hard to pinpoint the causes of system problems.
To read the full article, click here
Related Semiconductor IP
- DeWarp IP
- 6-bit, 12 GSPS Flash ADC - GlobalFoundries 22nm
- LunaNet AFS LDPC Encoder and Decoder IP Core
- ReRAM NVM in DB HiTek 130nm BCD
- UFS 5.0 Host Controller IP
Related Articles
- Virtual Prototyping Environment for Multi-core SoC Hardware and Software Development
- Improving Software Driver Development and Hardware Verification Productivity using Virtual Platforms
- Dealing with automotive software complexity with virtual prototyping - Part 1: Virtual HIL development basics
- Software must take full advantage of multicore platforms
Latest Articles
- VolTune: A Fine-Grained Runtime Voltage Control Architecture for FPGA Systems
- A Lightweight High-Throughput Collective-Capable NoC for Large-Scale ML Accelerators
- Quantifying Uncertainty in FMEDA Safety Metrics: An Error Propagation Approach for Enhanced ASIC Verification
- SoK: From Silicon to Netlist and Beyond Two Decades of Hardware Reverse Engineering Research
- An FPGA-Based SoC Architecture with a RISC-V Controller for Energy-Efficient Temporal-Coding Spiking Neural Networks