|
就是我在跑Modelsim的時候
2 `4 R* s3 F2 [, {) Q
4 g+ o& F6 L% g' A會出現以下訊息
?8 l- [& E% E2 `1 g2 h2 |
5 n, q- ~* u- d- ~: W9 y# -- Compiling module LD_feedback_0601+ V. W1 a( q1 }# T; e+ o; E
# ** Error: ld_feedback_0601.v(29): 'bias_set_t' already declared in this
& Z3 c, g' S! L0 e2 }1 K) D+ v; x% ascope (LD_feedback_0601).
) w0 d' H( J1 y& v! M0 ^8 ~# ** Error: ld_feedback_0601.v(1): Identifier must be declared with a port
9 c% {8 E( p Y; J0 K8 y7 Y6 ^. Rmode: bias_set_t.
% f! u+ q/ t, i0 b# ** Error: C:/ispTOOLS7_0/modelsim/win32loem/vlog failed., r* c4 e" s: y2 x; H8 ~3 H
) @# R, E4 M" i他指的是我bias_set_t宣告上有問題4 Y# s# j1 V9 A5 f- j4 D
! G& n! d5 o8 S: [% }+ t1 c+ O1 O
可是我以前這樣宣告都正常阿 ~"~7 Q5 T! F) r0 f$ {* h/ K/ a$ d
3 K7 |! i R9 ~7 V; ~
F2 o: u G! S
感謝解惑~
8 ~" X: S4 x3 e
( B2 {; P$ o- w...........orz
9 ]& a( V4 k6 G% y3 R: ~& R3 I4 J n( I4 h y" E, y
=============<程式碼~~~黃色部分~~~!!!>==================' g. Z4 k2 F3 I6 f' K6 j+ V7 O
module LD_feedback_0601(clk,rst,E1,E2,p,q,p1,q1,bias_set_t,show_a_t);$ G7 p4 d) I9 h' f" x( f$ S& b
; ?* j5 |& Y. j
1 Q* _! E: N: z4 i1 p
, V% [+ F+ ^* ]0 Y- Q8 minput clk,rst;
* ~. \8 X" T0 Y2 M- {* g4 }4 t% F( W# c: I7 i
input[7:0] E1 ;( T9 W& _2 E3 `
input[7:0] E2 ;
4 T- j* }4 I! N6 Sinput[7:0] p ;9 m7 O$ {; E, F
input[7:0] q ;/ M- I& v- l0 x* n. t5 a
input[7:0] p1 ;
7 q: n, j" p4 ?0 @ A+ uinput[7:0] q1 ;
Y |; D- [- {& l5 O0 Y4 }; g( W' D! g s, x8 `' K
6 {: i! S/ ]; Q3 e9 I+ U6 Qwire[15:0] k1;. K: O% p/ T2 @1 K* k5 \/ h
wire[15:0] k2;, r8 a8 y7 c5 z3 D/ d* P* M
wire[15:0] k3;8 a; J/ h. }" O$ }. O
wire[15:0] k4;
9 S" h- J/ E w E( N- V m$ o% {0 u+ X0 C; j1 k% K' W
4 f. V2 d. y+ ^# U
assign k1 = E1 *(q - q1);
& e% h! `% _, Gassign k2 = E2 *(p - p1);
5 Y( G1 Z9 s0 N+ q' T! O( tassign k3 = E2 * p1;3 {1 s% A1 S8 k1 Y2 f$ [
assign k4 = E1 * q1;
& B9 L' M0 s# g* C7 I0 ^
& a+ S) A! b5 ]: K: F//////////////////////////////////: a! W$ k9 r0 ], Q) V
reg[7:0] bias_set = 8'd8;. w, J' \7 R3 g- ?0 R
wire[7:0] bias_set_t; l* O5 j: ^9 H) x: I9 S
output[7:0] bias_set_t;6 a) u, m+ T# } t
# A" E9 K1 G+ j6 T8 n8 ?assign bias_set_t = bias_set;: K. f( F8 i( q5 `2 t& P( |" a
) l( ]: x. m5 U6 }: ~9 g. y
8 e; V9 G) Y) J |
reg[3:0] show_a;6 Y) w8 g7 q. y) q5 y" o
output[3:0] show_a_t;
1 ^8 \# }) d! [. g' W- vwire[3:0] show_a_t;
, d4 O. h5 ]3 ]( g( C, D5 {: h2 n
assign show_a_t = show_a;# y. [' q, }2 e: F, r E$ e% |
//////////////////////////////////
+ G @0 p5 f! o; \! l3 E- H# J+ c3 k6 g* Q
always@(k1 or k2 or k3 or k4)
% W- X7 M0 h5 E+ t
$ h( V6 C* k; b H& J7 Ybegin' Y. D: K6 N- s& h% F& d+ W$ C
if(!rst), v7 L/ D9 |* @2 j" L
begin
: A7 `. |5 U/ n show_a = 0;& S, ?8 Y# ]$ z# v% b& G
bias_set = bias_set;
# B) x/ i3 I G8 [/ R end 2 C- k: Q" @. k: g: R2 N
else if(k1 == k2)
) J; b, k( D6 X2 x4 l begin
! `& Y& W& k$ x2 J0 O0 n) A if(k3 == k4)/ c( I* r$ E* W7 r7 X
show_a = 3;
0 R# Y+ E4 H, y else if(k3 > k4 || k3 < k4)1 `: ?5 K# T* s( |
begin
- K+ B7 R' M8 R1 P3 q) g. |# ~ show_a = 0;
0 w( L& L, @3 L4 x0 O9 G& t bias_set = bias_set - 1;
+ I3 @ E# Y# D R4 _4 C& [8 r end; i8 g6 g' m- z" X x3 w2 e6 W
end |
|