首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ISE与EDK联合开发流程

ISE与EDK联合开发流程

Xilinx提供的嵌入式开发工具EDK可方便满足用户的多种需求,尤其是开放式的IPIF接口为定制用户IP核提供了方便。但对于习惯使用ISE开发环境的用户来所,在XPS中操作比较复杂的IP核定制单元,并且还要修改接口程序,这是一个比较繁琐的过程。并且在实际系统中,许多用户逻辑单元是不需要挂接在MicroBlaze的系统总线上的,这些逻辑独立运行,完成相应的功能。Xilinx提供了在ISE开发环境中嵌入EDK开发工具组的功能,从而使用户在ISE开发环境下既可以开发基于IPIF接口的IP核,也可以开发独立的用户逻辑。MicroBlaze当成一个普通的逻辑块进行例化。下面就给出这个在ISE环境下的操作流程,感觉那是相当的爽啊。
首先,建立一个ISE工程,并建立一个.v的顶层模块,如图1所示。

然后通过,通过新建再建立一个Embedded Processor,如图2所示,取名为CPU_MicroBlaze0,其实这样就在ISE里建立了一个EDK工程向导。

图2完成上述两个步骤后,在工程窗口出现如图3所示界面。这里显示的是工程中有两个模块,一个是EDK工具组建立的MicroBlaze系统,另一个是.v文件。
图3进行到这一步以后,就可以对MicroBlaze进行软硬件配置,通过双击图3所示“CPU_Microblaze0”弹出大家熟悉的XPS配置界面,如图4所示。


图4接下来一步一步的进行大家所熟悉的XPS配置,等到最后一步的时候会弹出如图5所示界面。系统提示你XPS自动生成了一个.UCF的约束文件作为顶层的约束文件,这里大可不要管它,最后我们将在ISE里建立自己的.UCF文件。
硬件系统设计完成后,将硬件系统导入到SDK工具中,进行软件的编写,如图6所示。


建立完成MicroBlaze系统的软硬件,这时可以返回ISE操作界面,对所建立的CPU进行调用。双击如图7界面所示的“View HDL Instantiation Tempalte”,弹出调用说明如下:
// Instantiate the module
(* BOX_TYPE = "user_black_box" *)
CPU_MicroBlaze0 instance_name (
.fpga_0_RS232_RX_pin(fpga_0_RS232_RX_pin),
.fpga_0_RS232_TX_pin(fpga_0_RS232_TX_pin),
.fpga_0_clk_1_sys_clk_pin(fpga_0_clk_1_sys_clk_pin),
.fpga_0_rst_1_sys_rst_pin(fpga_0_rst_1_sys_rst_pin)
);
在所建立的顶层文件中对CPU_MicroBlaze0这个模块进行调用,就可以使用相应的软硬件功能,程序如下所示
module ISE_EDK_Add(sys_clk,sys_res_n, RX, TX);
input sys_clk;
input sys_res_n;
input RX;
output TX;
(* BOX_TYPE = "user_black_box" *)
CPU_MicroBlaze0 U0 (
.fpga_0_RS232_RX_pin(RX),
.fpga_0_RS232_TX_pin(TX),
.fpga_0_clk_1_sys_clk_pin(sys_clk),
.fpga_0_rst_1_sys_rst_pin(sys_res_n)
);
endmodule
然后在建立一个.ucf文件作为顶层的约束文件,对顶层的管脚进行约束即可,这里以LX9 MicroBoard为例进行管脚约束,代码如下
Net sys_res_n LOC=V4;
Net sys_clk LOC=V10;
Net RX LOC=R7;
Net TX LOC=T7;
最后综合整个工程,并且电机图如图8所示蓝色显示的部分,将软件与硬件比特流合并,最后将.bit文件下载到硬件系统就可以进行运行了。

以上只是简单介绍了ISE与EDK的联合开发过程,具体详细的开发流程以及开发技巧还需大家多多练习。
来源: http://bbs.21ic.com/icview-386369-1-1.html

记录学习中的点点滴滴,让每一天过的更加有意义!
共同努力,共同学习!-----------中电网技术论坛
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表