|
// Read Memory' u8 a3 y$ x" p- S+ ^
task read_mem;
' B* Y& b2 J4 ?* U5 t input [full_mem_bits - 1 : 0] addr;
6 Y# G4 h# h& l& |# F0 y output [DQ_BITS - 1 : 0] data;, f3 S$ F% E: l5 i0 j
reg [part_mem_bits : 0] i;3 p2 X% k3 d2 B$ [7 {3 k9 S' G
begin8 C3 t1 I! G6 m# r4 s4 J8 F. `
`ifdef FULL_MEM. q# c; g: a% `) U) S6 \
data = mem_array[addr];. A( w- l" I; b: X
`else
" v: b: s" d# n4 r- w) Y begin : loop- B6 Z" t" [0 @6 q' L E
for (i = 0; i < mem_used; i = i + 1) begin
& U" e% U- G# ^1 F- t" | if (addr_array === addr) begin
' E$ ]8 _+ e; L3 o# y1 r disable loop;! s" M3 j6 P# [4 E; [
end) R3 T, `% O; }, d" F
end
* j' n3 S' i5 a. u; \6 i: e end# b7 L6 u9 I2 G) n" B
if (i <= mem_used) begin5 Y" c' j) R& I+ u+ A5 n% W
data = mem_array;+ [/ k: }6 Z5 S+ z5 ^- c
end
6 l) O: b8 }* o4 F0 o`endif
7 s5 A- ?. j7 `3 ?+ { end
( y; ]! @- T: L5 E* E# f( | endtask" B1 e5 W2 E9 G: L" T
5 k/ K9 P0 {: V. A: e' [- x& X===========================================================================
# j- X# @5 I/ p8 n9 Z! [! X上面這一段紅色在modelsim模擬時沒有問題!
. Z( E' d; g, d5 b0 \* G9 d# m7 o2 e但是在quartus編譯時被列為error!
. S/ j* z2 J) Z+ f$ ~想請問一下差別在哪裡! |
|