岭上多浮云

分频器设计2

上一篇 / 下一篇  2008-02-15 10:26:20 / 个人分类:学习笔记

          占空比为1:1的偶数分频器:分频系数不是2的整数次幂

          方法是:首先通过待分频计数器计数;然后当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数;如此循环下去即可得所需的分频器。该方法同时可以实现分频系数为2的整数次幂的分频。

          例:设计一个分频系数是6的分频器。

          LIBRARY IEEE;EDA中国门户网站 e)_],F'K
          USE IEEE.STD_LOGIC_1164.ALL;
#|t/Or R0M M0          USE IEEE.STD_LOGIC_ARITH.ALL;EDA中国门户网站Y2uP^-`KO'htCv
          USE IEEE.STD_LOGIC_UNSIGNED.ALL;

          ENTITY cnt2 ISEDA中国门户网站-]P_&IVWB s4} [M6h
                PORT(clk     : IN       STD_LOGIC;EDA中国门户网站`"\Z[|
                             div6  :  OUT  STD_LOGIC);EDA中国门户网站S*P C)P4F0R*_ m
          END cnt2;

          ARCHITECTURE divcnt OF cnt2 IS
7_J1pa0K0               SIGNAL temp        : STD_LOGIC_VECTOR(2 DOWNTO 0);EDA中国门户网站4[ o:@x7X&Cd
               SIGNAL div6temp : STD_LOGIC;EDA中国门户网站&hg.d? `
          BEGINEDA中国门户网站A1f6?1WJ)IDykN
                PROCESS(clk)
6vp@jG0                      CONSTANT cst : STD_LOGIC_VECTOR(2 DOWNTO 0) := "010" ;EDA中国门户网站zryrt
                BEGIN
'sUC`H^ L/NV0                     IF ( clk'EVENT AND clk = '1') THENEDA中国门户网站&V+Hf'W&w'e
                        IF (temp = cst) THEN
~7RSheQ0                            temp <= (OTHERS => '0');EDA中国门户网站F!X)S&J C`'FH
                            div6temp <= NOT div6temp;EDA中国门户网站evf.W KBX~
                        ELSE
&b5Y(Ji fa0                            temp <= temp + 1;
,Bw9O h/}0                        END IF;
,X)ELz2W9Y't6Nqh0                     END IF;
V5K(I?wQi K0                 END PROCESS;EDA中国门户网站8D/n!LT"g0W
                 div6 <= div6temp;
y"dd*_s;J I.`0             END divcnt;

             只需改动上述程序的进程中定义的常量cst,即可实现各种系数为偶数的分频器设计,无论分频器系数是否为2的整数次幂。


FPGA/CPLD器件价格查询

TAG: VHDL vhdl 分频器

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar