FPGA——多路选择器实现按键控制LED灯的亮灭

文章目录

  • 前言
  • 一、多路选择器
  • 二、绘制模块框图及波形图
  • 三、Verilog HDL代码及测试代码
  • 四、创建工程
  • 五、仿真
  • 六、上板验证
    • 1、分配引脚
    • 2、烧录
  • 七、效果演示
  • 八、总结

前言

  • 软件:Quartus Prime Standard 18.0
  • 仿真软件:modelsim 10.5
  • 代码编写软件:VSCode
  • 波形绘制工具:Visio 2013
  • 硬件:小脚丫 Altera MAX10

期望效果:
我们希望通过一个按键对输入LED的信号进行选择,在当我们摁下key3时,即当key3为低信号时,LED选择Key2为LED的信号,反之则取key1的信号进行参考。


一、多路选择器

多路选择器是数据选择器的别称,在多路数据传输中,能够根据需要将其中任一路选择出来的电路,叫做数据选择器,也称多路选择器或多路开关。是一种简单的组合逻辑电路。

  • 组合逻辑:

组合逻辑实际是VerilogHDL设计中的一个重要组成部分。从电路本质上讲,组合逻辑电路的特点是输出信号只是当前时刻输入信号的函数,与其他时刻的输入状态无关,无存储电路,也没有反馈电路。

二、绘制模块框图及波形图

在工程开始时,新建一个项目文件,里面新建四个文件夹,分别为:
prj(工程文件)、rtl(.v文件)、sim(仿真测试文件)、doc(波形绘制文件)

  • 添加形状

    FPGA——多路选择器实现按键控制LED灯的亮灭
  • 模块框图

    FPGA——多路选择器实现按键控制LED灯的亮灭

    三、Verilog HDL代码及测试代码

    在rtl文件夹里创建一个mus2_1.v的文件,定义的模块名需要与文件名一致。此时双击打开VSCode进行代码编写。

    在sim文件夹里新建测试文件tb_mus2_1.v

    四、创建工程

    • 打开quartus,new一个工程

    FPGA——多路选择器实现按键控制LED灯的亮灭
  • 选择工程路径,选择到前面我们创建的prj文件夹下。填写工程名,这里尽量选择与我们的.v文件一致的名字—mus2_1。

    FPGA——多路选择器实现按键控制LED灯的亮灭
  • 文件我们后面再添加,先next。

FPGA——多路选择器实现按键控制LED灯的亮灭
  • 选择仿真软件及语言
    FPGA——多路选择器实现按键控制LED灯的亮灭
  • 添加源文件和测试文件
  • FPGA——多路选择器实现按键控制LED灯的亮灭
  • 选择文件进行添加

    FPGA——多路选择器实现按键控制LED灯的亮灭
    FPGA——多路选择器实现按键控制LED灯的亮灭
    FPGA——多路选择器实现按键控制LED灯的亮灭
    • 仿真波形图

    FPGA——多路选择器实现按键控制LED灯的亮灭
    • 设置引脚

      FPGA——多路选择器实现按键控制LED灯的亮灭

    这里key1控制in_1信号,key2控制in_2信号,key3作为选通信号。初始时,三个按键均未摁下,key3为高电平,输出信号为key1,此时摁下key1时,key1处低电平灯亮。反之,摁下key3,选通信号选择的是key2信号,此时摁下key2,灯亮。总结,就是摁下key1灯亮,或者摁下key2+key3灯亮。

    2、烧录

    FPGA——多路选择器实现按键控制LED灯的亮灭

    这里如果没有检测到USB-Blaster,有两种情况一是你的数据线不支持数据的传输、二是你驱动没有更新,搜一下进行更新即可识别。

    • 点击添加文件,在prj文件夹下寻找outputfiles文件夹下的sof文件
      FPGA——多路选择器实现按键控制LED灯的亮灭

    七、效果演示

    keyofLED


    八、总结

    这是第一次实物操作fpga板子,感觉很棒,总体来说这次的操作还是比较简单,但是通过自己画模块框图及波形图,对后面的仿真及代码的理解具有很强的理解性上的帮助!通过这次实验,应该算是入坑了吧,哈哈!

    来源:混子王江江

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

  • 上一篇 2022年10月21日
    下一篇 2022年10月21日

    相关推荐