实验五
数控分频器的设计
一、设计目的
1
、
学习数控分频器的设计、分析、测试方法;
2
、
牢固掌握用
VHDL
语言编写程序的方法和技巧。
二、设计要求
1
、编写数控分频器的
VHDL
源程序;
2
、在
MAX+PLUSII
上进行编译、综合、适配、引脚锁定、下载测试;
3
、输入不同的
CLK
和预置值进行仿真波形的测试;
4
、写出设计性实验报告。
三、设计提示
1
、
实验原理提示:数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时
钟信号有不同的分频比,可用计数值可并行预置的加法计数器设计完成,方法是将计数
溢出位与预置数加载输入信号相接即可。
2
、
引脚锁定及下载测试提示:
如果目标器件是
EPF10K10
,
建议选实验电路模式
1
,
键
2
/
键
1
(
PIO7-PIO0
)负责输入
8
位预置数
D
;
CLK
由
clock0
输入,频率可选
65536Hz
或更高(确
保分频后落在音频范围)
;输出
FOUT
接扬声器(
SPKER
:
PIN3
)
。编译下载后进行硬件测试:
改变键
2 /
键
1
的输入值,可听到不同音调的声音。
四、实验报告要求
根据以上的实验内容写出实验报告,
包括程序设计、软件编译、仿真分析、硬件测试和
详细实验过程;设计原程序,程序分析报告、仿真波形图及其项目分析。
五、实验思考和总结
1
、
阐述程序设计中进程的作用。
2
、
对所完成的实验进行总结和分析。
3
、
写出完成时钟上升沿的语句。
4
、
5
、
程序清单:
附:数控分频器的设计程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY PULSE IS
PORT ( CLK : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
FOUT : OUT STD_LOGIC );
END;
ARCHITECTURE one OF PULSE IS
SIGNAL FULL : STD_LOGIC;
BEGIN
P_REG: PROCESS(CLK)
VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
IF CLK'EVENT AND CLK = '1' THEN
IF CNT8 = "11111111" THEN