PicoBlaze处理器设计流流程 可以通过Xilinx网站下载XAPP627.zlp或XAPP213.zilp参考设计,或者直接下载Spartan-3EStarterkit Demo板的PicoBlaze参考设计。在一个FPGA的设计中生成一个PicoBlaze模块非常简单,因为PicoBlaze是一个完善的模块,不需要对该模块做任何的改动(除了需要修改指令)。重要的是设计者需要编写,并调试编译汇编源程序,以及生成FPGA的块存储器使用的ROM初始化文件。以下设计流程采用ISE10.1设计工具来综合及实现一个PicoBlaze内核,并观察该处理器内核所占用的资源。 
  (1) 建立一个新的工程并输入文件名称,如图1所示,选择Spartan-3E Starterkit Demo板的FPGA选择器件XC3S500E-4FG320C作为本参考设计的目标器件,如图2所示。 
  图1 创建一个新的工程文件 
  图2 建立一个新的设计工程
  (2) 将PicoBlaze处理器的所有设计源文件(包含在任何参考设计中的KCPSM3文件夹中)添加劲没计工程中,这仅仅是一个PioBlaze的内核文件如图3所示.根据设计者的儒耍,叫以分别选择VHDL风格或Verilong源文件. 
  图3 PicoBlaze处理器的VHDL源文件
  (3) 运行Implemcn Deslqn 实现PicoBlaze处理器 如4所示. 
  图4 实现PicoBlaze处理器
  (4) 实现完成后,可以打开设计报告,如图5所示。一个完整的PicoBlaze处理器在XC3S500E中仅需要16个Slice及176个LUTs,资源占用率为1%。 
  图5 设计报告
  (5) 创建一个顶层的vhdl或verilog文件,该文件中包含两个基本模块,分别为PicoBlaze处理器模块和PROM模块。
  (6) 建立一个新的汇编语言设计文件,该设计文件可利用任何文本编辑工具,或采用Mediatronix公司的pBlazIDE工具(包含Debug功能,可从Xilinx网站下载)。
  (7) 编辑汇编应用程序,并在DOS操作系统环境下执行KCPSM3(filename)。psm来编译应用程序。如果编译成功,将输出的<filename>,vhd或<filename>.v添加到FPGA的设计中。该文件实际上是一个1k×18bits的ROM文件,需要占用FPGA一个BRAM。
  (8) 根据PCB的情况修改FPGA的引脚定义(编辑UOF文件),重新对顶层设计文件进行综合及设计实现,如图6所示。 
  图6 包含应用程序的PicoBlaze处理器
  执行以上操作后完成一个PicoBlaze处理设计。
    本文可能所用到的IC型号: TMP91C640N TMS4C1050B-30SD TLV2452IP TLV2470IDBVR TLV320AIC28IRGZ SN74LS794N SN74LS11DR SN75ALS1177N