资源描述:
《一步一步学ZedBoard Zynq(三):使用自带外设IP让ARM PS访问FPGA.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一步一步学ZedBoardZynq(三):使用自带外设IP让ARMPS访问FPGA 这一节的目的是使用XPS为ARMPS?处理系统?添加额外的IP。从IPCatalog标签添加GPIO,并与ZedBoard板子上的8个LED灯相连。当系统建立完后,产生bitstream,并对外设进行测试。 硬件平台:DigilentZedBoard 开发环境:WindowsXP32bit 软件:?XPS14.2+SDK14.2 一、硬件配置 1、创建硬件工程 启动XPS,创建Lab3工程。因为PS系统和FPGA连接是采用AXI接口,因而选择内部互联类型(InterconnectType)为AXI
2、。 选择设计平台为ZynqZC702 到外设配置界面,系统会默认有GPIO_SW和LEDs_4bits这两个外设,我们不需要,remove之 2、添加AXIGPIO外设 工程建立后,在IPCatalog中,找到GeneralPurposeIO,找到AXIGPIO,双击添加到系统中。 修改元件实例化名称为axi_LDs,这个名称就是将要实例化连接到PS的元件。将长度改为8,其他默认。 点开BusInterfaces标签,可以看到系统汇总现在有PS(这里是processing_systems7_0)、添加的外设axi_LDs和AXI内部互联总线axi_interco
3、nnet_1。可以看到对于?axi_interconnet_1来说,PS是AXI主设备,外设是AXI从设备。 在Port标签,将IO_IF中的GPIO_IO_O(output)设置为ExternalPorts,将Port名称改为LD。LD就是顶层对外的引脚名称 3、设定引脚约束 在project标签中,找到system.ucf约束文件, 将其内容改为 NETLD[0]LOC=T22
4、IOSTANDARD=LVCMOS33;#“LD0”NETLD[1]LOC=T21
5、IOSTANDARD=LVCMOS33;#“LD1”NETLD[2]LOC=U22
6、IOSTANDARD=L
7、VCMOS33;#“LD2”NETLD[3]LOC=U21
8、IOSTANDARD=LVCMOS33;#“LD3”NETLD[4]LOC=V22
9、IOSTANDARD=LVCMOS33;#“LD4”NETLD[5]LOC=W22
10、IOSTANDARD=LVCMOS33;#“LD5”NETLD[6]LOC=U19
11、IOSTANDARD=LVCMOS33;#“LD6”NETLD[7]LOC=U14
12、IOSTANDARD=LVCMOS33;#“LD7” 4、点击GenerateBitStream,生成bitstream 如果没有错题,控制台会提示信息如下,表明成功生成了FPGA的配置bitst
13、ream文件 ”*********************************************”“RunningBitgen..”“*********************************************”cdimplementaTIon&bitgen-w-fbitgen.utsystem&cd..Release14.2-BitgenP.28xd(nt)Copyright(c)1995-2012Xilinx,Inc.Allrightsreserved.PMSPEC--OverridingXilinxfilewithlocalfileLoadingdevicefo
14、rapplicaTIonRf_Devicefromfile‘7z020.nph’inenvironmentC:Xilinx14.2ISE_DSISE;C:Xilinx14.2ISE_DSEDK.“system”isanNCD,version3.2,devicexc7z020,packageclg484,speed-1Openedconstraintsfilesystem.pcf.MonOct0809:13:572012RunningDRC.DRCdetected0errorsand0warnings.CreaTIngbitmap...Savingbitstreamin“sys
15、tem.bit”.BitstreamgeneraTIoniscomplete.Done! 5、将硬件配置导入到SDK,启动SDK。这里需要将bitstream和BMM文件同时包括到SDK中。 二、创建软件程序 为了方便项目管理,在SDK目录下建立sw文件夹,作为workspace ?使用新建工程向导。注意,这里使用工程模板为MemoryTests。个人经验是使用HelloWorld