verlog任意奇数和偶数分频

任意的verlog奇数和偶数分频

下面展示一些 内联代码片

/******************
作者:robetwu
时间:2020/7/9
运行环境:Quartus II 13.0


*******************/
module Five_div(
	input clk,rst_n,
	output reg clk_div//5分频时钟只能用于奇数分频
	);
	
	reg clk_pose;
	reg clk_nege;
	reg clk_oushu;
parameter fenpin=7;//fenpin值
parameter div1=fenpin/2;
parameter div2=fenpin-1;
reg [3:0]fenpinjs;
reg [3:0]fenpinjs_oushu;

//以下为奇数分频运算
always@(posedge clk or negedge rst_n)
	if(!rst_n)
	clk_pose<=0;

	else if(fenpinjs==div1||fenpinjs==div2)
	clk_pose<=~clk_pose;
	else
	clk_pose<=clk_pose;

always@(negedge clk or negedge rst_n)
	if(!rst_n)
	clk_nege<=0;

	else if(fenpinjs==div1||fenpinjs==div2)
	clk_nege<=~clk_nege;
	else
	clk_nege<=clk_nege;
	
always@(posedge clk or negedge rst_n)	
	if(!rst_n)
	fenpinjs<=0;
	else if(fenpinjs==(fenpin-1))
	fenpinjs<=0;
	else
	fenpinjs<=fenpinjs+1;
	
//以下为偶数分频计算	
always@(posedge clk or negedge rst_n)	
	if(!rst_n)
	begin
	fenpinjs_oushu<=0;
	clk_oushu<=0;
	end
	else if(fenpinjs_oushu==(fenpin/2-1))
	begin
	fenpinjs_oushu<=0;
	clk_oushu<=~clk_oushu;
	end
	else
	fenpinjs_oushu<=fenpinjs_oushu+1;

	

//分频结果
always@(*)
	if(fenpin%2==1)
	clk_div=clk_pose|clk_nege;//奇数分频结果
	else
	clk_div=clk_oushu;//偶数分频结果
	
endmodule


## modelsim结果如下
7分频的结果如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200715010624362.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0OTE3NDIx,size_16,color_FFFFFF,t_70)
6分频结果如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020071501063964.png)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值