0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件描述语言和FPGA的具体关系

电子设计 来源:电子设计 作者:电子设计 2022-02-08 17:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:ALINX

适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

实验Vivado工程为“key_test”。

按键是FPGA设计当中最常用也是最简单的外设,本章通过按键检测实验,检测开发板的按键功能是否正常,并了解硬件描述语言和FPGA的具体关系,学习Vivado RTL ANALYSIS的使用。

1.按键硬件电路

pIYBAGAJhyGAJqZgAAA0eUEzFIw278.jpg

开发板按键部分电路

从图中可以看到,电路的按键松开时是高电平,按下时是低电平。

pIYBAGAJh16AQjNuAAAaiH6Q13k679.jpg

开发板LED部分电路

而LED部分,高电平灭,低电平亮

2. 程序设计
这个程序没有设计的很复杂,通过简单的硬件描述语言看透硬件描述语言和FPGA硬件的联系。首先我们将按键输入经过一个非门后再经过2组D触发器。经过D触发器的信号,会在D触发器时钟输入的上升沿锁存然后再送到输出。

o4YBAGAJh5yAESfJAAAlUR5X0cU821.jpg

在进行硬件描述语言编码之前,我们已经把硬件构建完成,这是一个正常的开发流程。有了硬件设计思路无论是通过画图还是通过Verilog HDL、VHDL都能完成设计,根据设计的复杂程序和对某种语言的熟悉程序来选择工具。

3. 创建Vivado工程
3.1 首先建立按键的测试工程,添加verilog测试代码,完成编译分配管脚等流程。

pIYBAGAJiAiABncZAABMXH92epQ538.jpg

`timescale1ns/1ps
module key_test
(
input clk,//system clock 25Mhz on board
input[3:0] key,//input four key signal,when the keydown,the value is 0
output[3:0] led //LED display ,when the siganl low,LED lighten
);

reg[3:0] led_r;//define the first stage register , generate four D Flip-flop
reg[3:0] led_r1;//define the second stage register ,generate four D Flip-flop
always@(posedge clk)
begin
led_r <= key;//first stage latched data
end

always@(posedge clk)
begin
led_r1 <= led_r;//second stage latched data
end

assign led = led_r1;

endmodule<

3.2 我们可以使用RTL ANALYSIS工具查看设计

pIYBAGAJiEeAVtLgAACRtTSA75I346.jpg

3.3 分析RTL图,可以看出两级D触发器,和预期设计一致。

4. 板上验证
Bit文件下载到开发板以后,开发板上的"PL LED"处于亮状态,按键“PL KEY1”按下“PL LED1”灭。

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22571

    浏览量

    640772
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【黑金云课堂笔记】第一~二期知识点总结

    知识卡片一:【FPGA 基础篇】开启硬件编程之门 FPGA 的本质 : FPGA(现场可编程门阵列)并非在运行软件程序,而是在 构建电路本身 。用户可以通过 Verilog/VHDL
    的头像 发表于 04-01 16:10 276次阅读

    HLS设计中的BRAM使用优势

    高层次综合(HLS)是一种将高级编程语言(如C、C++或SystemC)转换为硬件描述语言(HDL)的设计方法。在FPGA设计中,设计者可以灵活地利用
    的头像 发表于 01-28 14:36 494次阅读

    基于FPGA VHDL的FSK调制与解调设计

    VHDL诞生于1982年。在1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言
    的头像 发表于 01-27 10:58 676次阅读
    基于<b class='flag-5'>FPGA</b> VHDL的FSK调制与解调设计

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 622次阅读
    通过vivado HLS设计一个FIR低通滤波器

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    很多开发者第一次接触FPGA,都会有同样的疑问:FPGA硬件,不是软件,怎么写程序?答案就是用硬件描述语言(HDL),最常用的就是Veri
    的头像 发表于 01-19 09:05 838次阅读
    <b class='flag-5'>FPGA</b> 入门必看:Verilog 与 VHDL 编程基础解析!

    如何使用Modelsim仿真I2C控制器

    ModelSim是Model Technology(Mentor Graphics的子公司)的HDL硬件描述语言的仿真软件。该软件可以用来实现对设计的VHDL、Verilog HDL 或是两种语言
    的头像 发表于 01-10 14:14 5739次阅读
    如何使用Modelsim仿真I2C控制器

    C语言与C++的区别及联系

    C语言和C++到底是什么关系? 首先C++和C语言本来就是两种不同的编程语言,但C++确实是对C语言的扩充和延伸,并且对C
    发表于 12-24 07:23

    C语言和C++之间的区别是什么

    区别 1、面向对象编程 (OOP): C语言是一种面向过程的语言,它强调的是通过函数将任务分解为一系列步骤进行执行。 C++在C语言的基础上扩展了面向对象的特性,支持类(class)、封装、继承
    发表于 12-11 06:23

    嵌入式和FPGA的区别

    大多数软件开发人员快速上手。 FPGA开发则需要硬件描述语言(如Verilog或VHDL),开发者需要具备数字电路设计思维,开发周期相对较长,验证和调试也更为复杂。 性能与灵活性权衡 在实时性方面
    发表于 11-19 06:55

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言非常基础部分。 主要的差异具体
    发表于 11-14 07:55

    复杂的软件算法硬件IP核的实现

    Designer 设计套件中 TASKING 组件的 CHC 编译器完成的。 CHC 编译器,即 C-to-Hardware Compiler。它输入 C 语言源程序然后输出一个可综合的 FPGA 硬件
    发表于 10-30 07:02

    【开源FPGA硬件硬件黑客集结:开源FPGA开发板测评活动全网火热招募中......

    布以来,得到了众多开发者的关注,涉及工业、通信、车载等多个行业的100+位工程师报名参与设计,并分为:硬件组、FPGA组、Linux组。 其中硬件组率先开始启动项目,经过和所有报名硬件
    发表于 10-29 11:37

    ADC和FPGA之间LVDS接口设计需要考虑的因素

    本文描述了ADC和FPGA之间LVDS接口设计需要考虑的因素,包括LVDS数据标准、LVDS接口数据时序违例解决方法以及硬件设计要点。
    的头像 发表于 07-29 10:01 5701次阅读
    ADC和<b class='flag-5'>FPGA</b>之间LVDS接口设计需要考虑的因素

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3180次阅读

    火爆开发中 | 开源FPGA硬件板卡,硬件第一期发布

    开源FPGA项目自发布以来,得到了众多开发者的关注,涉及工业、通信、车载等多个行业的100+位工程师报名参与设计,并分为:硬件组、FPGA组、linux组。其中硬件组率先开始启动项目,
    发表于 07-09 13:54