欢迎来到天天文库
浏览记录
ID:56436539
大小:15.50 KB
页数:2页
时间:2020-06-24
《分频器的VHDL代码在数字电路中,常需_001.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、分频器的VHDL代码在数字电路中,常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号。我们知道,在硬件电路设计中时钟信号是最重要的信号之一。下面我们介绍分频器的VHDL描述,在源代码中完成对时钟信号CLK的2分频,4分频,8分频,16分频。这也是最简单的分频电路,只需要一个计数器即可。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYclkdivISPOR
2、T(clk:INSTD_LOGIC;clk_div2:OUTSTD_LOGIC;clk_div4:OUTSTD_LOGIC;clk_div8:OUTSTD_LOGIC;clk_div16:OUTSTD_LOGIC);ENDclkdiv;ARCHITECTURErtlOFclkdivISSIGNALcount:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(clk)BEGINIF(clk'eventANDclk='1')THENIF(count="1111")THENCount<=(OTH
3、ERS=>'0');ELSECount<=count+1;ENDIF;ENDIF;ENDPROCESS;clk_div2<=count(0);clk_div4<=count(1);clk_div8<=count(2);clk_div16<=count(3);ENDrtl;对于分频倍数不是2的整数次幂的情况,我们只需要对vhDL源代码中的计数器进行一下计数控制就可以了,如下面源代码描述一个对时钟信号进行6分频的分频器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_L
4、OGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYclkdiv_1ISPORT(clk:INSTD_LOGIC;clk_div6:OUTSTD_LOGIC);END;ARCHITECTURErtlOFclkdiv_1ISSIGNALcount:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALclk_temp:STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'eventANDclk='1')THENIF(count="10
5、")THENcount<=(OTHERS=>'0');clk_temp<=NOTclk_temp;ELSEcount<=count+1;ENDIF;ENDIF;ENDPROCESS;clk_div6<=clk_temp;ENDrtl;对于上述源代码描述的这种分频器,在硬件电路设计中应用十分广泛,设计人员常采用这种分频器来产生选通信号、中断信号和数字通信中常常用到的帧头信号等。
此文档下载收益归作者所有