EDA课程设计

发布 2022-09-30 19:47:28 阅读 9880

《eda技术使用教程》

课程设计报告。

题目名称: 设计一个1hz~9999hz的频率计

学生姓名。学号。

专业年级。指导教师。

时间: 2024年12月28日。

目录。一. 设计任务与要求 1

二. 设计思路 2

三. 频率计设计原理 3

四. 频率计的各个设计模块 4

4.1. 频率产生器lpm_counter0: 4

4.2. 测频控制信号发生器testpl: 6

4.3. 十进制计数器cnt10: 7

4.4. 16位锁存器reg16b: 9

4.5. 数码管控制器ledcom: 10

4.6. 译码器ymq: 12

4.7 元件声明及例化 14

五. **结果 16

六. 心得体会 17

七. 参考文献 18

设计一个1hz~9999hz的频率计,需满足一下条件:

1)待测信号为方波信号,且已进行量化,1表示高电平,0表示低电平,占空比不定;

2)提供一个1hz的信号,去控制打开被检测信号的与门,使计数器在一秒钟内计数;

3)数码管显示的就是被检测信号的频率,以十进制显示;

4)系统时钟10mhz

数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量方波信号及其他各种单位时间内变化的物理量。本数字频率计采用自顶向下的设计思想,通过闸门提供的1s闸门时间对被测信号进行计数及测出的被测信号的频率,测出的频率再通过译码器译码后输出给显示器显示。

我分为以下的六个部分来完成这次的设计:

1) 频率产生器lpm_counter0:

2) 测频控制信号发生器testpl:

3) 十进制计数器cnt10:

4) 16位锁存器reg16b

5) 数码管控制器ledcom:

6) 译码器ymq:

在实验**电路中clk端口用实验箱的输出为标准时基信号,sig端口接入被测的信号,clr端口连接一个电平开关,将电平开关-置高电平,输出端接好led显示器就可以观察被测信号的频率了。

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。

本设计中使用的就是直接测频法,即用计数器在计算1s内输入信号周期的个数,其测频范围为1hz~9999h。

有一50mhz的时钟输入端clk,经过分频处理后从输出端q[26..0]输出27种频率信号,从中选出三个不同频率的信号:q[25]为1hz输入testpl的clk端,q[13]为测试信号输入低位计数器的cnt10的clk端,q[17]为数码管显示选择的扫描信号输入数码管控制器的clk端。

library ieee;

use library lpm;

use entity lpm_counter0 is

port(clock: in std_logic ;

q: out std_logic_vector (26 downto 0));

end lpm_counter0;

architecture syn of lpm_counter0 is

signal sub_wire0 : std_logic_vector (26 downto 0);

component lpm_counter

generic (

lpm_directionstring;

lpm_port_updownstring;

lpm_typestring;

lpm_widthnatural

port(clock : in std_logic ;

q : out std_logic_vector (26 downto 0));

end component;

beginq <=sub_wire0(26 downto 0);

lpm_counter_component : lpm_counter

generic map (

lpm_direction =>up",lpm_port_updown =>port_unused",lpm_type =>lpm_counter",lpm_width =>27

port map (

clock =>clock,q =>sub_wire0

end syn;

输入端clk收到1hz信号后,其输出端testen控制各个cnt10的使能,clr_cnt控制各个cnt10的清零,load控制锁存器内数据的输出。

library ieee;

use use

entity testpl is

port(clk:in std_logic;--1hz信号。

tsten:out std_logic;--计数器使能信号。

clr_cnt:out std_logic;--计数器清零信号。

load:out std_logic);-锁存器输出控制信号。

end testpl;

architecture art of testpl is

signal div2clk:std_logic;

beginprocess(clk)

beginif clk'event and clk='1'then

div2clk<=not div2clk; -div2clk为2hz

end if ;

end process;

process (clk ,div2clk)

beginif( clk='0'and div2clk='0')then

clr_cnt<='1当div2clk与clk同时为零时计数器清零。

else clr_cnt<='0'; 当div2clk处于的高电平时计数器计数。

end if;

end process;

load<=not div2clk; -锁存器输出与计数器使能信号反相。

tsten<=div2clk;

end art;

有一时钟使能输入端en,用于锁定计数值。当高电平"1"时计数允许计数,低电平"0"时禁止计数。多位十进制计数器时,最低位的计数器的clk端输入被测信号,各计数器的进位输出端c10将信号输到下一位十进制计数器cnt10的输入端clk,最高位十进制计数器cnt10的进位输出端c10不处理。

**:library ieee;

use use

entity cnt10 is

port(clk,clr,en: in std_logic;

-clk:计数器时钟,clr:清零信号,en:计数使能信号。

q: out std_logic_vector(3 downto 0);-q:4位计数结果输出。

c10: out std_logic);-计数进位。

end cnt10;

architecture art of cnt10 is

signal cqi: std_logic_vector(3 downto 0);

beginprocess (clk,clr)

beginif clr='1' then cqi<="0000";

-当输入的clr_cnt为低电平0时清零。

elsif clk'event and clk='1' then

if en='1' then

-当输入的tesen为高电平1时允许计数。

if (cqi<9) then cqi<=cqi+1;

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计时...