Vivado高效设计案例分享

合集下载

Vivado实验03_简单4位ALU仿真实验分析

Vivado实验03_简单4位ALU仿真实验分析

PS: 由于板卡上的开关不够用,所以这里设计4位ALU,更复杂的ALU原理和步骤都是差不多的一、程序文件源码+注释分析module ALU4(input [3:0] ina, //定义输入/输出变量input [3:0] inb,output [3:0] out,input [2:0] opcode,input clk);reg [3:0] t; //此处为临时变量,由于输出变量应为连线型,而always块内的被赋值变量必须为寄存器型变量,当遇到想本实验需要在always语句块内对输出变量赋值的情况,就可以考虑中间的临时变量来调节always @(posedge clk) begincase(opcode)3'b000:t=ina+inb;3'b001:t=ina-inb;3'b010:t=ina+1;3'b011:t=ina-1;3'b100:t=ina&&inb;3'b101:t=ina||inb;3'b110:t=~ina;3'b111:t=ina^inb;default:t=0;endcaseendassign out=t; //将中间变量的结果送至输出endmodule二、测试文件源码+注释分析module ALU4_sim();reg [3:0] ina_tb; //定义输入/输出文件类型reg [3:0] inb_tb;wire [3:0] out_tb;reg [2:0] opcode_tb;reg clk;ALU4 t1(ina_tb,inb_tb,out_tb,opcode_tb,clk); //调用程序进行测试initial beginina_tb={$random}%16; //产生0~15的随机数作为初始数据inb_tb={$random}%16;opcode_tb=0;clk=0;#100 opcode_tb=000;#100 opcode_tb=001;#100 opcode_tb=010;#100 opcode_tb=011;#100 opcode_tb=100;#100 opcode_tb=101;#100 opcode_tb=110;#100 opcode_tb=111;#100 $stop;endalways #50 clk=~clk;endmodule约束文件源码(下板操作需要)## Clock signalset_property PACKAGE_PIN E3 [get_ports clk]set_property IOSTANDARD LVCMOS33 [get_ports clk]##Switchesset_property PACKAGE_PIN J15 [get_ports {ina[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {ina[0]}]set_property PACKAGE_PIN L16 [get_ports {ina[1]}]set_property IOSTANDARD LVCMOS33 [get_ports {ina[1]}]set_property PACKAGE_PIN M13 [get_ports {ina[2]}]set_property IOSTANDARD LVCMOS33 [get_ports {ina[2]}]set_property PACKAGE_PIN R15 [get_ports {ina[3]}]set_property IOSTANDARD LVCMOS33 [get_ports {ina[3]}]set_property PACKAGE_PIN R17 [get_ports {inb[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {inb[0]}] set_property PACKAGE_PIN T18 [get_ports {inb[1]}]set_property IOSTANDARD LVCMOS33 [get_ports {inb[1]}] set_property PACKAGE_PIN U18 [get_ports {inb[2]}]set_property IOSTANDARD LVCMOS33 [get_ports {inb[2]}] set_property PACKAGE_PIN R13 [get_ports {inb[3]}]set_property IOSTANDARD LVCMOS33 [get_ports {inb[3]}] set_property PACKAGE_PIN U12 [get_ports {opcode[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {opcode[0]}] set_property PACKAGE_PIN U11 [get_ports {opcode[1]}]set_property IOSTANDARD LVCMOS33 [get_ports {opcode[1]}] set_property PACKAGE_PIN V10 [get_ports {opcode[2]}]set_property IOSTANDARD LVCMOS33 [get_ports {opcode[2]}] ## LEDsset_property PACKAGE_PIN V15 [get_ports {out[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {out[0]}]set_property PACKAGE_PIN V14 [get_ports {out[1]}]set_property IOSTANDARD LVCMOS33 [get_ports {out[1]}]set_property PACKAGE_PIN V12 [get_ports {out[2]}]set_property IOSTANDARD LVCMOS33 [get_ports {out[2]}]set_property PACKAGE_PIN V11 [get_ports {out[3]}]set_property IOSTANDARD LVCMOS33 [get_ports {out[3]}]三、仿真结果如下图可以看出当opcode的值依次递增时,ina和inb依次做加,减,加1,减1,逻辑与,逻辑或,逻辑非,逻辑异或等操作,结果存放在out里。

Vivado+Zedboard之流水灯(DOC48页)

Vivado+Zedboard之流水灯(DOC48页)

Vivado+Zedboard之流水灯(DOC48页)环境:Vivado 2021.2开发板:Zedboard version xc7z020clg484-1实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法、开发流程等。

本文将分为三个部分:1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计。

3. 最后下载到ZedBoard上进行调试。

1. 使用Vivado创建工程1.1新建工程1.鼠标左键双击Vivado 2021.2图标,打开Vivado 2021.2,显现如下界面:2.单击Create New Project创建一个新的工程:3.单击Next执行下一步;4.选择工程所在的位置,并输入工程名test_led,单击Next;5.在Vivado中新建一个RTL工程,暂不添加文件,单击Next;6. 单击Next执行下一步;7. 单击Next执行下一步;8. 单击Next执行下一步;9.这一步要注意,在左上角Specify处选择Boards,选择ZedBoard Zynq Evaluation and Development Kit version D器件,单击Next;10.单击Finish11.等待软件依照设定新建一个RTL工程。

如此新建工程的步骤就完成了,下面进行硬件设计步骤;1.2硬件设计新建工程的界面如下:1.单击Create Block Design,创建并添加IP核;2.输入工程名led,单击OK;3.等待软件Create Block Design,创建完成后的界面如下:4. Add IP,一样会提示This design is empty.To get started, Add IP from the catalog,单击Add IP会显现IP的名目,假如此处没有提示,能够单击Diagram左边框的Add IP添加;5. 在名目Search中输入ZYNQ7 Processing System;6.双击ZYNQ7 Processing System完成IP核的添加;7.等待软件Add IP,添加完成后的界面如下:8.单击Run Block Automation;9.单击processing_system7_0;10.单击OK;11.等待软件运行,运行后的界面为:12.假如想了解内部的详细结构和进行接口配置,能够双击ZYNQ7 Processing System核,〔此实验不需要设置,假如想直截了当进行下一步实验能够直截了当跳到步骤16〕13.等待软件运行,运行后的界面为:14.单击左侧对应内容能够进行接口配置:15.单击OK完成配置;16.连续添加IP ,单击左侧的Add IP图标:18.双击AXI GPIO添加;19.连续添加IP,单击左侧的Add IP图标,在名目Search中输入AXI BRAM Controller:20.双击AXI BRAM Controller,完成添加;22. 双击Block Memory Generator,完成添加;24. Mode处选择BRAM Controller,Memory Type处选择True Dual Port RAM:25.单击OK完成设置;26.连接the Block Memory Generator to the AXI4 BRAM Controller27.Run Connection Automation 选择/axi_gpio_0/S_AXI:28.单击OK,完成此部分的连接;29. Run Connection Automation again, 选择/axi_gpio_0/GPIO;30.选择leds_8bits,单击OK;31.Run Connection Automation again, 选择/axi_bram_ctrl_0/S_AXI;32.单击OK;33. 修改the range of the AXI BRAM Controller to 64K:34. 单击File选择Save Block Design储存设计〔也能够直截了当Ctrl+S〕1.3硬件处理1. Tools >Validate Design2.等待软件运行,运行后的界面如下:3.单击OK;4.right-click the top-level subsystem design->Generate Output Products5.单击Generate,等待软件运行,运行完成后right-click the top-level subsystem design->Create HDL Wrapper6.单击OK;7. 单击Generate Bitstream,单击Yes,第一进行分析综合和实现;(那个地点也能够直截了当先点击Run Synthesis,然后点击Run Implementation,然后再点击Generate Bitstream)需要等待运行的时刻比较长,本机大致需要15分钟;8.运行完成后,会自动弹出对话框,选择Open Implemented Design,单击OK:9.运行完成后的界面如下:10. 在关联到SDK时,需要将Package和Device都打开,假如运行后只是自动打开了device,需要Open Synthesized Design来打开Package11.单击NO,将Package和Device同时显示出来;打开后的界面如下:12. 单击Open Block Design to invoke the IP integrator design13. 连接micro-usb cable between the PC and the JTAG port of the board, another micro-usb cable between the PC and the UART port of the board,.打开Zedboard板的电源,如以下图所示,打开电源之后POWER灯会亮;14.单击Hardware Manager中的Open Target,那个地点因为曾经在本机上使用过Zedboard,因此会直截了当显示出Localhost,假如是第一次连接Zedboard,要单击Open New Target〔假如直截了当显示出Localhost,能够直截了当点击Localhost进行步骤18〕15.单击Next;〔假如hardware manager中找不到硬件板,这是由于在任务治理器的进程中,hw_server.exe进程一直在执行,需要将其关掉,假如关了之后还检测不到硬件板,那么需要关机之后再开机便可;〕16.选择Local server,单击Next;17.软件会自动检测出Localhost,选择后单击Next;18.单击Finish,自动Open Target;19. 单击Hardware Manager中的Program Device,单击xc7z020_1:20.单击Program将比特流烧写到ZedBoard板上;完成后板上的DONE蓝灯会亮,提示成功:21.单击File中的Export,单击Export Hardware22.单击OK23. 单击File中的launch SDK:24.单击OK;如此在Vivado中的操作就完成了,软件会自动打开SDK:SDK中的软件设计打开后的SDK界面如下:1. 单击File > New > Application Project2.输入工程名zj,单击Next:3. 选择一个空的模板:empty application,单击Finish,等待工作环境的建立:4. 单击led > 右键单击src > new > Source File5.输入工程名zj.c,单击Finish;6. 编写如下程序,Ctrl+S,储存的同时,软件会自动开始编译,在左下角problem处能够看到相应的warning和error;程序如下:#include"xparameters.h"/* Peripheral parameters */#include"xgpio.h"/* GPIO data struct and APIs */#include"xil_printf.h"#include"xil_cache.h"#define GPIO_BITWIDTH 8 /* This is the width of the GPIO */ #define GPIO_DEVICE_ID 0//device id#define LED_DELAY 10000000/* times delay*/#define LED_MAX_BLINK 0x1 /* Number of times the LED Blinks */#define LED_CHANNEL 1 /* GPIO channel*/#define printf xil_printf /* A smaller footprint printf */ XGpio Gpio; /* The Instance of the GPIO Driver */XGpio GpioOutput; /* The driver instance for GPIO Device configured as O/P */int GpioMarquee (u16 DeviceId, u32 GpioWidth){volatile int Delay;u32 LedBit;u32 LedLoop;int Status;/** Initialize the GPIO driver so that it's ready to use,* specify the device ID that is generated in xparameters.h */Status = XGpio_Initialize(&GpioOutput, DeviceId);if (Status != XST_SUCCESS){return XST_FAILURE;}//Set the direction for all signals to be outputsXGpio_SetDataDirection(&GpioOutput, LED_CHANNEL, 0x0);// Set the GPIO outputs to lowXGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 0x0);for (LedBit = 0x0; LedBit < GpioWidth; LedBit++){for (LedLoop = 0; LedLoop < LED_MAX_BLINK; LedLoop++) {//Set the GPIO Output to HighXGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL,1 << LedBit);//Wait a small amount of time so the LED is visiblefor (Delay = 0; Delay < LED_DELAY;Delay++);//Clear the GPIO OutputXGpio_DiscreteClear(&GpioOutput, LED_CHANNEL,1 << LedBit);// Wait a small amount of time so the LED is visiblefor (Delay = 0; Delay < LED_DELAY; Delay++);}}return XST_SUCCESS;}int main(void){//Application start/* loop forever*/int cnt=0;while(1){u32 status;status = GpioMarquee (GPIO_DEVICE_ID,GPIO_BITWIDTH);if (status == 0){printf("%d:SUCESS!.\r\n",cnt++);if(cnt>=1000)cnt=0;}elseprintf("FAILED.\r\n");}return XST_SUCCESS;}7. 单击Xilinx Tools > program FPGA将比特流烧写到板上〔在Vivado中就先将比特流烧写到板上有两个缘故:1.假如SDK调试时显现问题,如此能够检测第一是不是Vivado的问题,假如成功烧写,说明板的连接没有问题,同时Vivado软件本身没有问题;2.在之前的调试过程中显现过直截了当Xilinx Tools > program FPGA无法烧写的情形;因此,保险起见,选择在Vivado中就先将比特流烧写到板上〕8.单击Program〔和在Vivado中烧写的现象一样,完成后DONE蓝色指示灯会亮〕注:假如软件本身以及板的连接没有问题,那么那个步骤会在三秒左右完成,假如一直卡在一半的进度,说明SDK和Vivado没有专门好的建立关联;9.在Terminal处,单击带有加号的图标,对串口进行配置:10.在用到串口打印时,需要设置的COM口,为设备治理器中的USB serial port 〔本机为COM5〕,因此要选择COM5,注意波特率为115200:11.右键工程名目中的zj名目,选择Run As > Run Configurations;12.在STDIO Connection中设置COM 5和波特率115200:13.单击Run即可运行程序,看到流水灯的成效,每次跑完一圈会打印:数字:SUCESS!.的消息,数字为流水灯循环的次数。

1位十进制加法器vivado过程

1位十进制加法器vivado过程

1位十进制加法器vivado过程即刻走进Vivado的世界,我们将探索一种神奇而强大的数字逻辑设备——十进制加法器的设计。

首先,让我们明确一下什么是十进制加法器。

在计算机中,十进制加法器是一种用来执行十进制数字加法运算的电路。

与二进制加法器相比,十进制加法器需要处理更复杂的运算规则,因为我们在日常生活中使用十进制表示数字,而不是二进制。

在这个过程中,我们将使用Vivado,这是一种强大的集成开发环境(IDE),用于设计和开发FPGA(可编程逻辑门阵列)和ASIC(专用集成电路)等数字电子系统。

首先,我们需要创建一个新的Vivado项目。

在Vivado的主界面中,选择"Create New Project"选项,并按照指导完成项目设置。

请确保选择您所需的FPGA器件以及包含所需时钟频率和输入输出等信息。

完成项目设置后,我们需要添加一个新的设计文件。

在左侧"Flow Navigator"窗格中选择"Design Sources"选项,然后右键单击并选择"Add Sources"。

在弹出的对话框中选择"Add or create design sources"选项,并选择VHDL作为设计文件类型。

然后,选择一个适当的文件名,并点击"Finish"按钮。

接下来,我们需要为我们的设计编写VHDL代码。

VHDL是一种硬件描述语言,用于描述数字逻辑电路行为。

在我们的案例中,我们将编写用于实现十进制加法器功能的VHDL代码。

首先,让我们从创建所需的实体开始。

实体是描述一个数字逻辑电路的输入输出接口的VHDL构造。

为了创建我们的十进制加法器实体,我们需要声明输入和输出端口。

例如,我们可以声明两个4位的输入数字(A和B),以及一个5位的输出数字(Sum)。

接下来,我们需要在VHDL代码中定义内部信号和变量。

tcl让vivado更完美

tcl让vivado更完美

©
Polycom, Inc. All rights reserved.
16
注意事项
如何找到大扇出网线 如何获取经过大扇出网线的时序报告 如何确定BUFG资源是否可用
©
Polycom, Inc. All rights reserved.
17
概要
项目背景 经验分享
Vivado中的Tcl基本知识 Vivado下利用Tcl编辑综合后的网表文件 Vivado下利用Tcl定制丰富的报告 Tcl和Vivado图形界面的交互使用
初始值: 1’b0
get_property INIT [get_cells local_if/data_buffer/raddr_reg]]
©
Polycom, Inc. All rights reserved.
12
设置新插入FF的属性
新插入FF的三个属性
实例化名和实体名
create_cell –ref FDRE $new_FF_name
初始值
set_property INIT $INIT_value [get_cells $new_FF_name]
三个很有用的和属性相关的脚本
report_property, get_properety and set_property
©
Polycom, Inc. All rights reserved.
输出
wbDataForInputReg_reg validForEgressFifo_reg[0]_i_1 wbDataForInput_IBUF_inst
©
Polycom, Inc. All rights reserved.

Vivado设计套件以IP和系统为中心

Vivado设计套件以IP和系统为中心

本文档格式为PDF,如需转换为TXT,可免费下载转换软件:/file/dpikfiut解压密码:/byby777go 新的设计环境可让客户把越来越多的系统功能集成到更少的芯片上,满足客户对更高生产力、产品上市周期、超越可编程逻辑、实现可编程系统集成等要求。

赛灵思打造了颠覆性的全新Vivado设计套件,致力于满足其提出的All Programmable器件的设计需求。

打造全新设计环境 Vivado借鉴ISE设计套件的所有经验、注意事项和关键技术,并充分利用最新EDA算法、工具和技术,打造了这个以IP和系统为中心的、面向未来10年All Programmable器件的全新设计环境。

赛灵思早在1997年就推出了ISE设计套件。

在其后15年的时间里,随着FPGA功能的增强,赛灵思为ISE套件增添了许多新技术,包括多语言综合与仿真、IP集成以及众多编辑和测试实用功能,努力从各个方面改进ISE设计套件。

与ISE相比,Vivado设计套件的优势体现在:确定性的设计收敛;可扩展的数据模型架构、芯片规划层次化,快速综合、多维度分析布局器、功耗优化和分析、简化工程变更单(ECO)、流程自动化,非流程强制化;IP封装器、集成器和目录;Vivado HLS把ELS带入主流;VIVADO仿真器。

生态体系是关键 打造生态体系是赛灵思保证Vivado为客户带来更多价值的关键。

赛灵思在开发Vivado设计套件时充分利用业界标准来提高其易用性,支持已经熟悉的约束条件和接口标准,同时扩展第三方生态体系对IP和工具流程的支持。

Vivado支持的标准包括:AMBA AXI4互联、自由建模库、Synopsys设计约束等。

赛灵思认为,利用All Programmable器件创建系统,设计者将面对的是一套全新的集成以及如何实现设计生产力的问题。

从集成的角度看,包括集成算法C和寄存器传输级(RTL)的IP,混合了DSP、嵌入式、连接和逻辑域,验证模块和“系统”以及设计和IP的重用等。

Vivado实验01_流水灯仿真实验及下板步骤

Vivado实验01_流水灯仿真实验及下板步骤

一、新建工程1. 打开Vivado ,界面如下:2. 点击上述界面中的Create New Project ,弹出新建工程向导,依次点击Next:3.板卡选项分别为Family: Artix-7Sub-Family: Artix-7Package: csg324Speed grade: -1Temp grade: C于是,Part选择xc7a100tcsg324-1,然后下一步点击Next Finish;二、设计文件输入1.如下图,点击输入设计程序:2.如下图,选择新建文件,依次创建4个verilog文件,文件名依次为:clock_div; ctc; s_74ls138; led_light注意:最后一个为顶层文件,文件名与项目的文件名相同,且所有名称中不能出现中文、空格和符号3.双击打开,然后输入依次设计程序:注意:每次输入一个设计程序最好保存一次,保存操作如下图然后重复步骤,将4个设计程序依次输入保存4.添加仿真文件:5.进入仿真,点击 Run Simulation Run Behavioral Simulation6.调节缩小按钮,将间隔调节为1s,方便观察实验结果,然后点击上方运行按钮进行仿真,接着点击弹出的信息条的Background将其隐藏,即可看到完整的仿真循环结果7.仿真结果如下图:三、下板操作1.仿真完成后,先关闭仿真,操作如下图:2.接着进行下一步综合,如下图操作:3.综合处成功后,要进行实现操作,如下图:4.实现成功后进行下一步,管脚约束,操作如下图:注意:此处需用到板卡手册,请使用老师群共享的文件“Nexys4-DDR_rm”,此为配适的较新版本,否则可能出现错误5.约束文件生成后,更改为I/O操作界面:6.此处不能使用默认电压值,否则会报错,更改电压值为,然后将时钟引脚接至E3,复位引脚接至C12,y0至y7输出接至V16、T15、U14、T16、V15、V14、V15、V11,引脚的连接方式有三种,所有操作如下图:7.约束完成后,关闭保存:8.在源程序文档中的约束文件中可以看到刚才操作生成的约束文件,也可以直接在约束文件中直接输入代码来完成管教的约束和更改:9.约束完成后,生成编程文件:10.此时需要连接板卡到电脑,在此之前需要对板卡进行设置:11.连接电脑,打开电源开关,等待驱动安装完成后,打开Hardware Manager Open a new hardware target 在跳出的提示框中一直点击Next,不需更改,直到Finish Program device 选择板卡xc7a100t_0 在跳出的选择框中点击ok,这时就可以观察到仿真结果中的流水灯效果,以上为识别板卡到把编程文件下载到板卡的无脑操作,具体步骤请看下图:12.观察到板卡上的实验结果正确后,实验到此结束,关闭板卡的电源开关,拔出板卡,以上。

vivado 例子

vivado 例子

vivado 例子如何使用Vivado进行FPGA开发[FPGA开发简介]FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,具有高度的可定制性和灵活性,被广泛应用于嵌入式系统、数字信号处理、图像处理等领域。

其中,Vivado是Xilinx公司开发的一款流行的FPGA 开发工具,提供了全面的硬件设计、仿真和综合等功能,本文将一步一步介绍如何使用Vivado进行FPGA开发。

[步骤一:Vivado软件安装]首先,我们需要从Xilinx官网下载并安装Vivado软件。

确保您的计算机符合最低系统要求,并遵循安装向导的步骤进行安装。

安装完成后,打开Vivado软件并选择“Create Project”选项。

[步骤二:创建项目]在“Create Project”对话框中,输入项目名称和路径,并选择项目类型和目标设备。

根据您的需求选择项目类型,比如RTL项目用于硬件设计,或是嵌入式系统项目用于处理器设计。

然后,选择目标设备,即您想要部署到FPGA上的芯片。

点击“Next”继续。

[步骤三:添加设计文件]在“Add Sources”对话框中,添加您的设计文件。

您可以选择从头开始编写Verilog或VHDL代码,也可以导入IP(Intellectual Property)核,即预先设计好的功能模块。

点击“Next”继续。

[步骤四:设置约束]在“Add Constraints”对话框中,添加约束文件。

约束文件用于描述输入输出端口的时序、引脚分配以及外部时钟等信息。

您可以手动编写约束文件,或是使用Vivado自动生成的约束文件。

点击“Next”继续。

[步骤五:综合与实现]在“Default Part”对话框中,选择目标设备的具体型号并点击“Next”。

然后,您需要选择综合(Synthesis)和实现(Implementation)的选项。

综合将设计文件转化为门级网表,实现将门级网表映射到目标设备的逻辑传输表或物理资源。

vivado设计实例

vivado设计实例

vivado设计实例Vivado设计实例一、时钟分频器设计实例时钟分频器在数字电路设计中起到非常重要的作用,它可以将一个高频时钟信号分频为任意低频时钟信号。

在Vivado中,实现一个时钟分频器非常简单。

首先,我们需要创建一个新的工程,并添加时钟分频器的IP核。

然后,在IP核配置界面中,设置分频比和时钟输入输出端口。

最后,生成Bitstream文件并下载到目标FPGA芯片中即可。

二、状态机设计实例状态机是一种常见的电路设计模块,它根据输入信号的变化来改变其内部状态和输出信号。

在Vivado中,实现一个状态机可以通过HDL语言(如Verilog或VHDL)编写代码来实现。

首先,我们需要创建一个新的工程,并添加设计文件。

然后,在设计文件中编写状态机的逻辑代码,并将其综合为门级电路。

最后,生成Bitstream 文件并下载到目标FPGA芯片中即可。

三、数字信号处理设计实例数字信号处理(DSP)在通信、音频、视频等领域有着广泛的应用。

在Vivado中,实现一个简单的数字信号处理模块可以通过使用FIR滤波器来实现。

首先,我们需要创建一个新的工程,并添加FIR滤波器的IP核。

然后,在IP核配置界面中,设置滤波器的参数和输入输出端口。

最后,生成Bitstream文件并下载到目标FPGA芯片中即可。

四、图像处理设计实例图像处理在计算机视觉、图像识别等领域有着广泛的应用。

在Vivado中,实现一个简单的图像处理模块可以通过使用图像卷积来实现。

首先,我们需要创建一个新的工程,并添加图像卷积的IP核。

然后,在IP核配置界面中,设置卷积核的参数和输入输出端口。

最后,生成Bitstream文件并下载到目标FPGA芯片中即可。

五、高级通信接口设计实例高级通信接口(如PCIe、Ethernet等)在计算机系统中起到连接和传输数据的重要作用。

在Vivado中,实现一个高级通信接口可以通过使用相应的IP核来实现。

首先,我们需要创建一个新的工程,并添加所需的IP核。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Vivado高效设计案例分享------用vivado2013.4 进行zynq 嵌入式系统的设计
软件平台:vivado 2013.4
硬件平台:zybo 板卡
计算机操作系统平台:win7 64位
首先安装vivado 2013.4软件。

软件安装完成后,打开软件,构建zynq的嵌入式硬件平台。

操作流程如下:
1. 打开软件,双击图标
2.出现如下界面:
3.点击 Create New Project,创建新的工程。

出现如下创建工程向导,点击next。

4. 创建新工程的名称,工程路径。

选择 create project subdirectory。

点击next,进入下一步。

5.创建一个RTL 工程,选择 Do not specify sources at this time。

点击next。

6. 选择parts,选择zynq芯片包括芯片的封装。

zybo 选用的是xc7z010clg400-1的芯片。

选择好芯片,点击next,进入下一步。

7.点击finish 这样一个RTL new project 工程已经建立好了。

8. RTL 工程建立完毕后,出现如下工程界面。

在这个工程里面,我们需要创建一个block design,点击create block design。

9. 输入设计名称,这里我选择默认的设计名称。

点击ok。

10. 在diagram 对话框里面选择 ADD IP。

11. 选择 zynq7 processing system 。

双击 zynq7 processing system 。

12. 点击run block automation。

并且选择rocessing_system7_0。

13. 点击ok。

14. 双击zynq 系统,进入系统设置。

15. 点击import XPS setting
16. 从
/Products/Detail.cfm?NavPath=2,400,1198&Prod=ZYBO网
站上面可以下到 zybo_zynq——def.xml文件。

下载该文件,在这里选择下载的文件。

17.进入MIO Configuration,取消USB0.SD0.I2C0。

进入PS-PL configuration里面,取消FCLK_RESET0_N和M_AXI_GP0 interface,进入Clock configuration,取消FCLK_CLK0.点击OK保存修改设置。

18. 点击Ctrl+S 保存 block 设计。

19 右击你的设计block 。

选择 create HDL wrapper。

20. 选择 let vivado manage wrapper and auto-update。

21. 选择 generate block design。

22点击generate。

这样一个zynq的嵌入处理器系统就完成了。

这里使用vivado 2013.4 设计了一个zynq 的processing system。

今天就写到这了,希望可以跟大家一起共同学习,共同进步。

相关文档
最新文档