实验四:时序逻辑电路设计——任意进制计数器及简易秒表设
计
一、实验目的
1.熟悉硬件编程语言Verilog HDL的基本语法及应用
2.熟悉FPGA/CPLD的使用
3.基本掌握现代逻辑电路设计思想方法
4.掌握计数器的工作原理,掌握任意进制计数器构成的脉冲反馈法
二、实验设备
PC机,QuartusII实验开发环境,FPGA实验开发板
三、实验要求:
1、认真阅读实验指导材料及相关数据手册,写出实验预习报告。
2、预先熟悉QuartusII 的使用。
3、根据课本第七章、第八章的内容及补充本部分补充知识,对本设计
要求完成的实验内容预先完成程序流程设计、运用Verilog HDL进
行逻辑电路设计时的模块结构及主要模块功能定义。
4、分析实验结果及实验中出现的问题,并给出合理的解释。
5、实验结束后写出实验报告,按时提交实验报告的纸版和电子版。
6、预先完成本实验涉及到的集成电路手册的预习。
7、实验结束后完成详细的实验总结报告,包括实验目的和要求,实验
原理、实验详细过程及步骤,实验问题分析及改进措施,实验结
果分析等内容。
四、实验项目
1、基础实验
设计四位同步10进制计数器
根据四位同步10 进制计数器(74LS160)的工作原理,运用硬件编程语言Verilog HDL及FPGA实验开发板设计一个同步10进制计数器,并通过译码器显示电路,在LED上显示出相应计数结果。
2、提高性实验:
设计一简易秒表
要求所设计的秒表能够完成60秒的计时功能,计时满60秒给出一个状态提示信息。
用硬件编程语言Verilog HDL及FPGA实验开发板、LED完成本实验。
本版实验板的七段数码管是通过动态扫描的方式进行不同的时钟显示功能,右下图可知LEDDIG0~LEDDIG7时LED的片选信号,LEDSEGA~LEDSEGH为数码管的a,b,c,d,e,f,g,管脚。
通过动态扫描方式来实现不同数码管的电亮工作。
五、实验说明
(1)计数器原理
74LS160是四位10进制加法计数器,计数满10个状态产生一个进位,进位信号由1001状态产生,具有置零和置数功能,可以运用脉冲反馈法构成任意进制计数器,其工作原理见教材P250-255。
电路结构图及管角分布如下图所示。
其使用见本实验提供的74LS160 Datasheet。
内部电路图
74LS160芯片的管脚图
(2)数码管
半导体发光二极管(LED)数码显示器:半导体发光二极管数码显示器由7(或8)个LED排成“日”字形,称为七段(或八段),封装成数码管,如图表所示。
LED数码管内部有共阴极和共阳极两种接法。
如下图表。
BCD —七段显示译码器,逻辑功能:如表1。
表 1
其译码器输出(Ya ~Yg )是高电平有效,适用于驱动共阴极LED 数码管,显示的字形如表中所示。
因其译码器输出端的内部有上拉电阻(是2K 的限流电阻),因此在与LED 管连接时无需再外接限流电阻。
(a )图表 2 图表 3
(3)任意进制计数器构成
六实验关键步骤:
1.根据实验项目要求,分析要实现的功能,在QuartusII开发环境下,运用相应
的编程语言完成要实现的电路的代码编写。
2.对编写好的代码进行仿真,验证是否正确。
3.将经过仿真验证的代码下载带FPGA中,并运行。
4.测试所设计逻辑电路的功能实现是否正确。
七附录-FPGA引脚分配
用Verilog编程实现,下面给出其中的pin定义。
clk PIN_79
data[0] PIN_71
data[1] PIN_70
data[2] PIN_69
data[3] PIN_68
data[4] PIN_63
data[5] PIN_64
data[6] PIN_65
data[7] PIN_67
ledn[0] PIN_57
ledn[1] PIN_55
ledn[2] PIN_58
ledn[3] PIN_61
ledn[4] PIN_56
ledn[5] PIN_37
ledn[6] PIN_39
ledn[7] PIN_60
reset PIN_9
start PIN_11
test PIN_168。