|
// Read Memory# H$ U: E% U* ?0 k2 s
task read_mem;
5 G$ f$ t! W9 k; q input [full_mem_bits - 1 : 0] addr;2 g5 ]8 G1 Z5 i8 I! k' l2 ^1 p
output [DQ_BITS - 1 : 0] data;4 j. t& D+ u5 A! E
reg [part_mem_bits : 0] i;
" v+ T+ q) c4 t6 f2 Z+ _# I begin# M9 f0 D+ }& a- [6 h
`ifdef FULL_MEM
0 s: A& X; }# `% \ data = mem_array[addr];
2 L1 N% x3 Q4 K9 s; Y`else
4 ~2 ]( {" L0 X) l1 g begin : loop: Y4 U( w& i4 U; Y. L/ g, X* K
for (i = 0; i < mem_used; i = i + 1) begin9 L' P% o* U0 p
if (addr_array === addr) begin
' |7 i$ r4 s. ?3 B disable loop;
, m" Y6 K) O {1 S6 S end
; E8 @" D$ E1 R8 w/ | W end
- e5 v7 A. Y' E0 d9 u end
$ \; t& q/ s* C9 b if (i <= mem_used) begin& @6 v0 A0 L! N) R
data = mem_array;
" @7 L8 N, b9 O& L end( a! }3 `, B) r# D
`endif$ v6 L" H# P; b! Q( A
end
5 ]' R: L! d4 S" t* O; u( J endtask) L! L+ [( {, m( K- |4 H% t# g# Z
# l# j- d! T/ [2 x/ ]
===========================================================================
1 |( {1 N9 Y7 y; [5 L0 c上面這一段紅色在modelsim模擬時沒有問題!# ]9 n C3 b" t# {9 U
但是在quartus編譯時被列為error!2 ~ {, s Q" D
想請問一下差別在哪裡! |
|