feature article
Subscribe Now

ColdFire Plus and the Holy Grail

“I’m getting better!”

“No you’re not. You’ll be stone dead in a moment.”

Everything old is new again. Remember Motorola’s 68000 processors? A lot of embedded developers do. In the 1980s and ’90s the 68K family was among the best-selling 32-bit processors in the world. They powered Sun workstations, Apple computers, and thousands of different embedded systems besides.

Then somewhere around the 68060 generation, the 68K juggernaut stalled. RISC processors were all the rage, Intel was kicking butt in the PC space, and suddenly the best-loved CPU family for embedded systems started to look old and rusty. Trust Motorola (now Freescale) to keep the wheels on the wagon, though. With some spit and polish, and some clever technology, the 68K metamorphosed into ColdFire, a RISC-ified version of the venerable 68K architecture. Dragged kicking and screaming into the 21st century, ColdFire is enjoying a resurgence of popularity, regaining the hearts and minds of designers and programmers from all over.

More than ten years have gone by, and now it’s time for another renovation. Starting today, ColdFire becomes ColdFire+, the “plus” signifying an array of upgrades, improvements, and more-better-faster stuff that should keep dog-eared ColdFire data books on the desks of embedded developers.

Brave Sir Robin

The ColdFire+ name is an umbrella term that covers four different but related improvements. First, there’s the 90nm silicon processing technology. Second, there’s a new kind of on-chip flash memory called FlexMemory. Third, there are internal pipeline improvements to the ColdFire processor core. And finally, all ColdFire+ chips come bundled with the MQX real-time operating system for free.

Starting with the 90nm silicon process: this seems like the least interesting part to the average programmer, but it is actually the “enabling technology” for most of the other upgrades. By shifting to a more modern process (one imagines the old ColdFire chips being handmade by little old ladies with hair nets and X-Acto knives), Freescale is able to lower the chip’s power consumption considerably, fit more peripheral features into the same size chip, begin using a high-end internal bus structure, and integrate the new FlexMemory onto the same die as the processor. It may be invisible, but it’s a significant change nonetheless.

FlexMemory is Freescale’s name for its new kind of flash, which will appear on most or all of the new ColdFire+ chips. Under the hood, FlexMemory uses a split-gate, thin-film storage (TFS) technology with just 10nm poly-silicon crystals to store a charge. In short, it’s different from normal flash memory. FlexMemory uses less space than a traditional flash memory cell, but, just as important, it’s faster than normal flash memory. That’s a good thing all by itself, but it also opens the door for an interesting twist. Some embedded designers prefer E2PROM to flash either because it’s faster or because it’s cheaper. FlexMemory is both, so it can take the place of E2PROM if that’s what you prefer. Simply twiddling a configuration register in the ColdFire+ part converts the FlexMemory between flash mode and E2PROM mode. The memory cells themselves stay the same, of course, but the interface logic changes to emulate whichever memory type you prefer. You can even get some of each, depending on the particular ColdFire+ device. Pretty cool.

One of the downsides of traditional E2PROM is that it can tolerate only a limited number of erase/write cycles. Erase it too many times and it wears out. But with FlexMemory, you don’t have that limitation. It looks and acts like E2PROM but is actually flash memory with all the durability that implies.

That Rabbit’s Dynamite

Amidst all the other improvements, the ColdFire processor core also underwent some changes. The instruction set hasn’t changed from earlier ColdFire chips, but the internal hardware design of the processor’s pipeline has been streamlined and speeded up. It’s still a four-stage pipeline, but several instructions now take less time to execute. If you were to carefully compare the new and old ColdFire programmer’s reference manuals, you’d find that existing code works the same but runs a bit faster. Some pipeline stalls were eliminated and some lengthy instructions got quicker. Overall, it’s a transparent but welcome change.

As long as they had the hood up, Freescale’s designers also overhauled the chip’s internal bus structure. ColdFire+ chips now use a fairly advanced crossbar switch to connect the ColdFire+ processor core with on-chip memory, caches, and even other bus masters. The new bus is considerably faster than the previous version, but its real purpose is to expand the possibilities for future design. Multiple bus master, for instance, could mean multicore ColdFire+ chips. We’re more likely to see single-core chips with “smart” bus-mastering peripherals like USB On-The-Go (OTG) controllers, fast Ethernet, and other high-speed I/O that would benefit from bus mastering. It all spells more groundwork for improvement.

Finally, there’s the software. Freescale is touting a “full enablement bundle,” a ridiculous marketing phrase that really means “software-development tools.” The highlight of this is the free MQX real-time operating system. MQX is one of many RTOS options available for ColdFire+, and over the years it has proven one of the more popular ones. And hey, free operating system!

As usual, Freescale also provides CodeWarrior (or maybe ColdWarrior?), the whole compiler/debugger/IDE package that the company has offered for many years. There’s a free version and a paid version of CodeWarrior, with the free version limited to smaller projects. There’s also a new line of Tower development boards, a kind of Lego-block approach to doing development and debug. Different Tower boards snap together so you can build your own modular prototype hardware.

A Spanking! A Spanking!

Where does the saga end? From the looks of things, the ColdFire story won’t reach its conclusion anytime soon — probably not during our careers. Some chip families, such as the 8051, x86, and 68K/ColdFire, just won’t die. There are too many contented programmers and engineers using them for these chips to ever go away. Instead, they just improve with age, getting regular updates and overhauls but still retaining their inherent goodness.

With ColdFire+, the product family keeps itself useful and relevant, even adding some spiffy new features like FlexMemory that no one else offers. ColdFire+ chips aren’t going to set any land speed records, but they’re not supposed to. They’re reliable, familiar, and extraordinarily well-supported 32-bit microcontrollers that emphasize peripheral I/O over performance and compatibility over speed. They’re cheap and plentiful, just like a lot of the embedded systems they power. The combination of low price, broad support, low power, and familiar architecture just may be a developer’s Holy Grail. 

Leave a Reply

featured blogs
Aug 17, 2018
If you read my post Who Put the Silicon in Silicon Valley? then you know my conclusion: Let's go with Shockley. He invented the transistor, came here, hired a bunch of young PhDs, and sent them out (by accident, not design) to create the companies, that created the compa...
Aug 16, 2018
All of the little details were squared up when the check-plots came out for "final" review. Those same preliminary files were shared with the fab and assembly units and, of course, the vendors have c...
Aug 15, 2018
VITA 57.4 FMC+ Standard As an ANSI/VITA member, Samtec supports the release of the new ANSI/VITA 57.4-2018 FPGA Mezzanine Card Plus Standard. VITA 57.4, also referred to as FMC+, expands upon the I/O capabilities defined in ANSI/VITA 57.1 FMC by adding two new connectors that...
Aug 14, 2018
I worked at HP in Ft. Collins, Colorado back in the 1970s. It was a heady experience. We were designing and building early, pre-PC desktop computers and we owned the market back then. The division I worked for eventually migrated to 32-bit workstations, chased from the deskto...
Jul 30, 2018
As discussed in part 1 of this blog post, each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store its configuration bits. The time required to pr...