当前位置:首页 > 基于FPGA分频器的设计
西南科技大学城市学院本科生毕业论文
开始 输入分数分母M和分子N 移位除法器算出商K和余数X K+1分频计数 N K值不为0? N Y 置分频数K和分频次数X 计数器计数到K值? 无法分频 分频计数器复位到1值 K+1分频计数 分频次数加1 N 计数器计数到K值?N 分频次数大分频计数器复位到0值 于等于N? 分频次数加1 分频次数计数器复位到1值 分频次数大于X? Y
21
西南科技大学城市学院本科生毕业论文
图3-2
用FPGA实现K/K+1分频器的部分Verilog-HDL源代码如下所示: Always @(posedge clkin) begin if (reset) countk<=4?b0000; else if(countnice) begin if(divfreqken) countk<=4?b0001; else
countk<=countk+4?b0000; end else
用FPGA实现分频次数计数器的部分Verilog-HDL源代码如下所示: Always @(posedge clkin) begin if (reset)
countn<=4?b0000; else if (countninc) begin
if(countn==dcnominator) countn<=4?b0001; else
countn<=countn+4?b0001; end end K分频使能
assign divfreqken=(countn>divtimesx); assign countninc = (countk= =divfreqk);
22
西南科技大学城市学院本科生毕业论文
3.2.2 时钟输出流程图及部分程序
时钟输出的流程如图所示。当分频计数器计数到分频值K的1/2倍和1倍时,输出脉冲反转,以保证分频计数器工作在一个周期,输出时钟也为一个周期。从而实现所需的分频功能。当分频系数K为1时,输出时钟直接等于输入时钟,当K为0时,这是个倍频器,不是本文讨论的范围。时钟输出的电路工作流程图如图3-3下:
23
西南科技大学城市学院本科生毕业论文
开始 N K值不为0? K值为1,且为N K分频计数? 输出时钟为输入时钟 N K值为1且为K+1分频计数? Y N 分数计数值为K/2或K? Y 输出时钟电平值取反 图3-3
用FPGA实现频率输出功能的部分Verilog-HDL源代码如下:24
输出时钟
共分享92篇相关文档