Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-6 18:22:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題.....: S3 [% \: Y/ A' k! H
先前都是使用verilog再寫code
" W. ?# M' K8 Q9 w. p8 }最近拿到前人的code是使用VHDL
% C- M" U% L% t( H. B5 R遇到一個問題我不知道如何將case 的state 宣告成 output port ) O8 B7 e2 H# N4 D6 ~* N' ]
想請各位大大 幫忙解惑一下
+ \/ ~4 ~7 m, m0 Z謝謝
! U& R* Z/ t8 \5 I5 T+ t
* W. [6 a$ @, \- ]8 Xcode 如下
* g5 P, G1 v# S& ?/ H: S1 b4 u
8 s# D% y( z0 q8 R/ S- u+ ? type state_s is (s0,s1,s2,s3 );  & c( t& T4 a4 o* {6 k2 }
  signal state : state_s ;
6 [" n8 h. Q: `- t, Z2 q   case    state is                   3 ]2 \. [5 E- n$ S0 X- Z% T
           when s0 =>
' u; F" C9 W: B2 c# Q3 M5 y             if (***)     then; e: [4 d9 q( V4 p* s# x
               state <= s1;; X6 F8 H: K9 g) v
                       when s1 =>. m9 |8 m* d- c( K. j2 Z: b5 m
                                 .
8 z6 U. r0 S9 Y                                 .2 V" _7 J7 o& ~; Z8 ~. M$ i
                                 .
6 |& P. B& z  i: F3 C' `9 i$ @1 H                                 .
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-10-7 21:53:44 | 只看該作者
您好
5 O8 q/ f4 F9 X8 ~! v7 R4 ?& V" I8 ?6 A4 `
  有一個方法,你的state狀態有四個,
. s8 V% s" n, {用SIGNAL  state :STD_LOGIC_VECTOR(1  DOWNTO 0);+ Y$ N: @" @7 Y5 ^
來取代你的狀態機宣告type state_s is (s0,s1,s2,s3 );  
3 w1 W4 Z+ ~+ P$ R  ?  signal state : state_s ;
9 Y0 W) W4 h4 \; C/ K5 G8 U: B  N) i0 z$ O2 n) a! q
然後就可以 state_output<=state;3 U* M4 l) }$ T
假設state_output宣告為輸出OUT STD_LOGIC_VECTOR(1 DOWNTO 0);9 q% Y) d+ C: a
0 n: e& Q. k6 K7 Y8 X: y
不過此法可讀性不佳,因為你要自己定義state={00,01,10,11}分別代
7 T. R& o2 w, n2 V" T3 [0 U表甚麼狀態! x0 R4 q5 I4 g% p

* I" K; z! z+ _1 A請問你的state為甚需要輸出?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-1 12:48 PM , Processed in 0.177011 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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