PicoBlaze的最重要的一个方面就是它的高确定性本质,就是说执行所有的指令都需要2个时钟周期,中断最多在4个时钟周期内处理。 为什么要使用PICOBLAZE?
FPGA应用通常需要结合并行和时序操作,数据流以并行为主而控制结构的实现以时序结构为主,例如状态机(见, “How to Implement State Machines in Your FPGA”)然而,复杂的控制结构如果用状态机实现会变得不实用,增加了验证时间,使得在今后开发周期内的修改变得很困难。复杂的状态机也需要更多的时间去开发,如果需要一些,这个时间会相当长。
你也可以使用PicoBlaze通过RS232、I2C和SPI进行串行通信控制,事实上,任何你要用一个一般的8位微处理器做的都能用PicoBlaze高性能的实现。工程师们已经使用PicoBlaze实现了控制系统的PID控制器。他们使用I2C、SPI或者并行DAC产生的参考波形有方波、锯齿波、三角波和更复杂的正弦/余弦波(使用移位和添加CORDIC算法)。
在你的FPGA中例化PicoBlaze微处理器来实现这些顺序功能,可以带来更快的开发时间,开发周期中修改更加简便。当然,作为一个软核,PicoBlaze也帮助地址过时事宜,当ASM模块开发时鼓励重新使用设计。