forked from geochrist/dctk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL.txt
140 lines (88 loc) · 2.99 KB
/
INSTALL.txt
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Installation Instructions
=========================
Overview
--------
1. Install Parser-SPEF in a directory parallel to this one.
2. Install yaml-cpp in a directory parallel to this one.
3. Build src-liberty_parse-2.6.
4. Compile dctk.
Details
-------
$DIR = the directory of dctk download.
Parser-SPEF:
Download Parser-SPEF in a directory parallel this one:
cd $DIR/..
git clone https://github.com/OpenTimer/Parser-SPEF.git
The sub-directory Parser-SPEF will appear.
No compilation is necessary -- all files are header files to be
included by the calling code.
yaml-cpp:
Download yaml-cpp in a directory parallel this one:
cd $DIR/..
git clone https://github.com/jbeder/yaml-cpp.git
To build it using standard cmake build process:
cd $DIR/../cpp-yaml
mkdir build
cd build
cmake ..
make
src-liberty_parse-2.6:
First set the CFLAGS to skip no-return-type errors. It is
needed for most modern versions of compilers:
setenv CFLAGS -Wno-return-type
Then go through the standard configure build process:
cd $DIR/src-liberty_parse-2.6
./configure
make
Finally, dctk requires static libraries. Run the custom library
archiving script in the directory:
makelib
The result should be a file named liblibparse.a in the src-liberty_parse-2.6
directory.
Nangate FreePDK45 Library:
cd $DIR/..
Download the NangateOpenCellLibrary_PDKv1_3_v2010_12.tgz from
https://projects.si2.org/openeda.si2.org/project/showfiles.php?group_id=63#p78
(You will need to register with the organization.)
Extract in this directory. You'll then get a subdirectory named:
NangateOpenCellLibrary_PDKv1_3_v2010_12/
The CCS Liberty models are in the Front_End/Liberty/CCS directory.
They will need to be pre-processed to work with the liberty_parser
installed earlier. Please see dctk/etc/preprocess_nangate/ for
scripts.
The HSPICE models corresponding to the Library are available from the OpenROAD-Utilities repo.
OpenROAD-Utilities repo
cd $DIR/..
git clone https://github.com/The-OpenROAD-Project/OpenROAD-Utilities.git
The HSPICE models that (I believe) correlate to the Nangate FreePDK45 Library are in
OpenROAD-Utilities/TimerCalibration/Free45PDK/gpdk45nm.m
dctk:
Go through the standard process for cmake:
cd $DIR
mkdir build
cd build
cmake ..
The result should be build/delay_calc_tool executable
Test this executable:
cd $DIR/test
./runme
The results should be a list of all the cells in the library, followed by
something that looks like:
Reading Test Circuits file test.circuits.yaml
Generating spice netlists for test.circuits.yaml
Processing 2 circuits.
Name = first
Voltage Source = vs1
Driver = and/a/y
Driver Interconnect = 1.1 100 1.1
Load = or/a/y
load_interconnect = 2.2 200 2.2
----------
Name = second
Voltage Source = vs2
Driver = nand/a/y
Driver Interconnect = 3.1 300 3.1
Load = nor/a/y
load_interconnect = 4.2 400 5.2
----------
Computing Delays for 2 circuits.