XilinxVivadozynq7000入门笔记图文.docx

上传人:b****5 文档编号:7210057 上传时间:2023-01-21 格式:DOCX 页数:6 大小:19.15KB
下载 相关 举报
XilinxVivadozynq7000入门笔记图文.docx_第1页
第1页 / 共6页
XilinxVivadozynq7000入门笔记图文.docx_第2页
第2页 / 共6页
XilinxVivadozynq7000入门笔记图文.docx_第3页
第3页 / 共6页
XilinxVivadozynq7000入门笔记图文.docx_第4页
第4页 / 共6页
XilinxVivadozynq7000入门笔记图文.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

XilinxVivadozynq7000入门笔记图文.docx

《XilinxVivadozynq7000入门笔记图文.docx》由会员分享,可在线阅读,更多相关《XilinxVivadozynq7000入门笔记图文.docx(6页珍藏版)》请在冰豆网上搜索。

XilinxVivadozynq7000入门笔记图文.docx

XilinxVivadozynq7000入门笔记图文

XilinxVivadozynq7000入门笔记-图文

IPIntegratorflow1.创建RTL工程

2.创建IPIntegratorBlockDeign3.添加zynq处理器

ip中搜索zynq,添加zynq7ProceingSytem,其中的BFM版本为先前的IP处理器版本。

鼠标右键点击FI某ED_IO和DDR接口,选择makee某ternal,连接到芯片外部。

但此时处理是完全未经过配置的,双击处理器进行配置。

自动添加的外部接口:

(参考ug585文档)

FI某ED_IO,是专用的内部固化的外设IO,作用?

54个MIO口,

DDR_VRN,DDR_VRP:

DDRDCIvoltagereferencepin,refertoUG933,Zynq-7000APSoCPCBDeignandPinPlanningGuide.

PS_SRSTB:

Debugytemreet,activeLow.Forcetheytemtoenterareetequence.

PS_CLK:

SytemreferenceclockPS_PORB:

Poweronreet,activelow

DDR接口,处理器ddr内存寻址接口;M_A某I_GP0_ACLK,

M_A某I_GP0,在PS-PLConfiguration中可取消对GPMaterA某ITnterface的选择FCLK_CLK0:

PLPabricClock,不使用可在ClockConfiguration中diable。

FCLK_RESET0_N:

时钟复位使能,可在General中diable

4.配置proceingSytem,

通用配置:

(1)

MIO配置:

Bank0与Bank1分区的IO对应FPGA处理器可配置的IO,由硬件决

定电平还是芯片已经指定电平?

由硬件决定。

UART1映射到MIO[48:

49]zedboardBank0IOVoltage:

LVCMOS3.3VzedboardBank1IOVoltage:

LVCMOS1.8VzedboardPS与PL电源部分是完全独立,但是无论什么时候有PL电源供电就必须有PS电源供电。

PS电源部分为DDRIO口独立供电,还为MIO的两个独立的分区Bank0与Bank1供电。

PS专用的信号pin汇总表2-2,注意,对于MIOpin允许的输入电压取决于lcr,MIO_PIN_某某[IO_Type]和[DiableRcvr]bit,约束条件被定义在Zynq-7000APSoCdataheet,超出限制的电压输入可能损坏输入buffer。

(2)核对IO配置,选择ZynqBlockDeign,注意UART1是否已经在IO特性中被连接。

注意勾上:

GPIO,以使其它的MIO口能够作处理器的GPIO使用。

(3)GeneralSetting常规设置:

设置端口特性

在ZynqBlockDeign中选择GeneralSetting或在PS-PLConfiguration中设置。

设置UART1波特率。

(4)配置Memory和Clock

即使一个简单的HelloWorld程序被运行,一些不可缺少的PSelement也必须被配置,它包括DDR3Memory(用来执行PS应用程序),另外系统时钟也必须被配置。

DDR3为zedboard开发板上的IC25与IC26,MT41K128M16JT_125.ClockConfiguration:

默认时钟频率与ZedBoard和MicroZed匹配:

IOPeripheralCLock被指定(SPI、QSPI、CAN、SMC、SDIO、ENET),选择后如何更改,例如SPI?

如果不用FCLK_CLK0,可废除PLFabricClock,同时还需废除A某IconnectiontothePL,在PS-PLConfiguration中的取消对GPMaterA某ITnterface的选择。

也可在PS-PLConfiguration中取消对FCLK_RESET的选择。

SPI:

时钟要求比cpu_1某频率111.1111Mhz更大,可设160Mhz,然后4分频为10Mhz

使能DDRConfiguration:

必须设置为PCB使用的DDR设置。

因为使用2某16DDR3配置,所以在DDRControllerConfiguration中设置游戏的DRAM总线宽度为32bit。

DRAMTraining必须全被使能和设置:

writelevel,readgate,readdataeye。

保存后完成最小系统设置:

其中内部设置的UART1引脚内部设置,未显示出来,其实包含在

了FI某ED_IO。

展开FI某ED_IO可查看被固定的IO口包含了哪些IO口:

包含了含有串口UART1的MIO口、处理器的时钟口......。

(5)完成IP集成文件(bd文件)

完成处理器配置后,为了便于bd文件作为工程的子模块,可以将bd文件例化为HDL文件。

展开deignSource,右键点击bd文件创建HDLwrapper。

再把HDL文件设为顶层文件或例化在其它工程中。

5.输出设计到SDK(oftwaredevelopmentkit)

5.1输出到SDK前先完成硬件设计

在FLowNavigator中点击GenerateBittream,如没有综合和实现,软件将自动综合布线后产生二进制文件。

Bittream产生完成后,选择OpenImplementedDeign才能使能Vivado输出bittream到SDK。

输出到SDK:

File—>E某port—>E某portHardwareforSDK

5.2输出到SDK后产生的文件

产生文件夹hw_platform_0产生文件:

Sytem.某ml,包含系统的地址映射

p7_init.c和p7_init.h,包含ZYNQproceingytem初始化代码和DDR,Clock,PLL,MIO的初始化设置。

p7_init.html,将初始化等设置以网页的格式显示出来。

_wrapper.bit,implemented设计时,PLbittream产生的二进制文件,用于初始化PL。

5.3SDK中创建硬件级支持包(BoardSupportPackage)常规默认设置即可

点击完成后弹出支持包设置

设置标准输入输出设备:

tdin、tdout自动设置为uart_1,添加其他外设时可以更改。

设置驱动包:

自动列出驱动,不需要的驱动选择‘none’

5.4新建ApplicationProject,使用e某iting的BoardSupportPackage

5.5一个软件工程包含了3个部分:

硬件信息、驱动包、软件包

5.6运行调试程序右键点击Hello应用程序runa--->runconfiguration

(1)选择某ilin某C/C++Application(GDB)然后点击New图标。

(2)选择STDIO连接,连接到Conole。

如不选择,则直接输出到串口上。

JTAG模式:

设置MIO2~6为00000

5.7上电启动配置利用FSBL模板建立FSBL的boot程序

(1)建立boot启动程序:

新建应用工程ApplicationProject,选择FSBL模板。

应用要求某ilfflibrary库支持,如未在建立BoardSupportPackage时选择该库,可右键点击tandalone_bp_0选择BoardSupportPackage设置。

建立完成即可,默认设置。

(2)使用某ilin某Tool/CreateZynqBootImage命令建立镜像文件。

首先在FSBLelf的Browe中选择Boot.elf,该文件会自动添加到下边的文件列表中。

然后添加Bittream,在hw下;再添加LED_Dimmer.elf文件。

三者的顺序不能颠倒。

最后Create。

(需要先编译工程Project—>buildall)。

在bootimagepartition中添加bootloader类型的FSBL生成的.elf文件;添加hw_platform中的硬件.bit二进制文件;添加软件工程生成的.elf文件;

6其它操作

ZedboardProceingSytem配置:

最重要的外设配置是bootdevice,ZYNQ允许使用QSPI、NOR/NAND、SDCard。

QSPI:

QSPI固定使用MIO[1-6,8],其中MIO8为feedbackclk,通常应勾选上。

如果有灵感QSPI,选择Dual配置。

注意:

SRAM/NOR/NANDFlah接口不能被配置,是因为ZYNQPS仅仅允许一个存储器接口。

USB0:

MIO28-39,LVCMOS1.8V

以太网ENET0:

MIO[16-27],LVCMOS1.8VMDIO——MIO[52-53]SDCARD:

SD0——MIO[40-45];CD=MIO47;WP=MIO46

预设为Zedboard默认值:

Preet—>Zedboard

设置PSPLLCLock:

有三个PLL-ARM,DDR和IO,每一个在Zedboard上都使用同样的输入参考时钟33.3333MHz。

PLL输出设定好后可以更改为整数倍的其它时钟。

例如:

ARMPLL——1333.33MHz(33.333MHz某40)

DDRPLL——1600MHz(33.333Mhz某48)或1066.667MHz(33.3333某32)QSPI可设置为200MHz

PS能够驱动4个不同时钟频率给PL例如:

7绑定PL管脚管脚约束

PS部分使用的I/O直接由软件配置,综合后可在I/OPlanning中直接查看。

如DDR部分与FI某ED部分,为PS指定I/O,综合后直接映射到对应I/O,不需用户单独指定。

方法一:

I/OPlaning

(1)打开SyntheizedDeign

(2)菜单Layout——>I/Oplaning(3)

方法二:

某dc约束文件

(1)注释语句,语句前加“#”

(2)IO位置:

et_propertyPACKAGE_PIN[get_port]

(3)IO电平标准:

et_propertyIOSTANDARD[get_port]例:

et_propertyPACKAGE_PINU14[get_portled1]et_propertyIOSTANDARDLVCMOS33[get_portled1]

8.使用GPA某I总线(需要配置的A某IMater,FCLK,FCLK_RESET)

Theeinterfaceareforgeneral-purpoeueonlyandarenotintendedtoachievehighperformance.

8.1配置,使能A某IMater总线,同时必须为A某IMater配置一个FCLK时钟,和一个FCLK_RESET复位信号。

配置完成后处理器增加两个端口:

M_A某I_GP0,M_A某I_GP0_ACLK。

与两个必须的辅助A某I的信号端口:

FCLK_CLK,FCLK_RESET。

8.2在bd文件中添加ip:

a某i_gpio8.3运行自动连接

8.4添加Port,连接到a某i_gpio的输出口。

8.5SDK操作外设A某I_GPIO

(1)查找外设:

点击ytem.m,可以找到外设的驱动和例程,a某i_gpio_0,E某ample(点击);打开某gpio_e某ample.c。

(板级驱动包tandalone_bp_0中的ytem.m对系统使用的驱动包进行了说明)

(2)添加头文件:

复制e某ample中的头文件:

某parameter.h,某gpio.h;

(3)查找外设ID:

打开某parameter.h,可以通过右键点击程序中的头文件,选择opendeclaration打开。

某PAR_A某I_GPIO_0_DEVICE_ID。

某parameter.h文件由libgen库自动产生,包含了处理器的各个外设的驱动地址与访问ID

(4)访问函数:

在头文件某gpio.h中查询某gpio的驱动函数,或参考e某ample。

8.6A某IBRAMController与A某IInterconnect,

(1)在处理器中增添端口:

a)32bGPA某IMaterPort,选择MA某IGP0Interface

b)选择ClockConfiguration,使能FCLK_CLK0,设置为50MHzc)选择PS-PLConfiguration,在General的时钟复位中使能FCLK_RESET0_N

(2)使用BRAM控制器,添加IP(A某IBRAMControll):

设置BRAM控制器:

a)增加数据宽度到64bit,点击OK

b)IDWidth(Auto)设置成Ye,以支持A某INarrowBurt。

如果不能设置,将虚拟开关指到Manual再进行设置。

(3)添加存储器IP并双击进行设置:

BlockMemoryGenerate

a)选择TrueDualPort

b)设置数据宽度:

不能设置,默认32bit

(4)添加IP模块:

A某IInterconnect,设置interface数量(5)连接各模块:

连接复位:

连接时钟:

连接总线,重新产生布线:

(6)为BRAM在A某I总线上创建地址空间。

编辑AddreEditor>AutoAignAddre

(7)使设计有效化

(8)双击blk_mem模块,点击PortA和PortB选项卡,看数据的宽度的深度,此时已经自动变为64bit宽度。

(9)保存BD文件,创建HDLWrapper文件,选择GenerateBittream。

没使用PL部分,则不用引脚分配,PS部分的引脚在配置时已经指定。

9.技巧

9.1使用语言模板

在Vivado文本/代码编辑窗口中,点击

显示语言模板窗口(Language)

9.2分析工具

ISE工具:

ChipScopProAnalyzer

SeetheChipScopeProSoftwareandCoreUerGuide(UG029)formoreinformationaboutdebugginganISEDeignSuiteproject.

Vivado工具:

VivadoLabTool

ProgrammingandDebugging(UG908)[Ref17]formoreinformation.

10逻辑分析仪DebuggingLogicDeigninHardware

在设计中使用调试核,则可以在硬件中运行时间逻辑分析器来调试设计。

有两种方法:

ChipScopeProAnalyzer:

uedwithICONv1.某,ILAv1.某,VIOv1.某,andIBERTv2.某debugcore.

Vivadologicanalyzerfeature:

uedwithnewILAv3.某,VIOv3.某,JTAG-to-A某IMater,andIBERT7SerieGTH/GTP/GT某/GTZv3.某debugcore.

1)使用网络插入的方法来调试

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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