赛灵思
直播中

冯媛媛

7年用户 225经验值
私信 关注
[问答]

Vivado下按键实验详解

  适用于板卡型号:
  AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
  实验Vivado工程为“key_test”。
  按键是FPGA设计当中最常用也是最简单的外设,本章通过按键检测实验,检测开发板的按键功能是否正常,并了解硬件描述语言和FPGA的具体关系,学习Vivado RTL ANALYSIS的使用。

回帖(4)

汤宇

2021-1-22 13:50:21
  按键硬件电路
  
  开发板按键部分电路
  从图中可以看到,电路的按键松开时是高电平,按下时是低电平。
  
  开发板LED部分电路
  而LED部分,高电平灭,低电平亮
举报

沈家春

2021-1-22 13:50:31
  程序设计
  这个程序没有设计的很复杂,通过简单的硬件描述语言看透硬件描述语言和FPGA硬件的联系。首先我们将按键输入经过一个非门后再经过2组D触发器。经过D触发器的信号,会在D触发器时钟输入的上升沿锁存然后再送到输出。
  
  在进行硬件描述语言编码之前,我们已经把硬件构建完成,这是一个正常的开发流程。有了硬件设计思路无论是通过画图还是通过Verilog HDL、VHDL都能完成设计,根据设计的复杂程序和对某种语言的熟悉程序来选择工具。
举报

李云逍

2021-1-22 13:51:09
  创建Vivado工程
  3.1 首先建立按键的测试工程,添加verilog测试代码,完成编译分配管脚等流程。
  
  `timescale1ns/1ps
  modulekey_test
  (
  inputclk,//systemclock25Mhzonboard
  input[3:0]key,//inputfourkeysignal,whenthekeydown,thevalueis0
  output[3:0]led//LEDdisplay,whenthesiganllow,LEDlighten
  );
  reg[3:0]led_r;//definethefirststageregister,generatefourDFlip-flop
  reg[3:0]led_r1;//definethesecondstageregister,generatefourDFlip-flop
  always@(posedgeclk)
  begin
  led_r《=key;//firststagelatcheddata
  end
  always@(posedgeclk)
  begin
  led_r1《=led_r;//secondstagelatcheddata
  end
  assignled=led_r1;
  endmodule
  3.2 我们可以使用RTL ANALYSIS工具查看设计
  
  3.3 分析RTL图,可以看出两级D触发器,和预期设计一致。
  
举报

陈政竹

2021-1-22 13:51:16
Bit文件下载到开发板以后,开发板上的"PL LED"处于亮状态,按键“PL KEY1”按下“PL LED1”灭。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分