ARTIX-7 XC7A35T实验项目之按键点灯

刷题推荐

链接: Verilog刷题

1,实验简介

通过按键点灯实验,学习vivado的RTL ANALYSIS以及异步信号输入的处理。

2,实验环境

vivado 2019.1
黑金AX7035开发板

3,实验原理

3.1,LED硬件电路

请添加图片描述
从原理图可以看出,按键松开是高电平,按下是低电平。

4,程序设计

按键输入信号相对于FPGA内部信号来说是一个异步信号,这里就需要对其使用两级同步D触发器进行进行异步信号的同步化。
请添加图片描述
有关同步D触发器和按键的详细介绍,推荐链接:
链接: 从零开始的FPGA学习5-同步复位D触发器、异步复位D触发器

4.1,vivado工程创建【跳过】

4.2,编写按键点灯的Verilog代码

1,编写代码,control+s保存好代码;

`timescale 1ns / 1ps
module KEY_LED
(
    input        sys_clk,
    input        rst_n,
    input [3:0]  key_in,
    output [3:0] led
);
    reg[3:0]     led_r;
    reg[3:0]     led_r1;
    always@(posedge sys_clk or negedge rst_n)
    begin
        if(~rst_n)
            led_r <= 4'b0000;
        else
            led_r <= ~key_in;
    end
    
    always@(posedge sys_clk or negedge rst_n)
    begin
        if(~rst_n)
            led_r1 <= 4'b0000;
        else
            led_r1 <= led_r;
    end
    assign led = led_r1;
endmodule

4.3,添加XDC管脚约束文件【跳过】

4.4,下载和Flash固化【跳过】

想加快上电后程序启动,可以在xdc文件添加以下几行代码,目的是为了提高SPI FLASH的读写时钟,其中前面两条设置QSPI FLASH的数据宽度和配置模式,后面一条是配置速度,这个值越大,速度越快。修改好的xdc文件需要重新编译,再次重新生成bit和bin文件。

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property CONFIG_MODE SPIx4 [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值