Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....4 ]+ Y. |( ?/ v" |0 k1 @, e
先前都是使用verilog再寫code8 D! u. ?9 x( Q  M6 @& v! F: o
最近拿到前人的code是使用VHDL
$ J1 y( a' J" l" Q3 O. |遇到一個問題我不知道如何將case 的state 宣告成 output port 4 u+ |9 k8 J) U# {
想請各位大大 幫忙解惑一下8 N" E' p) D% C- y" f' G2 q7 k; o
謝謝
4 P0 G3 l9 H7 e% w2 y2 h4 A2 H" v2 F, ]8 C
code 如下
; v6 O+ m: k, T3 U
, b  j  m8 g5 w% n, c+ c/ T type state_s is (s0,s1,s2,s3 );  
/ k" z4 e/ S( P+ m0 u* f$ m  signal state : state_s ;
/ F* @0 C) N1 h; B5 S   case    state is                   
2 U  {( R: F- x           when s0 =>9 Y7 X0 M5 q" s% x/ H
             if (***)     then$ Q7 l) i+ o: I- R# z7 q
               state <= s1;. M  B# `+ M1 ^( S% g: n3 T
                       when s1 =>$ Y& s; m& k( n6 |  g
                                 .5 E+ n& l6 N* U: X% t  I, F$ p
                                 .! m& W$ C. ~- P3 g% O4 a0 w
                                 .& b- b& k0 R$ d7 `; |" b
                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好- R6 _7 a5 \! V, O( S
, q/ ~1 z4 N0 z
  有一個方法,你的state狀態有四個,
2 a9 V# \: W- z1 z7 J用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);+ s6 Z4 D( Y0 N0 b' \
來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  4 M$ V4 X9 F" p
  signal state : state_s ;5 ~3 J# B3 n( W' ~/ p

; t* {. ?% v$ U1 D/ F$ r然後就可以 state_output<=state;( q$ c- s* }, D$ k
假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
% Z7 K+ L3 j6 W5 K1 V9 ^4 ?: H
1 c# P6 q4 i8 s* d不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代5 N" D. L$ k' M& R
表甚麼狀態, l' P2 \0 @3 _/ Y$ I/ h7 w& \, _
0 r+ I8 F" X4 _) P1 K" u% `
請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-27 11:47 PM , Processed in 0.100513 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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