Huang Jiongtao(Kaden)
Exploring AI, Products and Technology

· 2023.05.12 · Published: 2023-05-12

Stopwatch Design using FPGA boards

Stopwatch Design using FPGA boards

02 · 任务说明

经过第四单元的学习,希望大家对 FPGA 有了更深入的理解,并在 FPGA 板编程方面积累了实践经验。因此,在第四单元考核中,你将基于本学期一直使用的 MAX10 FPGA 架构设计一款秒表,以此展示学习成果。我们已提供一个 Quartus 项目模板作为设计基础。你需要在考核时间范围内,通过编辑和创建新模块,尽可能多地实现指定功能。除实践工作外,你还需提交一份设计报告,报告模板同样已提供。请尽最大努力完成所有章节,并在适当处使用图表和示意图辅助说明。

03 · 我的项目:

  1. FPGA 简介
    现场可编程门阵列(FPGA)是一种半导体器件,其核心是由可配置逻辑块(CLB)构成的矩阵,各逻辑块通过可编程互连线路连接。这类器件在制造完成后可根据应用或功能需求重新编程,因此得名 "现场可编程"。FPGA 是数字系统设计中的强大工具,因为它填补了昂贵的定制硬件(ASIC)与灵活但速度较慢的软件方案之间的空白。

  2. 项目简介
    本项目的主要目标是在 FPGA 板上设计一款数字秒表,具体采用 MAX10 FPGA 架构。该秒表旨在成为一款多功能计时器,支持启动、停止、复位和保持时间功能。设计精度可达百分之一秒,利用板载的七段数码管进行时间显示。
    项目分为以下几个主要组件,每个组件在整体设计中承担特定功能:
    时钟分频器:该模块接收 FPGA 的 50MHz 时钟信号,将其分频为更易处理的 100Hz 信号,供秒表逻辑模块使用。这一操作至关重要,因为人眼无法感知原始 50MHz 信号速率下的变化。
    秒表逻辑:这是秒表的核心。负责计时并控制启动、停止和复位操作。它接收来自时钟分频器的时钟信号和用户的控制信号,生成表示分钟、秒和百分秒的二进制输出。
    二进制转七段编码器:该模块接收秒表逻辑模块的二进制输出,将其转换为可在七段数码管上显示的信号。
    秒表(顶层模块):这是顶层模块,将所有其他模块整合在一起,接收外部输入(如用户的控制信号),并向七段数码管输出相应信号。

  3. 我的学习成果
    通过对上述每个模块的设计、编码和测试,以及将它们集成为完整系统的过程,我加深了对基于 FPGA 的数字系统设计的理解。我学会了如何处理时钟信号、开发复杂的控制逻辑、在不同数据表示形式之间进行转换,以及创建层次化设计。本项目使我能够将数字系统设计的理论概念应用于实践,也展示了 FPGA 在实现定制数字系统方面的强大能力与灵活性。

Ask Huang Jiongtao AI

BETA · full page

Based on a personal knowledge base. Answers may be imperfect.