分频器 在数字电路中时间的计算都要以时钟作为基本的单元,一般来说,开发板上只有一个晶振时 钟,但是实际需求中,经常需要对基准时钟进行分频或倍频,进而得到各个模块所需要的时 钟频率。

如果想要得到比固定时钟更慢的时钟,就需要将固定时钟进行分频;

如果想要得到比固定时钟更快的时钟,就需要将固定时钟进行倍频;

分频的原理就是把输入信号作为计数脉冲,由于计数器的输出端口按照一定的规律输出脉冲, 所以不同的输出端口的信号脉冲就可以看做是对输入信号的分频。

无论分频还是倍频都有两种方式:

1.用手写的 Verilog 代码去实现。

2.用开发软件中自带的锁相环 PLL 的 IP 核实现。


分频器一般分为三类:偶数分频、奇数分频、小数分频。 偶数分频。

偶数分频:

forum.jpg

1-11

偶数分频设计的一般方法:假设为 N 分频,只要设计一个计数器从 0 计数到 N/2-1(一共 N/2 个基准时钟)然后将输出分频时钟进行翻转、计数器清零,如此循环得到 N 分频。

奇数分频:

forum.jpg


假设为 N 分频,需要从 0 计数到 N-1,一共有 N/2 个基准时钟,一直循环。 设计一个对基准时钟上升沿敏感的信号,每当计数到(N-1)/2 -1 时,时钟翻转,计数达到 最大值时再进行反转。 设计一个对基准时钟下降沿敏感的信号,每当计数到(N-1)/2 -1 时,时钟翻转,计数达到 最大值时再进行反转。 将上升沿敏感的信号和下降沿敏感的信号相与(&&)之后得到的就是一个 N 分频电路。

仿真结果:

forum.jpg

1-13

零基础入门FPGA,如何学习?

FPGA学习重点

1. 看代码,建模型;

2. 用数学思维来简化设计逻辑;

3. 时钟与触发器的关系;

“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。

为什么你会觉得FPGA难学?

1. 不熟悉FPGA的内部结构;

2. 错误理解HDL语言,怎么看都看不出硬件结构;

3. FPGA的学习,掌握数字电路基础知识;

4. 数字逻辑知识是根本;

总结:

掌握FPGA的设计方法和设计原则

你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。