设计PicoBlaze处理器
发布时间:2008/9/19 0:00:00 访问次数:734
本节介绍的picoblaze处理器设计流程和设计范例采用低成本高性能的spartan-3e器件和spartan-3e starterkit演示板。
调试完成picoblaze处理器模块,经过编译可以作为一个rom的初始化文件与fpga的bit文件下载到fpga的配置器件中,picoblaze的系统构成如图1所示。设计者可以通过xilinx网站下载xapp213、xapp387、xapp627文档和kcpsm3编译工具来修改和编译汇编程序。
图1 picoblaze处理器的系统构成
在设计的实现过程中将会生成一些中间文件,其用途分别如下:
(1) kcpsm3,exe:picoblaze汇编编译系统执行文件。
(2) <filename>,psm:设计者通过文本编辑器产生的汇编源文件。
(3) <filename>.vhd和<filename>,v:由汇编编译器生成的用于程序存储器的vhdl和verilog格式文件,适用于综合和仿真。
(4) <filename>。coe:编译器产生的rom初始化文件,俗称“黑盒”文件。
(5) <filename>,fmt:为整理后的汇编原始文件,为方便阅读,在文件中提供一些注释、行号及汇编助记符等。
(6)<filename>。hex和<filename>,doc:用于其他用途的十六进制和二进制文件。
(7) <filename)。log、constants。txt和labels,txt:编译器产生的报告文件。
设计者在命令行系统(dos操作系统)环境下运行kcpsm3,exe文件,并输入设计者编写的汇编源文件<filename>.psm后,汇编编译系统将会自动生成如图2所示的相应文件。
图2 汇编编译系统自动生成的相应文件
从图中看出,picoblaze交叉汇编器具有完好的归档资料,而且picoblaze设计文件中也提供了汇编代码与vhdl之间的直接对应关系。编译器用ansi-c编写,并在微软的汇编器上汇编。该交叉汇编器具有高度的移植性,支持多种输出文件类型。例如,它能产生二进制输出文件,可以英特尔公司的hex格式装载进外部eprom,也能产生适合vhdl仿真器使用的主要建模文件。设计者可以用高速仿真功能立即分析汇编器产生的代码,从而了解代码的功能和效率。然后将代码下载到fpga/cpld设计套件中,就可以看到它们按期望的值正确工作。
为了帮助和方便设计者编写程序,该编译系统支持如下3个汇编程序说明命令(即宏命令):
(1) constant:助记符指定(赋值)一个8位立即数。
(2) namereg:为寄存器命名一个新的名称。
(3) address:强制程序从新设置的地址开始执行。
以下是一段简单的移位处理程序,用于说明汇编指令的语法结构:
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
本节介绍的picoblaze处理器设计流程和设计范例采用低成本高性能的spartan-3e器件和spartan-3e starterkit演示板。
调试完成picoblaze处理器模块,经过编译可以作为一个rom的初始化文件与fpga的bit文件下载到fpga的配置器件中,picoblaze的系统构成如图1所示。设计者可以通过xilinx网站下载xapp213、xapp387、xapp627文档和kcpsm3编译工具来修改和编译汇编程序。
图1 picoblaze处理器的系统构成
在设计的实现过程中将会生成一些中间文件,其用途分别如下:
(1) kcpsm3,exe:picoblaze汇编编译系统执行文件。
(2) <filename>,psm:设计者通过文本编辑器产生的汇编源文件。
(3) <filename>.vhd和<filename>,v:由汇编编译器生成的用于程序存储器的vhdl和verilog格式文件,适用于综合和仿真。
(4) <filename>。coe:编译器产生的rom初始化文件,俗称“黑盒”文件。
(5) <filename>,fmt:为整理后的汇编原始文件,为方便阅读,在文件中提供一些注释、行号及汇编助记符等。
(6)<filename>。hex和<filename>,doc:用于其他用途的十六进制和二进制文件。
(7) <filename)。log、constants。txt和labels,txt:编译器产生的报告文件。
设计者在命令行系统(dos操作系统)环境下运行kcpsm3,exe文件,并输入设计者编写的汇编源文件<filename>.psm后,汇编编译系统将会自动生成如图2所示的相应文件。
图2 汇编编译系统自动生成的相应文件
从图中看出,picoblaze交叉汇编器具有完好的归档资料,而且picoblaze设计文件中也提供了汇编代码与vhdl之间的直接对应关系。编译器用ansi-c编写,并在微软的汇编器上汇编。该交叉汇编器具有高度的移植性,支持多种输出文件类型。例如,它能产生二进制输出文件,可以英特尔公司的hex格式装载进外部eprom,也能产生适合vhdl仿真器使用的主要建模文件。设计者可以用高速仿真功能立即分析汇编器产生的代码,从而了解代码的功能和效率。然后将代码下载到fpga/cpld设计套件中,就可以看到它们按期望的值正确工作。
为了帮助和方便设计者编写程序,该编译系统支持如下3个汇编程序说明命令(即宏命令):
(1) constant:助记符指定(赋值)一个8位立即数。
(2) namereg:为寄存器命名一个新的名称。
(3) address:强制程序从新设置的地址开始执行。
以下是一段简单的移位处理程序,用于说明汇编指令的语法结构:
欢迎转载,信息来自维库电子市场网(www.dzsc.com)