EDA 半整数分频器的设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA技术实验项目报告
项目题目: 半整数分频器的设计
姓名:
院系:应用技术学院
专业:电子信息工程(职教)
学号:
指导教师:
综合成绩:
完成时间: 2012 年 6 月13 日一、项目实验内容摘要
基于FPGA硬件开发板,利用QuartusII软件通过VHDL输入的方式实现2.5分频器的设计并用示波器观察;
试验目的:
1、掌握半整数分频器的VHDL设计原理与方法。
2、掌握在QUARTUS II中进行简单数字系统设计的全过程。
实验原理:
设有一个5MHz的时钟源,但电路中要产生一个2MHz的时钟信号,由于分频比为2.5,因此整数分频器将不能胜任。
采用可编程逻辑器件实现分频系数为2.5的分频器,可采用以下方法:设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为2.5的小数分频器。采用类似方法,可以设计分频系数为任意半整数的分频器。
当分频系数为N—0.5(N为整数)时,可控制扣除脉冲的时间,是输出为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。
二、项目实验源代码
分频器代码
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY deccount IS
PORT (
inclk: IN STD_LOGIC; --时钟源
preset: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --预置分频值N
outclk1: OUT STD_LOGIC;
outclk2: BUFFER STD_LOGIC ); --输出时钟
END deccount;
ARCHITECTURE deccount_arch OF deccount IS
SIGNAL clk, divide2: STD_LOGIC;
SIGNAL count: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
clk<=inclk XOR divide2; --inclk与divide2异或后作为模N计数器的时钟
outclk1<=inclk;
PROCESS(clk)
BEGIN
IF(clk'event AND clk='1') THEN
IF(count="0000") THEN
count<=preset-1; --置整数分频值N
outclk2<='1';
ELSE
count<=count-1; --模N 计数器减法计数
outclk2<='0';
END IF;
END IF;
END PROCESS;
PROCESS(outclk2)
BEGIN
IF(outclk2'event AND outclk2='1') THEN
divide2<=NOT divide2; --输出时钟二分频
END IF;
END PROCESS;
END deccount_arch;
三、项目实验工具软件的选用以及实验过程
实验的软硬件要求:
1、EDA2000实验箱(其他厂家具有同等配置试验箱均可),主要使用:输入:时钟源。
2、主芯片:EP1K1OTC100-3(大于此规模的芯片亦可)
3、计算机与QUARTUS 软件
实验过程:
1 . 建立工程文件
(1)新建一个文件夹。
(2)输入源程序(可以通过VHDL代码输入,也可以通过原理图输入)。打开QuartusII,选择菜单File→New。在New窗口中的Device Design Files中选择编译文件的语言类型,这里选择“VHDL File”。然后在VHDL文本编译窗中输入代码一。
(3)文件存盘。选择File→Save As命令,找到已设立的文件夹,存盘文件名为counter60当出现问句“Do you want to create…”时,若单击“是”按钮,则直接进创建工程流程。
2.创建工程
(1)打开建立新工程管理窗。选择菜单File→New Preject Wizard命令,即弹出“工程设置”对话框.单击此对话框最上一栏右侧的“…”按钮,找到指定的文件夹,选中已存盘的文件counter60.vhd,再单击“打开”按钮.。
(3)将设计文件加入工程中。单击下方的Next按钮,在弹出的对话框中单击File栏的按钮,将与工程相关的所有VHDL文件(如果有的话)加入进此工程.
(3)选择目标芯片。单击Next按钮,选择目标芯片。首先在Family栏选芯片系列,在此选ACEX1K系列,并在此栏下单击Yes按钮,即选择一确定目标器件。再次单击Next
按钮,选择此系列的具体芯片EP1K10TC100-3。
(4)选择仿真器和综合器类型。单击Next按钮,这时弹出的窗口是选择仿真器和综合器类型,如果都选默认的“NONE”。在此都选择默认项“NONE”(不作任何打勾选择)。
(5)结束设置。单击Next按钮后,即弹出“工程设置统计”窗口,上面列出了此项工程相关设置情况,最后单击Finish按钮。
3. 编译前设置
选择FPGA目标芯片。目标芯片的选择也可以这样来实现:选择Assignmemts菜单中的settings项,进入选择窗,这将弹出Device窗口.
4 . 全程编译
5.时序仿真
6、引脚设置和下载
7、配置文件下载
8、编程配置器件
四、项目实验结果
功能仿真图