EDA试验报告-试验3计数器电路设计_第1页
EDA试验报告-试验3计数器电路设计_第2页
EDA试验报告-试验3计数器电路设计_第3页
EDA试验报告-试验3计数器电路设计_第4页
EDA试验报告-试验3计数器电路设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、暨南大学本科实验报告专用纸 课程名称 EDA 实验 成绩评定 实验项目名称 计数器电路设计 指导教师 郭江陵 实验项目编号 03 实验项目类型 验证 实验地点 B305 学院 电气信息学院 系 专业 物联网工程 组号: A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为 EP1K100QC208)。EDAPRO/240H实验仪主板的 VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的 VCCIO 跳线器组中“”应短接,其余 VCCIO均断开;独立扩展下载板“ EP1K10_30_50_100QC20”8 的 VCCINT跳线器组设定

2、为; 独立扩展下载板 “ EP1K10_30_50_100QC20”8 的 VCCIO跳线器组 设定为。请参考前面第二章中关于“电源模块”的说明。二、实验目的1、了解各种进制计数器设计方法2、了解同步计数器、异步计数器的设计方法3、通过任意编码计数器体会语言编程设计电路的便利三、实验原理 时序电路应用中计数器的使用十分普遍, 如分频电路、 状态机都能看到它的踪迹。 计数 器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用 MAXPLUSII 已建的库 74161、 74390 分别实现 8 位二进制同步计数器和 8 位二十进制异步计数器。输出显示 模块用 VHDL 实现。四、实验内容1

3、、用 74161 构成 8 位二进制同步计数器(程序为 T3-1);2、用 74390 构成 8 位二十进制异步计数器(程序为T3-2 );3、用 VHDL 语言及原理图输入方式实现如下编码 7 进制计数器(程序为 T3-3 ): 0,2,5,3,4,6,1五、实验要求学习使用 Altera 内建库所封装的器件与自设计功能相结合的方式设计电路, 学习计数器 电路的设计。六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在 MAX+PLUS II 中使用 内建的 74XX 库选择逻辑器件构成计数器电路,并且结合使用 VHDL 语言设计转换模块与 接口模块, 最后将 74XX 模

4、块与自设计模块结合起来形成完整的计数器电路。 并借用前面设 计的数码管显示模块显示计数结果。 74161 构成 8 位二进制同步计数器(程序为 T3-1 )七、原理8 位二进制同步计数器原理图 程序为 T3-1 )模块说明:数据总线LED数码管显示所需要的数采用了两个 74161计数器, 一个用来作为低位计数, 另一个作为高位计数器。 开关( 4位二路开关)模块用于将计数器输出的数据分路切换为 据格式。字形码转换模块调用前面实验所设计的模块。八、实验电路连线与使用操作A:为独立扩展下载板上第86 脚,应接“数码管段位引线”接线组“KPL_AHB:为独立扩展下载板上第87 脚,应接“数码管段位引

5、线”接线组“KPL_AHC:为独立扩展下载板上第88 脚,应接“数码管段位引线”接线组“KPL_AHD:为独立扩展下载板上第89 脚,应接“数码管段位引线”接线组“KPL_AH的 的 的 的E:为独立扩展下载板上第 90 脚,应接“数码管段位引线”接线组“ KPL_AH ”的 E F:为独立扩展下载板上第 92 脚,应接“数码管段位引线”接线组“ KPL_AH ”的 F G:为独立扩展下载板上第 93脚,应接“数码管段位引线”接线组“ KPL_AH ”的 G SEL0 :为独立扩展下载板上第 69 脚,为数码管的位选扫描信号,接信号接线组 “DS1-8A(T) ”的 SS0 引线插孔。 SS1

6、、SS2 接地(即在电源引线插孔组 GND 孔处)。RESET:为独立扩展下载板上第 68 脚,应接“多功能复用按键F1-F12 ”信号接线组“F1_12(T) ”的 F9F12 的任意一个插孔CKCNT :为独立扩展下载板上第 70 脚,应接时钟信号源接线组 “ CLOCK(T) ”的“FRQ (1821)”引线插孔CKDSP :为独立扩展下载板上第 79 脚即 GCLK1 ,应接时钟信号接线组“ CLOCK(T) ” 的“ FRQ(11)”引线插孔备注:程序 T3-1、 T3-2、T3-3 的插线均相同,其中 T3-3 中 CLK 与 T3-1 的 CKCNT 定 义引脚相同。使用操作:

7、8 位二进制同步计数器使用操作 demo3top :程序下载以后, 在“动态键盘显示模块” 的二个数码管上显示计数值, 范围为 00 FFH 的二位十六进制数,并循环递增计数。九、波形仿真分析4为 2路开关选择器模块仿真结果D_IN :输入 8 位数输出信号:D_out : 根据选择输出高四位或低四位数波形分析结果如上图在两个 timebar 之间, sel 为高电平输出了 D_IN 的低四位数,在两个 timebar 两边 sel 为低电平,输出了 D_IN 的高四位,结果正确。字行码转换模块仿真结果如下图输入信号:D_IN :要显示的 4 位 2进制数输出信号:a,b,c,d,e,f,g

8、: 输出数码管段选 波形结果分析在上图 timebar 处,输入的 4 位 2 进制数是 5 输出的段码是”1101101即”共,阴 数码管对应的数值为 5。仿真结果正确。 8 位二进制同步计数器仿真结果 demo3top :RESET:清零信号,低电平下重新开始计数。CKDSP :动态显示数码管扫描频率设定。CKCNT :计数时钟信号。中间信号量:DA7.0 :用于显示计数模块输出的中间计数结果。输出信号:AG :数码管 7 个段位,用于显示计数结果。波形结果分析:如图所示,当计数器 DA7.0 输出为“ 16”时,第 2 个 timebar 处对应的数码管的段码 为”1111101,”即共

9、阴数码管显示对应的值为6,第 3 个 timebar 处对应数码管的段码值为“0000110”,即共阴数码管显示对应的值为 1,且在 DA = 16 0x 时 sel的值在0和 1之间不断变化,表明这个时间段选中二个数码管,并显示为“16”。其他状态下计数时钟产生的显示结果值类同。另外 第一个 timebar 体现了同步计数功能,当 CKCNT 为上升沿时计数 器加 1。第 4 个 timebar 体现异步复位功能,当 RESET 为 0 时立刻复位重新开始计算。 结论 :由上述分析所得结果,完全达到实验所需的要求。CNT4 单独进行仿真结果输入信号:EN : 使能信号,当 EN 为高电平时开

10、始计数。CLK : 时钟信号,没一个时钟上升沿,计数加1。CLR : 复位信号,为低电平时,计数复位。输出信号:QA,QB, QC, QD : 计数输出 4位 2进制数信号, QA为第一位。RCO : 进位信号,当计数计到 16 个数时产生进位,为高电平。 波形结果分析:第一个 timebar ,体现了同步计数功能,当 clk 为上升沿时开始计数。第二个 timebar 体 现进位输出功能,当计数计到 “1111时”产生进位, RCO 为高电平。第三个 timebar 体现异步 复位功能, CLR 信号为低电平时,输出立刻复位为 “0000”,第四个 timebar 体现使能信号只 有为高电平

11、时才计数,低电平保持不变。结论: 仿真结果正确。对“ demo3Atop ”进行仿真的结果如下:输入信号:RESET:清零信号,低电平下重新开始计数。CKDSP :动态显示数码管扫描频率设定。CKCNT :计数时钟信号。中间信号量:DA7.0 :用于显示计数模块输出的中间计数结果。输出信号:AG :数码管 7 个段位,用于显示计数结果。波形结果分析:如图所示,当计数器 DA7.0 输出为“ 16”时,第 3 个 timebar 处对应的数码管的段码 为”1111101”,即共阴数码管显示对应的值为6,第 2 个 timebar 处对应数码管的段码值为“0000110”,即共阴数码管显示对应的值

12、为 1,且在 DA = 16 0x 时 sel的值在0和 1之间 不断变化,表明这个时间段选中二个数码管,并显示为“16”。其他状态下计数时钟产生的显示结果值类同。另外 第一个 timebar 体现了同步计数功能,当 CKCNT 为上升沿时计数 器加 1。第 4 个 timebar 体现异步复位功能,当 RESET 为 0 时立刻复位重新开始计算。 结论:仿真结果达到实验要求。下载硬件调试结果:顶层文件原理图:OUTPUTDA7.0RESETPIN_68CKCNTPIN 70LDNABCDENTENPCLRNVCCINPUTVCCINPUTVCC74161LDNABQACQBDQCENTQDE

13、NPRCOCLRNCLKinst COUNTERDA0DA174161QAQBQCQDRCOXSH8 4DA4DA5DA6DA7CKDSPDA7.0VCCINPUTVCCD_IN7.0 D_OUT3.0SELinst4CLRNinst2CLKPIN_79inst1 COUNTER仿真结果:xdeledd_in3.0 ac d e f ginst3OUTPUT SEL0OUTPUTPIN_69OUTPUT bOUTPUTcOUTPUTdOUTPUTeOUTPUTfOUTPUT gPIN86PIN87PIN88PIN89PIN90PIN92PIN93九、实验心得通过实验,熟悉了 quartus 的

14、硬件仿真步骤,熟悉了分模块仿真的作用和如何在仿真图 上体现出该模块要实现的所有功能,熟悉 8 位二进制同步计数器使用操作。实验三问题1、74161计数器是什么功能的计数器,用专业的词语形容 答:4位 16进制异步复位同步置数计数器2、XSH8_4 的功能 答:4位2选1多路选择器,从 8位输入中选择高 4位或低 4位输出3、XDELED 模块功能 答:段译码模块,把输入的 4位 2进制数译码为数码管的段选信号。4、TFT 是什么模块作用是什么答: T 触发器,输入上升沿则输出翻转。5、74161 里的引脚含义以及为什么这么连接, (ABCD 哪个引脚是高位,哪个引 脚是低位 ENT 、ENP作

15、用,ENTENPLDN 为什么接高电平 VCC而第二个 74161 为什么接 RCO 为什么不把 RCO 进位脉冲接到时钟 CLK 引脚答: LDN :控制是否输入预置数的引脚。ABCD:预置数输入引脚。 D 为高位ENT、ENP:使能端,当 ENT、ENP 同时为高电平时才能计数,一高一 低,保持计数不变。ENTENPLDN 接高电平 VCC :保持 74161 计数状态,而且不允许置数。 第二个 74161接 RCO 原因 :当低四位的计数进位时,高四位的计数器 就计数加 1 。不接 CLK 的原因是为了实现两个计数器实现同步计数功 能。6、74161 里的 RCO 的高电平时间有没可能跨

16、越两个 CKL 时钟周期,为什么 答:当第一个计数器计数到 ”1111时”RCO从 0变成 1的时候,当下一个时 钟上升沿时, RCO又变为 0,它的宽度只有一个脉冲的宽度。不可能跨越 2 个 clk 。7、74161 是在 1111的时候产生进位信号还是在 0000 的时候产生进位信号为什 么答:在 1111的时候产生进位信号,因为数字电路是有延时的,在 1111 时产 生进位时才能保证低四位在下一个 0000 时高四位同时加 1。7.0的输入怎么是断开的输入从哪里来答:输入从两个 74161的四个引脚来, 把它们的引脚输出的线的名保持一致 就行。这是一种通用的标号方式,为了使线的复杂度降低

17、,使用不能乱命名,必 须与输入的一致。9 三个电路里均有 T 触发器,作用答: 每一个上升沿的间隔固定了,得出来的 0和 1的占空比也会固定。使 得数码管第 1 位和第二位的占用时间一样长。10、第二个电路图芯片 74390 是什么芯片 答:双计数器,每个计数器又分为 1 位 2 进制计数器, 3 位 5 进制计数器, 有清零功能,没有置数功。11、74390这么连线实现什么功能答:实现一个异步十进制计数器功能,用一个二进制和五进制, 5 串 2,实 现进位功能 ,同样的连接了两个,形成了一个两位十进制计数器。12、原理图 3, XSB1 的作用答:这是一个有限状态机,分别有七个状态,状态顺序

18、是 0,2,5,3,4, 6,1。13、XHB1 的作用答:把输入的 0123456 的顺序变成了 0253461。14、XSB1 与 XHB1 有什么区别,他们的输出会一直一致么答:XSB1 是用有限状态机来实现循环置数( 0253461)功能。XHB1 是把输 入的 01234567转化为 0253461当计数到 7 时保持上一个的输出不变,下一个计 时变为 0。他们的输出不一样,因为 XHB1 计数到 7 时还保持上一个输出值不变, 在下一个计数时才返回到 0。它们的计数周期不一样: XSB1 计数周期为 7,XHB1 计数周期为 8。15、CNT4 应该在计数值为“ F”的时候输出进位

19、值,还是在计数值为“ 0”的时 候答:F 时输出进位值,因为数字电路有一定延时,在 F 输出进位,下一个计 数器会在第一个计数器变为 0 是同时计数加 1。这是为了保持两个计数器的同步。16、如何看出 CNT4 是异步 CNT4 的 EN 是否是同步使能是否体现所有功能通 过仿真分析 CNT4 是否完美取代 74161 工作答:是否异步复位:当复位信号来时,立刻复位计数值,计数清零。 同步使能: EN为高电平且 clk 为上升沿时才开始计数。 是否体现所有功能:看是否同步计数、异步复位、进位信号是否正确。 CNT4 完美取代 74161 工作。17、从硬件怎么知道发送 SEL0 高电平输入真的

20、显示低四位 答:发送高电平时数码管显示低四位,发送低电平时数码管显示高四位。附件XSH8_4 代码 library IEEE ;use XSH8_4 isport (D_IN: in STD_LOGIC_VECTOR ( 7 downto 0); -2 选14 位选择器输入信号SEL: in STD_LOGIC ; -8 位输入信号高低位选择信号D_OUT : out STD_LOGIC_VECTOR ( 3 downto 0) -4 为输出信号 );end XSH8_4 ;architecture XSH8_4_arch of XSH8_4 isalias dlow : std_logic_

21、vector ( 3 downto 0) is d_in ( 3 downto 0); - 低四位 alias dhigh : std_logic_vector ( 3 downto 0) is d_in ( 7 downto 4); - 高四位 beginprocess ( sel , D_IN ) begincase sel iswhen 1= d out d out null ;end case ;end process ;end XSH8_4_arch ;xdeled 代码library IEEE ;use xdeled is port (d_in : in STD_LOGIC_VEC

22、TOR ( 3 downto 0); - 输入 4位信号- 输出 7位段选信号a b: out: outSTD_LOGIC ;STD_LOGIC ;c: outSTD_LOGIC ;d: outSTD_LOGIC ;e: outSTD_LOGIC ;f: outSTD_LOGIC ;g: outSTD_LOGIC);end xdeled ;architecture xdeled of xdeled is beginprocess ( d_in )type data_out is array ( 0 to 6) of std_logic variable outp : data_out ; - 段选判断信号 begin- 根据输入 4 位信号和段选对照表输出相应的段选信号cased_in iswhen0000=outp:=1111110 ;when0001=ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论