TechOnline India Header
Most Popular
Top 5 Courses
  • Fundamentals of PCB Design
  • Fundamentals of Multicore Programming
  • Eliminating Audible Transients in Audio Systems
  • DC-DC Converter Theory
  • Fundamentals of Wireless
    Most Popular
    Top 5 Technical Papers
  • Digital Signal Processing: A Practical Guide (Part 1)
  • SDRAM Memory Systems: Architecture Overview and Design Verification
  • ARM Platform Technical Overview
  • Reference Design for a SEPIC LED Driver
  • Solving the System-Level Thermal Management Challenges of LEDs
    Most Popular
    Top 5 Webinars
  • Designing embedded HMIs and connecting them to hardware
  • Is Android the Right Foundation for Your Next Device?
  • 2009 Embedded Market Study
  • Maximizing OpenGL(R) ES 2.0 on GPUs for Embedded Applications
    All Articles Products Courses Papers VirtuaLabs Webinars
    Top Search Items
    scsi


    Techpaper Spotlight

    Wind River
    Accelerating the Development of Embedded Linux Devices with JTAG On-Chip Debugging
    /
        Login | Register | Welcome, Guest

    Topics
    POLL
    How much code have you produced in your career?
    A few KLOC
        38%
    100s of KLOC
        44%
    Millions of LOC
        11%
    A trillion
        7%
     



    Virtual testing with model-based design
    Industrial Control Designline
    Virtual testing, based on system simulation and Model-Based Design, takes the traditional "test-at-the-end" system development process (represented in the V diagram) and makes it more iterative. Virtual testing shortens both the design cycle and the final physical testing phase.

    The Problems: System Complexity and Late-Stage Error Detection
    Complexity in embedded software development is driving the cost of test and verification to as much as 70% of overall development costs. Industrial automation, automotive, and aerospace engineers conduct exhaustive design and code reviews and build increasingly complex test systems to confirm that the software in embedded processors meets high-integrity standards and design requirements. And as verification consumes more time, engineers have fewer opportunities to innovate and create product differentiation through design optimization.

    Many organizations are finding that most errors they uncover in test and integration were introduced at the beginning of the design process while interpreting system requirements. Engineers now face the challenge of checking for errors and "cleaning them out" closer to the beginning of the development process, when they are cheaper to fix.

    Finally, as development teams grow and become geographically dispersed, they are seeking better ways to collaborate.

    The Solution: Test Early
    Embedded software errors can be cut substantially by doing more complete design verification at or near the beginning of the design process via systematic system simulation, or virtual testing. "Virtual" in this case denotes simulation, but with no hardware involved—just software and simulation engines. "Systematic" means building tests based on requirements and then executing those tests against the system design.

    Two critical concepts that drive virtual testing process improvements:
    • An executable system specification
    • Requirements based tests
    The executable system specification is a model that you can simulate, and includes your system design as well as environment models: models of the important elements of the physical world your embedded system interacts with. The system model needs to include subsystem domains such as controls, mechanical components, electrical components, and hydraulics. These models should be as detailed as needed to capture their system-level functional behavior.

    Requirements-based tests are formulated from functional requirements that can be expressed as tests; essentially, "Given a particular input, here is the output I expect." At a minimum, you need to have a simulation input signal or sequence for each test, as well as output captured from the simulation, to compare with the expected output. You should also build a complete set of tests that fully exercise the requirements.

    To understand how this works, consider the classic design process V diagram (Figure 1). With virtual testing, you would follow a second V early in the process, starting partway down the left leg and then up to the right. The design flow moves to a virtual test rather than down the left leg to the original apex (the point of implementation) and then up the right leg (the hardware side) to physical testing.

    Simplified block diagram of an SMPS showing a ground loop
    Figure 1: The V diagram, which illustrates the traditional embedded system development process. The right side represents physical test and verification, which occur late in the process when problems are more costly to fix.
    (Click on image to enlarge)



    Figure 1 illustrates a traditional design flow, in which engineering teams move from written requirements to design, manual coding and, finally, system integration and test. Ensuring requirements are valid at the start is a challenge, verifying the design against the requirements is difficult, and implementing the code is a manual, error-prone process.
    1 | 2 NEXT >
     
     
    Latest Webinars
    · The Next Generation of Ethernet: How the New IEEE Standards Enable Energy Efficiency and Quality-of-Service
    · Simplified Physical Layer Receiver Test of Re-timed Architectures Such as USB 3.0, SATA, SAS, PCIe 2
    · How to solve the most common high-speed bus issues in embedded design on a budget
    · Early access to ARM Core Technology with Fast Models from ARM
    · Latest MIPI Standards: PHY and Protocol Testing Guidance
     
    Member Company Spotlight
    VMETRO
     

    Learn more about real-time digital data recording, playback, readback and analysis. Schedule a personalized one-on-one data recording webinar today with VMETRO's Application Engineers.

    Member Companies