为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

非整数分频器

2019-06-14 4页 doc 14KB 4阅读

用户头像

is_005190

暂无简介

举报
非整数分频器这种分频需要对输入时钟进行操作。基本的设计思想:对于进行n+0.5分频,首先进行模n 的计数,在计数到n-1时,输出时钟赋为‘1’,回到计数0时,又赋为0,因此,可以知道,当计数值为n-1时,输出时钟才为1,因此,只要保持计数值n-1 为半个输入时钟周期,即实现了n+0.5分频时钟,因此保持n-1为半个时钟周期即是一个难点。从中可以发现,因为计数器是通过时钟上升沿计数,因此可以在计数为n-1时对计数触发时钟进行翻转,那么时钟的下降沿变成了上升沿。即在计数值为n-1期间的时钟下降沿变成了上升沿,则计数值n-1只保持了半个时钟周期...
非整数分频器
这种分频需要对输入时钟进行操作。基本的思想:对于进行n+0.5分频,首先进行模n 的计数,在计数到n-1时,输出时钟赋为‘1’,回到计数0时,又赋为0,因此,可以知道,当计数值为n-1时,输出时钟才为1,因此,只要保持计数值n-1 为半个输入时钟周期,即实现了n+0.5分频时钟,因此保持n-1为半个时钟周期即是一个难点。从中可以发现,因为计数器是通过时钟上升沿计数,因此可以在计数为n-1时对计数触发时钟进行翻转,那么时钟的下降沿变成了上升沿。即在计数值为n-1期间的时钟下降沿变成了上升沿,则计数值n-1只保持了半个时钟周期,由于时钟翻转下降沿变成上升沿,因此计数值变为0。因此,每产生一个n+0.5分频时钟的周期,触发时钟都是要翻转一次。 以下是代码: library IEEE; use IEEE.STD_LOGIC_1164.ALL use IEEE.STD_LOGIC_ARITH.ALL use IEEE.STD_LOGIC_UNSIGNED.ALL -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components --library UNISIM --use UNISIM.VComponents.all; entity nhalffenpin is PORT ( CLK : IN STD_LOGIC; PREL : IN STD_LOGIC_VECTOR(2 DOWNTO 0):="111"; NCLK : BUFFER STD_LOGIC ) ; end nhalffenpin;v;p architecture Behavioral of nhalffenpin is SIGNAL COUNTER : STD_LOGIC_VECTOR(2 DOWNTO 0):="000" SIGNAL SIG_CLK : STD_LOGIC ; SIGNAL LCLK : STD_LOGIC; SIGNAL PCLK : STD_LOGIC:='1'; begin LCLK <= CLK XOR PCLK; PROCESS(LCLK,PREL) BEGIN IF RISING_EDGE(LCLK) THEN IF COUNTER = "000" THEN COUNTER <= PREL; ELSE5 COUNTER <= COUNTER - 1; END IF; END IF; END PROCESS; PROCESS(COUNTER,LCLK) BEGIN IF RISING_EDGE(LCLK) THEN IF COUNTER = "001" THEN SIG_CLK <= '1'; ELSEX| SIG_CLK <= '0'; END IF; END IF; END PROCESS; PROCESS(SIG_CLK) BEGIN IF RISING_EDGE(SIG_CLK) THEN PCLK <= NOT PCLK; END IF; END PROCESS; NCLK <= SIG_CLK; end Behavioral;
/
本文档为【非整数分频器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索