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

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

3天内不再提示

如何使用基本VHDL和Basys3板构建秒表

454398 ? 来源:网络整理 ? 作者:佚名 ? 2019-11-04 10:09 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

欢迎访问有关如何使用基本VHDL和Basys 3板构建秒表的说明。我们很高兴与您分享我们的项目!这是2016年秋季在SLO的Cal Poly开设的CPE 133课程(数字设计)的最终项目。我们构建的项目是一个简单的秒表,用于启动,重置和暂停时间。它以Basys3板上的三个按钮作为输入,并且时间显示在板的四位数七段显示器上。经过的时间以 seconds:厘秒格式显示。它使用开发板的系统时钟作为输入来跟踪经过的时间,并将时间输出到七段显示器的四位数。

步骤1:材料

该项目所需的材料:

从Xilinx安装了1台装有Vivado Design Suite WebPack的计算机(首选版本2016.2)

1 Digilent Basys3 Xilinx Artix-7 FPGA

1 USB端口电缆

步骤2:设置输入和输出

上图显示了秒表主模块的顶级框图。秒表接受输入“ CLK”(时钟),“ S1”(开始按钮),“ S2”(暂停按钮)和“ RST”(复位),并具有4位输出“阳极”,7位输出“段”和一位输出“ DP”(小数点)。当输入“ S1”为高时,秒表开始计时。当“ S2”为低时,秒表暂停时间。当“ RST”为高电平时,秒表将停止并重置时间。电路中有四个子模块:时钟分频器,数字计数器,七段显示驱动器和七段显示编码器。秒表主模块将所有子模块链接在一起,并链接到输入和输出。

步骤3:制作时钟

时钟分频器模块接收一个系统时钟,并使用一个除数输入来创建一个不大于系统时钟速度的时钟。秒表使用两个不同的时钟模块,一个创建一个500 Hz的时钟,另一个创建一个100 Hz的时钟。时钟分频器的原理图如上图所示。时钟分频器接收一个位输入“ CLK”,一个32位输入“除数”和一个位输出“ CLKOUT”。 “ CLK”是系统时钟,“ CLKOUT”是结果时钟。该模块还包括一个“非”门,当计数达到除数的值时,它将切换信号“ CLKTOG”。

步骤4:计数到十

数字计数器对从0到10的每个数字进行计数,并为下一个数字创建另一个时钟,以使该数字在计数达到10时振荡。模块接收3个单位输入“ S”, “ RST”和“ CLK”并产生一个单位输出“ N”和一个4位输出“ D”。输入“ S”是输入中的启用。当“ S”为高电平时,时钟打开;当“ S”为低电平时,时钟关闭。 “ RST”是复位输入,因此当“ RST”为高电平时时钟将复位。 “ CLK”是数字计数器的时钟输入。 “ N”是时钟输出,成为下一位数字的输入时钟。输出“ D”表示计数器所在数字的二进制值。

步骤5:显示数字

这七个-segment显示编码器将对从七段显示驱动器模块接收到的二进制数进行编码,并将其转换为比特流,对于每个显示段,该比特流将被解释为“ 1”或“ 0”值。二进制数由模块作为4位输入“数字”接收,并产生7位输出“段”。该模块由一个单例处理块组成,该块为从0到9的每个可能的输入值分配一个特定的7位流。七位流中的每个位代表显示器上数字的七个部分之一。流中各段的顺序为“ abcdefg”,其中“ 0”表示为给定数字点亮的段。

步骤6:如何显示秒表

在七段显示驱动器模块中,有四个4位输入“ D0”,“ D1”,“ D2”和“ D3”,每个输入代表4位数字。被显示。输入“ CLK”是系统的时钟输入。一位输出“ DP”代表七段显示器上的小数点。 4位输出“ Anodes”确定显示七段显示器上的哪个数字,而4位输出“ temp”取决于2位控制输入“ SEL”的状态。该模块使用4个多路复用器作为控制输入“ SEL”和三个输出。 “阳极”,“温度”和“ DP”。

第7步:将它们整合在一起

一个从中运行的‘if’过程块500Hz时钟用于创建开始和暂停按钮。然后,通过声明每个单独的子模块的组件并使用各种信号,将秒表主模块中的所有子模块链接在一起。数字子模块采用前一个数字子模块的时钟输出,第一个采用100Hz时钟。然后,数字子模块的“ D”输出变为七段显示驱动器模块的“ D”输入。最后,七段显示驱动程序模块的“ temp”输出变为七段编码器模块的“ temp”输入。

步骤8:约束

使用3个按钮(W19,T17和U18)输入“ RST”,“ S1”和“ S2”。 W19是重置按钮,T17是开始按钮(S1),而U18是暂停按钮(S2)。还需要使用端口W5限制时钟输入的输入。另外,请记住将此行添加到时钟约束中:

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]

也请链接阳极和电路板上的分段,因此秒表显示在约束文件中所示的七段显示器上。

步骤9:测试

通过按三个按钮来确保设备正常工作:以各种可能的方式推动并按住它们,以便发现代码中可能存在的问题。
责任编辑:wv

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

    关注

    30

    文章

    820

    浏览量

    130077
  • 秒表
    +关注

    关注

    3

    文章

    81

    浏览量

    22374
  • basys3
    +关注

    关注

    0

    文章

    4

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么我选择VHDL入门

    在群里交流提问的时候,大家总是惊讶并疑惑:为什么我要选择 VHDL入门?因为好像 99% 搞 FPGA 开发的人都在用 Verilog。 我的选择,是通过网上搜索的讨论而做出的,为了留存,我这里水一
    的头像 发表于 06-25 11:18 ?390次阅读
    为什么我选择<b class='flag-5'>VHDL</b>入门

    basys2开发说明书

    basys2开发说明书
    发表于 06-08 09:52 ?0次下载

    请问如何使用UUU进行独立内核构建

    不认为独立构建会生成 uboot;不知道我是否需要它来使用 UUU。 那么,我如何使用 UUU 将其放到上呢?其中之一? uuu emmc 镜像 uuu emmc_all Image 如何指定 DTB?
    发表于 04-04 06:07

    为自定义构建具有scarthgap 6.6.52支持的yocto映像时遇到报错如何解决?

    在尝试为我们的定制构建 imx8mm 的 yocto 映像时,我们遇到了以下错误,如何解决?
    发表于 04-01 06:08

    求助,关于K3s的GoldVIP yocto构建问题求解

    我按照用户指南进行 GoldVIP Yocto 构建。但是请关注以下问题。 您能帮忙看看这个问题吗?谢谢。
    发表于 03-24 07:37

    浅谈Verilog和VHDL的区别

    Verilog和VHDL是两种广泛使用的硬件描述语言(HDL),它们用于描述和模拟数字电路系统的行为和结构。这两种语言的主要作用是帮助工程师设计、仿真和验证集成电路(IC)和系统级芯片(SoC)中的硬件模块。
    的头像 发表于 02-17 14:20 ?1649次阅读
    浅谈Verilog和<b class='flag-5'>VHDL</b>的区别

    使用XC3S1500-4FGG456C控制ADS1248,读不到AD数据,为什么?

    电路使用XC3S1500-4FGG456C控制ADS1248,采集两个PT100的电压值。我用VHDL写的驱动,大致思路是:先配置寄存器,然后发送RDATAC(不断读)命令,但是读不到AD数据。示波器显示,DIN引脚数据正确
    发表于 02-11 06:39

    MT-HIL(4):如何在Simulink下使用HDL Coder导出FPGA/VHDL代码

    vhdl
    芒果树数字
    发布于 :2025年01月10日 17:22:17

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 Verilog :Verilog 的语法更接近于 C 语言,对于有 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,代码更直观,易于
    的头像 发表于 12-17 09:44 ?1821次阅读

    求助vhdl

    vhdl 技术
    发表于 11-13 11:35

    Verilog vhdl fpga

    相关专业,具有良好的专业基础知识。 感兴趣可滴滴 JYHXDX534 2.工作年限不限,有工作经验或优秀应届毕业生亦可。 3.对FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL
    发表于 11-12 16:40

    使用低成本MSP430 MCU简化7段LED秒表应用说明

    电子发烧友网站提供《使用低成本MSP430 MCU简化7段LED秒表应用说明.pdf》资料免费下载
    发表于 09-13 10:12 ?0次下载
    使用低成本MSP430 MCU简化7段LED<b class='flag-5'>秒表</b>应用说明

    verilog设计之基于basys3实现的简易分秒数字钟

    基于basys3实现的简易分秒数字钟
    发表于 09-03 14:15 ?0次下载

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架构及应用,熟悉图像算法的FPGA实现。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等开发工具。 3.有AI算法 fpga实现经验优先。 4.本科及以上学历,硕士优先。具有强烈的责任心,执行力,良好的沟通能力和团队合作能力。
    发表于 09-02 15:50

    【龙芯2K0300蜂鸟试用】SDK部署与构建

    }mkimage,没有的话才用系统的mkimage,如果将uboot构建出来的mkimage放在这里,它就会优先用。 再次执行make uImage -j8完成构建,得到uImage 3.buildroot
    发表于 09-02 00:15