天天看点

如何在FPGA中进行分频

     在设计动态扫描8位7段数码管 时,由于同时要驱动8位数码管,为了能持续看见数码管上面的显示内容,必须对数码管进行扫描,即依次并循环地点亮各个数码管。

     利用人眼的视觉暂停效应,在一定的扫描频率下,人眼就会看见好几个数码管一起点亮。每个数码管的功耗较大,如果所有的数码管一起点亮,其功耗较大。利用扫描的方式,每个时刻只有数码管是亮的,可以大大的减少功耗。

  扫描频率大小合适效果才好。太小,每个数码管开启的时间大于人眼的视觉暂停时间,那么会产生闪烁现象。扫描频率太大,会造成数码管的频繁开启和关断,大大增加数码管功耗(开启和关断的时刻功耗很大)。

这里我们设计一个从系统时钟得到1Khz的扫描时钟为例:

     系统时钟:50MHZ      T:20ns

     设计时钟:1KHZ         T:1ms    进行2分频:0.5ms=500000ns

     需要计数次数: 500000%20=25000次  即需要15位宽

即  reg [14:0]   divider_cnt;

如何在FPGA中进行分频
如何在FPGA中进行分频