用ModelSim仿真Microblaze简易教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用ModelSim仿真Microblaze简易教程

-1 软件版本

ISE: 8.2.03i

EDK: 8.2.02i

ModelSim:6.1e

注:EDK XPS的GUI编译工具仅支持ModelSim SE/PE 6.0d or later, excluding 6.1 or 6.1a。我之前用ModelSim XE 6.0a ,编译库的时候出现了很多Error。

0 参考资料

(1) Xilinx: Embedded System Tools Reference Manual. est_rm.pdf, v6.0, June 23, 2006.

在EDK的doc目录下有。

(2) Xilinx: EDK 8.2 MicroBlaze Tutorial in Spartan.

EDK_82_MB_Tutorial.pdf。

在Xilinx网站上有,链接

/support/techsup/tutorials/EDK_82_MB_Tutorial.pd f

(3) Module m07: Using ModelSim to Simulate Your Designs. M07.pdf。

在University of Toronto的一个主页上有,链接

/~pc/courses/edk/

上面有好多入门资料,强烈推荐!

接下来进入正题~~~

1 编译ISE和EDK的库

(1)安装ModelSim。比如我安装到了E:\Modeltech_6.1e\ 这个目录里。

(2)建两个空目录用来存放编译好的库。我的目录是

E:\xilinx_lib_me\ise\和E:\xilinx_lib_me\edk\。

(3)编译ISE的库。进入Dos命令行界面,敲入:

compxlib -s mti_se -arch all -l all -lib all -w -o

E:\xilinx_lib_me\ise\ -smartmodel_setup -p

E:\Modeltech_6.1e\win32\

当然,更好的做法是用批处理文件。用任意文本编辑器,把这行命令拷贝到一个新文件里,保存为xxx.bat的批处理文件。然后运行它就可以了。

等待电脑编译完成。如果没有报错,这步就OK。在你输入Dos命令所在的当前目录里,已经生成了modelsim.ini文件,打开这个文件把[Library]下面的这几行复制到ModelSim安装目录下的modelsim.ini的[Library]下面。

UNISIMS_VER = E:\xilinx_lib_me\ise\unisims_ver

UNI9000_VER = E:\xilinx_lib_me\ise\uni9000_ver

SIMPRIMS_VER = E:\xilinx_lib_me\ise\simprims_ver XILINXCORELIB_VER = E:\xilinx_lib_me\ise\XilinxCoreLib_ver AIM_VER = E:\xilinx_lib_me\ise\abel_ver\aim_ver

CPLD_VER = E:\xilinx_lib_me\ise\cpld_ver

UNISIM = E:\xilinx_lib_me\ise\unisim

SIMPRIM = E:\xilinx_lib_me\ise\simprim

XILINXCORELIB = E:\xilinx_lib_me\ise\XilinxCoreLib

AIM = E:\xilinx_lib_me\ise\abel\aim

PLS = E:\xilinx_lib_me\ise\abel\pls

CPLD = E:\xilinx_lib_me\ise\cpld

需要注意的是ModelSim安装目录下的modelsim.ini是只读的,要先把它的只读属性去掉。

到此这步完成!

命令参数说明(可以跳过不看):

compxlib -s -f

[-l ]

[-o ]

[-w]

[-p ]

对照上面的命令行,很容易明白各个参数的含义。-p是指定你的ModelSim可执行文件的目录。如果该路径在你系统环境变量PATH有,也可以不添加。

(3)编译EDK的库。还是Dos命令行界面,输入:

compedklib -o E:\xilinx_lib_me\edk\ -X E:\xilinx_lib_me\ise\ -exclude deprecated

也可以使用批处理。

然后是等待。直到出现100% complete, 0 errors 就OK了。

命令行参数说明(可以跳过不看):

compedklib -o

-X -exclude deprecated

-X后面的目录是你存放ISE库的目录。

2 建立EDK工程(本小节都在XPS环境下)

(1)使用XPS新建一个工程,名字叫system.xmp(记住这个名字哦,下面好多地方要用到)。工程很简单,50MHz输入,高电平复位,没有Debug模块,只添加一个RS232串口,波特率在MHS文件中手动设置为3125000。

MHS文件如下:

PARAMETER VERSION = 2.1.0

PORT fpga_0_RS232_req_to_send_pin = net_gnd, DIR = O

PORT fpga_0_RS232_RX_pin = fpga_0_RS232_RX, DIR = I

PORT fpga_0_RS232_TX_pin = fpga_0_RS232_TX, DIR = O

PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 50000000 PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 1, SIGIS = RST

BEGIN microblaze

PARAMETER INSTANCE = microblaze_0

PARAMETER HW_VER = 4.00.b

PARAMETER C_USE_FPU = 0

BUS_INTERFACE DLMB = dlmb

BUS_INTERFACE ILMB = ilmb

BUS_INTERFACE DOPB = mb_opb

BUS_INTERFACE IOPB = mb_opb

END

BEGIN lmb_v10

PARAMETER INSTANCE = ilmb

PARAMETER HW_VER = 1.00.a

PARAMETER C_EXT_RESET_HIGH = 1

PORT SYS_Rst = sys_rst_s

PORT LMB_Clk = sys_clk_s

END

BEGIN lmb_v10

PARAMETER INSTANCE = dlmb

PARAMETER HW_VER = 1.00.a

PARAMETER C_EXT_RESET_HIGH = 1

PORT SYS_Rst = sys_rst_s

PORT LMB_Clk = sys_clk_s

END

相关文档
最新文档