电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

VHDL-奇数分频和小数分频

VHDL-奇数分频和小数分频_第1页
1/6
VHDL-奇数分频和小数分频_第2页
2/6
VHDL-奇数分频和小数分频_第3页
3/6
标签: VHDL CPLD FPGA SEED VHDL 50% 占空比奇数分频器之方法一, 程序引发的器件资源消耗的问题与 FPGA 资源利用问题library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fredivn1 is GENERIC(N:integer:=7); --可以是 3,5,7,9,11,。。。 port(clk:in std_logic; outclk:out std_logic);end fredivn1;architecture rtl of fredivn1 is signal count1,count2:integer range 0 to N; signal q,outclk1,outclk2:std_logic;begin q<=outclk1 and outclk2; outclk<=q xor outclk1;process(clk)begin if(clk'event and clk='1') then if(count1=N-1) then count1<=0; else count1<=count1+1; if count1<(integer(N/2)) then outclk1<='0'; else outclk1<='1'; end if; end if; end if;end process;process(clk)begin if(clk'event and clk='0') then if(count2=N-1) then count2<=0; else count2<=count2+1; if count2<(integer(N/2)) then outclk2<='1'; else outclk2<='0'; end if; end if; end if;end process;end rtl;众所周知,分频器是 FPGA 设计中使用频率非常高的基本设计之一,尽管在目前大部分设计中,广泛使用芯片厂家集成的锁相环资源,如altera 的 PLL,Xilinx 的 DLL.来进行时钟的分频,倍频以与相移。但是对于时钟要求不高的基本设计,通过语言进行时钟的分频相移仍然非常流行,首先这种方法可以节约芯片部的锁相环资源,再者,消耗不多的逻辑单元就可以达到对时钟操作的目的。另一方面,通过语言设计进行时钟分频,可以看出设计者对设计语言的理解程度。因此很多招聘单位在招聘时往往要求应聘者写一个分频器(比如奇数分频)以考核应聘人员的设计水平和理解程度。下面讲讲对各种分频系数进行分频的方法:第一,偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行 N 倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从 0 计数到 N/2-1 时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。第二:奇数倍分频:奇数倍分频常常在论坛上有人问起,实际上,奇数倍分频有两种实现方法:首先,完全可以通过计数器来实现,如进行三分...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

VHDL-奇数分频和小数分频

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部