| |
|
HOME :: JOB
LISTINGS :: WEBCASTS :: ARCHIVES :: MEDIA
KIT :: SUBSCRIBE :: FORUMS
EMBEDDED TECHNOLOGY JOURNAL :: IC JOURNAL |
Introduction Embedded system needs are as diverse as their applications. But as system architects are called upon to build more intelligent, connected devices in less time, there are two challenges that are a given:
One way to manage growing software content is to leverage commercial or open source operating systems (OS) like Linux as a common embedded software platform. Linux not only provides a robust, standards-based OS that works on a range of embedded devices, but also an open platform with a large ecosystem of middleware providers. Using pre-tested implementations of standard networking and application level protocols can significantly save development time, allowing developers to focus on differentiating their applications. With the availability of FPGA-based processing solutions like the MicroBlaze processor with optional Memory Management Unit (MMU) capabilities, it is now possible to use a common software platform like Linux while still adapting the underlying hardware rapidly to meet changing requirements. By integrating custom coprocessors on the FPGA, system architects can accelerate performance-critical portions of their design. By integrating custom I/O peripherals along with standard peripherals, system architects can meet a wide range of external I/O and memory interfaces. More importantly, the availability of low-cost FPGAs means a flexible integrated embedded system that can run Linux can be built for under $10. Software Solution “Stacks” Tackle Growing Software Content As the complexity of tasks handled by software increases, there is almost an exponential increase in the amount of software code needed by intelligent systems. In order to keep software development costs and project timelines under control developers make use of software reuse principles. The current trend in the software engineering community is to build application specific “software stacks” and customize it for each project.
In the embedded environment as well, there are many examples of software stacks designed to accelerate software development like the JTRS Software Communications Architecture (SCA) for Software Defined Radio (SDR) applications in the defense market. The success of these “software stacks” is in providing a common software environment, enabling developers to focus on their core application and let the underlying stack manage the complexity of changing hardware. Linux Accelerates Embedded Software Development Because of its flexibility and open nature, Linux has been at the heart of many of these software solution stacks. The advances in Linux 2.6 have reduced many of the objections to its use in Embedded Applications. Some of the key enhancements in Linux 2.6 related to the Embedded applications are:
With these advancements, embedded developers are turning more and more to Linux as the common software development platform for many of their applications. Flexible System Architecture Adapts to Changing Hardware Requirements The best way to prepare for change is to arm oneself with options. The FPGA has always provided those options through the programmability of its hardware. However, embedded processors that can support Linux have opened an entirely new set of options to the designer. By integrating most of the embedded system including the processor, peripherals and glue logic into a single chip, embedded designers can reduce total system cost, power and board space by reducing component count. Integrating custom DSP coprocessors on the FPGA can help accelerate performance-critical portions of their design. Moreover, Xilinx embedded processors and pre-verified IP cores allow designers to focus their efforts on creating differentiated value, thereby getting to market with initial products in time to extract maximum return from diminishing market windows.
MicroBlaze™ v7 Processor with Configurable MMU While traditional 8 and 16-bit microcontrollers are great for small targeted control tasks, they cannot easily handle the complexity of the large amounts of high level code. The MicroBlaze processor is a configurable 32-bit RISC processor soft core optimized for the flexibility inherent to Xilinx FPGAs. The soft processor is uniquely configurable in that a designer can implement only the specific features required by the design, thereby optimizing silicon area and/or performance. Every aspect of the MicroBlaze processor is customizable, including functional requirements like pipeline depths, caches, floating point units, multipliers, dividers and more importantly, the use of optional coprocessors based on the target application.
With the MMU in the MicroBlaze v7 processor, designers can exploit a full-fledged embedded operating system like Linux, increasing their productivity using its virtual memory capabilities while developing more robust software applications using its memory protection capabilities. Embedded software developers that choose to create their own custom real-time kernels or executives can also configure the MMU to provide only the memory protection function, further reducing the logic area utilized in the FPGA. Support for Commercial-Grade Embedded Linux Xilinx supports LynuxWorks’™ Blue Cat Linux 2.6, a robust, commercially supported embedded OS. Enabled by the MicroBlaze MMU, this is the industry’s only Linux port for FPGA-based soft processors. Now for the first time, embedded designers can take advantage of the full-blown features of a high-end RTOS in combination with the MicroBlaze flexible soft processor core technology, enabling them to design and optimize the ideal embedded processing system. Industry Standard Software Debug Tools Embedded software engineers require a different kind of visibility than that used by hardware engineers, who often identify and fix issues with tools like volt-meters, oscilloscopes and logic analyzers. Rather than searching for hardware events, software engineers prefer to analyze their code looking at functions and software code execution. Software debuggers are required tools for embedded engineers and are used to set breakpoints, stop, start, and step through the code line by line. Software “Trace” tools allow engineers to capture longer software execution threads to analyze where the problems reside and track them down to final resolution. Using internal system memory to capture information is useful in many cases, but doesn’t help when a defect causes the system to hang or crash. External Trace tools with their own probes and additional memory allow for deeper (longer) trace captures and avoid system memory issues. Trace tool support for the MicroBlaze processor is provided by industry partners like Lauterbach and Computex. Specifically, Lauterbach has Trace support for Linux kernel and application development with relevant GUI views for visualization. Low-cost FPGA Platforms Support Embedded Linux applications With the availability of low-cost FPGAs, a flexible integrated embedded system that can run Linux can be built for under $10. Domain specific FPGA platforms like the Spartan-3 generation FPGAs enable system architects to select the right FPGA to meet their application needs. For example, the Spartan-3E family provides good logic/memory per price ratio for building embedded designs with MicroBlaze, local memory and many peripherals. The Spartan-3A family provides rich I/O flexibility and supports standards like DDR2 for lower cost memory, TMDS I/O standard for advanced video interfaces. The Spartan-3AN family provides built-in non-volatile memory for storing both the hardware bitstream as well as software code and data. The Spartan-3A DSP family provides breakthrough price-performance ratio with DSP48A blocks that enabled architects to create DSP coprocessors for the MicroBlaze processor. This can offload performance critical software functions into hardware accelerating the overall applications.
Jump-start Embedded System Design Integrated development kits kick-start design and accelerate the development cycle. The latest Embedded HW/SW Development Kit, Spartan-3A DSP 1800A MicroBlaze Edition, provides a comprehensive kit including MicroBlaze, a board and a complete embedded development suite. Pre-verified references designs, communication cables and a single JTAG probe supporting both FPGA image download and SW/HW debug tools provide the difference between an efficient evaluation platform and a “stand-alone board”. Intelligent embedded tools with guided wizards make evaluation easy, automating the steps required to set up the board, chose the processor, customize specific IP, and generate matching peripheral drivers as well as sample test code. Using a working FPGA evaluation board and an example design, designers save valuable time by beginning code debugging immediately, rather waiting for new hardware or manufacturing defects to appear. Complete Embedded Processing Hardware/Software Kit includes: • Tools
• Spartan-3A S3D1800A board
• Relevant Cables, etc
• Reference Designs
• Documentation – User Guide, Schematics The complete kit is available for an introductory price of $395 and provides a low-cost entry to get started with Embedded processing on Spartan FPGAs. For more details, please visit http://www.xilinx.com/s3adspmb. March 20, 2008 Comments on this article? Send them to comments@fpgajournal.com |
All
material on this site copyright © 2003-2008 techfocus media, inc.
All rights reserved. FPGA and Structured ASIC Journal Privacy Statement |