Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 錯誤訊息

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 09:03:08 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
使用軟體:MAX+plus 2$ t- T, H( N  x- c9 M' @0 @
. C* Z" u1 d, ~8 p+ X1 R$ Q- k
錯誤訊息:warning Line 101:File c:\documents and setting\adminstrator\桌面\anew.vhd:
; }' G, i' j: o/ V* N* R/ ?Fuond multiple assignmengs to the same singal or signal bit"cutting0"in a Process Statement-& c6 @4 x' C9 ?8 n9 H9 q
only the lase assignment will take effect7 h4 q  S/ x6 }
程式說明:6 g; c6 l1 m( [  V. Q- P
entity anew is
" r; D7 X$ d! `# X9 e8 z4 E        port (
, j; ?: ~1 M, c* y3 R! T$ z7 E5 j! `                clock:in std_logic;6 A/ K, z! l9 b" w
                enable:in std_logic;
) r5 W1 N! b% W                direction:in std_logic;
9 P9 z0 K* E& w3 w; s" c                selection:in std_logic_vector(1 downto 0);4 N8 U9 x; Y3 [* Y
                cutting:out std_logic_vector(3 downto 0);& e) Q0 m& d& C& ^0 M: X
                phase:out std_logic_vector(3 downto 0));, g# @  Q; B% X) l2 G' A2 F
end anew;
/ A; P6 |- I- T4 ?& N& C/ d5 J3 ]9 I/ j( _7 I  b8 n" L+ R
architecture wena of anew is
" S5 x. t7 O3 w" }# ubegin
9 l. \9 e' n, @( w* v& y        process(clock,enable,direction,selection)
5 I+ A& z; y  d* C   $ G9 {" v2 H2 C. J0 H; c! G* M
        variable countcut2:integer range 0 to 3;& ~9 V( z( e1 M: E$ @5 s; C6 b: l- o+ E
        variable countcut3:integer range 0 to 7;2 \2 k0 `6 ]0 ?# J+ R
        variable countcut4:integer range 0 to 15;5 Q" n/ e& C  B4 u
        variable countphase:integer range 0 to 7;9 B$ p0 i  G* N( \* P3 t
        cutting3 \7 w. V4 [: D
宣告的四個variable均是對同一個輸出而設定
! l: ^! n$ \, P5 b& @2 O+ F如果 variable countcut1:integer range 0 to 3;則輸出到cutting(1 downto 0)
9 K+ h: y! N  f, h+ w2 F如果 variable countcut2:integer range 0 to 3;則輸出到cutting(2 downto 0)
6 J$ B0 e; X! X; n- Y7 K# g如果 variable countcut3:integer range 0 to 3;則輸出到cutting(3 downto 0)( ~9 K: |( s8 N( b
以上的指定是用 : case  is  when ...4 W( S4 i9 z( i" s# }7 C7 a
但四種狀態是個別發生$ z- S: Q4 T6 h5 v
& w1 l: j9 O+ ?/ e2 k
出現的訊息說不能重覆設定不然只以最後一個設定為準! }' n: u4 z2 p- t  I, A
: T$ \/ C) J- C' H2 M+ {8 ~
請問有什麼方法可以解決此問題嗎9 t; L" |7 T" Q
因為不想設定這麼多支接角(epm7032)& h" w% T' ?7 E' ?' V  C6 \
也有試過將cutting:out std_logic_vector(3 downto 0);6 l8 R& H3 q: w) B& D
再分成用alias的子集合..但也不行9 z4 ^* u$ w' s. g

$ c3 h4 N. k$ J- a- H3 M麻煩前輩指導
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-7-21 04:05:48 | 只看該作者
雖然不是很懂你的問題, 不過我想你可能試著對一個在相同的時間上io port給予不同的值, 在實際的電路會造合成器翻譯時的困擾
5 _' j% w. f4 p如果同一個io port會有各種不同的輸出時, 最好是把case寫清楚, 而且最好是寫 full case
' o0 `: Q# j' z. ?, i* i- R" g) ?, S) B, j" K% L2 k: x+ q; G
另外alias只是為了增加程式的易讀或好維護時用, alias指令並不會直接影響合成器輸出的結果
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-24 04:28 AM , Processed in 0.158009 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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