Innovation is alive and well in today’s engineering communities as evidenced by the trove of design ideas sent to Electronic Design for publication by readers, vendors, staff, and other contributors. It is incredible to see the true levels of imagination and engineering represented in each submission. And it seems that no matter how many new ideas come along, there is never a shortage of new problems in need of innovative solutions.
This is equally true in test and measurement as it is in design. Test engineers are experiencing a plethora of unprecedented challenges in need of innovation across all industries. In the communications industry it’s about keeping up with the latest wireless standards from 3G to Long-Term Evolution (LTE) and now LTE-Advanced. In the automotive industry we are immersed in the expansion of alternative energy-powered vehicles. Aerospace and defense is undergoing a wide assortment of transformations due to the changing financial, political, and military environments.
Two primary drivers of innovation in test and measurement are the needs to solve critical business and technology-oriented challenges. Critical business challenges include the demand for increased productivity, faster time-to-market, increased reuse and return on investment (ROI), lower total cost of ownership, and increased throughput. Increasingly complex technical challenges in test and measurement include the growing software-defined nature of devices under test (DUTs) and their associated software-defined test systems, multiple models of computation, heterogeneous processing and types of hardware targets providing increasingly faster I/O, rapidly emerging commercial technologies, and integrated system-level timing and synchronization for starters.
National Instruments recently detailed an innovative business and technology-aligned approach, called graphical system design, to help foster innovation in test, measurement, and control at our annual NIWeek user conference in Austin, Texas. For systems that need measurement and control, graphical system design is an approach to visualize and implement systems with an open system platform of software and hardware. It incorporates technology in a way that abstracts system complexity, making new technology more easily accessible to engineers in their solutions.
Abstraction Of Commercial Technologies
Figure 1 shows how a graphical system design platform can abstract the complexity of FPGA technology to the pin. In this example, a clear graphical representation of system functionality replaces thousands of lines of equivalent VHDL code. The same platform also abstracts programming complexity when taking advantage of multicore processors or DSPs. Any other commercial standard technology, including communication technologies and protocols, are abstracted in the same manner.
With this abstraction of complexity, engineers can focus on using technology to serve the end goal of the system, whether it’s a control system, a test system, or an embedded system. Without this approach, engineers seeking a competitive advantage through better performance and lower costs of commercial technology either have to focus on programming components or interface with specialists who can do so. Both options increase time-to-market.
Graphical system design accelerates development by sufficiently abstracting complexity yet providing access to the pin, making it possible for engineers to easily use technology for the purpose of the system. With the graphical system design approach, engineers can gain the performance and cost benefits of commercial technology without increasing time-to-market.
Integration Of Multiple Software Methods
Graphical system design enables engineers to explore multiple ways of solving a problem and lock in on the best options more quickly than traditional methods. As engineers visualize system functionality, different system components may need different methods, or models of computation, to best describe that functionality. For example, parallel programming is best represented as a graphic, but equations are represented well using text. The structure of the system may be state-based, sequential, parallel based on dataflow, or a mixed model (Fig. 2).
Graphical system design software can incorporate multiple models of computation, or methods, within a single exploration space to give engineers access to the best methods for the functionality they need. In doing so, graphical system design abstracts complexity at the system level, where system components of different models can be placed together in a single software platform space, and then integrated together visually, functionally, and in an architecturally sound way.
Customizable Off-The-Shelf
The graphical system design approach includes both software and hardware as part of the exploration and implementation platform. Often engineers have excellent high-level software tools. But when they get to the real implementation of prototypes or end systems, the tool chain starts slowing down development. Models either break down at boundary conditions, they don’t behave as expected in the real world, or there are difficulties in implementing the software in the hardware.
With graphical system design, the single, open-platform approach integrates software with customizable off-the-shelf hardware platforms from beginning to end. This approach takes a comprehensive view of the system for the end purpose of functioning as a controller for wind turbines, an automated test system for cell phones, or a robot that can perform surgery on humans.
Every system that needs measurement and control requires hardware implementation. Graphical system design includes the same platform elements in multiple hardware form factors, making it possible for engineers with customizable off-the-shelf options to explore solutions. The common hardware platform elements—processing (processors, DSP, FPGA), communications, and modular I/O—are abstracted at a system level in the same way as abstracting models and other software constructs. Once engineers invest in the learning curve of a system platform, they can integrate and iterate quickly at each stage of the product development cycle.