KCPSM6 PicoBlaze的原理与应用
引言
PicoBlaze 8位嵌入式处理器是Xilinx公司为Virtex、Spartan系列FPGA和CoolRunner—II系列CPLD设计的嵌入式处理器软核。针对不同的器件,Xilinx公司共推出了3个版本的PicoBlaze,包括KCPSM3(目标器件为Spartan 3、Virtex II、Virtex II PRO、Virtex 4和Virtex 5)CPLD版(目标器件为CoolRunner—II)和最新推出的KCPSM6(目标器件为Spartan 6、Virtex 6和7系列FPGA)。KCPSM6针对Spartan 6、Virtex 6和7系列FPGA进行了特殊优化,增加了一些新特性,在开发和调试方法上也与KCPSM3有所不同。本文分析对比了其异同,对KCPSM6在开发调试中的注意事项进行总结,并在Avnet Spartan 6 MicroBoard上进行了实例验证。
1 KCPSM6 PicoBlaze的体系结构
KCPSM6 PicoBlaze(以下简称KCPSM6)8位嵌入式处理器是Xilinx公司为Spartan 6、Virtex 6和7系列FPGA设计的嵌入式处理器软核,它具有效率高、占用资源少等优点,可以方便地嵌入到硬件系统设计中,实现与其他功能模块的无缝连接。它仅占用26个Slice和1个BRAM,占XC6SLX4器件4.3%的资源、XC6SLX150T器件不到0.11%的资源。KCPSM6嵌入式处理器具有高达52~120 MIPS的指令执行速度,具体速度取决于所选用的FPGA所属系列和器件速度等级。
KCPSM6微处理器主要由以下几个单元组成:
◆两组16个8位通用寄存器;
◆最高支持4 KB的程序存储单元;
◆8位算术逻辑单元,带有CARRY和ZERO标志位;
◆64、128或256字节内部暂存RAM;
◆256个输入和256个输出端口,方便扩展应用;
◆中断控制单元;
◆休眠模式,进一步降低系统功耗。
KCPSM6嵌入式处理器的原理框图如图1所示。
KCPSM6新增的特性和功能总结如下:
(1)新增引脚
sleep引脚。当sleep引脚电平由低变高时,KCPSM6在执行完最后一条已读取指令后,进入休眠模式,以降低系统功耗。若将sleep引脚一直置低电平,则KCPSM6一直处于正常工作状态。
K_write_strobe为常量输出触发信号,与OUTPUTK指令配合使用,可用一条指令即可完成向输出端口输出常量值,而无需寄存器的干预。
bram_enable为程序存储单元BRAM使能信号,可进一步降低系统功耗。
Address[11:10]为程序存储单元高位地址线,最大支持4 KB程序存储。
评论