课程 EDA技术 实验名称 数字频率计设计(使用VHDL语言) 第 页
专业____电子信息______ 班级__电本七班_ 学号__ _
实验日期:2012 4 月 24
一、实验目的
设计数字频率计,学习较复杂数字系统设计方法。
二、实验内容
设计一个四位十进制频率计,即计数范围为“0000--9999”。
三、实验环境
计算机、QuartusII软件
四、实验步骤
1.10进制计数器
VHDL描述:
分析:注意点:此项目中进位信号不能在d=9时产生,应该设为同步信号。
2.将一位十进制计数器扩展为四位十进制计数器。
VHDL描述:
时序仿真:
分析:din0为最低位,当din0计到9时向高一位进1,符合十进制计数器的要求。
3.测控时序产生电路
VHDL描述:
分析:如图产生了“先计数,再锁存,后清零”的有效信号,可以作为控制信号实现一键测控。
4.锁存电路
VHDL描述:
分析:如图,lk为锁存时钟,d0,d1,d2,d3为锁存器的输入信号,d为输出信号,设置为16位二进制向量是为了用于单个数码管的轮流显示。
5.把四进制计数器、测控时序产生电路、锁存器整合成一个四位十进制计数器:
VHDL描述:
至此,1个四位十进制频率计设计完成,以下设计是为了验证设计是否能
够在开发板上实现
6.分频电路:用于对开发板上的20M晶振进行分频,以产生1Hz的时钟。
VHDL描述:
7.数码管轮流显示:
VHDL描述:
分析:如图,load为装载信号,低电平有效。
8.把频率计、分频器、数码管轮流显示电路整合成可在开发板上实现的电路:
最后一步用的是电路图输入的方法:
分析:在板上验证时,只要将clk接到20M晶振然后再给fin输入一个待测周期信号,此待测信号可以是经过分频后的1Hz的信号,或在设计分频器时再引出一个或几个频率在“0--9999”的信号。再把输出out1接到数码管上,就可逐位读出待测信号的频率,记录时注意数码管的显示顺序为从低位到高位。
六、总结
这是一个到目前为止较为复杂的电路的设计,进行此类电路的设计的思想是“自顶向下”的设计方法。拿到这样一个设计时,不能急着下手,应该先从整体考虑,把较为复杂的设计按电路功能划分为几个子模块,然后逐个模块设计,最后把这几个模块整合起来,此时,注意接口信号的设置。