compile.vcs
1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/perl
###############################################################################
# #
# PURPOSE: Compile a list of .v files into a vcs executable (used in con- #
# junctions with simulate.vcs). #
# #
###############################################################################
#
# vcs release directory
###############################################################################
# $REL_DIR = "/ecad/vcs/vcs_2.1/sgi";
# $REL_DIR = "/ecad/vcs/vcs_2.0.3";
$REL_DIR = "/ecad/vcs/vcs_2.1.1/sgi";
#
# Use /usr/tmp for cc temporary files (/tmp is not big enough in all cases)
###############################################################################
$ENV{'TMPDIR'} = "/usr/tmp";
# set license server environment variable
###############################################################################
#$ENV{'VCS_NETHOST'} = "niger.asd";
$ENV{'VCS_NETHOST'} = "ubangi.asd";
#$ENV{'VCS_NETHOST'} = "nile.asd";
# Remove sgicom if it's not a directory (vcs puts garbage if errors)
###############################################################################
if(! -d "sgicom")
{
unlink("sgicom");
}
# Translate .v files into .c files in directory ./sgicom
###############################################################################
$vcs = "$REL_DIR/bin/vcs";
$options = "-Xpae=0x1000 +acc -V -C -P /ecad/sgi/lib/pli.tab -Mdir=sgicom -l vcs.log -M -f verilog.cmd";
if(!system("$vcs $options @ARGV"))
{
if(! -r "sgicom/vcs.makefile")
{
system "cp vcs.makefile sgicom";
}
system "cd sgicom; make -f vcs.makefile";
system "mv simv.daidb sgicom/simv.asd.daidb";
}