Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....8 z5 ^5 p3 q9 G
先前都是使用verilog再寫code
8 R$ F, t9 I4 ]9 s最近拿到前人的code是使用VHDL
) R1 U; b) d1 ^遇到一個問題我不知道如何將case 的state 宣告成 output port
5 m: y- _" ^6 i想請各位大大 幫忙解惑一下
* e* J: e0 j" i7 n謝謝
- B5 ]% l7 N  _  ?: c5 [3 y+ h/ r! R; C; w+ I7 _8 {+ {: A2 ]9 _
code 如下
8 @  ~# O8 E; \/ {" z8 U2 v1 @3 k/ ^; W+ Q( J3 D3 j8 N
type state_s is (s0,s1,s2,s3 );  5 e! n# z) a6 k2 g. j
  signal state : state_s ;& f6 p- }$ b9 t, x7 N
   case    state is                   ( ^. Z2 P7 t5 s7 p
           when s0 =>" B4 m5 j" {2 I& `
             if (***)     then
  j9 g( X% `2 K# g, e, K9 W  g, e  G               state <= s1;# m2 r/ d8 n9 O: m
                       when s1 =>
& W5 o' _; |/ `, A: ]& j                                 .
+ [- W9 V$ j, a                                 .2 Q2 W. e: Z3 X5 f$ f
                                 .4 B+ B$ h9 T$ X% w$ {$ j+ h6 j
                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好
4 a, S% @% o+ P& i2 j# m2 m$ T$ [7 T( t! V
  有一個方法,你的state狀態有四個,' c  x& }4 b7 h2 t1 H
用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);5 {, q3 s" a3 e5 W2 T& [
來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  
( B/ a8 `# w4 L1 G8 |% T  signal state : state_s ;
! w, S6 ]% S- k
/ B' i( u* c1 u# H' `- N+ P, A) W& W然後就可以 state_output<=state;
" B3 S" Z# T' }* U: H, \假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);/ v/ g1 P! m& l* `2 z  [# j# v# T

; ~0 }1 K# ~0 _6 \  r- ^不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代
3 w: @7 I2 x5 R# m) ^5 H/ A0 `表甚麼狀態5 i; l/ _1 m- Q# T
1 K& R& k3 c: l. C9 V$ p
請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-7 02:07 AM , Processed in 0.100006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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