|
8#

楼主 |
发表于 2008-11-15 08:19
|
只看该作者
晕,好像真是偶数分频啊;9 Z$ E0 g+ Y! v
) E# ^. z9 y- E6 f6 [$ ?( P
9 q2 e' W# y/ G2 Q$ x; k
比如16个CLK就输出取反;那就是32个CLK一个周期 对应输出 一个周期;输出周期=32个CLK;0 A* Y7 z. `4 I+ L. l/ w7 U m
如果15个CLK就输出取反;那就是30个CLK一个周期 对应输出 一个周期;输出周期=30个CLK;
0 Q6 j- i# b& h* k* F w' Q30个和32个CLK还不多是偶数。
) X. ~" L, `, ^# q& U1 I楼上的朋友真细心啊。。。/ d0 L5 {' J, i& K0 d( W
在啃书中。。。。。
# L8 @* a% f- W% r g) D# F; t3 O$ m/ W
下面的是7分频的奇数分频器,占空比嘛1/7;
% Y' g: r6 F$ w& G还有50%的占空比,一直不明白,所以也没有发上来;% J: E# A: `' S% p$ @5 r
library ieee;) A3 w1 Z# d) `4 e$ Y
use ieee.std_logic_1164.all;
3 f0 A! L8 O( O8 P3 [* c' C" o+ I9 xuse ieee.std_logic_unsigned.all;
5 y* ?1 u" p& H- Uentity jishu is
+ Q$ Q6 a1 \+ h" [( ]5 y0 }+ x port( clk:in std_logic;; Q* z& E, C7 d9 ?
div7: out std_logic);+ S6 e2 @2 I( b9 F. @" @
end;
A! E0 D, ~% _2 ^architecture one of jishu is
) s$ t% R1 ]) f signal cnt:std_logic_vector(2 downto 0);
5 ?5 d$ t- W: v F9 r1 | signal clk_temp:std_logic;0 f: K/ r3 m5 r1 S4 |0 C, C
constant m:integer:=6;6 ^9 ?7 K& a5 J: i
begin3 ~8 w7 O) O1 ^1 \
process(clk)
! l; P: s& g5 G8 @begin* o/ M" c; A; n- A' Z! z! j
if clk'event and clk='1' then6 Q/ H) b$ j. E. a, x- e
if cnt=m then
! K- K4 {9 z% k/ I$ ^) G* jclk_temp<='1';
! I0 u& q! s3 ~/ X, Y7 l$ Pcnt<="000";
4 B( o: {& t. M* s8 q) velse
+ P' x% l0 x% F7 ~cnt<=cnt+1;
' ^' \, c1 D' _' _% E# m, tclk_temp<='0';; I% y: U" v* `/ D5 m4 W
end if;8 k* y5 t! P1 B7 T; Q7 E
end if;: d' K' R: y# c2 T
end process; $ U) N7 \' h4 k
div7<=clk_temp;
8 }# D. g. s& u4 i" dend;
* S# z* ~1 V9 F0 q( I) v r
4 w5 w* I' V1 f4 O$ R3 m[ 本帖最后由 zgq800712 于 2008-11-17 10:38 编辑 ] |
|