verilog实现n分频,n为奇数

bash 复制代码
module divn(
	input clk,
	input [3:0]n,//n is an odd number less than 16
	output clkout
);//n frequency division
	reg [3:0] count;
	reg tem1,tem2;
	always@(posedge clk)begin
		if(count==n-1'd1)count<=0;
		else count<=count+1'd1;
	end
	always@(posedge clk)begin
		if(count==(n-1'd1)/2)tem1<=1'd1;
		else if(count==(n-1'd1))tem1<=1'd0;
		else tem1<=tem1;
	end
	always@(negedge clk)begin
		if(count==(n-1'd1)/2)tem2<=1'd1;
		else if(count==(n-1'd1))tem2<=1'd0;
		else tem2<=tem2;
	end
	assign clkout=tem1||tem2;
endmodule

奇数分频器设计总结(50%占空比)

一、核心问题

  • 奇数N无法直接实现50%占空比(N/2非整数)

  • 单边沿触发只能做到近似占空比

二、解决方案

双边沿组合法:

  1. 主计数器:模N计数(0到N-1)

  2. 上升沿信号:在计数到(N-1)/2时置1,N-1时清0

  3. 下降沿信号:相同逻辑,但下降沿触发

  4. 输出组合:两信号相或(OR)

三、关键公式

  • 分频比 = N(奇数)

  • 高电平位置:count ≥ (N-1)/2 且 < N-1

  • 单信号占空比:(N-1)/2N → 非50%

  • 组合后占空比:50%

本质:用两个相位错开的非对称信号,通过逻辑组合实现对称输出。

相关推荐
ALINX技术博客12 小时前
【202601芯动态】全球 FPGA 异构热潮,ALINX 高性能异构新品预告
人工智能·fpga开发·gpu算力·fpga
JJRainbow19 小时前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
s91236010120 小时前
FPGA眼图
fpga开发
北京青翼科技21 小时前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
minglie121 小时前
verilog信号命名规范
fpga开发
XINVRY-FPGA1 天前
中阶FPGA效能红线重新划定! AMD第2代Kintex UltraScale+登场,记忆体频宽跃升5倍
嵌入式硬件·fpga开发·硬件工程·dsp开发·fpga
南檐巷上学1 天前
基于FPGA的音频信号监测识别系统
fpga开发·音频·verilog·fpga·傅立叶分析·fft·快速傅里叶变换
Aaron15882 天前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
碎碎思2 天前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发
数字芯片实验室2 天前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发