实验四数控分频器的设计
一、实验目的:
1.学习数控分频器的设计、分析和测试方法,锻炼分析Verilog(VHDL)语言的能力。
二、原理说明:
数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,对原时钟进行占空比为50%的分频。
在实验板选择50M 时钟,对其进行2~15分频,分频系数以拨码键盘控制,并用数码管进行显示(十六进制形式)。
三、实验内容:
1、根据由顶向下的设计原则,进行顶层建模。
分频系数分为奇数分频和偶数分频,因些包括Evn_Div(偶数分频)和Odd_Div(奇数分频)模块,数码管显示为SEG7_LUT,采用类似查找表的方式完成。
2、偶数分频
偶数分频模块比较简单,假设分频系数为N,只需要在计数器计到N/2时,将输出时钟反转即可。
仿真图如下:
3、奇数分频
奇数分频相对偶数分频比较麻烦,主要是对原时钟的上升沿和下降沿进行计数,通过两个计数器得到上升沿时钟和下降沿时钟,对这两个时钟进行与操作可得到奇数分频。
仿真图如下:
4、数码管显示
数码管显示模块应用case语句即可完成。
5、分频选择
分频系数有两种,一是偶数,另一个是奇数,因此可通过分频系数的最低位来进行选择,iDIV[0]既作为奇、偶分频模块的使能输入,又可作为输出时钟选择线。
6、顶层模块
将上述几个模块例化即可(注意iDiv[0]的连接方式)。
引脚:
input CLOCK_50;//原时钟
input RST;//复位信号
input [3:0] iDIV;//分频系数
output oCLK;//输出时钟
output [6:0] oSEG;//数码管输出
7、按实验板的管脚连接情况分配引脚。
set_location_assignment PIN_N25 -to iDIV[0]
set_location_assignment PIN_N26 -to iDIV[1]
set_location_assignment PIN_P25 -to iDIV[2]
set_location_assignment PIN_AE14 -to iDIV[3]
set_location_assignment PIN_V2 -to RST
set_location_assignment PIN_AF10 -to oSEG[0]
set_location_assignment PIN_AB12 -to oSEG[1]
set_location_assignment PIN_AC12 -to oSEG[2]
set_location_assignment PIN_AD11 -to oSEG[3]
set_location_assignment PIN_AE11 -to oSEG[4]
set_location_assignment PIN_V14 -to oSEG[5]
set_location_assignment PIN_V13 -to oSEG[6]
set_location_assignment PIN_N2 -to CLOCK_50
set_location_assignment PIN_D25 -to oCLK
8、通过拨码键盘输入不同的分频系数,用示波器观察输出波形。
9、分析波形的各项参数,是否达到分频要求。
四、思考题:
常用的分频方法有哪些?分频有哪些作用?
五、实验报告:
根据以上的要求,将实验内容及思考题写入实验报告。