电子说
偶分频
5.1计数实现偶12分频(占空比50%)
5.1.1源码
5.1.2测试源码
5.1.3仿真图
5.2通过一个标志信号作为偶6分频的工作时钟(可靠,常用)
5.2.1源码
5.2.2测试源码
5.2.3仿真图
这里为什么要说明这两种方式呢?
这里就要说到FPGA中的全局时钟网络,因为在 FPGA 中凡是时钟信号都要连接到全局时钟网络上,全局时钟网络也称为全局时钟树,是 FPGA 厂商专为时钟路径而特殊设计的,它能够使时钟信号到达每个寄存器的时间都尽可能相同,以保证更低的时钟偏斜(Skew)和抖动(Jitter)。
然而我们采用第一种方式产生的时钟clk_out信号并没有连接到全局时钟网络上,这种做法所衍生的潜在问题在低速系统中不易察觉,而在高速系统中就很容易出现问题,但 sys_clk 则是由外部晶振直接通过管脚连接到了 FPGA 的专用时钟管脚上,自然就会连接到全局时钟网络上,所以在 sys_clk 时钟工作下的信号要比在 clk_out 时钟工作下的信号更容易在高速系统中保持稳定。所以第二种方式相对来说更加安全。
应用时候:
第一种:
奇分频
5.3占空比50%实现5分频方法(即5.1方法)
通过always语句,做一个上升沿的分频,与一个下降沿的分频,将分频后的结果取与运算。例如5分频:先做一个上升沿触发的5分频,三个周期低电平,两个周期高电平。在做一个下降沿触发的5分频,三个周期低电平,两个周期高电平。最后将两个分频后的结果取与运算,就是常规的5分频。
5.3.1源码
5.3.2测试源码
5.3.3仿真图
5.4标志位方法与5.2一致(不再赘述)在高速系统中,仍采用flag信号的方法进行分频。
全部0条评论
快来发表一下你的评论吧 !