赛灵思PicoBlaze微控制器软核介绍

FPGA/ASIC技术

191人已加入

描述

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的应用场景:
LED flasher (已有参考设计)
PWM control and even generation (KHz PRF for motors and brightness control) (已有参考设计)
Switch monitor.
UART interface and simple command/status terminal (已有参考设计)
LCD character module display interface and control (已有参考设计)
SPI master (i.e. FLASH controller for Spartan-3AN).
I2C master.
Calculator (XUP-San Jose State University)
Audio DSP processor (typically up to 48KHz sample rate and may utilise a hardware multiplier as a peripheral)
DTMF tone telephone dialer including sine wave generation (8KHz sample rate)
System monitoring (e.g. temperature monitor and fan control).
Motor control
Rotary encoder interface (Spartan3E Build-in Demo)
Calculator for frequency synthesizer.
Calculator for filter coefficient generation.
Emulation of a different micro controller (可用来模拟8051,By Roman-Jones,Inc)
PID control.
Mouse/Keyboard interface.
Keypad scanner
Power supply monitoring and control.
Servo control.
Built-in test equipment (on-chip monitor).
Configuration management (ICAP port)
Design Authentication Processor (已有参考设计)
Implementing peripherals for MicroBlaze or PPC.
Interrupt controller for MicroBlaze or PPC.
来看看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这位小兄弟。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分