Vivado+Zedboard之流水灯DOC48页文档格式.docx

上传人:b****1 文档编号:13408787 上传时间:2022-10-10 格式:DOCX 页数:47 大小:4.62MB
下载 相关 举报
Vivado+Zedboard之流水灯DOC48页文档格式.docx_第1页
第1页 / 共47页
Vivado+Zedboard之流水灯DOC48页文档格式.docx_第2页
第2页 / 共47页
Vivado+Zedboard之流水灯DOC48页文档格式.docx_第3页
第3页 / 共47页
Vivado+Zedboard之流水灯DOC48页文档格式.docx_第4页
第4页 / 共47页
Vivado+Zedboard之流水灯DOC48页文档格式.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

Vivado+Zedboard之流水灯DOC48页文档格式.docx

《Vivado+Zedboard之流水灯DOC48页文档格式.docx》由会员分享,可在线阅读,更多相关《Vivado+Zedboard之流水灯DOC48页文档格式.docx(47页珍藏版)》请在冰豆网上搜索。

Vivado+Zedboard之流水灯DOC48页文档格式.docx

 

2.单击CreateNewProject创建一个新的工程:

3.单击Next执行下一步;

4.选择工程所在的位置,并输入工程名test_led,单击Next;

5.在Vivado中新建一个RTL工程,暂不添加文件,单击Next;

6.单击Next执行下一步;

7.单击Next执行下一步;

8.单击Next执行下一步;

9.这一步要注意,在左上角Specify处选择Boards,选择ZedBoardZynqEvaluationandDevelopmentKitversionD器件,单击Next;

10.单击Finish

11.等待软件依照设定新建一个RTL工程。

如此新建工程的步骤就完成了,下面进行硬件设计步骤;

1.2硬件设计

新建工程的界面如下:

1.单击CreateBlockDesign,创建并添加IP核;

2.输入工程名led,单击OK;

3.等待软件CreateBlockDesign,创建完成后的界面如下:

4.AddIP,一样会提示Thisdesignisempty.Togetstarted,AddIPfromthecatalog,单击

AddIP会显现IP的名目,假如此处没有提示,能够单击Diagram左边框的AddIP添加;

5.在名目Search中输入ZYNQ7ProcessingSystem;

6.双击ZYNQ7ProcessingSystem完成IP核的添加;

7.等待软件AddIP,添加完成后的界面如下:

8.单击RunBlockAutomation;

9.单击processing_system7_0;

10.单击OK;

11.等待软件运行,运行后的界面为:

12.假如想了解内部的详细结构和进行接口配置,能够双击ZYNQ7ProcessingSystem核,〔此实验不需要设置,假如想直截了当进行下一步实验能够直截了当跳到步骤16〕

13.等待软件运行,运行后的界面为:

14.单击左侧对应内容能够进行接口配置:

15.单击OK完成配置;

16.连续添加IP,单击左侧的AddIP图标:

17.在名目Search中输入AXIGPIO;

18.双击AXIGPIO添加;

19.连续添加IP,单击左侧的AddIP图标,在名目Search中输入AXIBRAMController:

20.双击AXIBRAMController,完成添加;

21.连续添加IP,单击左侧的AddIP图标,在名目Search中输入BlockMemoryGenerator:

22.双击BlockMemoryGenerator,完成添加;

23.右键单击BlockMemoryGenerator,选择CustomizeBlock:

24.Mode处选择BRAMController,MemoryType处选择TrueDualPortRAM:

25.单击OK完成设置;

26.连接theBlockMemoryGeneratortotheAXI4BRAMController

27.RunConnectionAutomation选择/axi_gpio_0/S_AXI:

28.单击OK,完成此部分的连接;

29.RunConnectionAutomationagain,选择/axi_gpio_0/GPIO;

30.选择leds_8bits,单击OK;

31.RunConnectionAutomationagain,选择/axi_bram_ctrl_0/S_AXI;

32.单击OK;

33.修改therangeoftheAXIBRAMControllerto64K:

34.单击File选择SaveBlockDesign储存设计〔也能够直截了当Ctrl+S〕

1.3硬件处理

1.Tools>

ValidateDesign

2.等待软件运行,运行后的界面如下:

3.单击OK;

4.right-clickthetop-levelsubsystemdesign->

GenerateOutputProducts

5.单击Generate,等待软件运行,运行完成后right-clickthetop-levelsubsystemdesign->

CreateHDLWrapper

6.单击OK;

7.单击GenerateBitstream,单击Yes,第一进行分析综合和实现;

(那个地点也能够直截了当先点击RunSynthesis,然后点击RunImplementation,然后再点击GenerateBitstream)

需要等待运行的时刻比较长,本机大致需要15分钟;

8.运行完成后,会自动弹出对话框,选择OpenImplementedDesign,单击OK:

9.运行完成后的界面如下:

10.在关联到SDK时,需要将Package和Device都打开,假如运行后只是自动打开了device,需要OpenSynthesizedDesign来打开Package

11.单击NO,将Package和Device同时显示出来;

打开后的界面如下:

12.单击OpenBlockDesigntoinvoketheIPintegratordesign

13.连接micro-usbcablebetweenthePCandtheJTAGportoftheboard,anothermicro-usbcablebetweenthePCandtheUARTportoftheboard,.打开Zedboard板的电源,如以下图所示,打开电源之后POWER灯会亮;

14.单击HardwareManager中的OpenTarget,那个地点因为曾经在本机上使用过Zedboard,因此会直截了当显示出Localhost,假如是第一次连接Zedboard,要单击OpenNewTarget

〔假如直截了当显示出Localhost,能够直截了当点击Localhost进行步骤18〕

15.单击Next;

〔假如hardwaremanager中找不到硬件板,这是由于在任务治理器的进程中,hw_server.exe进程一直在执行,需要将其关掉,假如关了之后还检测不到硬件板,那么需要关机之后再开机便可;

16.选择Localserver,单击Next;

17.软件会自动检测出Localhost,选择后单击Next;

18.单击Finish,自动OpenTarget;

19.单击HardwareManager中的ProgramDevice,单击xc7z020_1:

20.单击Program将比特流烧写到ZedBoard板上;

完成后板上的DONE蓝灯会亮,

提示成功:

21.单击File中的Export,单击ExportHardware

22.单击OK

23.单击File中的launchSDK:

24.单击OK;

如此在Vivado中的操作就完成了,软件会自动打开SDK:

SDK中的软件设计

打开后的SDK界面如下:

1.单击File>

New>

ApplicationProject

2.输入工程名zj,单击Next:

3.选择一个空的模板:

emptyapplication,单击Finish,等待工作环境的建立:

4.单击led>

右键单击src>

new>

SourceFile

5.输入工程名zj.c,单击Finish;

6.编写如下程序,Ctrl+S,储存的同时,软件会自动开始编译,在左下角problem处能够看到相应的warning和error;

程序如下:

#include"

xparameters.h"

/*Peripheralparameters*/

xgpio.h"

/*GPIOdatastructandAPIs*/

xil_printf.h"

xil_cache.h"

#defineGPIO_BITWIDTH8/*ThisisthewidthoftheGPIO*/

#defineGPIO_DEVICE_ID0//deviceid

#defineLED_DELAY10000000/*timesdelay*/

#defineLED_MAX_BLINK0x1/*NumberoftimestheLEDBlinks*/

#defineLED_CHANNEL1/*GPIOchannel*/

#defineprintfxil_printf/*Asmallerfootprintprintf*/

XGpioGpio;

/*TheInstanceoftheGPIODriver*/

XGpioGpioOutput;

/*ThedriverinstanceforGPIODeviceconfiguredasO/P*/

intGpioMarquee(u16DeviceId,u32GpioWidth)

{

volatileintDelay;

u32LedBit;

u32LedLoop;

intStatus;

/*

*InitializetheGPIOdriversothatit'

sreadytouse,

*specifythedeviceIDthatisgeneratedinxparameters.h

*/

Status=XGpio_Initialize(&

GpioOutput,DeviceId);

if(Status!

=XST_SUCCESS)

{

returnXST_FAILURE;

}

//Setthedirectionforallsignalstobeoutputs

XGpio_SetDataDirection(&

GpioOutput,LED

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

当前位置:首页 > 高等教育 > 农学

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

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