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

    文章

    822

    浏览量

    131866
  • 秒表
    +关注

    关注

    3

    文章

    81

    浏览量

    22695
  • basys3
    +关注

    关注

    0

    文章

    4

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STEVAL-ISA131V3:高效降压转换器评估的解析

    评估,它围绕 ST1S15 高效降压转换器构建,为工程师们提供了一个评估和开发的理想平台。 文件下载: STEVAL-ISA131V3.pdf 产品概述 STEVAL - ISA131V3
    的头像 发表于 04-17 11:40 150次阅读

    ISL8117DEMO3Z演示:高效电源解决方案全解析

    它是如何满足这些需求的。 文件下载: ISL8117DEMO3Z.pdf 一、ISL8117DEMO3Z概述 ISL8117DEMO3Z演示围绕ISL8117这颗核心芯片
    的头像 发表于 04-13 10:30 117次阅读

    S32G3多核应用构建疑点求解

    我按照AN13750文档为 s32g3 构建 ipcf 包。 我有几个疑问 1. 我已经使用捆绑安装程序安装了 IPCF 和 freertos。我找不到 SDHC rtm。我在哪里可以找到它,或者
    发表于 04-09 07:12

    智能数字毫秒表的应用场景介绍、数字毫秒仪 智能毫秒表

    SYN5307型智能数字毫秒表凭借其高精度计时和智能化功能(如数据存储、联机传输等),广泛应用于对时间精度要求较高的场景,核心应用领域可分为以下几类: 1. 科研与实验领域 物理实验:精确测量运动
    的头像 发表于 03-03 15:32 504次阅读

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

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

    探索S32G-VNP-RDB3:汽车应用的理想参考设计

    探索S32G-VNP-RDB3:汽车应用的理想参考设计 在汽车电子领域,高性能、集成化的参考设计对于加速产品开发至关重要。今天,我们就来详细探讨一下NXP推出的S32G-VNP-RDB3
    的头像 发表于 12-24 17:05 524次阅读

    技术资讯 I 多系统 3D 建模,提升设计精度和性能

    本文要点了解3D建模流程。洞悉多系统3D建模如何提高设计精度、性能和成本效益。掌握3D建模在制造工艺中的优势。在PCBA领域,仿真与建模是实现精准高效设计的基石。在量产前
    的头像 发表于 11-21 17:45 2663次阅读
    技术资讯 I 多<b class='flag-5'>板</b>系统 <b class='flag-5'>3</b>D 建模,提升设计精度和性能

    数字毫秒表可以在什么领域使用

    秒表
    西安同步电子科技有限公司
    发布于 :2025年11月12日 17:27:47

    如果选用Basys3的开发进行RISC-V嵌入式开发,需要做哪些工作呢?

    请问,如果选用Basys3的开发进行RISC-V嵌入式开发,需要做哪些工作呢?
    发表于 11-07 07:23

    数字毫秒表存在意义、用途及挑选指南 存储式数字毫秒计、数字毫秒计

    在追求精准计时的现代社会,电秒表与智能毫秒计凭借其独特的性能,成为多个领域不可或缺的工具。它们不仅解决了传统计时方式精度不足的问题,更随着技术发展不断升级,为各行业的高效运转与创新研究提供有力支撑
    的头像 发表于 11-04 18:20 2321次阅读
    数字毫<b class='flag-5'>秒表</b>存在意义、用途及挑选指南 存储式数字毫秒计、数字毫秒计

    STM32 Nucleo-144开发技术解析与应用指南

    STMicroelectronics NUCLEO-H7S3L8 STM32 Nucleo-144开发采用STM32H7S3L8 MCU,提供了一个经济实惠的多功能平台,用于原型设计和实验
    的头像 发表于 10-17 14:40 1516次阅读
    STM32 Nucleo-144开发<b class='flag-5'>板</b>技术解析与应用指南

    如何使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 构建 Web 服务器?

    使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 构建 Web 服务器
    发表于 09-04 08:10

    如何使用 Mbed OS 在 NuMaker IoT 构建 Web 服务器?

    使用 Mbed OS 在 NuMaker IoT 构建 Web 服务器
    发表于 09-04 06:33

    为什么我选择VHDL入门

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

    basys2开发说明书

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