EDA 半整数分频器的设计实验报告
- 格式:doc
- 大小:275.50 KB
- 文档页数:4
实验三分频器一.实验目的1.设计几个实验要求分频器,并在实验箱上面实现;2.熟悉分频器的功用。
二.所用器件EDA实验箱、EP1K10TC100-3器件。
三.实验说明本实验主要是设计几个分频数值不同的分频器,并在实验板上面观察分频的结果显示。
虽然实验箱频率为多种,而实际使用的时候一个系统最好使用一个时钟,而系统中使用的其他各种频率需要在系统内部用分频器来产生,所以分频器是以后进行各种实验的关键。
本次实验主要用quatusII 的软件示波器来观察分频后的波形。
四.实验要求1.设计一个2 分频器,观察实验结果;2.设计一个28分频器,观察实验结果;3.设计一个210分频器,观察实验结果,并与上面一步的实验结果比较;三个分频器的源程序如下:Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div ISPORT(CLK:IN STD_LOGIC;DIV1024CLK:OUT STD_LOGIC;DIV256CLK:OUT STD_LOGIC;DIV2CLK:OUT STD_LOGIC--2);END;ARCHITECTURE BEHA V OF div ISSIGNAL DIV256CLKTEMP,DIV1024CLKTEMP,DIV2CLKTEMP:STD_LOGIC;BEGINPROCESS(CLK)V ARIABLE DIV1C:STD_LOGIC_VECTOR(1 DOWNTO 0) ;V ARIABLE DIV512C,DIV128C:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENDIV128C:=DIV128C+1;DIV512C:=DIV512C+1;DIV1C:=DIV1C+1;IF DIV128C=128 THENDIV256CLKTEMP<=NOT DIV256CLKTEMP;DIV128C:=(OTHERS=>'0');END IF;IF DIV512C=512 THENDIV1024CLKTEMP<=NOT DIV1024CLKTEMP;DIV512C:=(OTHERS=>'0');END IF;IF DIV1C=1 THENDIV2CLKTEMP<=NOT DIV2CLKTEMP;DIV1C:=(OTHERS=>'0');END IF;END IF;DIV256CLK<=DIV256CLKTEMP;DIV1024CLK<=DIV1024CLKTEMP;DIV2CLK<=DIV2CLKTEMP;END PROCESS;END BEHA V;五.实验结果:仿真显示如下:实验四 8位数码管扫描显示一、实验目的1.学习功能集成的设计方法;2.设计8位扫描数码显示器。
EDA实验报告学院:班级:学号:指导老师:姓名:一、实验目的:学习数控分频器的设计,分析和测试方法。
二、实验原理:不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。
三、实验内容1、将4096HZ的时钟信号分频为1HZ的时钟信号。
实验原理图:实验源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dvf isport(clk_in:in std_logic;fout:out std_logic);end;architecture one of dvf issignal cnt: integer range 0 to 2048;signal clk_out:std_logic;beginprocess(clk_in)beginif clk_in'event and clk_in = '1' thenif cnt=2048 thencnt <=0;clk_out <=not clk_out;elsecnt<=cnt+1;end if;end if;end process;fout<=clk_out;end one;功能仿真波形图:实验引脚图:实验箱上工作情况:当CLOCK5接4096HZ的时钟信号时,扬声器每秒钟响一次。
2、如实验内容1将4096HZ的时钟信号分频为2HZ、8HZ、16HZ的时钟信号。
3、编写四选一MUX,可用按键控制选择分频后的某时钟。
实验原理图:实验源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dvf isport(clk:in std_logic;s: in std_logic_vector(1 downto 0);clk_out:out std_logic);end;architecture one of dvf issignal clk1_out:std_logic;signal clk2_out:std_logic;signal clk3_out:std_logic;signal clk4_out:std_logic;signal cnt2048:integer range 0 to 2048; signal cnt1024:integer range 0 to 1024; signal cnt256:integer range 0 to 256; signal cnt128:integer range 0 to 128;beginfen1: process(clk)beginif clk'event and clk = '1' thenif cnt2048=2048 thencnt2048 <=0;clk1_out <=not clk1_out;elsecnt2048<=cnt2048+1;end if;end if;end process;fen2: process(clk)beginif clk'event and clk = '1' thenif cnt1024=1024 thencnt1024 <=0;clk2_out <=not clk2_out;elsecnt1024<=cnt1024+1;end if;end if;end process;fen8: process(clk)beginif clk'event and clk = '1' thenif cnt256=256 thencnt256 <=0;clk3_out <=not clk3_out;elsecnt256<=cnt256+1;end if;end if;end process;fen16: process(clk)beginif clk'event and clk = '1' thenif cnt128=128 thencnt128 <=0;clk4_out <=not clk4_out;elsecnt128<=cnt128+1;end if;end if;end process;xuan: PROCESS(s)BEGINCASE s ISWHEN "00" => clk_out<=clk1_out;WHEN "01" => clk_out<=clk2_out;WHEN "10" => clk_out<=clk3_out;WHEN "11" => clk_out<=clk4_out;WHEN OTHERS => NULL;END CASE;END PROCESS;END;功能仿真波形:实验引脚图:实验箱上工作情况:CLOCK5接4096HZ的时钟信号,按键1、键2使输入分别为00、01、10、11,扬声器输出声音频率分别为1HZ、2HZ、8HZ、16HZ。
课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名学号电气与信息工程学院二0一二年一月基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。
本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。
二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通112entity cont6 isport(clk:instd_logic;rst:instd_logic;en:instd_logic;qa,qb,qc:outstd_logic);end entity cont6;architecturewode of cont6 issignalcount:std_logic_vector(2 downto 0);beginprocess(clk,rst,en)isbeginifrst='1'then count<="000";elsifclk'event and clk='1'thenif en='1'thenif count="101" then count<="000";else count<=count+1;end if;end if;end if;end process;qa<=count(0);qb<=count(1);qc<=count(2);end architecture wode;模六计数器原件生成图如下:图一模六计数器原件生成上面的程序经编译、时序模拟在MAX+PLUSⅡ中可得到如图所示的仿真波形:图2模6计数器仿真波形(2)半整数分频器设计现在通过设计一个分频系数为5.5的分频器给出用FPGA设计半整数分频器的一般方法。
课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名姬鹏冲学号0904451213成绩评定电气与信息工程学院二0一二年一月课程设计要求和成绩考核办法(要求和成绩考核办法在封皮背面打印)1.不允许在教室或实验室内吸烟、吃零食,不准带无关人员到教室或实验室活动,否则扣平时表现分。
2.凡病事假超过3天(每天7小时),或迟到早退三次以上,或旷课两次(1天)以上,不得参加本次考核,按不及格处理,本次课程设计不能通过。
3.病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。
4.课程设计的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出课程设计总成绩。
该设计考核须经教研室主任审核,主管院长审批备案。
5.成绩评定采用五级分制,即优、良、中、及格和不及格。
6.课程设计结束一周内,指导教师提交成绩和设计总结。
7.设计过程考核和成绩在教师手册中要有记载。
实习报告要求实习报告内容、格式各专业根据实习(设计)类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。
注意:1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。
2.为了节省纸张,保护环境,便于保管设计报告,统一采用A4纸,课程设计报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。
基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。
本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。
二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的5.5分频值。
***大学本科实验报告(2011-2012学年下学期)课程名称:EDA任课教员:系:专业:二0一一年十月八日《EDA》课程实验报告实验项目名称:数控分频器的设计系::专业:指导教员:姓名:学号:成绩:同组姓名:实验地点:实验室实验日期:数控分频器的设计一、实验目的和要求学习数控分频器的设计、分析和测试方法。
二、实验内容和原理1、实验内容:a)分析程序一中的各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图;b)仿真:输入不同的CLK频率和预置值D,给出如书图6-21的时序波形。
c)将程序一扩展成16位分频器;d)利用两个程序一给出的模块设计一个电路,使其输出方波的正负脉宽的宽度分别由两个8位输入数据控制。
2、实验原理:数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如程序一。
三、实验环境QuartⅡ软件四、操作方法与实验步骤1、在QuartⅡ中建立工程,进行程序编写、调试、编译、仿真,设置CLK频率和D为不同值;2、分析程序一,类推出16位分频器的设计方法;3、仔细分析程序一中如何控制正负脉宽的宽度,采用元件例化语句,将DVF和SEL2两个VHDL设计实体组合起来,设计如题中要求的电路,具体程序见程序三,并按步骤1执行。
五、实验数据记录和处理将程序进行仿真得到的波形图如下所示:(1)8位数控分频器(2)16位数控分频器(3)正负脉冲宽度可变分频器六、实验结果与分析:仿真结果基本正确,但在对16位数控分频器做仿真时应把endtime设置在ms级以上,即仿真时长要稍长些,才能出来明显结果。
正负脉冲宽度可变分频器的正负脉冲宽度分别由D1和D2控制,其基本原理与8位数控分频器原理一致。
七、实验心得与体会通过该实验,我掌握了数控分频器的工作原理及其设计方法,学会了元件例化语句的使用。
EDA实验报告EDA 实验实验一用原理图输入法设计半加器一、实验目的:1.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路;2.通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程;3.学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。
二、实验器材:1、计算机及操作系统2、QUARTUS II 软件三、实验要求:1. 利用原理图输入法对半加器电路进行描述;2. 进行波形仿真测试;3. 严格按照实验步骤进行实验;4. 管脚映射按照芯片的要求进行。
四、实验原理其中a, b 为输入端口,So 与Co 分别为半加器和与进位。
其逻辑表达式为:2. 根据逻辑表达式进行原理图输入。
五、实验步骤:1. 为本项工程设计建立文件夹。
注意文件夹名不能用中文,且不可带空格。
2. 输入设计项目并存盘。
3. 将设计项目设计为工程文件。
4. 选择目标器件并编译。
b a b a b a So ⊕=+=ab Co =5. 时序仿真。
6. 引脚锁定。
7. 编程下载。
实验二用原理图法设计一位、四位全加器一、实验目的:1. 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路;2. 通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程;3. 学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。
二、实验器材:1、计算机及操作系统2、QUARTUS II软件三、实验要求:1.利用原理图输入法对一位全加器电路进行描述;2. 进行波形仿真测试;3. 严格按照实验步骤进行实验;四、实验原理:利用实验一所设计的半加器设计一位全加器;利用设计封装好的一位全加器进行四位全加器的设计。
五、实验步骤:与实验一相同。
六、实验报告:1. 要求画出一位、四位全加器的真值表;2. 分析用半加器实现一位全加器的优点;3. 对波形进行分析,并绘制波形图。
实验三用文本输入法设计D触发器和锁存器一、实验目的:1. 熟悉QuartusⅡ的VHDL 文本设计过程。
目录引言 (3)1绪论 (4)2系统设计方案 (5)2.1设计方案比较 (5)2.1.1分频器的设计 (5)2.1.2控制输入装置的设计 (5)2.2 设计方案框图 (6)3系统设计实现 (7)3.1分频器部分 (7)3.1.1设计思路 (7)3.1.2设计实现 (8)3.1.3仿真分析 (10)3.2输入控制部分 (11)3.2.1设计思路 (11)3.2.2设计实现 (11)3.2.3仿真波形 (23)3.3分频显示部分 (24)3.3.1设计思路 (24)3.3.2设计实现 (26)3.3.3仿真分析 (33)3.3.4所需要改进之处 (36)3.4各部分整合 (37)4系统设计验证 (39)4.1适配分析结果 (39)4.2硬件运行 (39)5软硬件平台的介绍 (44)5.1软件平台 (44)5.1.1MAX+PLUS Ⅱ开发工具 (44)5.1.2MAX+PLUS Ⅱ的设计方法 (45)5.2 硬件平台 (46)5.2.1硬件原理 (46)5.2.2引脚规定 (48)5.2.3使用方法 (49)6小数分频技术的拓展 (51)结束语 (54)致谢 (55)附录 (56)A开题报告 (56)B中期报告 (59)C英文资料与中文翻译 (62)引言随着计算机与微电子技术的发展,电子设计自动化EDA技术和可编程逻辑器件PLD的发展都非常迅速,能否熟练地利用EDA软件进行PLD器件开发已成为电子工程师必须掌握的基本技能。
过去传统的设计方法采用标准通用器件和其他元件对电路板进行设计,由于系统所需的元件的种类和数量很多,连线复杂,因而体积大、功耗大、可靠性差。
而先进的EDA工具使传统的“自下而上”的设计方法已经变为“自顶向下”的设计方法,以硬件描述语言HDL来描述系统级设计,利用计算机对系统进行方案设计和功能划分,并支持系统仿真和高层综合,关键电路可使用ASIC来实现,因而使系统的体积、重量减少,功耗降低,具有高性能、高可靠性和高保密性等优点。
EDA 设计与实验院系:电子工程与光电技术学院专业:通信工程班级: 07042201姓名:包华广(32号)学号: 0704330107指导老师:蒋立平花汉兵目录:摘要 - - - - - - - - - - - - - - - 1一.正文部分1.设计电路功能要求 - - - - - - - - - - - - - 12.方案论证 - - - - - - - - - - - - - 13.各子模块设计原理 - - - - - - - - - - - - 23.1 时钟信号发生模块 - - - - - - - - - - - - 23.2 计时模块- - - - - - - - - - - 43.3 计时电路 - - - - - - - - - - - - 63.4 校正电路模块 - - - - - - - - - - - - 63.5 整点报时模块 - - - - - - - - - - - - 83.6 闹钟功能模块 - - - - - - - - - - - - 84、设计总电路原理 - - - - - - - - - - - - - 9二.总结部分5. 调试、仿真与下载 - - - - - - - - - - - - - 106.实验结果 - - - - - - - - - - - - - 107. 实验中遇到的问题与解决方法 - - - - - - - - - 118. 实验体会与收获 - - - - - - - - - - - - - 12 9.参考文献 - - - - - - - - - - - - - - - - 12摘要:本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常分、秒计时,动态显示,保持、清零、快速校分、整点报时、闹钟功能。
文章分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案。
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、编程配置器件
四、项目实验结果
功能仿真图
时序仿真图
五、项目实验分析
通过这个实验让我对半整数分频器有了了解,对于这个分频系数为2.5的分频器,是设计一个模为3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,两个脉冲就扣除一个脉冲,就得到分频系数为2.5的小数分频器。
六、项目实验参考资料
《EDA技术与实验》陈立万陈强编著
七、小组验收记录及评价。