Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-5-7 23:15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛學FPGA/CPLD 現在學VHDL寫出7段顯示器。2 \* D; S. D& V4 C" S
entity sedg7 is
. P. a( y  q2 y& f8 _5 z/ K" I" d& h2 H    Port ( S : in  STD_LOGIC_VECTOR (3 downto 0);; g2 a( P$ }3 y& T! j0 w
           Y : out  STD_LOGIC_VECTOR (7 downto 0);
: B9 l) ^! x# a9 y           a,b,c,d,e,f,g,p : out  STD_LOGIC);) H  Y; m% B! J% `! ?
end sedg7;
0 V7 @3 o% @) e! F0 t0 _8 j) F( r8 Q) |9 }
architecture Behavioral of sedg7 is
, b( x6 C5 A3 x1 l# R& E$ O, [  B- m0 R. e& z  i
begin
, I3 ~- r9 T3 v6 n% _        Y<=        "00000011" when S= "0000" else                & E* N6 n$ f! Z5 c  v
                        "10011111" when S= "0001" else       
4 @$ N# n+ N+ H# G& E                        "00100101" when S= "0010" else       
  \; p& k0 x9 q/ T/ q# C0 \                        "00001101" when S= "0011" else        % Q& ^9 {  G2 o; E6 x
                        "10011001" when S= "0100" else        ; Z1 W& q" ?0 I& M4 h8 I# x
                        "01001001" when S= "0101" else        ! h. D9 x9 i4 J* _2 ^/ Y, ]$ [. f
                        "01000001" when S= "0110" else       
" r; m  Q3 C' _3 J1 s- s# ]* W                        "00011011" when S= "0111" else        " t3 _: }  K  o1 a6 x
                        "00000001" when S= "1000" else        ( x" z9 ^; h4 ]4 T5 @
                        "00001001" when S= "1001" else          7 B, O  Y. i! B
                        "00010001" when S= "1010" else        1 S; g3 h' k, X, o: g+ D
                        "11000001" when S= "1011" else       
1 B! t) I/ t, N' ^  j4 S                        "01100011" when S= "1100" else       
& A* y- k$ @8 J* U3 T# f/ z                        "10000101" when S= "1101" else       
' n2 m6 J- @7 k9 q                        "01100001" when S= "1110" else        * i) p! A: s" ^- ]1 T
                        "01110001" when others ;    & z3 H0 ~4 l$ ~
                       
' N- P4 _' \, ^                        a:= Y(7);
: Z9 V" @7 E' W' v8 o                        b:= Y(6);
# a( E  l9 d- L                        c:= Y(5);: @6 T) G4 Z. u# X" m+ A/ a: \
                        d:= Y(4);2 d# O( z; A: T& s. ^
                        e:= Y(3);- B# a, E3 {, v7 m
                        f:= Y(2);1 y8 M9 Z! E- o0 a: I1 z& }
                        g:= Y(1);
% W" Z/ N! Z6 V                        p:= Y(0);9 o" j: ~) J! t/ n- F6 y$ a2 v
                SEL0<= '0';
, e6 F5 s+ M+ J: ~( |6 B* bend Behavioral;
7 t1 X+ j; z* t! L3 R1 M
8 u% |) |+ U" h& e& ~0 y# p- bERROR:HDLParsers:164 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 54. parse error, unexpected OTHERS/ k1 L7 k$ t4 }6 C6 F% D
ERROR:HDLParsers:3312 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 64. Undefined symbol 'SEL0'.
8 ]9 L5 v1 b2 D( w一直錯誤~"~ 實在搞不懂... 誰可以幫幫我呢? 感謝~

本帖子中包含更多資源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-5-8 09:27:49 | 只看該作者
您好* W4 d. L5 g7 X4 F; B) @
1./ v1 r2 ]- ~1 ?  q* m
Y : out  STD_LOGIC_VECTOR (7 downto 0);; e5 i7 f, ^" l
Y宣告為out 怎還可以指定給abcdefgp
- Q- ]. e# e0 e  X/ M/ R; B! z% _
! k. K) s3 \4 f- Y2.1 N+ K7 X$ z$ I8 |& e
a,b,c,d,e,f,g,p不能用":="要改成"<="
! O9 Y" X" r; I" F( }9 u# n+ j0 e# T3 w$ M
3.# i/ ~4 z- K6 d( z. @7 w
SEL0沒宣告,怎會冒出SEL0<= '0';來呢( R) @' ]( x0 D! B+ v

6 c! Z  s, u/ m9 F1 ?. e* @  t[ 本帖最後由 addn 於 2008-5-8 09:30 AM 編輯 ]
3#
發表於 2008-5-9 17:57:19 | 只看該作者

when else

改成這樣就可以了
6 K4 h8 g  Y- v  P; u
) h0 E, G( w0 G. }) ?7 a; Xentity segment_7 is
; D/ [" [5 ^& V! O  h# R$ P    Port ( S : in  STD_LOGIC_VECTOR (3 downto 0);
; }. h& t% N; S) ^; U           Y : out  STD_LOGIC_VECTOR (7 downto 0));
* B$ d- A: f# I( J. M1 J, c6 M- N" `end segment_7;/ N7 n; y  N3 i& _

; {8 m' I7 `' [$ Darchitecture Behavioral of segment_7 is/ L0 L0 R* Z/ c3 b3 x1 W7 J
# _/ q/ J  ^9 m3 R
begin& [, j$ n& z; ~* B, F
        Y<=        "00000011" when S= "0000" else                5 L2 X' f: q  `5 J6 F) K
                        "10011111" when S= "0001" else        + D4 I( a& \1 w- ]
                        "00100101" when S= "0010" else        5 Q% b5 s7 h0 r. O! O* u
                        "00001101" when S= "0011" else        # ^2 U1 h* \$ D, X+ c
                        "10011001" when S= "0100" else        
: w( S8 }6 K* U5 k  a                        "01001001" when S= "0101" else        0 O, G  A0 }" [7 K* k
                        "01000001" when S= "0110" else        
' z! [9 `5 k2 k0 g                        "00011011" when S= "0111" else        ( {) g- ^" t) m; A
                        "00000001" when S= "1000" else        
7 t, i, X. c: U0 E. }- ]                        "00001001" when S= "1001" else          / Q4 ~0 Y1 H/ E" [6 Z
                        "00010001" when S= "1010" else        - S# w6 K7 v0 f; i+ X' {" f: ~
                        "11000001" when S= "1011" else        " k; w. a! d9 @6 ^) K, l0 T) y
                        "01100011" when S= "1100" else        : Y9 L; f- D" g2 U, b2 l
                        "10000101" when S= "1101" else        
+ N. u/ H& j. B3 [" S                        "01100001" when S= "1110" else        3 I, p) i, r- I; }/ Z% b! l6 G  T
                        "01110001";   
6 y1 m- T9 M1 l% A4 E5 m                        
. B6 p2 z$ |4 Z4 Wend Behavioral;

評分

參與人數 1 +5 收起 理由
gto10620 + 5 兩個都是你回覆的!!感謝!!

查看全部評分

4#
 樓主| 發表於 2008-5-14 22:45:18 | 只看該作者
感謝囉!!後來我改成這樣
9 S$ `$ i6 _. q5 rentity sedg7 is
- U& t* [2 v3 S: v( G& e    Port ( Enable : in  STD_LOGIC;. f  O3 J" M) u  F
           X : in  STD_LOGIC_VECTOR (3 downto 0);
5 `; ^1 J" n9 K/ V  L9 A+ E) T" e                          a,b,c,d,e,f,g,p : out STD_LOGIC;2 v) I: J  Y8 O8 o/ U% k
                          SEL : OUT   STD_LOGIC_VECTOR (5 DOWNTO 0));
: {9 g" w2 C" B( f                          4 v2 f, k0 D! w) |- P1 f" I
                          ' j3 @( E* ^9 R( z( X

1 q- ~1 {' Z# l$ C0 yend sedg7;/ ^- X* [9 f8 A/ p+ \, X0 s

" A# W5 p2 L) O- J  qarchitecture Behavioral of sedg7 is; Y% A4 V; f* P* Q9 O
SIGNAL Y :  STD_LOGIC_VECTOR (7 downto 0);6 Y% r( R# K1 d; j2 V9 D
begin
! s$ M3 f7 I- p0 {  `                Y<=                "11111111" WHEN Enable= '1' ELSE
! ~" X( \! E# y' g/ K                                        "00000011" WHEN X="0000" ELSE7 k* ~; N: e/ g) X# S! g7 G
                                        "10011111" WHEN X="0001" ELSE
  ^2 w+ g8 ^! f8 m. E                                        "00100101" WHEN X="0010" ELSE- x; |8 S- z5 X! r" P  w
                                        "00001101" WHEN X="0011" ELSE
( l) H% u& Q  P                                        "10011001" WHEN X="0100" ELSE
" ^0 r$ A7 {0 f5 |; u  N                                        "01001001" WHEN X="0101" ELSE, |6 R& o* k. D3 M' d9 H/ E; @
                                        "01000001" WHEN X="0110" ELSE
# l1 R, Z3 m! m( P) W& O                                        "00011011" WHEN X="0111" ELSE. K! T0 K- u# ~# l5 K
                                        "00000001" WHEN X="1000" ELSE
- ^& a1 T& A: I! f% ~1 i                                        "00001001" WHEN X="1001" ELSE
9 ]9 l& [0 [/ R) A                                        "00010001" WHEN X="1010" ELSE. m: V7 {  ~: ~. q% L
                                        "11000001" WHEN X="1011" ELSE
' _5 C% G+ b& S                                        "01100011" WHEN X="1100" ELSE
- P/ h% b1 @2 s4 y; o                                        "10000101" WHEN X="1101" ELSE% v. F2 i" _6 o$ E5 c9 O. S$ i4 A
                                        "01100001" WHEN X="1110" ELSE
* B- |2 B9 e. j1 F$ L$ |! x- \                                        "01110001" ;! O+ m7 R7 x4 ]" L% m9 m
        a<= Y(7);% l9 r& Q# \& ]$ A7 _1 O( ]) b$ B
        b<= Y(6);* Q- j) r& f0 B1 L
        c<= Y(5);
% F6 A% t' v  G) z9 R5 U. D3 D! Y        d<= Y(4);
: \% I# g7 e: H4 k( I: _        e<= Y(3);: V8 E0 J" T3 ], A7 z6 p. C7 n
        f<= Y(2);1 L3 [; W/ _, |+ b8 I# n0 o
        g<= Y(1);
. |: ?3 O4 Z: e! U* J& {) j" x        p<= Y(0);  t( G# q6 k, F- W3 p' u
        SEL<= "111110" ;
* d3 B* }- u0 B, send Behavioral;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-19 07:12 AM , Processed in 0.169010 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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