PicoBlaze是由Xilinx公司的Ken Chapman设计并维护的一款8bit的微控制器软核,可以嵌入到Cool Runner II,Virtex-E,Virtex-II(Pro) 和 Spartan3(E)的CPLD以及FPGA中。
首先说一下PicoBlaze这个名字。我们知道:Xilinx主推的32-bit RISC嵌入式软核叫MicroBlaze,非官方有时也可写成uBlaze,用来表示该软核非常之小。Xilinx推出比它更小的软核就是PicoBlaze了。学过电路的人都知道,电容单位里有个量级叫皮法,也就是pF。这里的p就是Pico-的意思,它表示10的负12次方这样一个数量级。而PicoBlaze这个软核呢,也的确是名符其实。将它实现在XC3S500E的FPGA中,只用到了96个SLICE,也就是只占用到了5%的逻辑资源的样子。
不过麻雀虽小,性能却挺强大的。对于整个指令集,PicoBlaze执行一条指令需要2个时钟周期。即使这样,在Spartan3E Starter Kit板上以50MHz的时钟为例,PicoBlaze也能达到25MIPS的性能,对于要求不是太高的应用场合,PicoBlaze是一个不错的选择。而且在某些特殊的应用场合下,还可以实现例化多个PicoBlaze软核来达到设计目的。
尽管PicoBlaze的定义是Microcontroller(ug129就是这样写的),但是根据Ken Chapman在PicoBlaze的参考设计里提到的,PicoBlaze实际上是常数码可编程的状态机(KCPSM, short for Konstant Code Programmable State Machine)。巧合的是,我们也可将其称之为Ken Chapman's Programmable State Machine, 以示纪念,呵呵!从它参考设计中附带的PSM代码中可以看到,针对PicoBlaze编写的代码大部分都是由Constant,各个函数段间的跳转以及中断服务例程(ISR, Interrupt Service Routine)构成的。这些代码的执行都是顺序的,尽管这似乎与FPGA能有效执行操作的特点不同,但是在某些场合,用PicoBlaze却能够简化设计,而又不失性能。
在Xilinx的官方论坛上,Ken Chapman列具了如下可以采用PicoBlaze的应用场景:
来看看PicoBlaze做到了什么吧:
在美国纽约的时代广场的JP Morgan
Chase大楼,有一块硕大的LED广告屏。这块广告屏在当时(2004年)是世界上最大的高亮解析度的LED显示屏,而驱动这块显示屏的,正是PicoBlaze,整个设计中用到了10块XC2V1000
Virtex-II, 323块XC3S200 Spartan-3, 以及333块XCF00 Platform Flash
PROM和3800块XC9572XL72 PLD宏单元。使用到的PicoBlaze的数量更是超过了1000个。

引用设计主管的话:
"The favorite toy in our Xilinx bag-of-tricks is the PicoBlaze™
processor. We could not have completed the project in the time
allowed without extensive use of the PicoBlaze processor. The sign
contains an impressive count of more than 1,000 of these embedded
processors, with nine different designs.PicoBlaze processors
provide efficient logic resource utilization by time-multiplexing
logic circuits. The PicoBlaze processor also provides a quick and
easy way to develop control functions. The alternative would be to
build a custom state machine for each function. The PicoBlaze
processor is a programmable state machine, meaning that the state
machine is already built; one just has to program it."
Jason Daughenbaugh, Sr Design Engineer, Advanced Electronic Designs
(AED)
Application: Large LED display for JP Morgan in Times Square, NY
因此,千万不要因为当今流行32bit的嵌入式CPU而忽视了PicoBlaze这位小兄弟。
Joseph