Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 錯誤訊息

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 09:03:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用軟體:MAX+plus 2
, }6 F1 c0 j! W8 |2 @* y- I, d3 m9 G% y% i
錯誤訊息:warning Line 101:File c:\documents and setting\adminstrator\桌面\anew.vhd:
, e3 s% c4 Q" z5 A5 M4 P3 R& QFuond multiple assignmengs to the same singal or signal bit"cutting0"in a Process Statement-
. m5 W2 a5 ?% @  _- Monly the lase assignment will take effect2 F7 J& {" Q+ F
程式說明:) Y, Q% u. K3 k- o$ u; B
entity anew is
+ X  i8 _- y) w- i% c1 w        port (
- }2 H7 K( |: U. d9 s- G7 g) |! C& b                clock:in std_logic;
, c6 x: n) e* o1 K7 \; L; U                enable:in std_logic;# M9 k# ]. ?4 D. R
                direction:in std_logic;/ c0 V& R- R( \. K. I  Q/ h# ~
                selection:in std_logic_vector(1 downto 0);
1 F9 h/ |& o4 L0 Q9 D! w                cutting:out std_logic_vector(3 downto 0);
4 P- {$ y# v! x# e0 N                phase:out std_logic_vector(3 downto 0));
2 P/ D( y% L+ r+ w' k. ^" {end anew;
3 o# C! ]  o( u( q. l# A( B; X, L( N- l  Y1 Q
architecture wena of anew is& R5 C2 Y# t& j% y9 ~! `
begin " S# a/ V6 {  S' n7 U# a
        process(clock,enable,direction,selection)5 A1 R8 O5 K) F6 T" A7 |
   
( Z# ^5 l( N5 e        variable countcut2:integer range 0 to 3;' M" q3 }) d" |" G, H
        variable countcut3:integer range 0 to 7;
5 ^  ^3 z+ x( y; W  X        variable countcut4:integer range 0 to 15;+ B8 l/ {3 \0 h1 i$ a" X; V1 L
        variable countphase:integer range 0 to 7;0 }: g$ R4 C9 {6 O7 {9 j$ S
        cutting8 m6 T0 n2 Q: n; a/ k5 E) q
宣告的四個variable均是對同一個輸出而設定
  e$ x+ v% z# i如果 variable countcut1:integer range 0 to 3;則輸出到cutting(1 downto 0)3 F1 T# h; t/ o) ~, P
如果 variable countcut2:integer range 0 to 3;則輸出到cutting(2 downto 0)$ d( M8 S6 W9 r1 I/ J  I/ l9 W
如果 variable countcut3:integer range 0 to 3;則輸出到cutting(3 downto 0): q3 s8 }# f9 Q5 a5 L( `# b
以上的指定是用 : case  is  when ...
. Y4 C7 r: v  j1 p/ _% C! V* c但四種狀態是個別發生
7 `+ F& D; {/ J" m( P, I  N; y1 @7 p  ?( ?! D
出現的訊息說不能重覆設定不然只以最後一個設定為準; ?& j" e3 ~' b8 J# V

. x- @  P$ G7 I* o請問有什麼方法可以解決此問題嗎2 ~2 X3 d/ b) j& _  D
因為不想設定這麼多支接角(epm7032)( j" D) b+ q  |- V
也有試過將cutting:out std_logic_vector(3 downto 0);
2 a( g  U0 }0 h再分成用alias的子集合..但也不行( R1 h* J6 J8 \% h
, ~6 h2 J; a7 \6 `, K
麻煩前輩指導
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-7-21 04:05:48 | 只看該作者
雖然不是很懂你的問題, 不過我想你可能試著對一個在相同的時間上io port給予不同的值, 在實際的電路會造合成器翻譯時的困擾
/ [1 g! S2 B8 j6 b' q6 Z如果同一個io port會有各種不同的輸出時, 最好是把case寫清楚, 而且最好是寫 full case
- ^: M1 m8 E8 j7 X# y  f: M0 }' u! u) B
另外alias只是為了增加程式的易讀或好維護時用, alias指令並不會直接影響合成器輸出的結果
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-24 03:52 AM , Processed in 0.153009 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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