电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

基于Verilog的分频器设计

  • 资源ID:479160871       资源大小:181.17KB        全文页数:9页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

基于Verilog的分频器设计

基于Ve r i log的分频器设计作者:日期:分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成 分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电 路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器。下面以 Ve rij1 o g HDL 语言为基础介绍占空比为50%勺分频器。1 偶分频偶分频比较简单,假设为N分频,只需计数到N/2 - 1,然后时钟翻转、计数清 零,如此循环就可以得到N (偶)分频。代码如下。m o d u 1 e fp_ even (cl k _ o u t,clk_in,rs t );out put clk_ out;i n p ut clk in;input r s t ;r eg 1: 0 cn t ;r e g c lk_ou t ;pa r amet er N =6;always (po s edge c 1 k_ in or n e ge d g e rst)b egini f (!rs t)be gincn t <= 0;c 1 k o ut <= 0;endelse b e g ini f (cnt= =N/21)begin c 1 k _ o ut < = !clk_ out; c n t<= 0 ; endelsec nt <= cnt + 1 ;en dend endm odu le可以通过改变参量N的值和计数变量cnt的位宽实现任意偶分频。偶分频(N = 6)的RTL原理图:2奇分频实现奇数(N)分频,分别用上升沿计数到(N 1 ) /2,再计数到N-1;用下降沿计数到(N-1)/2 ,再计数到N-1,得到两个波形,然后把它们相或即可 得到N分频。代码如下:module fp_odd (clk_out , c 1 k _p , elk n,clk_i n ,rst);o u tpu t clk _ ou t ;outpu t clk p, c lk_n ;i n p ut c 1 k_ i n,rs t ;reg 2: 0 cnt_p , cnt_ n ;reg clk p, c 1 kn;par a m eter N=5;al w ays ( p os e dge c lk_in o r negedge rs t)b egi nif(! r st )c nt_p <= 0;else if (cnt_p= = N-1)cnt p <=0;el s e cnt_ p < = cnt p + 1 ;enda Iway s ( p osedge clk_in o r n e ge dge rs t)b e gini f (!rst ) cl k _p < = 0;els e i f( c n t p=(N- 1 )/2 )clk_p < = !clk_p;e 1 se i f(cn t _p=N-1)c 1 k_p < = ! c lk_ p ;endalwa y s (ne g e d g e cl k _in o r n e gedge rst)b egini f (!rst)cnt _ n <= 0;els e i f (cnt_ n =N 1 )c n t_n <= 0 ;else c n t _n <= cn t _n + 1 ;endalways (negedg e cl k _in o r n e ged g e rs t)beginif(!r st) cl k _n <= 0 ;e 1 s e i f (cnt n=(N-1) /2)c lk n <= ! clk n;e 1 se if(c n t n=N-1)clk< =!clk_ n ;end assign cl k_o ut = c 1 k_p | cl k _ n ;en d mo d ul eRT L Schenna ti c :Simula t e B ehav i o r a 1 Model:同理,可以通过改变参量N的值和计数变量cnt p和c n t n位位宽实现任 意奇分频3 任意占空比的任意分频在verilog程序设计中,我们往往要对一个频率进行任意分频,而且占空比 也有一定的要求这样的话,对于程序有一定的要求,现在在前面两个实验的基础 上做一个简单的总结,实现对一个频率的任意占空比的任意分频。比如:FPG碌统时钟是50M Hz,而我们要产生的频率是 8 8 0 Hz,那 么,我们需要对系统时钟进行分频。很容易想到用计数的方式来分频:50000000/880= 568 1 8。显然这个数字不是2的整幕次方,那么我们可以设定一个参数,让它到5 6 8 18的时候重新计数就可以实现了。程序如下:mo dule div(cl k , c Ik div);in p ut clk;outp u t clk _ div;reg 15: 0 coun ter;a 1 way s (p osedge clk)if( c o u n t er =56 817) co u n t er <=0;e 1 se counter <=cou nt e r+1;assign clk_d i v = coun t e r 15;endmodule分频的应用很广泛,一般的做法是先用高频时钟计数,然后使用计数器的某 一位输出作为工作时钟进行其他的逻辑设计,上面的程序就是一个体现。下面我们来算一下它的占空比:我们清楚地知道,这个输出波形在count6 r为0至ij 327 6 7的时候为低,在3 2768到56817的时候为高,占空比为40胸一些,如果我们需要占空比为50%那么我们需要再设定一个参数,使它为56817的一半,使达到它的时候波形翻转,就可以实现结果了。程序如下:modu l e d i v(clk , c 1 k_d i v);input c lk;o u t pu t clk _ d i v;reg 14: 0 cou n ter;al ways (p o sedge clk)i f (counter=2840 8 ) c ounter <= 0 ;els e cou n ter <= cou n ter+1;re g clk_div;alw ays (pos 6 dge clk)if( c ount e r=2840 8 ) cl k_div <=clk_d i v;endmodule继续让我们来看如何实现任意占空比,比如还是由50 M分频产生8 8 0Hz,而分频得到的信号的占空比为 30%5 6 8 18X 3 0 %=17 045m odule di v (c Ik, r ese t ,cl k _di v ,c o u n t er);inpu t c 1 k , r e s et;outp u t c lk_div;o u tp u t 15:0 cou n ter;reg 15:0 cou n ter;reg c 1 k_d i v ;a 1 way s (pose d ge cl k )i f (! r e s et) c ount e r <=0 ;else if( counter: =5 6 81 7 ) counter <= 0;e 1 se count er < = co u nter+1;always (po s e dge cl k )i f( ! r es e t) cl k _ div <= 0 ;e lse i f ( c oun t er< 1 7 0 4 5) c 1 k _ div <= 1;e 1 s e c lk _ d i v <= 0;end modul eRTL级描述:仿真结果:4小结通过以上几个例子对比不难发现,借助计数器来实现任意点空比的任意分频 的方法简单,且用ve r i 1。g语言进行行为描述时,代码简洁、易懂、通用。 通过以上的学习,对分频器有了比较深刻的认识,将在以后的学习中会有广泛的 应用。

注意事项

本文(基于Verilog的分频器设计)为本站会员(大米)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.