原创 Puddle of gates better than sea of gates?

2011-11-3 15:13 1574 9 10 分类: 消费电子

For PR people, the holy grail is to get some reference to their latest widget in print, or at least in webized bits. So at every Embedded Systems Conference my schedule is packed with meetings with vendors promoting their latest wares. The stories are usually pretty interesting, but only a handful seem important enough to mention here.


Altera has an answer to Xilinx's Zynq Cortex-A9 cum FPGA fabric parts: a Cortex-A9 with FPGA fabric. In both cases these parts offer fabulous computing power with gobs of configurable logic. (Both companies offer other CPUs and configurations as well). These parts twist the FPGA paradigm a bit by their focus on combining a high-end processor with plenty of standard I/O, and a decent, but not extreme, number of FPGA logic cells.


In the olden days programmable logic meant PALs, which had a minimal number of logic cells. FPGAs arrived and soon offered what became known as a "sea of gates;" a huge number of configurable logic components. So many, in fact, that the vendors offered IP with which one could implement multiple CPUs on an FPGA.


At the ESC, Microchip made a fascinating announcement: they are taking the idea of combining a microcontroller with configurable logic to a new low. Instead of a sizzling 32 bitter with hundreds of thousands of configurable cells, the PIC10F32X and PIC1XF150X family includes 8 bit CPUs, a bit of memory (up to 14KB flash and up to 512B of RAM), some I/O, and up to 4 "configurable logic cells," or CLCs.


Each CLC comprises, first, four multiplexers that let you select, under software control, four of 8 signal sources. These include PWM outputs, I/O pins, and other components on the device. The four selected signals are routed to logic components that can perform various Boolean and latching functions. The output of that drives either output pins or triggers an interrupt. All sorts of polarity inversion can be performed at the different stages.


Bottom line: compared to a modern FPGA the CLC functionality is sort of minimal. As Microchip's Eric Lawson said: "Instead of a sea of gates, we have a puddle of gates."


Instead of a package with hundreds of pins, these parts use 6 to 20.


Instead of requiring hefty power supplies, these parts consume 20 nA in sleep mode and under 30 uA/MHz while active.


Instead of a fairly complex configuration scheme, the CLCs are set up by the code at run time. The logic design can change on-the-fly.


Less is often more.


The original PIC parts were often used as PAL replacements, as a little bit of software could do a whole lot more than a rather constrained PAL. But software is slow. By coupling a puddle of gates to a processor one can get the best of both hardware and software, and a mix of the two.


8 bit processors don't have a lot of sex appeal, and always lose in the PR battle to datasheets that scream about megagigaweenieHertz or new cache coherency schemes. But an awful lot of products either don't need, or can't afford, a hyped-up ride.


Microchip's low-end parts are more like the family sedan: they take care of the unglamorous but hugely essential tasks that keep the world running.


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1602177 2012-8-29 11:03

这个发明对于电子器件的发展提供了很好的基础,不过,其商用成本不知道如何?

用户3629500 2011-11-8 16:27

Jack,

The GreenArrays guys have taken the programmable logic idea to an extreme with 144 programmable cores. Programming it is closer to programming an FPGA than programming a computer. The reason being is that each core only has 64 words of program memory. Each memory word is capable of up to 4 primitive instructions. The chips are not suitable for desktop type applications. But as logic replacements they are quite interesting.

相关推荐阅读
用户3671694 2016-04-18 17:49
What would you change about C?
If you’re an old-timer you’ve most likely written code in a large number of languages that have ma...
用户3671694 2016-04-18 17:33
A look at a new embedded heap manager
Many of us don’t give much thought about the math our compilers do. Toss off a call to a sine func...
用户3671694 2016-04-15 17:12
Why names are critical
The Linux printk function has various logging levels, which include KERN_EMERG, KERN_ERR and other...
用户3671694 2016-03-14 19:02
What do you think of ultra-low power watchdogs?
I have written extensively about designing ultra-low power systems that operate from coin cells. U...
用户3671694 2016-02-26 21:58
Comment headers: The best and the worst
I read a great deal of code. The vast majority is in C with some C++ and a bit of assembly sprinkl...
用户3671694 2016-02-12 17:58
What's your take on knobs?
In a recent Embedded Muse Richard Wall reviews the latest version of Digilent’s Analog Discovery U...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条