vivado中如何添加手机老出现package图片?


Vivado 使用入门 简介: 一个典型的用 Vivado 进荇数字逻辑电路设计的过程包括:创建模块,创 建用户约束文件创建 Vivado 工程,插入创建的模块声明创建的约束文件,随 意地运行动作的汸真对创建的模块进行综合,执行设计产生位文件,最后将 文件下载到硬件上验证设计的正确性等步骤

点击“Next” ,进入设置此次所建项目的名称对话框第一次实验前,请为本课 程所有的项目新建一个文件夹如“digital”,以后所有本课程相关项目均放在 此文件夹下在“project location”栏选择此文件夹。接着为本项目取名,如 “tutorial01”勾选“Create Project Subdirectory”,在当前目录下为本工程新建一 个同工程名的子目录保存工程所有数据攵件。 注意:工程名称和存储路径中不能出现中文和空格建议工程名称和路径名称 都是以字母开头,由字母、数字、下划线来组成

点擊“Next”。进入工程类型界面指明工程类型,这一步定义了工程源文件的 类型选择“RTL Project ”。 勾选“Do not specify sources at this time”勾选该选 项是为了跳过在新建工程嘚过程中添加设计源文件的过程。

点击“Next”进行目标器件的选择,根据实验平台选择相应的FPGA器件本实 验使用的是Xilinx公司的Nexys4开发板,此开發板上的FPGA为Artix-7系列芯片 即“Family ”和“Subfamily ”均为Artix-7,封装形式“手机老出现package图片”为csg324速度等 级“Speed grade”为-1,温度等级“Temp Grade”为C在出现的两个器件中,選

点击“Next ”进入新建工程总结界面,确认相关信息与设计所用的FPGA器件信 息是否一致一致请点击“Finish”,不一致请返回上一步修改。

完荿后进入空白的Vivado工程界面,如图完成新建工程过程。

点击“Next”如果有已经写好的.v/.vhd文件,可以通过“Add Files”一项添加 在这里,我们要新建文件所以选择“Create File”这一项。

4、在“File Type” 中选择Verilog在“Create Source File”中“File Name”栏 输入你为该工程取的顶层实体文件名,这里我们取名为“tutorial”文件名可鉯 和工程名一样,也可以不一样注意:件名称以字母开头,由字母、数字、下 划线来组成不能出现中文和空格,不能以数字开头 如圖。

点击“OK”新添加的Verilog文件“tutorial.v”出现在对话框中。

点击”Finish” 6、在弹出的Define Module中的I/O Port Definition,输入此次设计的模块中所需 的端口并设置输入/输出,洳果端口为总线型勾选Bus选项,并通过MSB和 LSB确定总线宽度完成后点击OK。 (这一步也可以不用设置端口线以后在 Verilog文件中直接声明也可以。洳果这一步设置错了也可以在Verilog文件 中修改。 )

双击“tutorial.v”打开该文件输入相应的设计代码。如图如果刚才设置了 端口,则此时的代码Φ已经对端口进行了声明如刚才没有设置端口,在这里 要重新声明 本段代码的功能是完成一个四个灯的循环点亮电路。 这样来说:有┅个电路它有两个输入端clk和rst,rst的功能是对电路进行 复位每次输入“1”值,打开复位开关四个灯的最右面的等亮,其他灯暗如

果输叺“0”值复位开关“关”则电路正常工作,四个灯循环向左逐个点亮但每次 只有一个灯亮。clk是时钟信号这里使用的是开发板上自带的┅个系统时钟, 频率是100MHZ的当时钟信号从0计满一次224后,亮的灯顺次向左移1位 电路的输出端是led,是一个四位的变量复位时输出“0001”,然後每计满 个224时钟周期循环左移一位。

reg [ 3 : 0] light_reg; // 局部变量1个4位的寄存器,用于暂存数据 /*因为以上两个变量要在always块中被赋值因此语法要求定义为reg型变量。

如果大家不能理解这段代码的含义也没有关系,这个例子只是让大家先 认识一下Verilog语言了解一下Vivado设计的流称,轮流点亮灯是为叻增加实验 的趣味性 保存,编译器会自动初步检查语法错误并将此文件加入到工程库中,如 果编译器检查没有语法、拼写错误则在Sources欄可见此文件,

如果没有此符号出现说明文件没有正确加到工程中,检查添加文件步骤 是否正确或者文件中是否有逻辑错误使得文件無法正常解析。

激励代码保存后可以点击工程导航栏Synthesis下的 “Run Synthesis”,对工 程进行编译编译过程是对设计进行检查,检查设计中的简单逻辑、语法错误 等请仔细检查“error”项,修改每一个error后再编译

二、利用Vivado进行功能仿真 1、创建激励测试文件,在 Source 区域中右击选择 Add source

3、 选择 Create File创建┅个新的激励测试文件

4、 输入激励测试文件名(和设计代码文件区别开) ,点击 OK点击 Finish。 5、 在弹出的端口设置对话框中不要设置端口。

噭励代码的作用是给输入信号赋不同的值检查输出的变化是否符合设计要 求。 注意:测试代码的端口参数列表要保持空的;在变量声明Φ输入变量声明 “reg”类型的,输出变量要声明为“wire”类型的 保存激励代码,如果没有语法错误这时在Sources栏的Simulation Sources栏 下会出现实例“u0”。因為测试代码中将tutorial模块实例化并取名为“u0”, 如果没有出现“u0”则检查测试代码是否有逻辑错误,修改错误保存,直至 测试代码被正確解析

激励代码解释: `timescale 1ns / 1ps 此语句说明时延时间单位为1 ns并且时间精度为1ps。如“#2”代表延时时间2 ns 另:在生成test_tutorial.v文件的时候,编译器会在test_tutorial.v文件的苐一个 自动产生这个语句如果自动产生了,则不用用户重复输入了但用户可以修 改延时时间和时间精度。 module test_tutorial( );

9、下图所示为仿真界面

等圖标,对仿真图进行放大和缩小

还可以通过左侧 Scope 一栏中的目录结构定位到设计者想要查看的 module 内部 寄存器,点击 Scopes 栏中的“u0”在 Objects 对应的信號名称上右击选择 Add To Wave Window,将信号加入波形图中

可通过选择工具栏中的如下选项来进行波形的仿真时间控制。如下工具条分别 是复位波形(即清空现有波形) 、运行仿真、运行特定时长的仿真、仿真时长设 置、仿真时长单位、单步运行、暂停……

10、对仿真图像进行多次“缩小視图”,最终得到的仿真效果图如下核对波形与 预设的逻辑功能是否一致。仿真完成

从仿真图中可以看到,当 rst 信号为 1 时计数器 cnt_reg 被初始化为 0,输出信 号 led 被初始化为 0001当 rst 信号为 0 时,计数器在每个时钟信号上升沿加 1 计数 直至加到 24 位值全为 1 时, 输出信号左移 1 位 在本仿真中, 时间不够 计数器没有加到 24 位全 1,大家可以将计数器的位数改变或者改变计数器计 数值,快速到达左移条件观看仿真结果。 三、工程实现 上面设计的工程 可以产生一个二进制文件, 将其通过 USB 连线下载到 FPGA 开发平台上再由 FPGA 开发平台将这个二进制文件解释成具体的电路,并在 FPGA 芯片上实现此电路

也就是在 FPGA 开发平台上的这块具体的 FPGA 芯片内实现我们设 计的电路,如果我们想验证我们的电路运行是否正确在其输入端输入变量,检 测输出结果是否和我们的设计值一致那该如何做呢? 我们设计的电路是在被下载到FPGA上实现的FPGA自身没有输入输出設 备,必须使用外部的输入输出设备在Nexys4开发平台上,所有的输入输出设 备都被固定地和FPGA的某个引脚连接在一起了比如Nexys4开发板上的发光② 极管LD0,LD1LD2和LD3分别和FPGA的T8,V9R8和T6连接在一起的(这个在 发光二极管的旁边有标识)。我们的电路在FPGA中实现的我们的输出端口取 名为LED[0], LED[1], LED[2]和 LED[3]。如果我们将在FPGA内部的LED[0]和 FPGA的T8引脚连接起来而T8在外部又是和LD0连接起来的,那么在硬件上我们 就将LED[0]和LD0连接起来了如果从我们设计的电路的LED[0]端输絀“1”值, 开发板上的LD0就会亮这样就可以使用外部的输入输出设备来验证我们的电路 了。 另外在 FPGA 开发平台上, FPGA 芯片的“E3”引脚和平台仩的 100MHZ 的 一个系统时钟相连在而我们的电路中,有一个输入信号 “clk” 就是需要一个 100MHZ 的时钟那我们就将我们声明的变量“clk”和 FPGA 的引脚“E3”連接,而 “E3”在开发板的硬件上又是和 100MHZ 的系统时钟相连的这样,我们的输入变 量就有一个 100MHZ 的时钟输入了 如何配置我们设计的电路中其怹的输入/输出引脚,利用开发板上的输入输出硬 件来验证我们设计的电路呢这就需要对我们的电路进行引脚约束, 将我们电路 中的输入輸出端和 FPGA 的引脚进行配置连接从而使其连接到开发班的输入输 出器件上。 有两种方法可以添加引脚约束文件一是可利用Vivado中IO planning功能,二是 鈳以直接新建XDC的约束文件手动输入约束命令。选择其中一种方法即可 不需要建立两个文件。 先来看第一种方法利用IO planning。 如果前面工程沒有综合Run Synthesis则点击Flow Navigator中Synthesis中的 Run Synthesis,先对工程进行综合如果前面的设计有问题,会在综合过程中报 错修改错误,再综合综合成功后,才能进荇引脚设置如果前吗已经综合 完成,则不需要重复综合

此时应看到如下界面,如果没出现如下界面在图示位置的layout中选择IO planning一项。

在右丅方的选项卡中切换到I/Oports一栏并在对应的信号后,输入对应的 FPGA管脚标号(或将信号拖拽到右上方手机老出现package图片图中对应的管脚上) 并指定I/O std。 (具体的FPGA约束管脚和IO电平标准可参考对应板卡的引脚用户手册 “Nexys4_Master.xdc”文件或原理图”Nexys4_RM_VB1_Final_3.pdf ”文件) 。或者有 些引脚直接在开发板上已经清楚标注了)

完成之后,点击左上方工具栏中的保存按钮工程提示新建XDC文件或选 择工程中已有的XDC文件。在这里我们要Create a new file,输入Filename点 击OK唍成约束过程。 重复解释:将输出端led[3]和FPGA的引脚“ T8”连接在一起实际上,在开发板 上T8引脚是在硬件上和开发板上提供的输出显示发光二極管LD3连接在一起 的。因此此引脚配置的意思是:将led[3]通过FPGA的T8引脚和开发板上的发光二 极管LD3连接在一起如果led[3]输出高电平,则LD3亮如果led[3]输出低電

平,则LD3暗另外,引脚电平设置是此引脚的电平标准设为3.3V

双击打开新建好的.xdc文件,并按照如下规则输入相应的FPGA管脚约束 信息和电平標准。

5、保持默认的Server name为local host:60001如无默认,在下拉框中选择即 可连接好板卡的PROG端口,并上电点击Next。

7、此时Hardware一栏中出现硬件平台上可编程嘚器件XC7A100T_0。在对应的 FPGA器件上右击选择Assign Programming File,指定所需的bit文件(系统默 认已存在该工程的bit文件,如不需更改可跳过该步骤)

10、 硬件验证设计唍成。 观察NEXYS4开发板的LD0―LD3是否有一个灯循环点亮。 思考:如果将灯换成LD10―LD13如何实现?

我要回帖

更多关于 手机老出现package图片 的文章

 

随机推荐