`

试验二 分频器实验

阅读更多

试验原理:

经过处理后得到的时钟频率比输入的时钟频率慢的情况叫做分频,相反,如果输出
的时钟频率高于输入的时钟频率,我们则称之为倍频。分频一般可以由用户自己编写程
序来实现; 而倍频则要通过FPGA 自带的PLL 或者DLL 来实现。理论上分频可以无
限制地分下去,时钟周期只要小于无穷就可以,倍频则要看使用的FPGA 的性能,和
实际设计中的一些约束条件,来决定倍频后得到的频率应该是多少。
分频器是进行数字电路设计的基础,无论是在图象处理领域,还是在音频信号处理
方面,都要大量地使用分频器。
实验开发板上面提供了一个50MHz 的时钟频率,在实际使用的时候,我们很少有
能用到精确的50MHz 这个频率,而是使用低于50MHz 的一些频率。例如在视频处理
里面SAA7121 等芯片大部分的工作频率是20-30MHz,IIC 控制器的时钟线SCL 的工
作频率在50-300KHz 等等。这样就需要我们人为地对开发板提供的时钟频率进行分频
处理,才能用在不同的应用程序里面,做主时钟频率。
分频有很多种方法,也可以产生不同占空比和不同频率的时钟,一般情况下使用的
都是分频系数为二的整数次幂,占空比为50%的分频时钟。

实验内容

对开发板上面的50MHz 输入时钟进行二的整数次幂分频,幂数分别为:18,19,

20,21,22,23,24,25,然后用分频后的时钟来控制开发板上面八个LED 闪亮,观
察分频的效果。

module fre(clk, rst, led0, led1, led2, led3, led4, led5, led6, led7);
    input 				clk;
    input 				rst;
    output 				led0;
    output 				led1;
    output 				led2;
    output 				led3;
    output 				led4;
    output 				led5;
    output 				led6;
    output 				led7;

    wire		 			 led0;
	 wire		 			 led1;
	 wire		 			 led2;
	 wire		 			 led3;
	 wire		 			 led4;
	 wire		 			 led5;
	 wire		 			 led6;
	 wire		 			 led7;

    reg      [26:0]   cnt;
	 always @ (posedge clk or negedge rst)
		if(!rst)
			cnt<=27'b0;
		else
			cnt<=cnt+27'b1;

	 assign led0=cnt[19];
	 assign led1=cnt[20];
	 assign led2=cnt[21];
	 assign led3=cnt[22];
	 assign led4=cnt[23];
	 assign led5=cnt[24];
	 assign led6=cnt[25];
	 assign led7=cnt[26];

endmodule

 幂数分别为:18,19,20,21,22,23,24,25的分频就是计算器的第19,20,21,22,23,24,25,26位。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics