EDK学习添加定制的IP到系统.docx
- 文档编号:29563581
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:10
- 大小:320.19KB
EDK学习添加定制的IP到系统.docx
《EDK学习添加定制的IP到系统.docx》由会员分享,可在线阅读,更多相关《EDK学习添加定制的IP到系统.docx(10页珍藏版)》请在冰豆网上搜索。
EDK学习添加定制的IP到系统
实验三:
添加定制的IP到系统
该实验将通过使用CreateandImportPeripheralWizard来添加一个定制的外设到处理器系统中。
一.产生外设模版
使用Create/ImportPeripheralWizard来创建PLB总线外设模版
1.在XPS内,选择工具栏Hardware->CreateorImportPeripheral来启动向导;
2.点击下一步,如下图所示继续创建和导入外设向导流程。
3.在SelectFlow中,选择Createtemplatesforanewperipheral,点击Next;
4.如下图的界面,在CreatePeripheral界面中,选择ToanXPSproject,点击Next。
3.在SelectFlow中,选择Createtemplatesforanewperipheral,点击Next;
4.如下图的界面,在CreatePeripheral界面中,选择ToanXPSproject,点击Next。
5.如右所示的界面,在CreatePeripheral-NameandVersion,然后在name后面输入switchs_ip,点击“Next”。
其它使用默认配置,点击Next按钮。
6.在CreatePeripheral-BusInterface界面下,选择ProcessorLocalBus(PLB4.6),点击下一步。
根据下面的步骤,继续进行配置向导的操作:
1.如下图所示,在该界面中不选择Includedataphasetimer,并且点击Next按钮。
实验四:
编写应用程序
2.出现CreatePeripheral-SlaveInterface界面,使用默认配置,然后点击Next。
3.如下图所示,出现CreatePeripheral-UserS/WRegister界面,使用默认配置,然后点击Next
4.如下图,出现CreatePeripheral-IPInterconnect界面,显示默认的IPIC信号,可以使用这些信号。
点击Next按钮。
5.出现CreatePeripheral-(Optional)Peripheral。
SimulationSupport界面,在该界面内使用默认配置,然后点击Next按钮。
6.如下图,出现CreatePeripheral-(Optional)PeripheralImplementationSupprot界面,在该界面内选中,Generatetemplatedriverfilestohelpyouimplementsoftwareinterface界面,点击Next按钮。
XPS帮助设计者生成相关的BSP
7.出现CreatePeripheral-Finish界面,在该界面中点击finish按钮。
8.在XPS主界面内,点击IPCatalog标签,出现如下图所示的界面,观察switchs_ip。
二.产生外设模版
以上工作在E:
\labs\lab3\pcores中创建了IP的文件结构,IP的目录结构如下图。
微处理器外设规范MPD文件定义了外设接口。
一个MPD文件具有下面的特点:
1)列出总线接口端口和默认连接;
2)列出参数和默认值;
3)任何与MHS分配相同的参数都被覆盖
1.更新MPD文件,使其包含switch控制器外设的switch开关能正常使用,这样在XPS中就能连接到端口。
下面给出在MPD文件中添加switch端口的步骤:
(1).在pcores\switchs_ip_v1_00_a\data下打开switchs_ip_v2_1_0.mpd文件;
(2).如下图所示,在PORT下添加下面的一行:
PORTswitch="",DIR=I,VEC=[0:
7]
(3)保存文件并关闭。
2.创建switch开关控制器
使用合适的HDL模版文件(模版文件为上面向导所生成的switchs_ip.vhd和user_logic.vhd文件)创建switch开关控制器,下面给出对该文件进行修改的步骤:
(1).在目录pcores\switchs_ip_v1_00_a\hdl\vhdl下打开switchs_ip.vhd;
(2).如下图,添加用户switch端口,
switch:
instd_logic_vector(0to7);
(3).如左图所示,在该文件用户端口映射部分添加映射。
switch=>switch,
(4).保存文件并关闭。
2.vhdl目录下打开user_logic.vhd文件,如右图所示,在用户端口区域添加switch端口定义
switch:
instd_logic_vector(0to7);
5.查找下一个,在用户信号定义区,如右图所示,输入内部信号量声明。
signalswitch_i:
std_logic_vector(0toC_SLV_DWIDTH-1);
6.查找--implementslavemodelsoftware,用如图所示代码(可从source目录拷贝lab3.vhd文件得到源代码)替换“implementslavemodelsoftware”下的所有代码。
保存。
并关闭user_logic.vhd文件。
7.选择上面工具栏Project->RescanUserRepositories来使变换起作用。
三.添加和连接外设
在XPS主界面,添加和连接switch外设到PLB总线。
使内部和外部的端口连接,并给该定制外设分配地址。
建立switch数据端口作为FPGA的外部引脚,并分配引脚位置。
这样就完成了连接外设的过程。
下面给出实现这一过程的步骤:
1.在XPS主界面IPCatalog的标签下选择switchs_ip核,并双击switchs_ip,将其自动添加到XPS的主界面中。
2.在XPS主界面下,选择BusInterface标签,如下图所示,按照前面的步骤进行总线连接。
3.在XPS主界面下,选择Port标签,连switchs_ip_0的switch端口作为一个外部端口,设置为(MakeExternal)。
4.在XPS主界面下,选择Address标签,switchs_ip_0实例外锁定其它设备的地址。
将switch外设的大小改为64K,并点击GenerateAddress按钮。
如下图,产生了系统所有外设的地址映射。
5.修改system.ucf文件到外部的switch控制器的连接。
下面给出具体的步骤:
(1).在XPS主界面的左边的工程管理窗口下,选择project标签,选择data/system.ucf,并且双击打开该文件。
(2).如下图所示,添加下面的代码到ucf文件中。
Netswitchs_ip_0_switch_pin<7>LOC=L13;
Netswitchs_ip_0_switch_pin<6>LOC=L14;
Netswitchs_ip_0_switch_pin<5>LOC=H18;
Netswitchs_ip_0_switch_pin<4>LOC=N17;
Netswitchs_ip_0_switch_pin<3>LOC=V4;
Netswitchs_ip_0_switch_pin<2>LOC=D18;
Netswitchs_ip_0_switch_pin<1>LOC=V16;
Netswitchs_ip_0_switch_pin<0>LOC=H13;
(3).保存并关闭用户约束文件。
四.设计验证
添加一个新的软件应用程序,来验证定制IP的正确性,下面给出具体的步骤:
1.点击Application标签,并选择remove,从工程中去除lab2.c文件;
2.在F:
\source文件夹,添加lab3.c文件;
3.打开lab3.c文件并完成代码修改;
4.连接USB和RS-232电缆,并给HepEXCD-1上电;
5.在主机上打开超级终端工具,设置同前。
6.在XPS主界面中,选择DeviceConfiguration->
DownloadBitstream将设计下载到FPGA中。
该步骤将
执行以下的过程:
运行platgen产生网表
产生比特流
运行libgen来产生库和驱动
编译程序来产生可执行的程序
更新BRAM
下载比特流到FGPA
7.测试结果如右图所示(注:
根据开关所在位置不同,ReadData的值也会不同)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDK 学习 添加 定制 IP 系统