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

重温VHDL语言-分频器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
library ieee;( s# T. r1 u! U4 j5 p% [8 r
use ieee.std_logic_1164.all;5 n0 \) q' s9 m3 ?) m9 o1 i
--------------------------------------------------------------实体
6 P! Y: Y# B( X0 i8 V$ k) R+ Z0 U2 qentity IRDA_DIV is$ f, y- I6 C# x4 I4 f# q
port(! r: d) V  z, t! P3 [
  CLK:in std_logic;; Y0 s6 t6 G7 I8 x/ k& {
  FO:out std_logic
, Z6 i4 q/ j: d3 q0 J' F! C  );% a& ~3 a) w1 y/ [" X  ?2 O
end IRDA_DIV;+ A* J7 }# Y( M  \3 S- w
--------------------------------------------------------------结构体
3 w/ a! l9 A4 D. |3 Garchitecture behav of IRDA_DIV is
! x4 t4 F/ w4 h6 u! z+ n2 M6 Xsignal count : integer range 0 to 48;
+ g9 j" O* k, n+ \1 p7 Zsignal fotemp :std_logic;) r! m: a! ?) R% v  H! _8 W7 q
begin2 p1 H8 I6 s9 s! J3 E* Q0 y

# y! u; J$ K/ E$ u" n1 [6 f0 c' sprocess(CLK)4 F$ }4 j: x$ g7 x
begin1 I% r) a0 X  K/ I/ C
if (CLK'event and CLK='1') then         -----上升沿触发
9 T8 ~9 K. l( p9 S9 p1 Wif count=47 then: m) R# H- F4 [6 z* {
  count<=0;5 O2 E  y2 |* z% l3 L
  fotemp<=not fotemp;' [5 ]1 d' S9 n
  else ) q  c* j0 s. t' a0 f, E1 d
count<=count+1;
: `4 ~4 H9 P* y( `4 w" Pend if;# Y8 y$ y# p8 A8 I  N
FO<=fotemp;
7 h7 W9 v* U: u. [end if;
8 Q. _2 @& I( A1 C) x5 G$ E' e: _( S9 R8 a0 q
end process;% Y- t0 S# a+ j  T( Y* d, G
end behav;
6 O: n4 P% q3 |1 m4 z& z$ H
# y6 _, s$ e7 @8 L( D& R7 O* U' k/ S/ U7 T

, E4 F, o+ U. w& c; h" G% Y3 n1 N在学校学了VHDL,用的也少,现在工作,正好要用VHDL弄个分频器;
  `% F' O  t/ U1 V& i2 e+ ZVHDL在学校也学的不好,现在重温一下;( v1 j9 k3 @2 V9 S- a
对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%占空比的分频,有时间就发上来;
! U- S, I) H4 A: m4 Z

该用户从未签到

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

回复 3# 的帖子

不是把!!!
" `8 z: [1 C5 U
( X$ X- U! c& {. H1 K. e) }; V  D! _[ 本帖最后由 zgq800712 于 2008-11-15 08:14 编辑 ]

该用户从未签到

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

回复

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

该用户从未签到

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 编辑 ]

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-21 08:45 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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