奇数和半整数分频器奇数和半整数分频器.doc

奇数和半整数分频器奇数和半整数分频器.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
奇数和半整数分频器奇数和半整数分频器

奇数分频器 1 引言 分频器在CPLD/FPGA设计中使用频率非常高,尽管目前大部分设计中采用芯片厂家集成的锁相环资源,但是对于要求奇数倍分频、小数倍分频的应用场合却往往不能满足要求。硬件工程师希望有一种灵活的设计方法,根据需要,在实验室就能设计分频器并马上投入使用,更改频率时无需改动原器件或电路板,只需重新编程,在数分钟内即可完成。 对于偶数分频,但对于实现50%的占空比却是比较困难的。占空比50%library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;        --添加库 entity fdiv is   --设计实体 port( clk,reset : in std_logic;            --端口说明 preset: in integer;           --preset: 分频预置数 clkout : out std_logic);     - -clkout : 分频后得到的时钟 end fdiv; architecture behave of fdiv is           --设计构造体 signal s1,s2 : std_logic;            --内部信号s1,s2 signal cnt : integer range 0 to preset-1; --模为preset的计数信号 begin P1: process(clk,reset) --计数器 begin if reset=1 then cnt=0; elsif clkevent and clk=1 then if cnt=0 then cnt=preset-1; ELSE cnt=cnt-1; end if; end if; end process; P2: process(clk,reset) --信号1 begin if reset=1 then s1=1; elsif clkevent and clk=1 then if cnt=0 then --计数信号为0时,S1翻转 s1=not s1; else s1=s1; end if; end if; end process; P3: process(clk,reset) --信号2 begin if reset=1 then s2=1; elsif clkevent and clk=0 then if cnt=(preset-1)/2 then --计数信号为N时,S2翻转 s2=not s2; else s2=s2; end if; end if; end process; clkout= s1 xor s2; -- 异或输出 end behave; 程序说明:以上程序实现任意奇数的50%占空比分频,计数器cnt的模值为,计数器是为了控制信号1和信号2,使两信号保持恒定的时间差。信号1为上升沿触发,在cnt=0时,信号2为下降沿触发,在cnt=(preset-1)/2 时。将1和2异或输出,这样就实现了的50%占空比分频。计数器cnt的模值为,信号1是上升沿触发,cnt=0时2是下降沿触发,cnt=时,然后将1和2异或输出,这样就实现了50%占空比的分频。 4 VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY decount IS PORT(inclk: IN STD_LOGIC;              --时钟源 preset: IN STD_LOGIC_VECTOR(3 DOWNTO 0);  --预置分频值N outclk: BUFFER STD_LOGIC);         --输出时钟 END decount; ARCHITECTURE decount_arch OF decount IS SIGNAL clk

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档