EDK的定制IP设计.docx

上传人:b****3 文档编号:5490503 上传时间:2022-12-17 格式:DOCX 页数:28 大小:1.77MB
下载 相关 举报
EDK的定制IP设计.docx_第1页
第1页 / 共28页
EDK的定制IP设计.docx_第2页
第2页 / 共28页
EDK的定制IP设计.docx_第3页
第3页 / 共28页
EDK的定制IP设计.docx_第4页
第4页 / 共28页
EDK的定制IP设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

EDK的定制IP设计.docx

《EDK的定制IP设计.docx》由会员分享,可在线阅读,更多相关《EDK的定制IP设计.docx(28页珍藏版)》请在冰豆网上搜索。

EDK的定制IP设计.docx

EDK的定制IP设计

基于EDK的定制IP设计

--基于PLB总线定制IP

在XPS中,不仅仅可以加载已经存在的IPCore,同样可以自己建立自己的IPCore。

XPS也提供了创建和导入外围设备向导(CreateAndImportPeripheral,CIP)可以协助用户完成是定制性IPCore的创建以及导入。

使用CIP来简化用户定制外围设备的创建过程如下:

一、确定设备类型

自定义设备必须和CoreConnect兼容。

CIP利用预定义的IPIF库,可以创建和CoreConnect兼容的4种类型的外围设备:

OPB从属外围设备、OPB主从结合的外围设备、PLB从属外围设备和PLB主从设备结合的外围设备。

二、创建定制IPCore

1、创进入定制IP的创建与输入外设向导

选择菜单中的“Hardware”选项中的“CreateorImportPeripheral”选项来进入与输入设备(CIP)向导:

直接点击“Next”进入PeripheralFlow(设计流程)界面

在“SelectFlow”选项中含有两个选项:

1)、Createtemplatesforanewperipheral(新建一个外设)

2)、Importexistingperipheral(添加已经存在的外设)用于加载建立好的定制IPCore

这里我们选择Createtemplatesforanewperipheral来建立一个新的外设。

在Flowdescription选项中,有关于此选项的一些描述以及Options选项

Options选项是加载已经存在的设置,适用于大批量加载,在这里不使用此选项。

2、选择定制外设的存储位置

点击“Next”选项进入RepositoryorProject(工程存储)界面

此界面含有两个界面:

1)、ToanEDKuserrepository(AnydirectoryoutsideofyourEDKinstallationpath)

2)、ToanXPSproject

选择“ToanEDKuserrepository”,可以将工程存放到EDK安装路径外的任何目录;选择“ToanXPSproject”选项时,是将其添加到XPS工程中。

系统默认的选项为“ToanXPSproject”,在此我们采用系统默认。

3、定义定制IP的名字和版本

本例中的IP名为“led”,版本号是1.00.a。

这里的IPCore名称需要使用小写,下面与相应的版本号设定,可以自己去设定。

(规范的版本管理是一个设计者的良好习惯!

4、选择定制IP所连接的总线

点击“Next”选项,进入Businerface(总线设置界面)界面

此界面含有五种总线模式:

1)、AXI4-Lite:

Sipler,non-burstcontrolregisterstyleinterface

2)、AXI4:

BurstCapable,high-throughputmemorymappedmappedinterface

3)、AXI4-Stream:

Burstcapable,high-throughoutstreaminginterface

4)、ProcessorLocalBus(PLBv4.6)

5)、FaostSimplexLink(FSL)

前三种总线适用于AXI4总线模式,在此不需要。

选取总线模式时,需要根据设备的速度以及设计人员的熟悉程度来决定,因为IP的功能就是实现相应总线时序到用户设备时序的转化。

在这里我们选用PLB总线模式。

5、IPIF服务

点击“Next”选项,进入到IPIF(IPInterface)Services(IPIF服务)界面。

此界面含有两种设计模式:

1)、Slaveserviceandconfiguration(从设备支持)

2)、Masterseviceandconfigurrtion(主设备支持)

其中Slaveserviceandconfiguration(从设备支持)中含有六种用于设置需求的总线特性,有需求,可以选取相关的选项。

6、选择从设备支持

点击“Next”选项,进入到“SlaveInterface”界面

7、软件寄存器设置

点击“Next”进入“UserS\WRegister”界面

Numberofsoftwareaccessibleregister软件寄存器个数,在这里采用了32个。

8、选择寄存器和IP互联(IPIC)

点击“Next”进入“IPInterconnect(IPIC)”界面。

此界面拥有可选择的IPIF模块和用户逻辑之间的接口信号,应用这些链接可以从硬件外设的寄存器输入\输出数据。

XPS会默选择一些信号线,是IPIC所需求的,不能取消;其余的信号线可以根据需求来添加。

当选去某一信号时,在右窗口会有相关功能的描述。

在本例中采用默认设置。

9、选择定制IP的仿真支持

点击“Next”选项,进行下一设置。

此界面中含有IP仿真支持选项,在此不需要,因此没有选取。

10、模板语言选择

点击“Next”选项,进行下一设置(模板语言界面)。

此界面含有三个选项:

1)、Generatestub’user_logic’templateinVeriloginsteadofVHDL:

选择Verilog为模板中用户逻辑设计语言。

2)、GenerateISEandXSTprojcetfilestohelpyoutemplatetheperipheralusingXSTflow:

选择生成ISE工程文件,帮助用户在ISE环境下完成用户逻辑设计,默认这一选项是选中的。

3)、Generatetemplatedriverfilestohelpyouinplementsoftwareinterface:

选择生成软件驱动模板,帮助用户生成必要的驱动软件。

本例中只选取了第一项。

11、完成定制IP的生成

点击“Next”选项,进入到最后的确认界面。

此界面,汇总了定制IPCore的相关的设置,可以浏览一下,然后点击“Finish”选项完成定制IP的相关设置和生成。

12、添加*_top.v文件

完成定制IPCore的生成以及设置后,并不表示此IP是可以使用的,还需要修改以下的相关文件。

打开工程文件中的“pcores”目录,进入“*_v1_00_a”目录,打开“hdl”目录下的“verilog”目录,添加需要的相关“*.v”文件。

13、实现定制IPCore的用户逻辑部分

在XPS中选择:

“Flie”→“Open”

在弹出的对话框中打开“pocore\led_v1_00_a\hdl\verilog\user_logic.v”

如下:

14、修改user_logic.v文件

1)、在user_logic.v中添加用户逻辑的端口。

在user_logic.v端口声明语句中,注释语句“//--ADDUSERPORTSABOVETHISLINE---------------

//--DONOTEDITBELOWTHISLINE------------------”之间为用户总线端口添加区域,将需要的用户端口添加进去,其他的不用去修改。

2)、添加端口方向以及位宽声明:

3)、添加内部端口或者寄存器声明:

4)、调用用户添加的模块以及相关的映射控制:

15、修改*.vhd文件

1)、打开“pocore\led_v1_00_a\hdl\vhdl\led.vhd”然后在“--ADDUSERPORTSABOVETHISLINE------------------

--DONOTEDITBELOWTHISLINE---------------------“之间添加用户端声明。

2)、添加例化user_logic模块端口声明:

3)、添加user_logic端口映射:

16、修改led_v2_1_0.pao文件

1)、打开“pocore\led_v1_00_a\data\led_v2_1_0.pao”

2)、添加“##userlibled_v1_00_aled_topverilog”

17、修改*_v2_1_0.mpd文件

1)、打开“pocore\led_v1_00_a\data\led_v2_1_0.mpd”

2)、添加“##ExternalPORTPORTled="",DIR=O,VEC=[2:

0]”

在完成以上步骤后,在XPS主界面的IPCatalog工程界面的“ProjectLocalPCore”选项前面有一个“+”号,打开后会有“USER”选项,继续打开,可以看到添加的定制IPCore“LED”。

说明已经将定制IPCORE添加到XPS工程中了。

可以像添加XPS提供的IPCore一样使用。

三、添加定制IPCore到XPS工程

1、添加定制IP

选中XPS界面的“IPCatalog\ProjectLocalPcore\USER\LED”IPCore,单击鼠标右键→“addIP”:

弹出的对话框:

点击“Yes”;

可以设定一些相关的数值以及地址,在此选择默认,点击“ok”。

在XPS界面的“systemassenblyview”窗口可以看到新添加的“led_0”的定制IPCore。

2、修改Bus

打开led_0前面的“+”号,在SPLB所对应的“BusName”选项中的下拉菜单中选择“mb_plb”。

3、更改Ports

然后切换到“Ports”界面:

打开led_0前面的“+”号,点击“led”所对应的“ConnectedProtDirection”选项的下拉菜单,选中“ExternalPort”

如果“led_0”前面没有“+”号,请在IPCatalog界面中点击

,刷新!

4、修改Addersses

然后切换到“Addersses”界面:

打开UnmappedAddersses前面的“+”号,点击“led_0”所对应的“Size”选项的下拉菜单,选中“64K”(这个可以任意,按照需求来选)

5、修改*.mhs

然后切换到“project”界面:

打开“MHSFile:

led.mhs”:

如图片的右半部分显示。

“PORTled_0_led_pin=led_0_led,DIR=O,VEC=[2:

0]”

6、ucf约束

在“project”界面:

打开“UCFFile:

data\led.ucf”:

添加:

“Netled_0_led_pin<0>=;Netled_0_led_pin<1>=;Netled_0_led_pin<2>=;”然后将硬件的映射添加上去就可以了。

四、最后:

点击XPS界面左侧的Netlist或者BitStream或者ExportDesign,依次生成Netlist、生成BitStream,ExportDesign(也可直接点击ExportDesign,系统会自动依次执行)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1