原创 PicoBlaze学习笔记(1)

2009-1-11 15:48 7524 5 5 分类: FPGA/CPLD

PicoBlaze学习笔记(1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


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


 


(一)   Xilinx的嵌入式核


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

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


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


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


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


 


PicoBlaze——8位软核


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


 


MicroBlaze——32位软核


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


 


PowerPC——32位硬核


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


 


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


   


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图


 


中文翻译:



 


dd619c2a-f492-4f82-a99a-7479d663849e.JPG


 


 


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


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


http://china.xilinx.com/ipcenter/processor_central/picoblaze/picoblaze_user_resources.htm


2)       KCPSM3_Manual


                                                        pdf

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条