Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 錯誤訊息

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 09:03:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用軟體:MAX+plus 2
- M( V8 h: m* Z+ S, K; J! t( V) G5 o0 g! \& Z8 f, ~6 g/ I
錯誤訊息:warning Line 101:File c:\documents and setting\adminstrator\桌面\anew.vhd:
4 C2 g; R4 I0 a! mFuond multiple assignmengs to the same singal or signal bit"cutting0"in a Process Statement-
4 a; A/ H: ]7 q  S9 Q) U' Monly the lase assignment will take effect5 E4 x7 l7 N) T3 ^( G
程式說明:
$ E2 I! }; T3 S7 p! K' a7 D+ eentity anew is8 i0 a- V: L' Y% {
        port (9 l( j/ S  y# i3 Z; z$ }0 ~% p
                clock:in std_logic;
6 i% O1 y4 E  A$ L6 d- r! Z                enable:in std_logic;
5 ~  ^& S8 G# a( V+ \' l& ]3 Q( |                direction:in std_logic;
) `: c, j, l$ H3 L" A                selection:in std_logic_vector(1 downto 0);
1 l1 R% H6 r: Z8 @                cutting:out std_logic_vector(3 downto 0);
9 c6 J1 w9 G$ @5 n* S                phase:out std_logic_vector(3 downto 0));
1 h7 o7 G* Z3 B& wend anew;
) R9 _7 _6 E! M) D( ~/ d% z/ L" h2 W" M# G% Q! |4 Q
architecture wena of anew is
0 @0 o* w: C0 L" ~# Dbegin
/ B$ C0 ~9 F+ V. K, p        process(clock,enable,direction,selection)
$ z# I) e5 N+ j1 h, F& S/ h   7 s! V' f  A& N2 o3 ~& I
        variable countcut2:integer range 0 to 3;
" j1 |" q. G0 Q5 }2 `        variable countcut3:integer range 0 to 7;
" m% Q% i# p, n        variable countcut4:integer range 0 to 15;
% D+ i) B+ L9 w) n  e        variable countphase:integer range 0 to 7;
2 Y  B3 u1 a3 g# @% \. I        cutting
/ n+ W) }9 K& T  I宣告的四個variable均是對同一個輸出而設定( i+ |; s. d, g
如果 variable countcut1:integer range 0 to 3;則輸出到cutting(1 downto 0). n+ {% o4 p+ Y$ K. J
如果 variable countcut2:integer range 0 to 3;則輸出到cutting(2 downto 0)
; v3 f. F' |/ t' G% b8 w如果 variable countcut3:integer range 0 to 3;則輸出到cutting(3 downto 0)
5 p* {8 {6 _1 ]# ^5 ?2 E以上的指定是用 : case  is  when ...
: m) Y1 E' a3 J但四種狀態是個別發生& \! W" C7 ^3 W, X; o) M, R4 [
/ r8 F% t  U& ^0 J( x& E
出現的訊息說不能重覆設定不然只以最後一個設定為準$ B+ T$ Q) w& W" b% P0 |9 \2 ]
# S* |. D! i/ P; n+ n: V4 e
請問有什麼方法可以解決此問題嗎
5 Y+ n/ d* L& \+ o4 ~" A因為不想設定這麼多支接角(epm7032)
! i8 o4 t4 x( ^也有試過將cutting:out std_logic_vector(3 downto 0);
0 z& q" G2 U" y& }2 R# I2 R8 T. v再分成用alias的子集合..但也不行0 k8 V/ ^% ?6 z' P( C3 U

* {/ t. r) U  N/ u6 b4 E麻煩前輩指導
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-7-21 04:05:48 | 只看該作者
雖然不是很懂你的問題, 不過我想你可能試著對一個在相同的時間上io port給予不同的值, 在實際的電路會造合成器翻譯時的困擾; N4 ^8 \5 S* ~5 O" Y
如果同一個io port會有各種不同的輸出時, 最好是把case寫清楚, 而且最好是寫 full case
7 {) ~2 W: v; E- s! Y  B' N) _7 R5 Y) a9 ^
另外alias只是為了增加程式的易讀或好維護時用, alias指令並不會直接影響合成器輸出的結果
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 12:15 PM , Processed in 0.103513 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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