找回密码
 注册
关于网站域名变更的通知
查看: 2124|回复: 8
打印 上一主题 下一主题

重温VHDL语言-分频器

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-11-3 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
library ieee;
0 A" n0 c( g2 k/ P2 H) r$ cuse ieee.std_logic_1164.all;
9 `: N+ E: W" ^% X--------------------------------------------------------------实体
2 C% D0 M+ N1 n. Bentity IRDA_DIV is
5 j- [$ V- J0 P1 T& Z) ]port() Z; `$ y% q# u: Y; l, f+ M+ E
  CLK:in std_logic;
7 ?3 H5 }% h2 _0 b& _5 g  FO:out std_logic
. K  f+ C& f6 Z  T  q  );/ f& G6 B: }+ q5 L; x9 p' z, x
end IRDA_DIV;
7 D# Y# {; Y$ s1 d8 N; p--------------------------------------------------------------结构体# s4 I; W7 s4 d7 t" _- `
architecture behav of IRDA_DIV is
4 C( N* N% |; Q: d) O0 isignal count : integer range 0 to 48;* k8 B" b$ v, w% L3 J$ a3 i5 [
signal fotemp :std_logic;2 W7 _3 f7 K/ `; v5 u
begin8 c* N' S- O. g4 ^

2 k3 G& R" F5 h2 d) }process(CLK)
5 l- A' ~0 ?! P( bbegin
+ T6 X. b& d5 e7 U8 L$ l& Eif (CLK'event and CLK='1') then         -----上升沿触发1 W4 V% ^% W: g# T6 d4 o7 X# H
if count=47 then
, q& I  H9 j' s0 H( G* p  count<=0;
# w! m0 g% F6 f. I  fotemp<=not fotemp;
; [2 J# E6 W5 e2 j0 z  else + J) s$ h% `" @/ b6 Q7 ^% T! L
count<=count+1;
# p0 E- h5 G; J+ pend if;
, p1 y: A) D; l3 V9 j9 t9 fFO<=fotemp;
( ?7 b/ h, _) Fend if;& O& b) Q( j3 }- a# R0 ^
' T1 A) `- ?1 h% C& `% N2 u; ^* l
end process;
: W2 D' P% i5 c9 t& k& |5 Kend behav;/ P$ e3 v# o' C" h5 m  c

$ s5 Q% O" p% |! K7 s) k2 `/ |8 M0 G% H8 d

+ p( A+ c/ T) }; P' O  P在学校学了VHDL,用的也少,现在工作,正好要用VHDL弄个分频器;
$ b0 q# E& d3 W  _VHDL在学校也学的不好,现在重温一下;7 g% T! V6 N2 B, o  R
对CLK进行48分频

该用户从未签到

2#
发表于 2008-11-4 22:18 | 只看该作者

不错!

呵呵,偶也正在学这个……

该用户从未签到

3#
发表于 2008-11-7 17:19 | 只看该作者
放点不好整的分频嘛,老是偶分频,比如小数分频这些塞! 方便别人借鉴

该用户从未签到

4#
发表于 2008-11-9 18:35 | 只看该作者
!!,一般实现分频都是用计数器分频的,小数好像不好弄,难道用到除法器,这个还真没考虑过

该用户从未签到

5#
 楼主| 发表于 2008-11-11 07:52 | 只看该作者
我书上有小数和非50%占空比的分频,有时间就发上来;6 x% ]) [  d1 y; f" ^, a3 h4 _

该用户从未签到

6#
 楼主| 发表于 2008-11-11 07:54 | 只看该作者

回复 3# 的帖子

不是把!!!, r5 F6 Z6 \" S1 p4 @* S
3 m0 b, z" v4 ^* y" }% L3 L0 C. e
[ 本帖最后由 zgq800712 于 2008-11-15 08:14 编辑 ]

该用户从未签到

7#
发表于 2008-11-12 19:12 | 只看该作者

回复

好像只可以偶数可以,基数还请楼主

该用户从未签到

8#
 楼主| 发表于 2008-11-15 08:19 | 只看该作者
晕,好像真是偶数分频啊;
4 {2 s9 D# E6 O$ T5 \2 }( R; ^$ A0 F
- M8 a' j2 }! y
比如16个CLK就输出取反;那就是32个CLK一个周期 对应输出 一个周期;输出周期=32个CLK;
1 o' i; K2 B9 i' x+ c$ h) P1 M如果15个CLK就输出取反;那就是30个CLK一个周期 对应输出 一个周期;输出周期=30个CLK;
8 ~: a& v7 W! i# w- Y) V% z3 K30个和32个CLK还不多是偶数。
& m0 E6 a, ~- o6 z楼上的朋友真细心啊。。。
# D/ Q# H, N" C& V. X在啃书中。。。。。
6 h2 D5 R8 d8 ^% J4 t8 A( I9 l9 ~1 j% z+ Q/ z& k* c1 ]4 ?, S
下面的是7分频的奇数分频器,占空比嘛1/7;
6 N6 f8 @1 j6 c) k( h7 U7 C; [还有50%的占空比,一直不明白,所以也没有发上来;
9 i+ S/ C0 H* j9 Z# c8 h9 jlibrary ieee;
( l  z' k0 }6 Z0 y& L; tuse ieee.std_logic_1164.all;2 W6 F' E& Z. z" ?9 k- }/ M
use ieee.std_logic_unsigned.all;
3 [, Y: r" @# E, L) Z1 }. j& gentity jishu is
) E; n" B* A5 v  A  @' V1 q6 s2 j      port( clk:in std_logic;
- I( U% C; y8 |4 q% r               div7: out std_logic);, s& R' ?: H" m* T
end;; `% A& I2 F; E# j# Q7 c5 n  M
architecture one of jishu is3 a0 s  h5 S, W7 c' ^- z
   signal cnt:std_logic_vector(2 downto 0);
& S) k+ x0 s  E) P" |   signal clk_temp:std_logic;
& o) _2 N5 i( D) O$ z6 f  C   constant m:integer:=6;; \& T7 H; W2 w3 g5 \3 u
begin! i0 E4 E) l) u
process(clk)
4 d9 x7 E& O7 i2 e: C3 \begin( P+ c  I" D' X0 f4 Q
if clk'event and clk='1' then
, [* ^$ V( P$ }if cnt=m then
% h+ ?3 K* W/ I5 [( W( ~clk_temp<='1';) F, j# J: |; ?8 ]8 D% r& v, c8 s
cnt<="000";7 ^9 E0 t- U% a4 K) r
else
5 j  b( T" p# t& n( Icnt<=cnt+1;
' k' R2 [& `! f; aclk_temp<='0';. p' l+ i. \+ ]& K. p6 o4 Z
end if;" N1 ^- v  f; r4 S  G9 Z
end if;
3 Z  c) q1 R6 w  [* Oend process; $ L% W' a6 h' b1 J7 k& o$ L
div7<=clk_temp;* D# O$ q9 a0 t0 ]5 r4 J6 c
end;
; ^/ o& W+ T  L( P
1 [: u  F1 m$ J( `0 D[ 本帖最后由 zgq800712 于 2008-11-17 10:38 编辑 ]

该用户从未签到

9#
发表于 2009-2-19 09:42 | 只看该作者
顶一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-20 05:49 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表