VHDL语言分频器的设计_第1页
VHDL语言分频器的设计_第2页
VHDL语言分频器的设计_第3页
VHDL语言分频器的设计_第4页
VHDL语言分频器的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专题二.

经典模块设计——分频器设计1精选2021版课件专题内容:1.分频器的原理2.二进制分频器的设计3.偶数分频器的设计4.奇数分频器的设计5.占空比可调的分频器的设计6.小数分频器的设计2精选2021版课件1.分频器的原理分频器就是对较高频率的信号进行分频,得到较低频率的信号。常见的分频器有二进制分频器、偶数分频器、奇数分频器、占空比可调的分频器和小数分频器。分频系数(倍率)rate=fin/fout3精选2021版课件2.二进制分频器的设计二进制分频就是对输入时钟进行2的整数次幂分频。设计原理:(rate=2N,N是整数) 定义一个N位的计数器,对输入的时钟脉冲进行计数,计数结果的第N-1位就是对输入时钟的2的N次幂分频。将相应的位数取出即可得到分频时钟。4精选2021版课件二进制分频器的VHDL源程序Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;Entityfdivisgeneric(N:integer:=3);--rate=2N,N为正整数port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;5精选2021版课件Architectureaoffdivissignalcnt:std_logic_vector(N-1downto0);Beginprocess(clkin)beginif(clkin'eventandclkin='1')thencnt<=cnt+1;endif;endprocess;clkout<=cnt(N-1);Enda;6精选2021版课件仿真结果从波形图可以看到,clkout是clkin的8分频,也就是2的3次幂分频。如果要产生其他次幂分频,直接修改generic类属变量参数即可。7精选2021版课件3.偶数分频器的设计rate=even(偶数),占空比50%设计原理: 定义一个计数器对输入时钟进行计数,在计数的前一半时间里,输出高电平,在计数的后一半时间里,输出低电平,这样输出的信号就是占空比为50%的偶数分频信号。例如,6分频,计数值为0~2输出高电平,计数值为3~5输出低电平。8精选2021版课件偶数分频器的VHDL源程序(1)Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;Entityfdivisgeneric(N:integer:=6);--rate=N,N是偶数port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;9精选2021版课件Architectureaoffdivissignalcnt:integerrange0ton-1;Beginprocess(clkin)--计数beginif(clkin'eventandclkin='1')thenif(cnt<n-1)thencnt<=cnt+1;elsecnt<=0;endif;endif;endprocess;

process(cnt)--根据计数值,控制输出时钟脉冲的高、低电平beginif(cnt<n/2)thenclkout<='1';elseclkout<='0';endif;endprocess;Enda;10精选2021版课件偶数分频器的VHDL源程序(2)Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;Entityfdivisgeneric(N:integer:=6);--rate=N,N是偶数port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;11精选2021版课件Architectureaoffdivissignalcnt:integerrange0ton/2-1;signaltemp:std_logic;Beginprocess(clkin)beginif(clkin'eventandclkin='1')thenif(cnt=n/2-1)thencnt<=0;temp<=NOTtemp;elsecnt<=cnt+1;endif;endif;endprocess;clkout<=temp;Enda;12精选2021版课件仿真结果从波形图可以看到,clkout是clkin的6分频。如果要产生其他分频,直接修改generic类属变量参数即可。13精选2021版课件4.奇数分频器的设计rate=odd(奇数),占空比50%设计原理: 定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数,然后把这两个计数值输入一个组合逻辑,用其控制输出时钟的电平。 这是因为计数值为奇数,占空比为50%,前半个和后半个周期所包含的不是整数个clkin的周期。例如,5分频,前半个周期包含2.5个clkin周期,后半个周期包含2.5个clkin周期。14精选2021版课件奇数分频器的VHDL源程序Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;Entityfdivisgeneric(N:integer:=5);--rate=N,N是奇数port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;15精选2021版课件architectureaoffdivissignalcnt1,cnt2:integerrange0toN-1;beginprocess(clkin)beginif(clkin‘eventandclkin=’1‘)then--上升沿计数if(cnt1<N-1)thencnt1<=cnt1+1;else cnt1<=0; endif;endif;endprocess;16精选2021版课件

process(clkin)beginif(clkin‘eventandclkin=’0‘)then--下降沿计数if(cnt2<N-1)thencnt2<=cnt2+1;else cnt2<=0;endif;endif;endprocess;

clkout<='1'whencnt1<(N-1)/2orcnt2<(N-1)/2else'0';enda;17精选2021版课件仿真结果从波形图可以看到,clkout是clkin的5分频。如果要产生其他分频,直接修改generic类属变量参数即可。18精选2021版课件5.占空比可调的分频器的设计占空比为m:n设计原理:定义一个计数器,对输入时钟脉冲进行计数。根据计数值来判断输出高电平还是低电平。例如,占空比为3:10的偶数分频器,当计数值为0~2时,输出高电平;当计数值为3~9时,输出低电平。19精选2021版课件占空比可调的分频器VHDL源程序Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;Entityfdivisgeneric(n:integer:=10;m:integer:=3--占空比m:n,rate=n);port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;20精选2021版课件architectureaoffdivissignalcnt:integerrange0ton-1;beginprocess(clkin)beginif(clkin'eventandclkin='1')thenif(cnt<n-1)thencnt<=cnt+1;elsecnt<=0;endif;endif;endprocess;

clkout<='1'whencnt<melse'0';enda;21精选2021版课件仿真结果从波形图可以看到,clkout是clkin的10分频,且占空比为3:10。如果要产生其他分频,直接修改generic类属变量参数即可。22精选2021版课件6.小数分频器的设计时钟源与用户所需的频率不成整数倍关系,此时可采用小数分频器进行分频。比如,分频系数为2.5、3.5等半整数分频器。设计原理: 先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。例如,10.1分频,可以设计出9次10分频,1次11分频,这样总的分频值为:F=(9×10+1×11)/(9+1)=10.1 这种实现方法,由于分频器的分频值不断改变,因此分频后得到的信号抖动较大,实际应用中不常用。 而当分频系数为N-0.5时,可控制扣除脉冲的时间,而不是一次N分频,一次N-1分频,这样可以得到一个稳定的脉冲频率。23精选2021版课件半整数分频器(N-0.5)的设计框图分频系数为N-0.5的半整数分频器电路可由一个异或门、一个模N计数器和一个二分频组成。24精选2021版课件半整数分频器VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYfdivISgeneric(N:integer:=5);--分频系数N-0.5PORT(clkin:INSTD_LOGIC; --时钟源clkout:BUFFERSTD_LOGIC--输出时钟); ENDfdiv;25精选2021版课件ARCHITECTUREaOFfdivISSIGNALclk,div2:STD_LOGIC;SIGNALcount:integerrange0toN-1;BEGINclk

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论