FPGA:Zedboard开发板之点灯(PL)

开发环境为Vivado 2019.2。

1新建工程

打开Vivado,选择Create Project新建一个工程
在这里插入图片描述
下面的界面直接next
在这里插入图片描述
设置工程名及路径
在这里插入图片描述
工程类型选为RTL工程,因为在新建工程时不指定源文件,所以勾选下面Do not 那个选项,源文件等到工程建立完毕后再指定。
在这里插入图片描述
这里配置板卡的信息,可以在下面进行每一项的手动配置,由于我们采用的是zedboard开发板可在boards里面快速配置,不需要一个个参数手动指定,所以这里选boards。如果你的不是zedboard开发板,可以去boards里面看看有没有对应你的板子的快速配置,如果没有就需要自己看手册选每一项参数了。
在这里插入图片描述
这里选用zedboard开发板
在这里插入图片描述
这个界面是关于我们先前配置信息的汇总可以看看检查一下有没有配置错误。然后点击finish,至此工程新建完毕。
在这里插入图片描述

2编写verilog和配置约束文件

首先写Verilog,在design sources上右键,新建一个文件。
在这里插入图片描述
选择design sources之后点击next
在这里插入图片描述
这里点击cerate file新建一个文件
在这里插入图片描述
这里填写文件名
在这里插入图片描述
在填写好文件名点击OK之后,可以看见新建的那个文件的信息,这里我新建的文件名为PL_LED,Verilog文件的后缀为.v,之后点击finish.
在这里插入图片描述
点击这个PL_LED打开这个文件
在这里插入图片描述
红框里面为代码编写的界面
在这里插入图片描述
代码如下:

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2020/07/24 22:39:01
// Design Name: 
// Module Name: PL_LED
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module PL_LED(
    input clk,	//时钟输入
    input rst,	//复位,高电平有效
    output reg led //led输出

    );
    always@(posedge clk or posedge rst)begin
        if(rst)	//复位按钮按下就给led一个低电平
            led<=1'b0;
        else		//否则给一个高电平
            led<=1'b1;
    end
endmodule

之后便是点如下图所示,点击这个,为我们后续添加约束做准备,当然也可以通过tcl来手动编写约束文件,这里我们采用图形化的界面进行添加。在这里插入图片描述
这个界面直接OK即可
在这里插入图片描述
在运行结束之后会弹出这个界面选cnacel即可
在这里插入图片描述
可以看到原先是灰色的那个按钮可以点击了
在这里插入图片描述
点击这个IO planning进行配置
在这里插入图片描述
主要是配置对应的端口信息和电平。他这里默认是1.8我们改成了3.3,这个要根据自己的板子的参数而定。
在这里插入图片描述
我们选用的是PL的系统时钟,所以在上述配置中选用的Y9口,具体的说明如下,下面时钟,按键,led的说明均摘自zedboard的说明文档。
在这里插入图片描述
我们选用的BTNC这个按钮作为复位键,所以配置的端口是P16,并且说明了当按键按下时接通VCC,在always中使用了posedge上升沿检测,if(rst)这样来判断是否按下复位键。
在这里插入图片描述
使用的LED为LED0,所以端口选择T22。
在这里插入图片描述
在配置好之后,ctrl+s进行保存,填写保存的文件名
在这里插入图片描述
之后可以点击project manger,constraints打开我们刚刚保存的那个文件,查看自动帮我们生成的约束文件。上述图形化界面添加约束文件的方法也可采用手动编写TCL的方式进行书写约束文件。就是直接在constraints里面新建一个约束文件,然后不进行图形化的添加而手动写这些约束文件,这里就要求你会书写TCL。
在这里插入图片描述
自动生成的约束文件如下:

set_property PACKAGE_PIN Y9 [get_ports clk]
set_property PACKAGE_PIN P16 [get_ports rst]
set_property PACKAGE_PIN T22 [get_ports led]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports led]
set_property IOSTANDARD LVCMOS33 [get_ports rst]

3生成比特流文件并写入到开发板

生成比特流文件,直接点击generate bitstream,他弹出来的框直接OK或Yes就行。在这里插入图片描述
生成比特流文件之后,在弹窗里面选择打开硬件管理

在这里插入图片描述
这个时候开发板要已经上电,之后选择open target,之后选择auto connect或new connect
在这里插入图片描述
可以看到已经识别到了板卡信息
在这里插入图片描述
在xc7z020_1上面右键,选择program device
在这里插入图片描述
可看到他已经自动识别到了生成的比特流文件,点击program写进我们的开发板。
在这里插入图片描述
至此整个开发结束。

4实验结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值