充分利用你的PicoBlaze微处理器

充分利用你的PicoBlaze微处理器,第1张

作者Adam P. Taylor,e2v首席系统工程师

PicoBlaze 是一个紧凑型8位软核处理器,FPGA工程师可以在他们选择的赛灵思FPGA将其例化。一旦实现,该核完全位于FPGA架构中,只使用逻辑单元和块RAM。它不需要额外的易失性或者非易失性内存。

得益于小尺寸的实现,一块FPGA能够包含多个PicoBlaze,每个用于实现通常由状态机创建的控制结构。因此可以减少开发时间,同时可以标准化地生成控制结构。多亏了底层的高性能赛灵思FPGA架构,PicoBlaze通常与许多市面上单独的8位微处理器兼容。

我们来看一下我们如何在设计利用这个便利的器件。

PICOBLAZE架构

在我们使用这个核前,首先需要了解一下它的架构。PicoBlaze是一个很简单的8位微处理器,基于RISC架构(见下面图1).该处理器有一个12位的地址端口,这意味着它可以寻址多达4096个内存位置。每个地址位置包含一个18位的指令,该指令定义了核必须执行的 *** 作。核的输入和输出都通过8位端口(一个输入,一个输出)。微处理器还提供了一个8位识别端口,允许读写多达256个外设。还有一个可选大小的暂存器,64、128或者256字节。跟所有的微处理器一样,PicoBlaze包含了一个算术逻辑单元,支持一个中断。这些功能意味着处理器位FPGA设计工程师提供了许多好处。

充分利用你的PicoBlaze微处理器,充分利用你的PicoBlaze微处理器,第2张

PicoBlaze的最重要的一个方面就是它的高确定性本质,就是说执行所有的指令都需要2个时钟周期,中断最多在4个时钟周期内处理。

为什么要使用PICOBLAZE?

FPGA应用通常需要结合并行和时序 *** 作,数据流以并行为主而控制结构的实现以时序结构为主,例如状态机(见Xcell Journal issue 81, “How to Implement State Machines in Your FPGA”)然而,复杂的控制结构如果用状态机实现会变得不实用,增加了验证时间,使得在今后开发周期内的修改变得很困难。复杂的状态机也需要更多的时间去开发,如果需要一些,这个时间会相当长。

你也可以使用PicoBlaze通过RS232、I2C和SPI进行串行通信控制,事实上,任何你要用一个一般的8位微处理器做的都能用PicoBlaze高性能的实现。工程师们已经使用PicoBlaze实现了控制系统的PID控制器。他们使用I2C、SPI或者并行DAC产生的参考波形有方波、锯齿波、三角波和更复杂的正弦/余弦波(使用移位和添加CORDIC算法)。

在你的FPGA中例化PicoBlaze微处理器来实现这些顺序功能,可以带来更快的开发时间,开发周期中修改更加简便。当然,作为一个软核,PicoBlaze也帮助地址过时事宜,当ASM模块开发时鼓励重新使用设计。

注意:这篇文章是 Xcell Daily, issue 89中的“GetTIng the Most out of Your PicoBlaze Microcontroller”简短版。关于在你的FPGA中添加PicoBlaze处理器和Zynq SoC设计的详细信息,见Xcell Daily的全篇文章。

点击这里下载Xcell Journal Issue 89的PDF。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2548167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存