文档详情

实验二 基于HDL十进制计数器设计指导书.pdf

发布:2025-03-13约6.61千字共5页下载文档
文本预览下载声明

实验二基于HDL十进制计数、显示系统设计

一、实验目的

1.掌握基于语言的ISE设计全流程;

2.熟悉、应用VerilogHDL描述数字电路;

3.掌握基于Verilo的组合和时序逻辑电路的设计方法;

4.掌握chipscope片内逻辑分析仪的使用与调试方法。

二、实验原理

1、实验内容:设计具有异步复位、同步使能的十进制计数器,其计数结果可以通过七段数

码管、发光二极管等进行显示。

使能控制端十进制计七段数码管

时钟端数器显示译码器

异步清零端

FPGA

进位

图2-1系统原理图

2、模块端口信号说明

输入信号:

Clk_50m系统采样时钟

clk待计数的时钟

clr异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数

ena使能控制信号,当ena=1,电路正常累加计数,否则电路不工作

输出信号:

q[6:0]驱动数码管,显示计数值的个位

cout1bit数据,显示计数值向十位的进位

COM共阳级数码管,公共端(接地,参考开发板原理图)

3、以自顶向下的设计思路进行模块划分:

整个系统主要设计的模块是:十进制计数模块和数码管驱动模块,由于实验板的按

键为实现硬件防抖,则需要将按键输入的时钟clk,先通过消抖模块消抖后,再输出至

后续使用。

图2-2系统模块划分和引脚连线图

1)十进制计数器模块设计

输入:

CLK待计数的时钟

CLR异步清零信号,当CLR=1,输出复位为0,当CLR=0,正常计数

ENA使能控制信号,当ENA=1,电路正常累加计数,否则电路不工作

输出:

SUM[3:0]计数值的个位。即,在CLK上升沿检测到SUM=9时,SUM将被置

0,开始新一轮的计数。

COUT计数值的十位进位,即:只有在时钟CLK上升沿检测到SUM=9时,

COUT将被置1,其余情况下COUT=0;

在设计中可以使用always,if-else-if语句实现,设计中注意不要在两个以上的always

模块中对同一个变量进行赋值,否则会产生多重赋值源(multi-source)的问题。

2)数码管显示驱动模块(led.v)

输入:sum[3:0]待显示的数值

输出:out[6:0]驱动数码管的七位数值(注意下表中out的对应位)

表2-1共阳极数码管驱动模块输入与输出关系表

输入sum输出out

对应码

数码ABCDEFG

3210(h)

out[0]out[1]out[2]out[3]out[4]out[5]out[6]

00000000000181

100011001111CF

2001000

显示全部
相似文档