PicoBlaze学习笔记(转载)

Xilinx嵌入式IP核貌似用的不多,远远没NIOSII那么风行,网上的资料不多,给学习带来了很大的不便,我也是摸着石头过河,在黑暗中摸索。此学习笔记是对PicoBlaze学习的点滴记录。

(一) Xilinx的嵌入式核

Xilinx公司的嵌入式解决方案以3类RISC结构的微处理器为核心,涵盖了系统硬件设计和软件调试的各个方面。3类嵌入式内核分别为:PicoBlaze、MicroBlaze和PowerPC,其中PicoBlaze和MicroBlaze是可裁剪的软核处理器,PowerPC为硬核处理器。

PicoBlaze是由VHDL语言在早期开发的小型8位软处理器内核包,其汇编器是简单的DOS可执行文件KCPSM2.exe,用汇编语言编写的程序经过编译后放入FPGA的块RAM存储区,汇编器可在3s内编译完存储在块RAM中的程序。

MicroBlaze采用功能强大的32位流水线RISC结构,包含32个32位通用寄存器和一个可选的32位移位寄存器,时钟可达150MHz,在Virtex 2 Pro以及更高系列的平台上,运行速度可达120DMIPs(DhrystoneMIPS),占用资源不到1000个Slice。

PowerPC是32位PowerPC嵌入式环境架构,确定了若干系统参数,用以保证在应用程序级实现兼容,增加了其设备扩展的灵活性。Xilinx将PowerPC 405处理器内核整合到Virtex 2 Pro系列以及更高等级系列的芯片中,允许该硬IP核能够深入到FPGA架构的任何部位,提供高端嵌入式应用的FPGA解决方案。Virtex 4以及Virtex 5系列部分芯片中集成了2~4个PowerPC405处理器核。

目前使用较多的嵌入式内核是MicroBlaze和PowerPC,工作频率可达到数百兆赫兹,还添加了新的浮点单元选项,使嵌入式开发人员可将系统性能提升至软件仿真速度的百倍以上,非常适合针对网络、电信、数据通信、嵌入式和消费等市场的产品。

PicoBlaze——8位软核

http://china.xilinx.com/products/ipcenter/picoblaze-S3-V2-Pro.htm

MicroBlaze——32位软核

http://china.xilinx.com/products/design_resources/proc_central/microblaz...

PowerPC——32位硬核

http://china.xilinx.com/products/design_resources/proc_central/index.htm

(二) PicoBlaze处理器的IP Core应用架构

中文翻译:

kcpsm3.v文件(PicoBlaze处理器模块)

output [9:0] address ; //10位地址线

input [17:0] instruction ; //18位指令输入

output [7:0] port_id ; //I/O地址控制

output write_strobe, read_strobe, interrupt_ack ; //写控制、读控制、中断

output [7:0] out_port ; //8位输出接口

input [7:0] in_port ; //8位输入接口

input interrupt, reset, clk ; //中断输入、复位、时钟输入

FPGA 块存储器(Block Memory)模块

input [9:0] address; //10位地址线

input clk; //时钟输入

output [17:0] instruction; //18位指令输出

参考资料:

1) 可配置嵌入式系统(EDK)介绍

http://bbs.eccn.com/ecbbs/dispbbs.asp?boardid=2&id=94793&star=1&page=1

2)XAPP213:用于 Virtex?-E 和 Spartan?-II/IIE 器件的 PicoBlaze 8 位微控制器

http://china.xilinx.com/ipcenter/processor_central/picoblaze/picoblaze_u...

2) KCPSM3_Manual

原创地址: http://blog.ednchina.com/tengjingshu/194096/message.aspx