|
这段代码是从一本教材上拷贝的,请看:
说明:半整数分频器的设计相对整数分频器要复杂,它俄实现方法是:首先需要设计一个计数器,计数器的模为分频系数的整数部分+1;然后设计一个扣除脉冲的电路,并把它加在计数器的输出之后;这样便可以得到任意半整数的分频器。半整数分频器的电路构成如图所示
![](http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_536047.JPG)
(原文件名:半整数分频器结构.JPG)
clktemp,divtemp,div2之间相互依赖,该怎么分析?
代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity div2dot5 is
port(clk:in std_logic;
clkout:out std_logic);
end div2dot5;
architecture div of div2dot5 is
constant cst:std_logic_vector(1 downto 0):="11";
signal temp:std_logic_vector(1 downto 0);
signal clktemp,div2,divtemp:std_logic;
begin
clktemp<=clk xor div2;
p1:process(clktemp)
begin
if(clktemp'event and clktemp='1') then
if(temp=0) then
temp<=cst-1;
divtemp<='1';
else
temp<=temp-1;
divtemp<='0';
end if;
end if;
end process;
p2:process(divtemp)
begin
if(divtemp'event and divtemp='1') then
div2<=not div2;
end if;
end process;
clkout<=divtemp;
end div;
![](http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_536048.JPG)
(原文件名:仿真结果.JPG) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|