FPGA学习记录
题目一:设计8分频
题目描述
系统输入时钟clk为100MHz;
低电平复位有效,信号为rst_n;
要求输出时钟o_clk是12.5MHz;
(结合计数器的知识,将系统输入时钟进行分频)
设计思路
首先计算时钟,可以看出输入端时钟频率是输出时钟频率的8倍,是一个8分频的设计。输出频率变低8倍,相当于周期时间增加8倍。所以新的周期o_clk的一个周期时长相当于8个输入时钟周期clk。
基于该思路,设计一个8位的计数器out,该计数器从0到7一个循环。每当输入时钟的上升沿到来,计数器+1,其变化过程为
0000
0001
0010
0011
0100
0101
0110
0111
可以明显看出当计数器计数0到3时,out[2]=0,当计数器计数4到7时,out[2]=1。以此为分界线,将o_clk分为标准占空比的时钟。当out[2]=0时,o_clk低电平,反之为高电平。
模块代码
module counter(out