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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
library ieee;6 z4 Z6 [3 l  k! ~  m
use ieee.std_logic_1164.all;, P3 Y+ Y" o& U
use ieee.std_logic_arith.all;
  e) ~6 f9 P" f$ suse ieee.std_logic_unsigned.all;
$ _* b, w9 l7 B5 l/ ?) A" r0 Z/ L2 Hentity time4 is' r3 W9 [2 e: R8 x( H
   port(ab    : in std_logic_vector(1 downto 0);$ r( ^1 c; s" s+ T
        clk   : in std_logic;5 S1 o& a$ N% h  r4 M: C
        pp,np : out std_logic);
: A/ Q& ]) {; \' Y0 Q) c' Wend time4;& C4 [  e  o3 h
architecture one of time4 is0 [# q; ~7 M- ]" M" ?
signal state : std_logic_vector(1 downto 0);
) `+ q$ P5 S+ R5 f4 ysignal ab_1  : std_logic_vector(1 downto 0);
: s1 q- Y% s, F6 ssignal spp,snp : std_logic;
" Z1 W7 }  v9 Abegin
* D6 Q% W5 O7 Q" E  process(clk,ab)6 W' n5 S0 d4 X: J
  begin) B) {" {5 B( \% U: j  i
  if(clk'event and clk='0') then ab_1<=ab;* L1 J9 L4 z5 D
  end if;% R# V: c5 Q3 n$ J: B" B8 @
  end process;& o- \0 U/ r4 H( G- Z: v! n/ c
  process(clk,state,snp,spp)* t9 ^6 x( G" M* U4 Y  O) D- W2 f
  begin! s" k6 Q  X( G; C
  if(clk'event and clk='1') then7 N- w) H% c+ e2 X, C
     if(ab_1="00") then2 m$ w5 e2 D* j( f+ z2 U
       case state is( f3 G0 K: Y! y: a' e* T
       when "10"=>state<="00";spp<=’1’;2 Z% m" s& W: ~+ r6 M
       when "01"=>state<="00";snp<=’1’;# W6 Z, K" S$ }; T; f* O
       when others=>state<="00";spp<='0’;snp<=’0’;
: q! E; C9 H5 _8 V. D1 O$ Z       end case;
0 e2 n3 A* @2 n1 k, E     elsif(ab_1="01") then+ X) K+ d- H. j/ x0 m+ J8 m
       case state is
! X$ O, V5 ], z- L       when "00"=>state<="01";spp<='1';
" z3 j. F# X# \( ]* ^, K9 {' j       when "11"=>state<="01";snp<='1';& x/ g6 i4 B! N5 C
       when others=>state<="01";snp<='0';spp<='0';
* `: }2 \" ^2 J8 C1 Y: P       end case;
5 O; k8 q7 n3 T# k     elsif(ab_1="11") then
: Z: a1 M% v$ E' D, w        case state is
$ A& d! M: q8 z8 c        when "01"=>state<="11";spp='1';
* [: ~, @6 H9 E! m1 D        when "10"=>state<="11";snp='1';
0 i2 g8 Z# d9 a3 I4 R/ h3 C4 q        when others =>state<="11";--spp='0';snp='0';
) o# H; X5 g0 c  D2 D        end case;
3 I5 E- A8 d: L8 W( L2 _$ {  u      else
, T  S! h' H" ?1 }3 c, l5 K* Q        case state is
- |7 F2 p+ B; o: e% |        when "11"=>state<="10";spp='1';
, n7 G+ A6 M2 [        when "00"=>state<="10";snp='1';
1 G6 v$ m% C2 P3 M. G        when others =>state<="10";snp='0';spp='0';2 \7 O0 r. g% t0 z/ v$ ?8 E5 j
        end case;: A4 t; h1 ?  b" Z, e& x  Z* c
      end if;/ B) U4 B7 y8 c3 \1 f9 Z0 \" A' N3 m9 r" E
  end if;) Y8 q( \; u% {/ X4 ~4 z% H
end process;
2 c5 I) |2 }# c! `/ R& W3 M" q   pp<=spp;% [) j3 }3 T# t  j% a$ S: h
   np<=snp;, N9 ~( D( x0 u( ]0 b( f! I# Y
end one;        
4 }  @  x! J8 N- \1 u3 d# A( U程序在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-7-19 18:36 , Processed in 0.109375 second(s), 25 queries , Gzip On.

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

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

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