时下,因为32位的嵌入式CPU流行导致PicoBlaze备受冷落。麻雀虽小,五脏俱全,如果好好加以利用还是能设计出很多好产品的。在美国纽约时代广场的JP Morgan Chase大楼,有一块硕大的LED显示屏,在当时是世界上最大的高亮解析度的LED显示屏。它所使用到的PicoBlaze的数量超过了1000个。不难看出,PicoBlaze的功能还是很强大的。下面我就结合Xilinx公司推出的官方例程详细讲解一下基于PicoBlaze的FPGA嵌入式设计。
首先,我们需要登录Xilinx的官方网站获取PicoBlaze的源代码。下载到的是名为KCPSM3.zip的压缩包。下面对解压后的各个文件加以说明。
除此之外,是一些用户手册,用户可根据这些PDF文档着手设计。众所周知,8051或其它的8/16位的单片机的开发方式就是对其进行编程并将程序烧写进FLASH中。基于PicoBlaze的开发方式也大致如此。主要的区别就是将PicoBlaze认识并执行的程序经过汇编器Assembler转换成相应的HDL文件以存放在FPGA内部的Block Memory中。PicoBlaze的结构图如图所示:
对其接口作如下说明:
下面我们就一步步介绍如何利用获得的源代码进行PicoBlaze的设计,此处我们就以Xilinx公司提供的中断例程为例。

至此,就完成了一个PicoBlaze的设计。我们还可以将VHDL目录下的test_bench.vhd文件添加到工程中,对该中断设计案例进行仿真。这只是一个最简单的案例,用户可以参考Spartan-3E Starter Kit开发板的参考设计。其实,在VHDL目录下还有很多模块的VHDL文件,用户自己可以根据自己的需要添加某些模块或删除默写模块来定制自己的处理器。