- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
添加自定义IP核基本步骤
工具参考链接:
PlanAhead,XPS,SDK,ISE。
/blog/3987
/blog/4009
、IP流程简图如下:
三、功能简介:
生成的IP核只是用来控制LED灯根据sdk工程寄存器赋值亮和灭。、:
PlanAhead创建新工程,14.4,创建新工程,输入工程名称,点击Next。
:存在问题,在windows系统下使用PlanAhead14.1错误,建议升级至
选择RTL Project,在Do not specify sources at this time 打钩,暂时不添加源文件。,选择所使用的FPGA型号。的简单summary,点finish完成。
在工程左侧找到 sources,添加xps工程。
然后点击红色线框所示,弹出窗口,按下图所示进行设置。
Next之后,弹出窗口,如下图所示,
单击红色线框按钮,弹出如下图所示窗口,命名其为system。然后确定!如下图所示。点击Finish。弹出如图所示的窗口,选择yes,(此时创建BSP)
创建xps工程。选择PLB System点击ok根据自己的情况设置硬件工程,本中为单核系统,只选择了最基本的ddr,bram和串口三个。硬件summary之后点击finish完成设置。
添加自定义IP在Hardware中选择IP核。下面四个图所示,默认选项,在之后添加IP核名称,不能以及xps工程名相同
如下面四个图所示,选择PLB总线,会提示所需要的功能,包括软件reset,用户寄存器(都需要这个)FIFO()内存空间,中断本例子只需要寄存器即可如右上图。
之后选择默认即可,然后是添加寄存器数量,根据自己的需要,中需要led灯状态,因此需要一个寄存器。这的寄存器都是bit。
如下图所示,之后添加所需要的PLB总线信号,基本保持默认即可。保持默认。
在之后的选项中,如下图所示,第一个是用户逻辑语言选择,如果用vhdl则不用打钩,如果需要改成Verilog则打钩。第二个第三个均打钩,ise自动生成PLB的硬件接口和中要用的头文件。核的设置
编辑IP核的硬件逻辑。IP之后,可以在xps工程中看到添加的IP核如下图所示,然后开始编辑它,打开目录
* \sample\sample.srcs\sources_1\edk\system\pcores\led_v1_00_a\devl\projnav
*是工程的路径。文件会在工程中用到led.vhduser_logic.v两个文件,如右图所示。,先添加需要用到的端口led1(,端口名不能和IP核名称相同!)并定义端口的属性如下图。
如下图所示,系统已经写好一个例程,来给出怎么和输入数据。就可以根据自己的需要编写相应的硬件逻辑。
编写完成后,右图为编写完成后。需要led.vdl文件中配置端口。打开,左图所示,添加端口的名称。
在修改完这三处后,仿真,没有后,可以查看RTL ,确认端口是否添加。然后退出回到xps工程中。工程中重新,如下图。
右键点击生成的IP核LED,选择 MPD,port中没有LED端口,则手动添加代码:PORT LED = , DIR = O并保存。添加IP核至xps工程中。
如下面三个图所示,将IP挂在到PLB总线上,之后将LED的端口设置为外接端口,并命名,这个名字要记下来。然后LED这个IP核分配地址。
之后可以退出xps工程,回到PlanAhead。
下图所示,点击systemTop HDL文件。为端口添加ucf文件约束,为此端口分配硬件管脚。使用Add Sources添加约束文件,Add or Create Constraints添加约束,保存即可生成bit流文件。
工程中,生成的bit流,即可导入至SDK中使用了。
,将导入SDK在的窗口中,Launch SDK打钩。
在SDK中创建New Application Project,选择Memory Tests。Finish。
将硬件信息和头文件SDK。(网上教程没有,需注意
生成的bit流文件在 *\sample\sample.runs\impl_1download.bit 这个文件即为硬件信息的输出文件将此文件复制到
*\sample\sample.sdk\SDK\SDK_Export\system_hw_platform。IP核的头文件在
*\sample\sample.srcs\sources_1\edk\system\drivers\led_v1_00_a\src面,这文件复制到 *\sample\sample.sdk\SDK\SDK_Export\testled\src
#include stdio.h
#include xparamete
文档评论(0)