Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....4 ~  T1 P# ?$ S5 d. l1 q, K, [
先前都是使用verilog再寫code0 z5 o4 P1 k" E' ]1 c  a) f) z! l9 a
最近拿到前人的code是使用VHDL
4 S1 H5 Y+ y' N/ Q% G遇到一個問題我不知道如何將case 的state 宣告成 output port . e  ^# q: z6 N  L% o7 P
想請各位大大 幫忙解惑一下2 ~) |0 O! j6 s5 H2 [
謝謝
% o3 u: C  [, u; f* |% E! L& j- l8 @* C% ?/ {
code 如下/ u2 [! L; W, }8 w' E: w

. I1 f' v+ c/ S! b type state_s is (s0,s1,s2,s3 );  , P) K( e/ z- z. d7 O
  signal state : state_s ;- L9 @* ^- ]/ {- v) ^
   case    state is                   2 Z+ ~1 s4 {; }1 x
           when s0 =>
; P, v" |: N. e3 k! V: h, p2 e             if (***)     then
4 K/ f! y+ w7 ]* ^* u5 i               state <= s1;
. C% G  _0 @8 |+ t2 l) s6 J                       when s1 =>$ i/ F8 ^1 g6 [, U1 c4 T
                                 .- k8 r& |% L! x& N
                                 .
- [/ h0 S7 G' |. ]- M4 _, ~                                 .) r8 E* w) l) x
                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好
# Y, K, {$ A  U
; ?( r4 K. l6 `$ P  g$ o. U  有一個方法,你的state狀態有四個,
- R( Z+ ?$ y; q9 f+ I( i用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);
% f/ U/ R8 p: Q( |來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  5 D( Y) T* x' i
  signal state : state_s ;# _- I7 `2 w6 F9 z& ^% a4 v

* ]9 V$ |/ x6 h8 [! f& Y然後就可以 state_output<=state;
- B9 I0 i! w0 w6 \" m假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
. p0 H- p2 y9 N$ \
3 `" o9 ?" N  y+ u, n不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代
/ S( `: ^' J, |, J& h# g表甚麼狀態
: E- h1 u6 H; {! Y! f- r; @1 N, V0 O
請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-25 02:55 AM , Processed in 0.154009 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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