|
// Read Memory7 S) s, j8 I/ j6 f/ t6 | _
task read_mem;# T7 t0 w+ [7 g2 ~# m4 u+ V
input [full_mem_bits - 1 : 0] addr;
3 S8 a' \) c8 r( E( W0 P output [DQ_BITS - 1 : 0] data;+ H8 b9 ]8 B6 \) R
reg [part_mem_bits : 0] i;. }& i# P* n! w% C8 y
begin# {, _ [# f1 W3 d0 D& C
`ifdef FULL_MEM4 Z. Y0 u8 S' t7 ?7 |9 b' [& p
data = mem_array[addr];
0 ?! G b7 A% c% T7 L" h0 |4 _ u`else% |8 I/ t% ?- d/ m% k$ p7 @
begin : loop1 x# \/ u5 y7 n' F, d+ y e
for (i = 0; i < mem_used; i = i + 1) begin: }2 Y# @3 E* f- }" r: \: K
if (addr_array === addr) begin) ~" b% {5 d1 n+ r. I
disable loop;
2 O+ ~& k: O; @( W. q) X" H end
9 N, i0 S0 D! \! O( A# w1 T end
5 G+ ~; E3 X9 b0 o end9 m2 L. S+ G" ~( I1 q
if (i <= mem_used) begin8 ^9 h# V' g5 p2 ^
data = mem_array; Y% _8 f. Z) X2 S6 ?' w( t
end
6 B5 q0 N. L6 _7 r" E`endif
5 [! R0 c' w8 z8 c; a, }# {, ?8 l end9 T2 S% h3 I: j& F( v. _3 K
endtask5 U. Y; ?- A, J* H
* `; [! F* i0 S" q
===========================================================================
! W( m9 Y6 ~- [' }, W上面這一段紅色在modelsim模擬時沒有問題!1 |" b$ Y6 p$ `( O8 a- {
但是在quartus編譯時被列為error!
) s4 P, T1 r5 g4 Y" J想請問一下差別在哪裡! |
|