Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] Verilog 宣告的小問題~

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 18:13:59 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
就是我在跑Modelsim的時候
8 B5 {0 E: E, I0 ~& t" J5 U( f
6 l1 ]6 d% D2 S6 ^& F  |. ]會出現以下訊息
, m, ~" ]8 u( b$ {' j. r( n# I
1 p3 S5 G0 ?- Y# -- Compiling module LD_feedback_0601: o3 q7 |5 I4 o" B  V' R' K+ a
# ** Error: ld_feedback_0601.v(29): 'bias_set_t' already declared in this
6 `. u4 }2 W' l6 H  @& tscope (LD_feedback_0601).
( U8 ~2 v  B/ ?1 Y1 w  U, ?% l# ** Error: ld_feedback_0601.v(1): Identifier must be declared with a port
$ E/ p5 g. m+ f; q( _mode: bias_set_t.
; }; x& z( Y* {& d, g6 h9 ^( j# ** Error: C:/ispTOOLS7_0/modelsim/win32loem/vlog failed.
. Q" k4 C% s( U$ T6 k6 c6 g
9 o6 ~! Y+ X1 O他指的是我bias_set_t宣告上有問題! V& |: I: a: U# I
. c7 K- Q' y" A1 S. B' ]
可是我以前這樣宣告都正常阿  ~"~
3 ?) W; d3 x% W1 {6 [  B, h
. E* K$ m9 T2 D% Q+ _6 k: v; M% G- e  E' ?
感謝解惑~
7 v. i& x0 s* Z2 S' A  N6 x/ C9 V' N
' ~- ^) X- t3 D* ?% V...........orz' }* x. ?) P: j0 ~

0 ]# \4 [6 G/ ?; d=============<程式碼~~~黃色部分~~~!!!>==================
8 _1 X" N) f! \8 D$ C/ _  Bmodule LD_feedback_0601(clk,rst,E1,E2,p,q,p1,q1,bias_set_t,show_a_t);  r% _6 X" q% ~; Q8 o* ^

6 ?* q, K3 }! m- h5 X9 }2 p4 z7 ]+ ~; k) _

& g  q5 ~" z+ J0 \& rinput clk,rst;
* K4 x2 Y8 f& y  E( Z3 e, [& j0 p" k8 {. }, c$ K$ r' C
input[7:0] E1 ;
2 t" ?* E- K6 Rinput[7:0] E2 ;) n9 ~, g% m2 b8 W- m& F+ [7 k! r( l
input[7:0] p ;8 S& S, A  T* s" m6 L3 B
input[7:0] q ;6 e2 I! A- E( w2 K  C0 I1 Y. Y
input[7:0] p1 ;" U# Y7 p- F$ W; g5 J
input[7:0] q1 ;
/ e* V  T4 t, J# I, y. y$ e1 v- R. s. d" p; R3 F+ N# J2 x5 D2 \# y
& s9 N3 Y' q4 R+ _1 d
wire[15:0] k1;6 L9 g( {7 E% O. S# U- u
wire[15:0] k2;
& x. T0 _0 o0 X  Kwire[15:0] k3;
( z% b+ m2 o: p# Wwire[15:0] k4;$ ?  _; S* A4 [

' [: Z. D- E7 W6 _9 r8 r0 q) b5 W8 M+ |
assign k1 = E1 *(q - q1);8 ~" i6 v: u) h5 _) h1 N, c
assign k2 = E2 *(p - p1);
+ P: m4 a: I% C+ Sassign k3 = E2 * p1;
4 r4 h  r* p! \$ h1 n% jassign k4 = E1 * q1;# G  `# {4 ]" Q+ {

! k5 F/ R% q1 S6 x# @1 C//////////////////////////////////
! m: O* O9 b) F+ `% Breg[7:0] bias_set = 8'd8;
4 b, A. \7 O7 |- y( ?wire[7:0] bias_set_t;$ [: s9 {9 e! w% x+ d
output[7:0] bias_set_t;/ y1 z6 l& p! Q, w/ ^$ x

, h, B# u! w- @" {2 W# eassign bias_set_t = bias_set;5 _& R; r' n  X* T, |+ i' C  q
. B. ]: a* j  U+ e7 x* `, w4 U
' T1 U( S$ g2 F! Z3 X
reg[3:0] show_a;" R0 C. K4 [2 ]/ f' j
output[3:0] show_a_t;1 I; Q* G' r' r! ^. y
wire[3:0] show_a_t;) q4 I& h! K) {" M! ~0 O

! G* ^2 i# M3 F- f! i! ~$ i8 D" Yassign show_a_t = show_a;4 n7 L  x; _3 q8 s* i
//////////////////////////////////

# [/ [' a" R5 r5 Q- X
3 J4 S  ]! b7 @& P$ x; s0 d7 Jalways@(k1 or k2 or k3 or k4)
8 f' |' A0 J4 R/ i
( @% N1 u! C' P- y! Tbegin
8 Q! v! B, R9 E     if(!rst)
" M; b) L4 E* ^" D       begin
5 P; s, T  J$ V* T' }* o       show_a = 0;3 R# D4 G* ]- P( ?1 ~/ S* c3 p
       bias_set = bias_set;
% k1 C2 x8 x  U) D       end
; l$ o4 N8 [1 N" n* \! D; U; R     else if(k1 == k2)
) e/ z# y& F/ o1 N, v0 x( ]2 R         begin
2 ^1 G% Y+ s  ^& `               if(k3 == k4)
) l  x3 Y' l7 d( O8 t) ]* Q& O                 show_a = 3;6 K+ h0 Z  L: L& D% l4 y
               else if(k3 > k4 || k3 < k4)
; G8 o& N( a0 t0 y                 begin
0 B$ o. f0 S% H6 s' V2 L- c& W                   show_a = 0;" j" F& U% V6 f3 N0 F8 }& ]
                   bias_set = bias_set - 1;
" k# v& F% k) D2 ~" D                 end9 }+ }' `, L( A' W
         end
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
6#
 樓主| 發表於 2009-6-2 22:56:34 | 只看該作者
感謝樓上...orz
+ J7 t! M3 }2 U* s5 t2 s
% n/ F# s# h/ o- f/ F0 D& j  Z
- h1 C7 J+ |1 L3 C2 y4 I真的OK了~
) r6 j& p, e6 C0 Z1 J8 B& ~0 |6 g$ H: R- k
我還需要多多加強~!!!
5#
發表於 2009-6-2 18:50:13 | 只看該作者
請改順序如下試試7 x/ E3 _' r7 [! d% [- \& w5 U; a

+ _7 ~+ U% I6 j) N1 o% poutput[7:0] bias_set_t;% _# v/ y" `! I" F2 X! v+ @% |# t
4 C; r9 N0 e/ A/ O, |- X
wire[7:0] bias_set_t;
# Z$ ~+ X, a% Y2 p5 xassign bias_set_t = bias_set;
0 h6 E2 }: {3 X' I6 B( ]) z
" V' {  y5 J! b- cGood Luck !( R! W; ^3 P& Z) Q0 h
% Z9 B( [! I  q8 |8 h/ a
[ 本帖最後由 Pegasus222 於 2009-6-2 07:29 PM 編輯 ]
4#
 樓主| 發表於 2009-6-2 18:16:03 | 只看該作者
宣告部分用黃色太失敗了, O0 n5 o; a5 A% z3 w9 `0 B3 Y

, T5 M1 i6 Q' w0 |0 R% U我重貼原文黃色部分
) V9 K' }1 Z8 [2 P/ h: x
% |8 Z0 ?8 v  r* p6 L! \& |//////////////////////////////////3 E" Y+ S  S* i, \  t6 V
reg[7:0] bias_set = 8'd8;( _6 V: G, f0 e$ I
wire[7:0] bias_set_t;
/ |7 J5 p1 f; }, O+ Coutput[7:0] bias_set_t;- y. q, K, x. r* C$ r4 d, U

/ d: i$ R. W$ B! G# eassign bias_set_t = bias_set;
$ J* l. e5 H, W$ W, X/ P2 t" i  u# W6 ^) r$ R* ?$ z( ]! h* f

+ Q7 \( r# F, v0 _2 h' treg[3:0] show_a;; b+ a6 D) w$ {3 @) N- @
output[3:0] show_a_t;. \. P# [4 K- S. B* u# X4 C7 W
wire[3:0] show_a_t;
: [8 X4 c( x' ~8 G( x/ K5 ^( M5 {% W9 h5 q1 g0 e+ Q6 q
assign show_a_t = show_a;
7 e3 H6 j8 O5 g& ?//////////////////////////////////
3#
 樓主| 發表於 2009-6-2 18:15:04 | 只看該作者
else if( k4 > k3 )
4 g. Q) @0 p9 o; }                begin
# i4 Q' x  F+ k  M% ^; p                        if( k4 - k3 > k2 - k1 )# l7 _! Q5 g# ~  h+ b$ @( a9 T
                          begin
5 P8 O, p) E7 f; d2 i, E                                show_a = 2;
- L: O9 J4 s" \/ X                                bias_set = bias_set + 1;                             0 g0 @: E+ [8 u( Z
                          end 6 J( m8 p$ Y! H4 p8 P6 u7 }" B

8 U. X9 G, T! }5 r% Y' T0 W, c4 ]- d9 @                        if( k4 - k3 < k2 - k1 ), b, j/ t' B' L; b& j
                          begin9 ?# J+ L6 d( `! k6 {' A7 L! G
                                show_a = 0;
9 d! _% A6 P8 Z+ _2 n; A4 W7 [7 F0 e5 ~                                bias_set = bias_set - 1;                             
5 w8 M8 k0 T: |# n- R                          end $ }. ?% B  z! X

5 _/ g4 Y8 E/ j0 ]' _8 C( s                        else if( k4 - k3 == k2 - k1 )
0 T% t; }5 `* S                          begin
5 ]: W+ A) u6 ]* i/ M# S. z* P1 [                                show_a = 1;, i. P) p( Q% m  [1 L7 X2 r) G+ P& h
                                bias_set = bias_set ;                             + ~" ]8 ]( \' F% ]- O' p. B# Q
                          end 5 U, W$ i' |  W/ I- ]' I
                end                         * Y& d; Y" D, b  b$ q& ]- \9 F
        end   j, a4 ?7 H0 X, {5 n! u" x6 d  T( }$ [
  l7 `4 x5 \7 L) G8 p- E
end
( ~' w' I, g- Y, x+ \$ x+ N; A9 L: x) x6 V
endmodule
2#
 樓主| 發表於 2009-6-2 18:14:50 | 只看該作者
else if(k1 > k2)
2 b6 Y7 P+ S* A/ }( I" N0 j. Y        begin
  E$ |! S) l9 |             if( k3 < k4 )
: M0 q$ T  o, V6 @( L                begin1 z+ w: y& Q- A+ k, n
                   show_a = 0;
9 c6 l5 q* C$ r6 \                   bias_set = bias_set - 1;                           
; p! v2 B* \0 n! }                end
& t( i2 A8 c9 W; O   $ v5 Z0 y" d* p  S6 A/ L9 H
             else if( k3 > k4 )' l- h+ |  S% ~( L% E1 j+ Z
                begin% [6 s1 M7 X$ H+ X: L0 M/ \/ d
                        if( k3 - k4 > k1 - k2 )/ i( v+ |7 c9 a/ v  L! y& n8 P. K
                          begin
' ?) ?3 D0 q4 \! L3 z& a) k                                show_a = 0;7 a" K7 z8 L& A: a
                                bias_set = bias_set - 1;                             
1 w0 n% a5 I/ W# T$ D                          end - _4 W1 t2 j, A$ t& m
3 Y9 H7 p6 w; w- y* Z
                        else if( k3 - k4 < k1 - k2 ). ^' r8 w6 X/ c- k: E* i/ L7 }
                          begin! D9 w3 d6 K* A. w6 S
                                show_a = 2;
$ {0 j( B8 S/ w( }* U& U                                bias_set = bias_set + 1;                             
0 w9 d. w6 b: [, K9 t                          end ( m: {+ s  |! K6 u
                        else if( k3 - k4 == k1 - k2 )
# v0 p/ y) s* m4 w! Q( y                          begin' `# T" Q  f# q4 M. ?
                                show_a = 1;
$ f$ {! k" h3 D7 o6 S7 Z$ j& w                                bias_set = bias_set ;                             , V& c! }- e  k9 j2 v3 S
                          end
0 f% c6 |$ d" M9 v! h7 f4 c* F8 }# M                end                        
# W! p, U: O$ }0 ]- I        end
( j- u3 Q, E2 m. ^. w5 w* s
0 W7 D0 x, M3 p/ [' @  ~4 G     else if(k2 > k1)( q  R. y4 Q( o$ K) p% b
        begin
# O% p) U% ?, _. d8 E, Z3 C) c5 o             if( k4 < k3 )
- s  D0 p9 [" l3 s' f                begin
" f' ~# Y, {4 y9 \  u) a                   show_a = 0;  p( b4 W7 G% O. P
                   bias_set = bias_set - 1;                           
: w* E/ ?- m6 u. b) y                end
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-30 02:29 PM , Processed in 0.112515 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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