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

请教四细分辨向电路的VHDL语言描述

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-22 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
library ieee;
2 d# |& i. d8 `. {* V+ Wuse ieee.std_logic_1164.all;
0 H" O% R* L, h% _# Ouse ieee.std_logic_arith.all;
4 @5 X5 S. a1 w% V+ P: Euse ieee.std_logic_unsigned.all;# u% d9 m; ?; t( S* w6 p
entity time4 is7 _+ L7 V! ^8 D; f
   port(ab    : in std_logic_vector(1 downto 0);
/ e; O  D& s4 c& s6 P$ k6 |        clk   : in std_logic;
# f( j( \7 s. g        pp,np : out std_logic);$ v( c/ L% X6 r- G7 D+ p1 p+ I! y
end time4;# b, F8 [6 N5 s+ i9 U' N
architecture one of time4 is
, b6 W/ L4 e1 j5 a, P: u7 asignal state : std_logic_vector(1 downto 0);+ [6 _( m: b, ]  p& C. X* R
signal ab_1  : std_logic_vector(1 downto 0);
$ ^2 d7 e* O: zsignal spp,snp : std_logic;! P0 H5 l' E( L, b) j
begin
# I6 h% {1 S) _0 J0 E: G4 q7 ]  process(clk,ab), {* p; o5 u# W% U0 P8 ~, B: g0 C8 q
  begin
$ P: K% t' g3 Q: X) v  if(clk'event and clk='0') then ab_1<=ab;
0 G6 c: B- C: p# L! x% @4 a9 s1 V  end if;
# n$ N9 ~9 ^4 O  end process;
3 y4 h8 @3 I3 I% b  process(clk,state,snp,spp)
2 B# ?! t% S& C  begin- x  @8 D- U8 z9 J8 F& V
  if(clk'event and clk='1') then3 Z, _  {0 o' N; B) V3 {, N- e4 F4 M
     if(ab_1="00") then& Z, c0 H1 A  w0 e
       case state is
! N0 r5 _4 R. F6 \9 \* g: Q* E* l       when "10"=>state<="00";spp<=’1’;& \1 M. U% s% Y- c: S! M6 Y
       when "01"=>state<="00";snp<=’1’;
! D- ?5 t0 P  ^* a+ ^. ], e       when others=>state<="00";spp<='0’;snp<=’0’;0 g& D7 Q' N, z: A, {
       end case;* t- d7 l# ~  y
     elsif(ab_1="01") then3 w1 p! N0 ?$ d1 X" \! M
       case state is6 l0 E5 q; s! ^; j9 w
       when "00"=>state<="01";spp<='1';
. v3 K& F( s( x: I" d- r7 y       when "11"=>state<="01";snp<='1';
1 r( ^* k- e) p       when others=>state<="01";snp<='0';spp<='0';& B. r4 v# [. m, F% [" D
       end case;
. F( Z! l* v+ }9 r# A& v- t     elsif(ab_1="11") then
6 W5 U( i: V+ q6 p9 ?        case state is
9 q2 S# ^/ T$ O# q3 H; a        when "01"=>state<="11";spp='1';
0 ?4 z8 z! B) C# X3 P3 T        when "10"=>state<="11";snp='1';% m2 l, R/ {4 r7 f( k% `" o( O8 a9 E
        when others =>state<="11";--spp='0';snp='0';
- y" {" q' a2 r% E* i        end case;
1 ~& L. h4 G! j: l& Z7 W2 o      else
- m7 f! o0 O. B8 o* h        case state is" y8 k1 X* I0 [* S
        when "11"=>state<="10";spp='1';
1 I  J8 o& N9 j8 O* c. y        when "00"=>state<="10";snp='1';$ E2 j' H* Z/ c! a8 W2 c
        when others =>state<="10";snp='0';spp='0';
  ]% h* ^$ q5 t3 ^        end case;
4 t- O) g1 V% Q- U& p& V1 {      end if;3 D6 N" i4 Y8 t: C2 B
  end if;
7 q/ A# G! \. {1 F2 {4 ^end process;
; X: O: H+ e9 n- }/ C   pp<=spp;' K+ |) L% O8 {. N( y
   np<=snp;0 \( e3 V0 v& M0 h% G' n+ ?
end one;        
  A0 H- N+ P" H- b/ z程序在QII中老是错误,请大虾们帮帮小弟!

该用户从未签到

2#
 楼主| 发表于 2010-4-22 15:39 | 只看该作者
case语句表示state的变化后不能给spp或snp赋值吗?

该用户从未签到

3#
 楼主| 发表于 2010-4-22 15:39 | 只看该作者
没人吗?

该用户从未签到

4#
发表于 2010-5-14 14:56 | 只看该作者
if(clk'event and clk='0') then ab_1<=ab;    单靠下降沿没法赋值

该用户从未签到

5#
发表于 2010-5-14 14:57 | 只看该作者
if(clk'event and clk='0') then ab_1<=ab;    单靠下降沿没法赋值

该用户从未签到

6#
发表于 2010-5-14 15:52 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 05:19 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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