feature article
Subscribe Now

MicroBlazing Away

Xilinx Boosts Embedded Ecosystem

“No, but this one is really important.”

We editors are endlessly bombarded by battalions of bulldozing PR professionals trying to cleverly coax us into crafting a sentence or two on each and every sniffle of product evolution that emanates from their esteemed engineering organizations.  “This one is important,” they will say.  “Our new 2.4.3.5.21b driver version is vastly improved over 2.4.3.5.21a.  You’ll probably want to do a three-article series just on the switch from absolute to relative memory addressing…”

Right.

So, when Xilinx calls up to say they’ll be “enhancing” their embedded processing capabilities, our technically-advanced editorial auto-skeptic system, complete with press-release spam bucket, shifts seamlessly into high gear.  (That’s why we got the new 5.3.4.12 version.)  This time, however, after reviewing the new announcement’s curriculum-vitae, we have to call a false alarm on our anti-article defense system. 

Embedded processors on FPGAs got off to a dubious start.  “Hey!” astute FPGA designers said. “We’ve got enough logic here to put down a whole processor, and then we could just write software for some of this complicated functionality.”  There was a communication breakdown, however, because their idea of “complicated functionality” was a state machine with more than 10 states that could be soft-programmed.  Marketing, however, heard “processor” and had visions of advanced operating systems running full-blown applications while the rest of the FPGA fabric handled the peripheral duties.

Somewhere between the two (and closer to the state machine side) was reality.  It’s now been several years, and reality and marketing have been ever-so-slowly converging.  Now, Xilinx is announcing (among other things) a memory management unit (MMU) compatible with their MicroBlaze soft-core embedded processors.  Reality is now one step closer to marketing.  Operating systems that require memory management (like Linux and friends) can now be booted on a soft-core processor in a Xilinx FPGA. 

Xilinx is announcing a new version of the MicroBlaze 32-bit soft-core processor architecture (version 7).  The soft-core is highly configurable and can be deployed in a wide variety of implementations, depending on the application requirements.  Everything from a tiny, minimal-footprint version to a full-blown memory-managed high-performance processor can be dropped down on a few LUTs doing anything from Linux down to smart state-machine duty. 

On the Linux side, LynuxWorks BlueCat Linux is being deployed on the MicroBlaze, adding a commercially-supported Linux variant to the offering.  With the performance of the core on current 90nm and 65nm FPGAs, the amount of on-board memory available along with commodity external memory interfaces, and the very high bandwidth connection available to on-chip accelerators, peripherals, and memory, some very interesting applications can now be developed for this architecture.  Taking advantage of available DSP resources for high-speed algorithm acceleration in conjunction with this sophisticated processing environment, it should now be possible to create a small reconfigurable-computing system on a single chip with breathtaking performance on some classes of problems.

The new MMU allows Linux 2.6 virtual memory to be implemented using both on-chip and off-chip memory resources.  The MMU also includes an MPU mode that permits protected partitions to be created for secure RTOS applications.  While we may not yet be to the level of virtualization available for discrete and ASIC-based processor architectures, the new MMU makes MicroBlaze finally a grown-up processor architecture that can support a much broader range of existing software. 

The MMU option in full MMU mode occupies around a thousand LUTs and one block RAM on either Virtex-5 or Spartan-3 devices.  The MPU mode requires about half that many LUTs, and the privilege mode for special instructions uses a scant 30-40 LUTs.  Xilinx points out that the full MicroBlaze with MMU still occupies less than ten percent of a low-cost Spartan-3E 1600E device, leaving plenty of room for other goodies in your design.

In addition to the memory management unit and PLB, the new MicroBlaze has a couple of additional instructions that improve floating point performance.  They’ve also added FSL instructions to simplify access to co-processors.  Also new are capabilities to enable third-party trace tools like Lauterbach T32 and Computex F-Sight to accelerate embedded software debug.

With the available bandwidth of connections available through FPGA fabric, it’s kinda’ silly to have only a traditional shared-bus architecture for connecting processors and peripherals.  To resolve this issue, Xilinx is also announcing a new direct Processor Local Bus interface (PLB) that should significantly improve system performance.  The new PLB (PLBv46) is optimized for FPGA implementation, and it provides both shared-bus and point-to-point connections.  This allows you to configure the interconnect to match your performance needs while still being frugal with FPGA resources.

To prove the performance benefits of the new enhancements, Xilinx uses a TCP/IP networking application – the MicroBlaze Gigabit Ethernet Reference Design — as a benchmark.  Moving from the previous (MicroBlaze v6 with EDK 9.1) to the latest (MicroBlaze v7 with EDK 9.2) boosts maximum throughput from 70Mbps to 495Mbps – about a 7X improvement.  These numbers are both on the 65nm Virtex-5 LXT FPGA platform.

Xilinx has also upgraded their Embedded Development Kit based on Xilinx Platform Studio.  The design suite allows point-and-click definition of embedded systems on Xilinx FPGAs and assists in interfacing those systems to peripherals and to other design blocks in the programmable logic LUT fabric.  Platform Studio includes software development and debug tools based on GNU tools that allow C-based embedded application development.  The company’s ChipScope Pro on-chip bus analyzer allows easy in-system debug of hardware, software, and the hardware/software interfaces.

Enhancements to the suite include wizard support for the new multi-port memory controller, support for the new PLB-based point-to-point and shared-bus connections between components, a new clocking wizard, and several improvements to the Eclipse-based software development kit.  The SDK now boasts support for remote debug, rolls in the latest version of GNU tools and TCP/IP libraries, and offers XMK support for MicroBlaze memory protection. 

To get us all started with the new MicroBlaze family, Xilinx is releasing a low-cost development kit – the Spartan-3E 1600E Edition with a development board, EDK and ISE tool suites, the MicroBlaze v7 Linux Reference Design, documentation, probes, connectors, and power supplies for around $600 USD.  Using this kit, you can try out the new MicroBlaze platform yourself and reach your own conclusions about how grown-up it really is.  As far as we’re concerned, our automatic skeptic mode has been temporarily disabled.

Leave a Reply

featured blogs
Oct 5, 2022
The newest version of Fine Marine - Cadence's CFD software specifically designed for Marine Engineers and Naval Architects - is out now. Discover re-conceptualized wave generation, drastically expanding the range of waves and the accuracy of the modeling and advanced pos...
Oct 4, 2022
We share 6 key advantages of cloud-based IC hardware design tools, including enhanced scalability, security, and access to AI-enabled EDA tools. The post 6 Reasons to Leverage IC Hardware Development in the Cloud appeared first on From Silicon To Software....
Sep 30, 2022
When I wrote my book 'Bebop to the Boolean Boogie,' it was certainly not my intention to lead 6-year-old boys astray....

featured video

PCIe Gen5 x16 Running on the Achronix VectorPath Accelerator Card

Sponsored by Achronix

In this demo, Achronix engineers show the VectorPath Accelerator Card successfully linking up to a PCIe Gen5 x16 host and write data to and read data from GDDR6 memory. The VectorPath accelerator card featuring the Speedster7t FPGA is one of the first FPGAs that can natively support this interface within its PCIe subsystem. Speedster7t FPGAs offer a revolutionary new architecture that Achronix developed to address the highest performance data acceleration challenges.

Click here for more information about the VectorPath Accelerator Card

featured paper

Algorithm Verification with FPGAs and ASICs

Sponsored by MathWorks

Developing new FPGA and ASIC designs involves implementing new algorithms, which presents challenges for verification for algorithm developers, hardware designers, and verification engineers. This eBook explores different aspects of hardware design verification and how you can use MATLAB and Simulink to reduce development effort and improve the quality of end products.

Click here to read more

featured chalk talk

Gate Driving Your Problems Away

Sponsored by Mouser Electronics and Infineon

Isolated gate drivers are a crucial design element that can protect our designs from over-voltage and short circuits. But how can we fine tune these isolated gate drivers to match the design requirements we need? In this episode of Chalk Talk, Amelia Dalton and Perry Rothenbaum from Infineon explore the programmable features included in the EiceDRIVER™ X3 single-channel highly flexible isolated gate drivers from Infineon. They also examine why their reliable and accurate protection, precise and fast on and off switching and DESAT protection can make them a great fit for your next design.

Click here for more information about Infineon Technologies EiceDRIVER™ Isolated & Non-Isolated Gate Drivers