1.课程设计目的1
2.课程设计要求1
3.实验原理1
一。控制模块2
二。计数模块2
三、寄存器reg32b的设计2
4. vhdl源程序3 5. 引脚分配7 6.总结8
参考文献91.课程设计目的。
(1)学习使用eda集成设计软件maxplusⅱ,了解电路描述、综合、模拟过程。
2)学习vhdl程序中数据对象、数据类型、顺序语句、并行语句的综合使用了解vhdl程序的基本结构。
(3)掌握使用eda工具设计数字系统的设计思路和设计方法。学习vhdl基本逻辑电路的综合设计应用。
(4)进一步了解eda语言功能。
(5)了解eda在高频工作下的优势,这是单片机无法比拟的。
2.课程设计要求。
(1)根据设计题目要求完成设计输入、综合、模拟**验证。
(2)提供设计报告,报告要求包括以下内容:设计思路、设计输入文件、设计与调试过程、模拟**结果和设计结论。
3、实验原理:
总设计设计思路。
八位十进制数字频率计的电路逻辑图如下,它由一个测频控制信号发生器testctl,8个优时钟使能的十进制计数器cnt10、一个32位锁存器reg32b组成。
图 3.1 频率计总框图。
采用一个标准的基准时钟,在单位时间如(1s)里对被测信号的脉冲数进行计数,即为信号的频率。
8位数字频率计的顶层框图(如图7.1所示,整个系统可分为四个模块:控制模块、计数测量模块、锁存器模块和显示模块。
一、控制模块(
控制模块的作用是产生测频所需要的各种控制信号。控制信号的标准输入时钟为1hz,每两个时钟周期进行一次频率测量。该模块产生的3个控制信号,分别为teten,load,clr_cnt。
clr_cnt信号用于在每次测量开始时,对计数器进行复位,以清除上次测量的结果,该复位信号高电平有效,持续半个时钟周期的时间。teten为计数允许信号,在teten信号的上升沿时刻计数模块开始对输入信号的频率进行测量,测量时间恰为一个时钟周期(正好为单位时间1s),在此时间里对被测信号的脉冲数进行计数,即为信号的频率。然后将值锁存,并送到数码管显示出来。
设置锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。在每一次测量开始时,都必须重新对计数器清0。
待测信号 teten锁存。
标准时钟load
clr_cnt
图7.1 8位数字频率计的原理框图。
控制模块的几个控制信号的时序关系如图7.2所示。从图中可看出,计数使能信号tsten在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号load,随后产生清0信号上跳沿clr_cnt。
clkteten
loadclr_cnt
图7.2 控制信号时序关系。
二、计数模块(
计数器模块是由8个带有异步清零端,进位信号输出的模为10的计数模块级连而成。
三、寄存器reg32b的设计。
锁存器模块也是必不可少的,测频模块测量完成后,在load信号的上升沿时刻将测量值锁存到寄存器中,然后输出到显示模块。
源程序。-带清零和进位输出的十进制同步计数器。
library ieee;
use use
use entity count10 is
port( cp: in std_logic系统时钟输入 (12m)
clr: in std_logic清零信号输入。
db: out std_logic_vector( 3 downto 0); 计数信号输出。
a: in std_logic计数脉冲输入。
s: out std_logic微分信号输出。
cy: out std_logic进位信号输出。
end count10;
architecture beha of count10 is
signal q: std_logic_vector( 3 downto 0);
signal q1,q2: std_logic;
signal ec: std_logic;
beginprocess(cp,clr)
beginif clr='1' then
q<= others=>'0计数器清零。
elsif (cp'event and cp='1') then
q2<=q1; q1<=a延时2个系统时钟周期。
if ec='1' then
if q<9 then计数器加一
q<=q+1;
elseq<=(others=>'0等于9计数器清零。
end if;
end if;
end if;
end process;
ec<=not q2 and q1微分电路。
cy<='1' when q=9 and ec='1' else进位信号输出。
db<=q计数值输出。
s<=ec微分信号输出。
end beha;
波形**图1.1
-频率计 (测量范围 1hz~6m)
library ieee;
use use
use entity endfreq is
port ( clk: in std_logic系统时钟(12m)输入。
f2: in std_logic待测信号输入。
sel: out std_logic_vector(2 downto 0); 显示位选信号输出。
outa: out std_logic_vector( 6 downto 0) -显示数据输出。
end endfreq;
architecture beh**e of endfreq is
component count10十进制同步计数器组件。
port ( cp: in std_logic;
clr: in std_logic;
a: in std_logic;
s: out std_logic;
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...