Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-5-7 23:15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛學FPGA/CPLD 現在學VHDL寫出7段顯示器。
/ d1 r% l) z+ Mentity sedg7 is
5 D- Y, [4 O  [/ }7 y    Port ( S : in  STD_LOGIC_VECTOR (3 downto 0);% l% s7 c7 X& A" v- f8 H2 h
           Y : out  STD_LOGIC_VECTOR (7 downto 0);. [% d& \+ u' c: l2 }
           a,b,c,d,e,f,g,p : out  STD_LOGIC);
, a8 N$ p1 F2 P; L& a4 Dend sedg7;
6 N# u  E7 g' S% T' b
- n5 p$ E. f9 I; w/ }- Warchitecture Behavioral of sedg7 is
% Z6 D& o& k: w4 m  ?
' k) K9 o% C: g- b: tbegin8 I* k1 U4 g5 v8 M
        Y<=        "00000011" when S= "0000" else                : F2 m3 J  f/ k/ {4 l9 N
                        "10011111" when S= "0001" else        , e5 q9 @1 Q) l" s! `  O9 D
                        "00100101" when S= "0010" else        # [& H3 `) c  i' y  B: T
                        "00001101" when S= "0011" else       
0 I( l3 S5 B; @  e6 @9 [$ W                        "10011001" when S= "0100" else        $ r) C6 Y8 ?3 X" w7 W! @3 L; D
                        "01001001" when S= "0101" else       
8 N5 Y1 X" L8 f# ?/ `) ~8 ]) S, l                        "01000001" when S= "0110" else       
8 E7 ]( N+ Q! s- E% m                        "00011011" when S= "0111" else        6 @) _( u3 i- M4 G, {) D7 N, Q1 T" p
                        "00000001" when S= "1000" else       
! J1 Y9 F6 }% c. y                        "00001001" when S= "1001" else         
% R+ s" I4 R; }  Q' l+ u: j                        "00010001" when S= "1010" else        - X' W* X' b2 g0 `: @
                        "11000001" when S= "1011" else       
6 @8 z7 |  l6 @7 N                        "01100011" when S= "1100" else        2 y8 f2 H% [. T% T
                        "10000101" when S= "1101" else        , e: A$ t) S  ]+ y1 |
                        "01100001" when S= "1110" else       
. G/ @6 r% i5 r( k, }8 t: v                        "01110001" when others ;   
* j+ ?2 Q# p8 ~( n                       
" o0 ~4 z8 M4 l                        a:= Y(7);
6 \' J- a3 k. ]( ~3 _. t                        b:= Y(6);8 N+ g9 [8 ]( T1 A4 n3 _7 {$ p+ ~5 E
                        c:= Y(5);
9 t$ W( L/ U- q$ |2 O, I0 X% G3 K                        d:= Y(4);
8 D! W  _2 E! Y1 w$ G" G                        e:= Y(3);
7 ~, N4 e, ~9 J4 ?( \) @2 v6 U                        f:= Y(2);; }! u8 y+ L. N9 v( B! Y1 Z
                        g:= Y(1);2 C' [# ]2 O1 B
                        p:= Y(0);+ v) B/ {' _, S0 d0 \0 @
                SEL0<= '0';- \2 c& Z3 f7 n$ l7 E6 F
end Behavioral;
% h; v5 B: o6 `
; h3 `1 ]/ i& C+ t; ^7 r4 @$ GERROR:HDLParsers:164 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 54. parse error, unexpected OTHERS
2 m' S5 r0 X- M1 H2 l4 H( w2 VERROR:HDLParsers:3312 - "D:/ypj2008/4e2afpga/sedg7/sedg7.vhd" Line 64. Undefined symbol 'SEL0'.) O, ?5 ~+ U$ G( g  U, u% I
一直錯誤~"~ 實在搞不懂... 誰可以幫幫我呢? 感謝~

本帖子中包含更多資源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-5-8 09:27:49 | 只看該作者
您好
( m' l, ]) u3 }  @1.
: v: ^( _6 p  G Y : out  STD_LOGIC_VECTOR (7 downto 0);! b  i! z! ?; s
Y宣告為out 怎還可以指定給abcdefgp/ l* t- b0 M( ?* N- Z2 g2 c' A

( e1 J( ]2 Q! W& D& r$ x3 O* C2.5 w, y4 e, ?8 C1 {
a,b,c,d,e,f,g,p不能用":="要改成"<="
) D- O1 r$ q) D8 i" @
; t1 c9 Z' L; h! \; Y3.
' K  J) a( M% e" @& ^5 \# K, sSEL0沒宣告,怎會冒出SEL0<= '0';來呢; r$ f" f/ b2 q* l  @

9 W7 M/ b" f) T+ h. c: ?[ 本帖最後由 addn 於 2008-5-8 09:30 AM 編輯 ]
3#
發表於 2008-5-9 17:57:19 | 只看該作者

when else

改成這樣就可以了
% @4 c$ e6 h8 n+ L+ i$ {/ R+ Y  d" P/ G! B
entity segment_7 is2 U& `, {: f& ]5 ^$ R. g
    Port ( S : in  STD_LOGIC_VECTOR (3 downto 0);' t2 E, J% R; a
           Y : out  STD_LOGIC_VECTOR (7 downto 0));
- C+ k* J: ]! N2 g7 Wend segment_7;
1 ?; B/ H5 a! h0 D' e4 A1 V* [/ V5 H
architecture Behavioral of segment_7 is4 A) y0 i  u- W# _* `4 d

1 Q/ p1 h- Z' E/ L" R% dbegin
5 u: X" \( S& H' J" Z        Y<=        "00000011" when S= "0000" else                : B5 Q( L$ G/ _. X
                        "10011111" when S= "0001" else        
' Y. |6 U/ c5 b% `3 h" {                        "00100101" when S= "0010" else        2 U& X3 U- B% i. V
                        "00001101" when S= "0011" else        2 e5 R4 A% t+ {2 r- T# a$ J% [
                        "10011001" when S= "0100" else        
: U, m2 n' \& J( A                        "01001001" when S= "0101" else        
1 c% @( k1 j' d6 v                        "01000001" when S= "0110" else        4 t$ v' Z4 p* P: A
                        "00011011" when S= "0111" else        
: B8 N2 Y6 O1 m( k+ R- k                        "00000001" when S= "1000" else        
$ H* M' D4 ^9 E0 Y) h+ P                        "00001001" when S= "1001" else         
  N$ j/ e. h; l                        "00010001" when S= "1010" else        " j3 j- j- S1 w8 P: ?# X, o5 @
                        "11000001" when S= "1011" else        * x5 J- d# E1 y: @, U, b
                        "01100011" when S= "1100" else        
! b, W" }% p, _8 h6 m                        "10000101" when S= "1101" else        4 x& {6 W% u1 v) ?; `( i
                        "01100001" when S= "1110" else        
1 Y& r! ~2 x8 q% g3 V+ y3 O                        "01110001";    , ]1 V; P1 {6 P& l
                        8 M5 e$ B- `  C/ X4 D% b) P
end Behavioral;

評分

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

查看全部評分

4#
 樓主| 發表於 2008-5-14 22:45:18 | 只看該作者
感謝囉!!後來我改成這樣0 }2 m. I3 }$ y. n0 s' c3 i+ B' C! O
entity sedg7 is
& t8 w! F, p5 V5 C0 T    Port ( Enable : in  STD_LOGIC;- ^0 ?5 [) s. J7 Z
           X : in  STD_LOGIC_VECTOR (3 downto 0);
& O$ H# O! f7 c& P2 M2 Q8 r+ o                          a,b,c,d,e,f,g,p : out STD_LOGIC;. ~2 ]0 s5 w: n( D& L" D; ]% k( O% p
                          SEL : OUT   STD_LOGIC_VECTOR (5 DOWNTO 0));
8 N( D- i( f/ W; ^% G                          
( [1 v% T9 d2 w  g& W* i                          8 |) e$ X& D$ }3 L8 W: _! C

6 y' m/ Y% {/ Kend sedg7;: a& \  V! M/ k/ T/ Z

, k2 \7 \% m7 J! G4 G0 R/ Rarchitecture Behavioral of sedg7 is' `, j/ @% @1 a9 B5 t2 Z
SIGNAL Y :  STD_LOGIC_VECTOR (7 downto 0);: J7 V1 C5 W. H' A; E7 X
begin
& G6 g, ?! K% L* s                Y<=                "11111111" WHEN Enable= '1' ELSE
  [* l" h( K- ?                                        "00000011" WHEN X="0000" ELSE
/ S/ T8 ]) y+ T+ h8 f+ U9 p                                        "10011111" WHEN X="0001" ELSE, U: ^+ e6 `: A/ S% \! O
                                        "00100101" WHEN X="0010" ELSE
2 a) Z$ ]9 y" N. j8 z* Y% a0 i                                        "00001101" WHEN X="0011" ELSE
& v  Y1 W% C) E2 d& ^' t/ R                                        "10011001" WHEN X="0100" ELSE
" ~& k9 ~2 C9 z9 i0 I                                        "01001001" WHEN X="0101" ELSE
; R# `# M; w7 @; C5 o2 K7 n                                        "01000001" WHEN X="0110" ELSE" t- H1 f+ Q) A* q4 y- `
                                        "00011011" WHEN X="0111" ELSE
: U, h6 O) z( v                                        "00000001" WHEN X="1000" ELSE: v9 E! G+ n7 J! w- l8 B; Q
                                        "00001001" WHEN X="1001" ELSE" i. y. G. t5 J4 B+ ^
                                        "00010001" WHEN X="1010" ELSE+ R8 e  Q% J0 ^6 l
                                        "11000001" WHEN X="1011" ELSE: S& Q+ y2 @, `$ i, Y
                                        "01100011" WHEN X="1100" ELSE
, ]* Z! B3 Z! {" q9 t0 b; H+ Q                                        "10000101" WHEN X="1101" ELSE% r' Z. P- U% N8 Z' }2 o/ {
                                        "01100001" WHEN X="1110" ELSE
9 t* M; c' H/ S& `1 b                                        "01110001" ;* g. G. J9 [1 O( r
        a<= Y(7);
# F9 S6 Q4 g3 m( J; \        b<= Y(6);
0 N  e, `  f( R& V! t' ?        c<= Y(5);0 }! e# h, d6 S  w9 N" x
        d<= Y(4);
2 T* ]2 S! L, U! ]7 ~        e<= Y(3);8 x  C( o6 r2 j6 ^4 |% G
        f<= Y(2);. O2 A6 ]. N: D) Y
        g<= Y(1);
; M  V) ^2 w9 q. ~2 x) K        p<= Y(0);$ R. {7 d5 J! y6 C
        SEL<= "111110" ;. Q8 k' d4 y: w, k2 g& ]. g
end Behavioral;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 04:14 AM , Processed in 0.113014 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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