VDHL之基于层次化设计的数字钟(一)【原创】

硬件描述语言:Verilog和VHDL的区别 本文将从多个方面详细对比Verilog和VHDL这两种硬件描述语言(HDL),包括语法、设计哲学、应用场景、工具支持等,以帮助你全面理解它们的区别。以下内容将尽量简洁但全面,涵盖关键点,并以清晰的结构组织。 阅读详情

首先,要声明一下,这个设计的代码完全是自己在设计这个数字钟的时候一步一步摸索出来的,只是参考了一下相关资料,别人的代码我我一行也没有看过用过。由于时间仓促再加上自己水平有限,就有没有对代码进行优化了,只是完成了相关内容功能就不了了事。不过,这个设计实验的确让我学到很多东西,比如说,很多东西在软件编程上是可行的,当在EDA设计中是不行的。废话就不说了,下面我会一步一步的讲述我是如何设计他们的,可能要连载好几个哦。

  这次设计的主要特点是使用了层次化设计,第一次接触,蛮有趣的,但同时也遇到过让人烦心的问题。不过回头过去还是学到蛮多东西的,希望大家也能学到点东西吧。
功能明确一下:
  要用FPGA/CPLD设计一个数字钟,要求这个数字钟能够在整点的时候演奏乐曲,同时启动led灯花样。
   数字钟当然要计数啦,就是每一秒钟计数一次。还有两个额外的功能:第一个能够设置时间,第二个能够设置闹钟。
  选中这两个功能时,被选中为一闪一闪,有按键可以实现移位,和加减。
 功能就上面那些,看起来很少,弄起来心烦啊!
这次使用的软件是:Quartus II
好了,废话讲完了,接下面来干点东西吧。
首先我们想一想究竟要用什么方法去实现他们呢,很显然我们可以借助C语言的模块化设计的思想也对这个设计进行功能模块区分。
下面是我的分法,大家也可以有不同的分法:
1,首先我在想这个系统一定需要不同的时钟吧,但实际我们可能只能获取一个很高频的时钟,为了满足各模块对时钟的要求
    这里是不是需要一个分频的模块呢,对,就是要一块专门负责把输入时钟变成我们需要的时钟的这样一个功能模块。
2,我们可以把负责发出音乐的功能当做一个模块。
3,同样,我们也可以把实现Led花样功能当做一个模块。
4,还想一下,系统设计到按键了,这鬼东西最讨厌了,为什么?因为要去抖啊!所以我们需要一个具有按键去抖功能的模块。
5,去抖完了,想一下,发现最重要的功能没有实现,原来还有有一个时间计数模块。
6,按键是不是可以集中在一起组成一个专门控制的电路呢,对的,我就是这么干的。
7,还用,是不是可以把数码管显示独立开来作为一个功能模块。
晕死了,分这么多模块啊,想弄死我啊?呵呵,我觉得分模块的好处就是易于设计,修改,调试。
总结一下:
今天我们把系统功能分成了几部分:
给他们分别起个名字吧:
1,diviver (负责时钟控制的)
2,musicplay(音乐播放)
3,ledmove(led灯花样播放)
4,keyin(按键去抖)
5,dispaytimer(时钟功能)
6,control(控制功能)
7,shuma(数码管显示功能)
这些模块会在以他们名字加后缀.vhd的文件中实现他们的功能。如:以后会在diviver.vhd 实现时钟控制的功能;
下面是我最终设计出来的模块图:

图片
今天就先到这里吧,以后会分别讲述每一部分功能的实现,然后再把它们合起来。

掌握VHDL的十个基础实例 实体是VHDL设计的起点,它定义了模块的接口信号和行为。结构体则用于详细描述实体内部的逻辑结构,使得设计者能够将复杂的功能分解成更小、更容易管理的组件。在本章节中,我们将深入探讨实体和结构体的概念、定义和它们在VHDL设计中的应用。接口信号是实体与外部环境交互的途径。端口声明中的模式(inoutinoutbufferlinkage)指明了信号的流向和性质。例如,in表示输入信号,out表示输出信号。在定义端口时,还需要指定端口的数据类型。在VHDL中,最常用的数据类型是。 阅读详情

相关推荐

基于VDHL设计数字时钟

是课程设计的最好选择,要求合格!!希望这个对广大的课程设计的同学有很大的帮助!!

什么是VHDL?文带你了解VHDL语言

基于FPGA的SOC在嵌入式系统应用越来越广了,比较流行的硬件描述语言有两种Verilog HDL/VHDL,均为IEEE标准。VHDL如果有C语言基础的话就会比较容易上手。而VHDL语言则需要Ada编程基础。另外VHDL语言具有大量成熟的模块,从某种角度说VHDL更具生命力。

coachip的博客 1万+

VDHL出租车计费器设计

基于VHDL的出租车计费器实现,代码解释详细,课程设计通过

VHDL入门基础

、VHDL语言的基本语法 D触发器的VHDL实现 1、VHDL语言的表示符 2、VHDL的数字 2.1 数字型文字 156E2的意思是156 × \times × 1 0 2 10^2 102; 下划线可以连接数字。 2.2 数字基数表示的文字 2.3 字符串型文字 2.4 下标名及下标段名 downto 和 to 有什么区别 举个例子,比如要生命个长度位8的vector的信号 Signal s1: std_logic_v...

yh13572438258的博客 2万+

VHDL语言基础-概述

VHDL语言基础-概述-什么是VHDL

vizio.blog.csdn.net 3952

VHDL语法学习

、VHDL语言程序的基本结构 完整的VHDL语言程序包含实体(Entity)、构造体(Architercture)、配置(Configuration)、包集合(Package)和库(Library)五部分。其中,实体是用来描述设计系统的外部接口;构造体用于描述系统内部的结构和行为;包集合存放共享的数据类型、常数和子程序等;配置用于从库中选取所需单元来组成系统设计的不同版本;库存放已经编译的实体、构造体、包集合和配置。 1.1 实体 实体 .................................

qq_43425438的博客 1万+

VHDL

VHDL程序结构 VHDL五大元素 -Entity *Block的I/O port规格 -Architecture *Block的内部电路 *可同时具有多个 -Configuration *决定哪个architecture被使用 -Package -Lib 第要素实体: 实体描述了模块的内部接口和外部接口的相关参数 在VHDL中实体描述的结构: entity 实

liuke 4391

VHDL语言入门

和Verilog HDL是目前主流的两种硬件描述语言(Hard Description Language)。本文主要介绍VHDL,使用Quartus II 13.1.

XiaoMingAXX的博客 3508

VHDL基本点精解

VHDL基本点【精解】 - 刑事组之虎9527 - 博客园 VHDL描述硬件实体 结构 举例 Entity()实体 Enitiy 实体名 is PORT(端口名1,端口名N:方向:类型) [端口说明] End Entity; Port的方向有: IN , OUT, INOUT, BUFFER, LINKAGE In 信号只能被引用,不能被赋值;不可以出现在<= 或 : = 的左边 out 信号只能被赋值,不能被引用...

yh13572438258的博客 8954

VHDL——学习开篇1(入门体验与顺序执行)

文章目录0、背景1、VHDL入门体验1.1 2选1选择器1.2 锁存器的设计1.3 总结与注释2、VHDL顺序执行2.1 赋值语句2.2 流程控制语句2.21 if语句 0、背景 明明已经掌握了verilog HDL,为什么还要掌握VHDL呢。因为,你如果不掌握VHDL,意味着,你将要丢失很多资料,不少书籍,不少资料还是用VHDL实现的,包括国外的数字信号处理。在开启这个VHDL文档之前,我其实在...

ciscomonkey的博客 2万+

VHDL语言的概述(诞生与发展)

个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library)5个部分。 VHDL的诞生与发展。

改改的博客 1637

VDHL基础知识

VHDL基础知识

m0_73084903的博客 440

FPGA实现的数字时钟

经过段时间的学习,自己的FPGA实现的数字时钟,已经验证过了

FPGA入门必修课,学习VHDL语言

HDL(Hardware Description Language)是复杂数字电路实际设计种必要手段,通过语言的形式把我们心中的电路描述出来,同时配套相应的翻译工具,就是我们的综合工具,把语言描述的电路综合为真实门级电路,通过网表文件记录。主流的硬件描述语言有A-HDL,V-HDL,Verilog-hdl。

dpwkj的博客 1026

VHDL基础

目录 、运算符 1.算数运算符 2.关系运算符 3.逻辑运算符 4.赋值运算符 5.关联运算符 6.其他运算符 7.运算符优先级 二、VHDL的基本结构 、运算符 1.算数运算符 +,-,*,/ MOD: 取模,取模运算(a MOD b)的符号与b相同,其绝对值小于b的绝对值。如:-5 MOD 2 = 1,5 MOD -2 = -1。 REM: 取余,取余运算...

weixin_43864459的博客 1万+

VHDL入门学习

、VHDL优点:覆盖面广,系统硬件描述能力强,是个多层次的硬件描述语言; VHDL语言具有良好的可读性,既可以被计算机接受,也容易被人们所理解; VHDL语言可以与工艺无关编程; VHDL语言已做为种IEEE的工业标准,便于使用、交流和推广。VHDL的不足之处:设计的最终实现取决于针对目标器件的编程器,工具的不同会导致综合质量不样。二、VHDL语言基础1、标识符 首字符必须是字母...

山鬼谣弋痕夕的博客 5662

VHDL快速入门

在前面 VHDL是门硬件语言,没学过硬件语言,挺感兴趣,还可以用在计组的实验中,花了点时间学习整理了下VHDL的基本语法,方便查看。本blog所用到的所有图片都引用自 VHDL语言的基本语法参考文档 、VHDL语言的基本语法 1、VHDL语言的表示符 2、VHDL的数字 2.1 数字型文字 156E2的意思是156×\times×10210^2102; 下划线可以连接数字。 2.2 数字基数表示的文字 2.3 字符串型文字 2.4 下标名及下标段名 二、VHDL语言的数据对象 .

messyking的博客 6万+

VDHL 内嵌BRAM设计LIFO堆栈

基本功能: 具有先进后出的堆栈功能。 此LIFO堆栈具有两个按键(write,read),按下write键后,开始输入数据data0-data3; 按下read键后,7段数码管开始倒序显示data3-data0(十进制)。 按下write键,VGA显示“Write”字样,并同时显示输入数据;按下read键,VGA显示“Read”字样,并同时显示输出数据。 大三下学期的实验,贴出代码,仅供

so_cracy的博客 932
上一篇: 【算法】分治算法
下一篇: VHDL之基于层次化设计的数字钟(二)【原创】
iamsheldon
博客等级 码龄16年 198粉丝 33原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值