Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....
  }5 T) }$ \" M3 g2 u先前都是使用verilog再寫code+ m) P4 z" ~" h
最近拿到前人的code是使用VHDL
& B. g1 `) f% T2 ?0 J$ x, ?0 D遇到一個問題我不知道如何將case 的state 宣告成 output port
; R+ q, x3 K& c想請各位大大 幫忙解惑一下& i% T; _/ M) T) h6 R* f5 z$ p" E3 G9 J/ O
謝謝
. b) n+ B. D5 t' R. K; {7 q
: `  ^- p7 F5 ]5 ]1 N( ecode 如下
" _1 j. P5 a% X1 [
2 ^/ M. N1 k9 q% G+ _ type state_s is (s0,s1,s2,s3 );  
; Q4 X' ]2 X2 }$ {7 C8 e  signal state : state_s ;$ J' D9 S2 [# Z0 [& Z
   case    state is                   # R/ L6 R+ [9 W) K
           when s0 =>
9 P2 @/ B0 p4 }# e  r5 |             if (***)     then. I5 \- ]& x% j/ q- n7 }: p) i
               state <= s1;
1 ~& z: b# w5 v+ W5 ^8 q                       when s1 =>
" ]2 D1 j0 Q" R- ~$ Q: h& c/ _, P3 T                                 .: }8 B, c( k0 y7 Y- h8 `
                                 .
$ I  X7 c6 {) G" i' P                                 ./ Z. P1 ]$ x% b4 h% [9 }
                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好" Z4 h+ [& C; G) k7 T

, L: {! v1 K/ `# b2 [  有一個方法,你的state狀態有四個,
- o" S: V3 M( p) S$ l用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);
- a5 |: a/ s% u' Z! q& ~+ M4 ~: u來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  
8 F9 X' T' X( W5 D9 a  signal state : state_s ;
. {5 f; Z" q. U( n4 U0 y3 O. U$ |# [: Z. S: g3 R" w
然後就可以 state_output<=state;  c2 Y- P# V, m: ], n. O
假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);" n4 [+ l% Q) Z
: ?) E# B2 v! }3 p7 |
不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代% P/ {, n8 b* d2 ?- J
表甚麼狀態
4 R+ Q) L  d9 R! U6 v: E& R6 Q# L, D; y# R- X6 e5 |
請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-1 01:00 PM , Processed in 0.168010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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