1 偶数分频
这个很简单,就是计数器,假如n分频(n%2==0),则计数器cnt从0计数到n/2-1反转信号
2 奇数分频
2.1 双边沿触发相或
如3分频,clk_div_3的每一个高电平或者低电平相当于clk的3个半周期
{signal: [
{name: 'clk_p', wave: 'P..........'},
{name: 'A', wave: 'lh.l...h.l.'},
{name: 'clk_n', wave: 'N..........'},
{name: 'B', wave: 'l.h.l...h.l'},
{name: 'A||B', wave: 'lh..l..h..l'},
]}
2.2 计数器分时输出
A阶段输出0,B阶段clk_div_3 = ~clk_p,C阶段输出1
3 倍频
好像只能用FPGA上的一些时钟管理模块,一个不能综合的例子如下
https://groups.google.com/g/comp.lang.verilog/c/icGM_MyliC4?pli=1
https://dqydj.com/how-to-double-clock-frequency-using-only-digital-logic/