OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [synthesys/] [run_ise] - Blame information for rev 135

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
eval 'exec `which perl` -S $0 ${1+"$@"}'
2
   if 0;
3 135 jt_eaton
#/****************************************************************************/
4
#/*                                                                          */
5
#/*   SOCGEN Design for Reuse toolset                                        */
6
#/*                                                                          */
7
#/*   Version 1.0.0                                                          */
8
#/*                                                                          */
9
#/*   Author(s):                                                             */
10
#/*      - John Eaton, z3qmtr45@gmail.com                                    */
11
#/*                                                                          */
12
#/****************************************************************************/
13
#/*                                                                          */
14
#/*                                                                          */
15
#/*             Copyright 2016 John T Eaton                                  */
16
#/*                                                                          */
17
#/* Licensed under the Apache License, Version 2.0 (the "License");          */
18
#/* you may not use this file except in compliance with the License.         */
19
#/* You may obtain a copy of the License at                                  */
20
#/*                                                                          */
21
#/*    http://www.apache.org/licenses/LICENSE-2.0                            */
22
#/*                                                                          */
23
#/* Unless required by applicable law or agreed to in writing, software      */
24
#/* distributed under the License is distributed on an "AS IS" BASIS,        */
25
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
26
#/* See the License for the specific language governing permissions and      */
27
#/* limitations under the License.                                           */
28
#/*                                                                          */
29
#/*                                                                          */
30
#/****************************************************************************/
31 131 jt_eaton
 
32
 
33
############################################################################
34
# General PERL config
35
############################################################################
36
use Getopt::Long;
37
use English;
38
use File::Basename;
39
use Cwd;
40
use XML::LibXML;
41
use lib './tools';
42
use sys::lib;
43
use yp::lib;
44
 
45
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE.
46
 
47
 
48
############################################################################
49
### Process the options
50
############################################################################
51
Getopt::Long::config("require_order", "prefix=-");
52
GetOptions("h","help",
53
) || die "(use '$program_name -h' for help)";
54
 
55
 
56
 
57
 
58
##############################################################################
59
## Help option
60
##############################################################################
61
if ( $opt_h or $opt_help  )
62
  { print "\n run_ise vendor__library  syn_library_path chip_name chip_part";
63
    print "\n";
64
    exit 1;
65
  }
66
 
67
 
68
#/**********************************************************************/
69
#/*  Process each library by finding any ip-xact file in any component */
70
#/*                                                                    */
71
#/*  Each ip-xact file is parsed and it's filename and the names of any*/
72
#/*  modules that it uses are saved.                                   */
73
#/*                                                                    */
74
#/*                                                                    */
75
#/**********************************************************************/
76
 
77
my $home              = cwd();
78
my $prefix         = yp::lib::get_workspace();
79
 
80
 
81
my $vendor           = $ARGV[0];
82
my $library          = $ARGV[1];
83
my $syn_library_path = $ARGV[2];
84
my $chip_name        = $ARGV[3];
85
my $chip_part        = $ARGV[4];
86 135 jt_eaton
my $chip_tool        = $ARGV[5];
87 131 jt_eaton
 
88
 
89 135 jt_eaton
print "CHANGING TO === ${prefix}/${vendor}__${library}${syn_library_path}/${chip_tool}/${chip_name} \n";
90
chdir  "./${prefix}/${vendor}__${library}${syn_library_path}/${chip_tool}/${chip_name}";
91
 
92 131 jt_eaton
$cmd ="echo \"run -ifn ./filelists/${chip_name}.ISE -ifmt mixed -top $chip_name  -ofn  ${chip_name}.ngc -ofmt NGC  -p $chip_part -opt_mode Speed -opt_level 1 \" > Yst;   \n";
93
if (system($cmd)) {}
94
 
95 135 jt_eaton
$cmd = "xst -ifn ./Yst -ofn ${chip_name}.log\n";
96
if (system($cmd)) {}
97 131 jt_eaton
 
98 135 jt_eaton
$cmd ="ngdbuild -dd _ngo -nt timestamp -p ${chip_part}  -uc ./target/Pad_Ring.ucf ${chip_name}   >>${chip_name}.log \n";
99 131 jt_eaton
if (system($cmd)) {}
100
 
101
 
102 135 jt_eaton
$cmd ="map  -p  ${chip_part}   -ir off -pr off  -c 100 -o ${chip_name}_map.ncd ${chip_name}.ngd ${chip_name}.pcf >>${chip_name}.log\n";
103 131 jt_eaton
if (system($cmd)) {}
104
 
105 135 jt_eaton
$cmd ="par -w  -ol std  ${chip_name}_map.ncd ${chip_name}.ncd ${chip_name}.pcf  >>${chip_name}.log\n";
106
if (system($cmd)) {}
107 131 jt_eaton
 
108 135 jt_eaton
 
109
$cmd ="trce -e 3  -xml ${chip_name} ${chip_name}.ncd -o ${chip_name}.twr ${chip_name}.pcf -ucf ../target/Pad_Ring.ucf >>${chip_name}.log\n";
110 131 jt_eaton
if (system($cmd)) {}
111
 
112 135 jt_eaton
 
113
$cmd ="netgen    -pcf  ${chip_name}.pcf  -sdf_anno true -sdf_path \"./gate_sims/par\" -insert_glbl true -insert_pp_buffers true -w -dir ./gate_sims/par  -ofmt verilog -sim  ${chip_name}.ncd   ${chip_name}.v >>${chip_name}.log \n";
114
 
115
if (system($cmd)) {}
116
 
117
 
118
$cmd  ="bitgen -f ./target/cclk.ut  ${chip_name}.ncd >>${chip_name}.log \n";
119
if (system($cmd)) {}
120
 
121
$cmd ="mv ${chip_name}.bit Board_Design_cclk.bit \n";
122
if (system($cmd)) {}
123
 
124
$cmd ="promgen -w -u 0 Board_Design_cclk >>${chip_name}.log \n";
125
if (system($cmd)) {}
126
 
127
$cmd ="mv Board_Design_cclk.mcs ./debug \n";
128
if (system($cmd)) {}
129
 
130
$cmd ="bitgen -f ./target/jtag.ut  ${chip_name}.ncd  >>${chip_name}.log  \n";
131
if (system($cmd)) {}
132
 
133
$cmd ="mv ${chip_name}.bit Board_Design_jtag.bit \n";
134
if (system($cmd)) {}
135
 
136
$cmd ="impact -batch ./debug/impact_bat  >>${chip_name}.log  \n";
137
if (system($cmd)) {}
138
 
139
$cmd ="mv *.bit ./debug \n";
140
if (system($cmd)) {}
141
 
142
 
143 131 jt_eaton
chdir  "$home";
144
 
145
 
146
 
147
 
148
 
149
 
150
 
151
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.