Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 請問 VHDL case state 如何宣告成output pot

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....
+ ], L: {3 P  k+ n2 W- p先前都是使用verilog再寫code
& F. S6 ]4 G' H2 Y. f2 H0 H最近拿到前人的code是使用VHDL$ `1 Q+ y' I+ S" M& p5 \0 g/ e9 ]
遇到一個問題我不知道如何將case 的state 宣告成 output port - U- k5 s5 s8 z' S% x0 A
想請各位大大 幫忙解惑一下2 M! }( K! V/ B# v( G, W2 ^
謝謝! x) S1 @, ~) W+ H) y+ w

' f6 N0 X; @; q  Z& R6 I2 `code 如下: r) {) O  w, _  w0 q0 W

" @3 d2 O! N- v5 C" `2 Q0 G type state_s is (s0,s1,s2,s3 );  1 X9 y8 N; i  J8 m. F
  signal state : state_s ;
' Q& E4 |- s2 g4 D! \   case    state is                   ( j7 ~! [- P9 Q# q- [$ O
           when s0 =>* Y2 V) ^  r- P  p
             if (***)     then5 {  B9 @. V; b& M
               state <= s1;
$ ]- A2 G) ^, t. n* @/ i                       when s1 =>' a% s# Z# ~, g- S8 H/ J. P/ K
                                 .% T7 w6 N9 B# k7 A* P9 J
                                 .
# F4 c7 }' c, x& C& w                                 .9 i+ \6 ?1 l+ A# L  G$ q7 }
                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好
8 k6 v9 O4 G& `9 z; N3 Z) ^9 D: j* ^( X( |
  有一個方法,你的state狀態有四個,
9 U  F7 o* h' C6 o! M* j用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);
5 j( t& ?% d; k0 X4 f5 i' E來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  3 `9 I, d) E" T6 f
  signal state : state_s ;
7 A$ o, g) I2 }
2 g; b, s- i& [& }1 H4 @, o1 Y然後就可以 state_output<=state;: [, d6 b6 m  r* X' H* S4 h  _% I: p
假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);+ y- [8 Q) Q# X0 E0 s+ V) w
3 H$ O- I' J( M
不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代
) q- h: Z! }4 j5 n3 g1 X( A表甚麼狀態
; R! X& y& a- c2 r$ `8 K, t, e5 X
請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-1 10:11 AM , Processed in 0.179010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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