| VHDL로 롬을 구현해서 사용하려고 하는데
*.MIF 파일 없이 컴파일 하면 괜찮은데
파일을 첨부해서 컴파일 하면 컴파일중에
프로그램이 다운이 됩니다.
MAXPLUS 프로그램에 버그가 있는건가요?
MAXPLUS II 9.02 하고 10.2 버전 둘다 똑같습니다.
롬의 크기하고도 무관하구요
98, XP 둘다 해봤는데 마찬가지구요.
디바이스는 EPF10K40를 사용했습니다.
-- 파일명 rom1.vhd
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY lpm;
USE lpm.lpm_components.all;
ENTITY rom1 IS
PORT
(address : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END rom1;
ARCHITECTURE a OF rom1 IS
COMPONENT LPM_ROM
GENERIC(
LPM_WIDTH : POSITIVE;
LPM_WIDTHAD : POSITIVE;
LPM_ADDRESS_CONTROL : STRING;
LPM_INDATA : STRING;
LPM_OUTDATA : STRING;
LPM_FILE : STRING);
PORT (
address:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END COMPONENT;
BEGIN
LPM_ROM_COMPONENT : LPM_ROM
GENERIC MAP(
LPM_WIDTH=>8,
LPM_WIDTHAD => 8,
LPM_ADDRESS_CONTROL => UNREGISTERED,
LPM_INDATA => UNREGISTERED,
LPM_OUTDATA => UNREGISTERED,
LPM_FILE =>
om1.mif)
PORT MAP(address => address,q => data_out);
END a;
-- 파일명 rom1.mif
depth=256;
width=8;
address_radix=hex;
data_radix=hex;
content
begin
00 : df;
01 : 69;
02 : 2a;
03 : b1;
04 : 77;
05 : 3c;
06 : 6b;
07 : a4;
08 : b8;
09 : 87;
0a : 33;
0b : 6f;
0c : 8f;
0d : 59;
0e : 53;
0f : c9;
10 : c0;
11 : 57;
12 : 42;
13 : 96;
14 : 81;
15 : 2d;
16 : 74;
17 : 95;
18 : b6;
19 : 5e;
1a : 3d;
1b : 7c;
1c : 93;
1d : 53;
1e : bf;
1f : d0;
20 : d8;
21 : 87;
22 : 4b;
23 : b4;
24 : 9f;
25 : 31;
26 : 52;
27 : 81;
28 : 99;
29 : 5b;
2a : 28;
2b : 7d;
2c : 81;
2d : 4e;
2e : 42;
2f : c7;
30 : d3;
31 : 82;
32 : 50;
33 : 59;
34 : 7b;
35 : 2c;
36 : 56;
37 : ab;
38 : be;
39 : 7e;
3a : 3b;
3b : 6c;
3c : 9e;
3d : 31;
3e : 76;
3f : d6;
40 : d3;
41 : 74;
42 : 32;
43 : 8d;
44 : 93;
45 : 31;
46 : 68;
47 : b4;
48 : be;
49 : 53;
4a : 2e;
4b : 77;
4c : 71;
4d : 6f;
4e : 64;
4f : db;
50 : bd;
51 : 55;
52 : 9a;
53 : 87;
54 : 74;
55 : 26;
56 : 6e;
57 : 6e;
58 : ad;
59 : 56;
5a : 2d;
5b : 85;
5c : 97;
5d : 37;
5e : 7b;
5f : a7;
60 : d0;
61 : 9b;
62 : 4a;
63 : 9b;
64 : 88;
65 : 47;
66 : 61;
67 : b0;
68 : a5;
69 : 6e;
6a : 2b;
6b : 6a;
6c : 91;
6d : 41;
6e : 7b;
6f : ad;
70 : b6;
71 : 6d;
72 : 54;
73 : 95;
74 : 80;
75 : 4b;
76 : 5f;
77 : b5;
78 : 84;
79 : 65;
7a : 2b;
7b : 92;
7c : a8;
7d : 53;
7e : 81;
7f : d7;
80 : da;
81 : 69;
82 : 46;
83 : a8;
84 : 88;
85 : 28;
86 : 6f;
87 : a5;
88 : d4;
89 : 73;
8a : 3d;
8b : 81;
8c : 91;
8d : 5e;
8e : 54;
8f : c5;
90 : b3;
91 : 5a;
92 : 2d;
93 : 8e;
94 : 99;
95 : 31;
96 : 41;
97 : a3;
98 : b3;
99 : 5e;
9a : 38;
9b : 84;
9c : 98;
9d : 38;
9e : aa;
9f : cd;
a0 : c6;
a1 : 7e;
a2 : 2e;
a3 : 9b;
a4 : 87;
a5 : 29;
a6 : 42;
a7 : 9f;
a8 : 87;
a9 : 87;
aa : 21;
ab : 82;
ac : 8c;
ad : 6e;
ae : 3c;
af : cd;
b0 : c9;
b1 : 69;
b2 : 50;
b3 : 65;
b4 : 75;
b5 : 32;
b6 : 3e;
b7 : ad;
b8 : c4;
b9 : 7a;
ba : 31;
bb : 85;
bc : 98;
bd : 2c;
be : 6d;
bf : d5;
c0 : cd;
c1 : 65;
c2 : 38;
c3 : 9e;
c4 : 90;
c5 : 33;
c6 : 87;
c7 : 80;
c8 : a3;
c9 : 53;
ca : 28;
cb : 6a;
cc : 78;
cd : 40;
ce : 6f;
cf : c8;
d0 : bd;
d1 : 2c;
d2 : 33;
d3 : 8e;
d4 : 7b;
d5 : 24;
d6 : 64;
d7 : a1;
d8 : 78;
d9 : 53;
da : 2f;
db : 9c;
dc : c0;
dd : 3d;
de : 7f;
df : cb;
e0 : cb;
e1 : c0;
e2 : 4a;
e3 : a0;
e4 : 7d;
e5 : 35;
e6 : 66;
e7 : b2;
e8 : 99;
e9 : ca;
ea : 2a;
eb : 8f;
ec : b5;
ed : 3f;
ee : 36;
ef : c0;
f0 : cd;
f1 : 52;
f2 : 46;
f3 : 86;
f4 : 7b;
f5 : 29;
f6 : 5c;
f7 : b6;
f8 : b8;
f9 : 6d;
fa : 30;
fb : a6;
fc : a1;
fd : 32;
fe : 3e;
ff : dc;
end; |