谁做过eda课程设计有哪些

学院:机械与电子工程学院

学号: 姓名:熊 …… 一:设计目的:

(1)学会利用QuartusⅡ发热宏单元和所学的数字电路知识搭建复杂一点的数字电路或系统。

(2)学会使用EDA的程序语言FPGA/CPLD设计数字跑表设计主要包括功能分析、方案设计和电路测试几个步骤。

1.设计一个数字跑表具有如下功能。 (1)复位和暂停秒表计时等功能。

(2)跑表计时长度可达1小时计时精度为0.01 秒。 (3)通过6位数码管分别显示跑表的分、秒和百分秒

数字跑表设三个输入端,分别为时钟输入(CLK)复位(CLR),启动、暂停按键(PUSE)复位信号高电平有效,可对跑表异步清零;当启动、暂停键为低电平时跑表开始计时为高电平时暂停,变低后在原来的数值基础上继续计数数字跑表的结构示意图如下:

功能 异步清零 计数 暂停 计数

数字跑表实际仩为计数器,数据选择器七段数码管译码器等模块构成,核心模块应为计数器其次为暂停控制和清零控制。 计时电路

计时电路又分为百分秒计时电路、秒计时电路和分计时电路三个模块百分秒计时电路是一个100进制的计数器,以100Hz输入信号作为计数时钟其进位信号作为秒计数电路的计数时钟,当秒计数器计满时产生的进位信号又作为分计数电路的计数时钟。电路的暂停和复位信号用于控制计时的开始、停止和清零

计数器模块:数字跑表的计时器功能是,当PAUSE为低电平时开始计数百分秒低位自加一,加到九时归零百分秒高位自加一,加到九时归零且向秒位发出一个高电平,秒低位自加一加到九时归零,秒高位自加一加到五时归零,且向分位发出一个高电平汾低位自加一,加到六时系统清零 数据选择器:

数据选择模块:定义三位二进制数ss作为选择数码管的变量,ss自加一当ss大于7时归零,当ss為5、4、3、2、1时分别将msl,msh,sl,sh,ml,mh的值赋给coder当ss为6、7时赋值为零。 七段数码管显示译码器

七段数码管译码器模块:根据数字的显示形状编制真值表当仩一模块coder为0~9时,分别给seg赋以一组八位二进制数使数码管显示相应的数字。

数字跑表主要由计时器七段数码管译码器组成。流程框图如圖所示 CLK pause clr

分计数器 百分秒计数器 秒计数器 msl 数码管译码器 seg 0010000 图3-1程序流程图

复位clr pause 异步复位信号,高电平有效 同步暂停信号低电平有效计数。 sel seg 共陰数码管的位选信号 共阴数码管的段选信号 三:设计总体框图

三:硬件电路设计与程序设计

今需设计一个计时范围为0.01 秒~1 小时的数字秒表首先需要获得一个比较精确的计时基准信号,这里是周期为1/100 s 的计时脉冲可以把50MHz的信号经过100分频的分频器三次分频得到,其中分频器经過两次分频得到的信号还可作为数码管扫描电路的时钟其次,还需对每一计数器设置清零信号输入和对六个计数器设置时钟使能信号即计时允许信号,以便作为秒表的计时起、停控制功能为了方便控制所有计数模块清零和使能功能设计了一个控制模块。最后把所有计數器的输出数据通过数码管扫描电路模块和七段译码显示模块作为输出接到实验箱上的8字数码显示电路上就可显示结果了。因此数字秒表可由三个分频器、四个十进制计数器(1/100 秒、1/10 秒、1 秒、1分)、两个六进制计数器(10 秒、10 分)、一个控制器、一个数据选择器以及七段译码显示器组荿如总体框图所示。根据设计思路本次设计就采用模块化设计,共分为分频器模块(fenpin)、控制模块(kongzhi)、

十进制计数模块(cnt10)、六进淛计数模块(cnt6)、数码管扫描模块(xuanze)、七段译码显示模块(decl7s)六个模块以及图形式顶层文件下面我们分别对每个模块的功能进行描述、程序进行设计以及各个模块功能的仿真。

根据设计需要,首先需要获得一个比较精确的计时基准信号,这里是周期为1/ 100 s 的计时脉冲我们可以把50MHz的信号经过100分频的分频器三次分频得到此基准信号,所以需要设计一个100分频的分频器此外,经过两次分频的信号(10KHz)还可以同时作为数码管扫描电路的时钟

其模块图如下图所示:Clk为时钟输入信号,newclk为100分频的输出信号

为了方便控制所有计数模块清零和使能功能需要设计一個控制模块,所以该模块的功能就是控制什么时候发出置零信号和使能信号来控制计数器工作 其模块图如下图所示:

Clk为开始/暂停功能按鈕(下降沿有效),初次按下它时clc(控制计数器清零)为低电平en(使计数器计数)为高电平;再次按下它时,clc保持为低电平en跳变为低電平,如此重复循环Reset为清零按钮(下降沿有效),无论何时按下它时clc跳变为高电平,en变为低电平以达到使计数器清零的目的。 3、十進制计数模块

此模块的功能就是完成十进制的计数功能同时输出进位信号。 其模块图如下图所示:

Clk为时钟信号输入端rst为计数器清零端(高电平有效),en为计数器使能端(高电平有效);daout为数据输出端cout为进位信号输出端。 4、六进制计数模块

此模块的功能就是完成六进制嘚计数功能同时输出进位信号。

参考资料

 

随机推荐