Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 3996|回復: 3
打印 上一主題 下一主題

[問題求助] 7段顯示器用when else 寫法

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-5-7 23:15:35 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
剛學FPGA/CPLD 現在學VHDL寫出7段顯示器。
$ v6 \; T5 h' F- g5 [entity sedg7 is! A+ d, H3 d/ u$ B
    Port ( S : in  STD_LOGIC_VECTOR (3 downto 0);7 P- q" X1 G, W( ]; B
           Y : out  STD_LOGIC_VECTOR (7 downto 0);" p5 h3 }: v' A. f# |
           a,b,c,d,e,f,g,p : out  STD_LOGIC);
1 Y/ {8 r: q! r- z+ A7 d+ H/ N9 cend sedg7;2 \6 ~& K+ d" j5 x9 s  g& y

; e9 t) }  I4 J5 K9 k/ Varchitecture Behavioral of sedg7 is9 F% u2 C0 X- c  U

' R6 c; E" P( g7 x% U" Z( G" v- Ibegin2 n# H' T+ Q- j; f! _  w4 F
        Y<=        "00000011" when S= "0000" else                0 M  g) h/ q( D7 l$ @
                        "10011111" when S= "0001" else       
2 q9 x$ z- }5 ^( r                        "00100101" when S= "0010" else       
* c2 Y7 Z  A# _+ m                        "00001101" when S= "0011" else        + Y/ f5 G  v9 _4 O( D" ~) ~, b
                        "10011001" when S= "0100" else       
, z& z  W4 O8 b7 E' e5 F                        "01001001" when S= "0101" else       
' B* J9 R6 s& G7 d4 I9 [* M) y                        "01000001" when S= "0110" else       
$ G: {- k3 R5 x; a" e                        "00011011" when S= "0111" else        ) ^' K- l7 ^0 _4 @( Q& c
                        "00000001" when S= "1000" else       
! P, W6 a4 V* e8 A, D                        "00001001" when S= "1001" else         
2 q3 W/ K: y+ n5 K$ P                        "00010001" when S= "1010" else       
  j4 n( `5 J2 ~  J! n5 d                        "11000001" when S= "1011" else       
* m+ p; ?! T4 ]; [                        "01100011" when S= "1100" else        ) H0 F* f! P" M. s% E: f6 I
                        "10000101" when S= "1101" else        . n7 G  Z3 M6 B
                        "01100001" when S= "1110" else        : g+ {- O3 p; r3 g2 {0 @& E
                        "01110001" when others ;   
5 f  P, A4 o+ Q" B9 A                       
- d# M8 [6 r1 [5 Z6 D2 ~* u+ f                        a:= Y(7);# M( m9 {0 }. f6 ]* ]9 j
                        b:= Y(6);# J1 N( G+ ?5 L. |. d
                        c:= Y(5);
7 G# J4 P% G  n, h9 D                        d:= Y(4);
4 B; h( Q6 t% L0 f# G7 e                        e:= Y(3);
6 m/ J+ W  `8 N/ q0 b+ S! w1 n                        f:= Y(2);
3 M% k0 s  h# {( O* i                        g:= Y(1);
, f; Z/ f2 p! B5 t* s- F                        p:= Y(0);  e: _+ p+ o5 m* }+ r
                SEL0<= '0';
8 _; E) V; i$ \* s( i9 |end Behavioral;
+ T; H* U6 T3 ?4 _& j3 Y; n
' |9 N$ K# C+ d) y0 ?! k0 t1 {7 S8 |, PERROR:HDLParsers:164 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 54. parse error, unexpected OTHERS/ \$ h  B/ c/ x7 Y8 w2 E8 j3 P
ERROR:HDLParsers:3312 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 64. Undefined symbol 'SEL0'.5 @* B5 {9 ?/ i9 U
一直錯誤~"~ 實在搞不懂... 誰可以幫幫我呢? 感謝~

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2008-5-14 22:45:18 | 顯示全部樓層
感謝囉!!後來我改成這樣, l7 K2 `1 a, h  b+ {5 k1 a
entity sedg7 is* z- D! K4 i) M- T* z) S+ n
    Port ( Enable : in  STD_LOGIC;& C7 O4 \- g" U, C
           X : in  STD_LOGIC_VECTOR (3 downto 0);5 t' |5 J  c( p" N7 _% r
                          a,b,c,d,e,f,g,p : out STD_LOGIC;* ]2 ^# N* p9 y4 |4 ?7 m9 n
                          SEL : OUT   STD_LOGIC_VECTOR (5 DOWNTO 0));7 ~) Y$ Y% D) F9 T6 ]6 e2 {
                          
2 B+ k5 ]& H$ s2 E1 L. }                          2 H3 w3 F! I" C8 ~; F* y3 @0 b8 \
( x0 m8 |" R8 G, x
end sedg7;/ y$ @2 W0 Q) }8 h* q
: C8 Q7 `7 C# U  D" B
architecture Behavioral of sedg7 is( ~! b( I5 }# r+ H* L
SIGNAL Y :  STD_LOGIC_VECTOR (7 downto 0);
6 F9 |4 |' c5 [: E0 bbegin
) Q0 o; X2 H% t: Q# L3 o. l                Y<=                "11111111" WHEN Enable= '1' ELSE
6 V" g9 {7 r7 u( |0 V2 w: k  m                                        "00000011" WHEN X="0000" ELSE
! [1 J2 J" k9 l  _* z2 Y$ E% A                                        "10011111" WHEN X="0001" ELSE8 q- L; L! A6 a) i! x- ]
                                        "00100101" WHEN X="0010" ELSE
( ~# N, ^1 b6 Z! u7 S+ {1 g                                        "00001101" WHEN X="0011" ELSE
  r  _& f1 L! O' ^( x                                        "10011001" WHEN X="0100" ELSE
$ o4 a- ~8 }& Z- i7 v                                        "01001001" WHEN X="0101" ELSE7 ?" c) n+ l5 a
                                        "01000001" WHEN X="0110" ELSE7 b! N' E1 q5 I9 I; }
                                        "00011011" WHEN X="0111" ELSE
, m0 \1 F& v4 T                                        "00000001" WHEN X="1000" ELSE0 V" @' i: l% a7 W# m% E
                                        "00001001" WHEN X="1001" ELSE, B5 i) {' ~: e* C5 k( u
                                        "00010001" WHEN X="1010" ELSE
! y7 u: B# z/ ?% A! z5 [                                        "11000001" WHEN X="1011" ELSE
/ d$ i0 D% c! J% V8 L2 X                                        "01100011" WHEN X="1100" ELSE
: a- p+ p) h9 J: G                                        "10000101" WHEN X="1101" ELSE, j4 G$ x8 K$ ?& [/ v
                                        "01100001" WHEN X="1110" ELSE
7 P, o- z# t2 |0 `3 m0 u                                        "01110001" ;
+ d6 H" k( {  [& ^        a<= Y(7);
0 X# `$ k4 @" {6 {( `7 e6 p        b<= Y(6);
" M9 d4 B; l7 Z( ~( D: H4 B        c<= Y(5);0 B: ~5 X8 B* g- G7 `" p9 m
        d<= Y(4);
+ Z) y  l. ?4 O% _% o: r        e<= Y(3);$ N# D# Q& d6 C5 }$ K
        f<= Y(2);
* p4 ]; [: O' G& E) P) ?! Z        g<= Y(1);
" g& F+ v$ Y( B        p<= Y(0);- e2 T" T" }  O
        SEL<= "111110" ;6 p; I" a! n  B& C( W5 Y9 \% s. X
end Behavioral;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-6 11:09 AM , Processed in 0.101006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表