作者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的最重要的一个方面就是它的高确定性本质,就是说执行所有的指令都需要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。
点击这里在线阅读Xcell Journal Issue 89。
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Getting-the-Most-out-of-You...
© Copyright 2014 Xilinx Inc
如需转载,请注明出处
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网