|
1 | 1 | from pathlib import Path
|
2 |
| - |
3 | 2 | from pyfpga.vivado import Vivado
|
4 | 3 |
|
5 | 4 | tdir = Path(__file__).parent.resolve()
|
6 | 5 |
|
| 6 | + |
| 7 | +def prepare(path): |
| 8 | + return Path(tdir / path).as_posix() |
| 9 | + |
| 10 | + |
7 | 11 | pattern = {
|
8 | 12 | 'project': 'EXAMPLE',
|
9 | 13 | 'part': 'PARTNAME',
|
10 | 14 | 'includes': [
|
11 |
| - Path(tdir / 'fakedata/dir1').resolve().as_posix(), |
12 |
| - Path(tdir / 'fakedata/dir2').resolve().as_posix(), |
13 |
| - Path(tdir / 'fakedata/dir3').resolve().as_posix() |
| 15 | + prepare('fakedata/dir1'), |
| 16 | + prepare('fakedata/dir2'), |
| 17 | + prepare('fakedata/dir3') |
14 | 18 | ],
|
15 | 19 | 'files': {
|
16 |
| - Path(tdir / 'fakedata/vhdl0.vhdl').resolve().as_posix(): { |
17 |
| - 'hdl': 'vhdl', 'lib': 'LIB' |
18 |
| - }, |
19 |
| - Path(tdir / 'fakedata/dir1/vhdl1.vhdl').resolve().as_posix(): { |
20 |
| - 'hdl': 'vhdl', 'lib': 'LIB' |
21 |
| - }, |
22 |
| - Path(tdir / 'fakedata/dir2/vhdl2.vhdl').resolve().as_posix(): { |
23 |
| - 'hdl': 'vhdl', 'lib': 'LIB' |
24 |
| - }, |
25 |
| - Path(tdir / 'fakedata/dir3/vhdl3.vhdl').resolve().as_posix(): { |
26 |
| - 'hdl': 'vhdl', 'lib': 'LIB' |
27 |
| - }, |
28 |
| - Path(tdir / 'fakedata/vlog0.v').resolve().as_posix(): { |
29 |
| - 'hdl': 'vlog' |
30 |
| - }, |
31 |
| - Path(tdir / 'fakedata/dir1/vlog1.v').resolve().as_posix(): { |
32 |
| - 'hdl': 'vlog' |
33 |
| - }, |
34 |
| - Path(tdir / 'fakedata/dir2/vlog2.v').resolve().as_posix(): { |
35 |
| - 'hdl': 'vlog' |
36 |
| - }, |
37 |
| - Path(tdir / 'fakedata/dir3/vlog3.v').resolve().as_posix(): { |
38 |
| - 'hdl': 'vlog' |
39 |
| - }, |
40 |
| - Path(tdir / 'fakedata/slog0.sv').resolve().as_posix(): { |
41 |
| - 'hdl': 'slog' |
42 |
| - }, |
43 |
| - Path(tdir / 'fakedata/dir1/slog1.sv').resolve().as_posix(): { |
44 |
| - 'hdl': 'slog' |
45 |
| - }, |
46 |
| - Path(tdir / 'fakedata/dir2/slog2.sv').resolve().as_posix(): { |
47 |
| - 'hdl': 'slog' |
48 |
| - }, |
49 |
| - Path(tdir / 'fakedata/dir3/slog3.sv').resolve().as_posix(): { |
50 |
| - 'hdl': 'slog' |
51 |
| - } |
| 20 | + prepare('fakedata/vhdl0.vhdl'): {'hdl': 'vhdl', 'lib': 'LIB'}, |
| 21 | + prepare('fakedata/dir1/vhdl1.vhdl'): {'hdl': 'vhdl', 'lib': 'LIB'}, |
| 22 | + prepare('fakedata/dir2/vhdl2.vhdl'): {'hdl': 'vhdl', 'lib': 'LIB'}, |
| 23 | + prepare('fakedata/dir3/vhdl3.vhdl'): {'hdl': 'vhdl', 'lib': 'LIB'}, |
| 24 | + prepare('fakedata/vlog0.v'): {'hdl': 'vlog'}, |
| 25 | + prepare('fakedata/dir1/vlog1.v'): {'hdl': 'vlog'}, |
| 26 | + prepare('fakedata/dir2/vlog2.v'): {'hdl': 'vlog'}, |
| 27 | + prepare('fakedata/dir3/vlog3.v'): {'hdl': 'vlog'}, |
| 28 | + prepare('fakedata/slog0.sv'): {'hdl': 'slog'}, |
| 29 | + prepare('fakedata/dir1/slog1.sv'): {'hdl': 'slog'}, |
| 30 | + prepare('fakedata/dir2/slog2.sv'): {'hdl': 'slog'}, |
| 31 | + prepare('fakedata/dir3/slog3.sv'): {'hdl': 'slog'} |
52 | 32 | },
|
53 | 33 | 'top': 'TOPNAME',
|
54 | 34 | 'constraints': {
|
55 |
| - Path(tdir / 'fakedata/cons/all.xdc').resolve().as_posix(): {}, |
56 |
| - Path(tdir / 'fakedata/cons/syn.xdc').resolve().as_posix(): {}, |
57 |
| - Path(tdir / 'fakedata/cons/par.xdc').resolve().as_posix(): {} |
| 35 | + prepare('fakedata/cons/all.xdc'): {}, |
| 36 | + prepare('fakedata/cons/syn.xdc'): {}, |
| 37 | + prepare('fakedata/cons/par.xdc'): {} |
58 | 38 | },
|
59 | 39 | 'params': {
|
60 | 40 | 'PAR1': 'VAL01',
|
|
0 commit comments