source: trunk/IPs/systemC/processor/Morpheo/Behavioural/include_mkf/mkf_xilinx_ise.info @ 2

Last change on this file since 2 was 2, checked in by kane, 17 years ago

Import Morpheo

File size: 5.6 KB
Line 
1#    This file is part of MKF.
2#
3#    MKF is free software; you can redistribute it and/or modify
4#    it under the terms of the GNU General Public License as published by
5#    the Free Software Foundation; either version 2 of the License, or
6#    (at your option) any later version.
7#
8#    MKF is distributed in the hope that it will be useful,
9#    but WITHOUT ANY WARRANTY; without even the implied warranty of
10#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11#    GNU General Public License for more details.
12#
13#    You should have received a copy of the GNU General Public License
14#    along with MKF; if not, write to the Free Software
15#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16#
17#    Copyright (c) 2004 Alexandre Becoulet <alexandre.becoulet@epita.fr>
18
19# used for rm -r with clean rules
20var_define              xilinx_rm_r     -r
21
22var_define              vhdl_m4_defines XILINX
23
24# Xilinx xst sythesis tool
25# (HDL language) .vhdl  ->      (netlist) .ngc
26# (HDL language) .prj   ->      (netlist) .ngc
27
28_if_var_eq              xilinx_target   
29  msg_warning           xilinx_target device not defined
30_end_if
31
32_if_var_eq              cmd_xilinx_xst
33 var_define             cmd_xilinx_xst          xst
34_end_if
35
36_if_in_path             {PVAR,cmd_xilinx_xst}
37
38 msg_info               Xilinx synthesis tool ({PVAR,cmd_xilinx_xst}) found
39 var_define             use_xilinx_xst          xst
40
41 command_add            vhdl    ngc     echo run -keep_hierarchy yes -iobuf no -ifn {SRC,.*\.vhdl} -ofn {OUT} \
42                                        -p {JVAR,xilinx_target} {JVAR,opt_xst} \
43                                        -ifmt VHDL | {JVAR,cmd_xilinx_xst}
44
45 command_add            prj     ngc     echo run -keep_hierarchy yes -iobuf no -top {SRC!,.*\.prj} \
46                                        -ifn {SRC,.*\.prj} -ofn {OUT} \
47                                        -p {JVAR,xilinx_target} {JVAR,opt_xst} \
48                                        -ifmt mixed | {JVAR,cmd_xilinx_xst}
49
50#                                        -uc {SRC!,.*\.prj}.xcf
51
52 clean_add              prj     ngc     {OUT!}.lso {JVAR,xilinx_rm_r}xst
53
54 command_add            vhdl    prj     for i in {SRC,.*\.vhdl} ; do echo "vhdl work $$i" ; done > {OUT}
55
56 command_add            vhdl.m4 vhdl    m4 -P {JLIST,-D,vhdl_m4_defines} {JLIST,-I,inc_dirs} {SRC,.*\.vhdl.m4} > {OUT}
57
58_else
59  msg_error             can't find Xilinx xst tool
60_end_if
61
62# Xilinx ngdbuild
63# (netlist) .ngc        ->      (design database) .ngd
64
65_if_var_eq              cmd_xilinx_ngdbuild
66 var_define             cmd_xilinx_ngdbuild             ngdbuild
67_end_if
68
69_if_in_path             {PVAR,cmd_xilinx_ngdbuild}
70
71 msg_info               Xilinx ngdbuild tool ({PVAR,cmd_xilinx_ngdbuild}) found
72 var_define             use_xilinx_ngdbuild             ngdbuild
73
74 command_add            ngc     ngd     {JVAR,cmd_xilinx_ngdbuild} {SRC,system.ngc} \
75                                        {SRC,.*\.ucf,-uc } {SRC,.*\.bmm,-bm } \
76                                        -p {JVAR,xilinx_target} {JVAR,opt_ngdbuild} {OUT}
77
78 clean_add              ngc     ngd     {OUT!}.bld netlist.lst
79
80_else
81  msg_error             can't find Xilinx ngdbuild tool
82_end_if
83
84# Xilinx ngcbuild
85# (netlist) .ngc        ->      (netlist) .ngc
86
87_if_var_eq              cmd_xilinx_ngcbuild
88 var_define             cmd_xilinx_ngcbuild             ngcbuild
89_end_if
90
91_if_in_path             {PVAR,cmd_xilinx_ngcbuild}
92
93 msg_info               Xilinx ngcbuild tool ({PVAR,cmd_xilinx_ngcbuild}) found
94 var_define             use_xilinx_ngcbuild             ngcbuild
95
96 command_add            ngc     ngc     {JVAR,cmd_xilinx_ngcbuild} {SRC,.*\.ngc} {SRC,.*\.ucf,-uc } \
97                                        -p {JVAR,xilinx_target} {JVAR,opt_ngcbuild} {OUT}
98
99 clean_add              ngc     ngc     {OUT!}.blc
100
101_else
102  msg_error             can't find Xilinx ngcbuild tool
103_end_if
104
105# Xilinx map
106# (netlist) .ngd        ->      (physical design) .ncd
107
108_if_var_eq              cmd_xilinx_map
109 var_define             cmd_xilinx_map          map
110_end_if
111
112_if_in_path             {PVAR,cmd_xilinx_map}
113
114 msg_info               Xilinx map tool ({PVAR,cmd_xilinx_map}) found
115 var_define             use_xilinx_map          map
116
117 command_add            ngd     ncd     {JVAR,cmd_xilinx_map} -u {SRC,.*\.ngd} -o {OUT} \
118                                        -p {JVAR,xilinx_target} {JVAR,opt_map}
119
120 clean_add              ngd     ncd     {SRC!,.*\.ngd}.mrp {SRC!,.*\.ngd}.ngm netlist.lst
121
122_else
123  msg_error             can't find Xilinx map tool
124_end_if
125
126# Xilinx par (place & route)
127# (physical design) .ncd        ->      (physical design) .ncd
128
129_if_var_eq              cmd_xilinx_par
130 var_define             cmd_xilinx_par          par
131_end_if
132
133_if_in_path             {PVAR,cmd_xilinx_par}
134
135 msg_info               Xilinx place and route tool ({PVAR,cmd_xilinx_par}) found
136 var_define             use_xilinx_par          par
137
138 command_add            ncd     par.ncd {JVAR,cmd_xilinx_par} -w {JVAR,opt_par} \
139                                        {SRC,.*\.ncd} {OUT} {SRC,.*\.pcf}
140
141 clean_add              ncd     par.ncd {SRC!,.*\.ncd}.par*
142
143_else
144  msg_error             can't find Xilinx par tool
145_end_if
146
147# Xilinx bitstream gen
148# (physical design) .ncd        ->      (physical design) .bit
149
150_if_var_eq              cmd_xilinx_bitgen
151 var_define             cmd_xilinx_bitgen               bitgen
152_end_if
153
154_if_in_path             {PVAR,cmd_xilinx_bitgen}
155
156 msg_info               Xilinx bitstream generation tool ({PVAR,cmd_xilinx_bitgen}) found
157 var_define             use_xilinx_bitgen               bitgen
158
159 command_add            par.ncd bit     {JVAR,cmd_xilinx_bitgen} -w {JVAR,opt_bitgen} \
160                                        {SRC,.*\.ncd} {OUT} {SRC,.*\.pcf}
161
162 clean_add              par.ncd bit     {SRC!,.*\.ncd}.bgn {SRC!,.*\.ncd}.par* {SRC!,.*\.ncd}.drc
163
164_else
165  msg_error             can't find Xilinx bitgen tool
166_end_if
167
168# Xilinx data2mem
169# (physical design) .bit        ->      (physical design) .bit
170
171_if_var_eq              cmd_xilinx_data2mem
172 var_define             cmd_xilinx_data2mem             data2mem
173_end_if
174
175_if_in_path             {PVAR,cmd_xilinx_data2mem}
176
177 msg_info               Xilinx memory update tool ({PVAR,cmd_xilinx_data2mem}) found
178 var_define             use_xilinx_data2mem             data2mem
179
180 command_add            bit     bit     {JVAR,cmd_xilinx_data2mem} -bm {SRC!,*\.bit}_bd.bmm \
181                                        -bt {SRC,*\.bit} -bd {SRC,*\.elf} -o b {OUT} \
182                                        {JVAR,opt_data2mem}
183
184_else
185  msg_error             can't find Xilinx data2mem tool
186_end_if
187
Note: See TracBrowser for help on using the repository browser.