分频器 在数字电路中时间的计算都要以时钟作为基本的单元,一般来说,开发板上只有一个晶振时 钟,但是实际需求中,经常需要对基准时钟进行分频或倍频,进而得到各个模块所需要的时 钟频率。
如果想要得到比固定时钟更慢的时钟,就需要将固定时钟进行分频;
如果想要得到比固定时钟更快的时钟,就需要将固定时钟进行倍频;
分频的原理就是把输入信号作为计数脉冲,由于计数器的输出端口按照一定的规律输出脉冲, 所以不同的输出端口的信号脉冲就可以看做是对输入信号的分频。
无论分频还是倍频都有两种方式:
1.用手写的 Verilog 代码去实现。
2.用开发软件中自带的锁相环 PLL 的 IP 核实现。
分频器一般分为三类:偶数分频、奇数分频、小数分频。 偶数分频。
偶数分频:
1-11
偶数分频设计的一般方法:假设为 N 分频,只要设计一个计数器从 0 计数到 N/2-1(一共 N/2 个基准时钟)然后将输出分频时钟进行翻转、计数器清零,如此循环得到 N 分频。
奇数分频:
假设为 N 分频,需要从 0 计数到 N-1,一共有 N/2 个基准时钟,一直循环。 设计一个对基准时钟上升沿敏感的信号,每当计数到(N-1)/2 -1 时,时钟翻转,计数达到 最大值时再进行反转。 设计一个对基准时钟下降沿敏感的信号,每当计数到(N-1)/2 -1 时,时钟翻转,计数达到 最大值时再进行反转。 将上升沿敏感的信号和下降沿敏感的信号相与(&&)之后得到的就是一个 N 分频电路。
仿真结果:
1-13
零基础入门FPGA,如何学习?
FPGA学习重点
1. 看代码,建模型;
2. 用数学思维来简化设计逻辑;
3. 时钟与触发器的关系;
“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。
为什么你会觉得FPGA难学?
1. 不熟悉FPGA的内部结构;
2. 错误理解HDL语言,怎么看都看不出硬件结构;
3. FPGA的学习,掌握数字电路基础知识;
4. 数字逻辑知识是根本;
总结:
掌握FPGA的设计方法和设计原则
你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。