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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [doc/] [INSTALL.txt] - Blame information for rev 12

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 wfjm
# $Id: INSTALL.txt 408 2011-09-12 19:48:36Z mueller $
2 5 wfjm
 
3 11 wfjm
Guide to install and build w11a systems, test benches and support software
4 5 wfjm
 
5
  Table of content:
6
 
7 11 wfjm
  1.  Download
8
  2.  Setup environment variables
9
  3.  Compile UNISIM/SIMPRIM libraries for ghdl
10
  4.  Compile and install the support software
11
       a. Compile sharable libraries
12
       b. Setup Tcl packages
13
  5.  The build system
14
  6.  Building test benches
15
       a. General instructions
16
       b. Available test benches
17
  7.  Building systems
18
       a. General instructions
19
       b. Available systems
20 5 wfjm
 
21
 
22
1. Download ---------------------------------------------------------------
23
 
24
  All instructions below assume that the project files reside in a
25
  working directory with the name represented as 
26
 
27
  To download latest tagged version (V0.5) of w11a
28
 
29
    cd 
30
    svn co http://opencores.org/ocsvn/w11/w11/tags/w11a_V0.5
31
 
32
  To download latest snapshot of trunk
33
 
34
    cd 
35
    svn co http://opencores.org/ocsvn/w11/w11/trunk
36
 
37 11 wfjm
2. Setup environment variables --------------------------------------------
38 5 wfjm
 
39 11 wfjm
  The make flow for building test benches (ghdl and ISim based) and systems
40
  (Xilinx xst based) as well as the support software (mainly the rlink backend
41
  server) requires
42 5 wfjm
 
43 12 wfjm
    - the definition of the environment variables:
44
      - RETROBASE: must refer to the installation root directory
45
      - BOOSTINC:  pathname for includes of boost library
46 11 wfjm
    - that the tools binary directory is in the path
47
    - that the tools library directory is in the library path
48 12 wfjm
 
49 11 wfjm
 
50 5 wfjm
  For bash and alike use
51
 
52
    export RETROBASE=
53
    export PATH=$PATH:$RETROBASE/tools/bin
54 11 wfjm
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RETROBASE/tools/lib
55 5 wfjm
 
56 12 wfjm
  In most cases the boost library version coming with the distribution will
57
  work, in those cases simply use
58
 
59
    export BOOSTINC=/usr/include
60
 
61 5 wfjm
  After that building functional model based test benches will work. If you
62
  want to also build post-xst or post-par test benches read next section.
63
 
64
3. Compile UNISIM/SIMPRIM libraries for ghdl ------------------------------
65
 
66
  The build system for test benches also supports test benches run against
67
  the gate level models derived after the xst, map or par step. In this
68
  case ghdl has to link against a compiled UNISIM or SIMPRIM library.
69
 
70
  To make handling of the parallel installion of several WebPack versions
71
  easy the compiled libraries are stored in sub-directories under $XILINX:
72
 
73
     $XILINX/ghdl/unisim
74
     $XILINX/ghdl/simprim
75
 
76
  Two helper scripts will create these libraries:
77
 
78
    
79
 
80
    cd $RETROBASE
81
    xilinx_ghdl_unisim
82
    xilinx_ghdl_simprim
83
 
84
  If you have several WebPack versions installed, repeat for each version.
85
 
86 11 wfjm
4. Compile and install the support software -------------------------------
87 5 wfjm
 
88 11 wfjm
4a. Compile sharable libraries ---------------------------------------
89 5 wfjm
 
90 12 wfjm
  Required tools and libraries:
91
    g++    >= 4.3    (decltype support assumed in usage of boost::bind)
92
    boost  >= 1.35   (boost::thread api changed, new one is used)
93
 
94
  Build was tested under:
95
    ubuntu lucid (10.04 LTS):  gcc 4.4.3  boost 1.40.0
96
    debian lenny (5.0.8):      gcc 4.3.2  boost 1.xx.x (t.b.c.)
97
 
98 11 wfjm
  To build all sharable libraries
99
 
100
    cd $RETROBASE/tools/src
101
    make -j 4
102
 
103
  To cleanup, e.g. before a re-build
104
 
105
    cd $RETROBASE/tools/src
106
    rm_dep
107
    make realclean
108
 
109
4b. Setup Tcl environment --------------------------------------------
110
 
111
  The Tcl files are organized in several packages. To create the Tcl
112
  package files (pkgIndex.tcl)
113
 
114
    cd $RETROBASE/tools/tcl
115
    setup_packages
116
 
117
  To use these packages it is convenient to make them available via the
118
  'auto_path' mechanism. To do that add in your .tclshrc or .wishrc
119
 
120
    lappend auto_path [file join $env(RETROBASE) tools tcl]
121
    lappend auto_path [file join $env(RETROBASE) tools lib]
122
 
123
  The w11 distribution contains two ready to use .tclshrc or .wishrc
124
  files which
125
    - include the auto_path statements above
126
    - activate tclreadline (and thus in tclshrc an event loop)
127
 
128
  To use them simply copy them into your home directory (or soft link them)
129
 
130
    cd $HOME
131
    ln -s $RETROBASE/tools/tcl/.tclshrc .
132
    ln -s $RETROBASE/tools/tcl/.wishrc  .
133
 
134
 
135
5. The build system -------------------------------------------------------
136
 
137 5 wfjm
  Simulation and synthesis tools usually need a list of the VHDL source
138
  files, often in proper compilation order (libraries before components).
139
  The different tools have different formats of these 'project files'.
140
 
141
  The build system employed in this project is based on
142
     "VHDL bill of material" or 'vbom' files
143
  which list for each vhdl source file the libraries and sources for
144
  the instantiated components, the later via their vbom, and last but
145
  not least the name of the vhdl source file. All file name are relative
146
  to the current directory. A recursive traversal through all vbom's gives
147
  for each vhld module all sources needed to compile it. The vbomconv script
148
  in tools/bin does this, and generates depending on options
149
   - make dependency files
150
   - ISE xst project files
151
   - ISE ISim project files
152
   - ghdl commands for analysis, inspection and make step
153
 
154
  The master make files contain pattern rules like
155
    %.ngc  : %.vbom           -- synthesize with xst
156
    %      : %.vbom           -- build functional model test bench
157
  which encapsulate all the vbomconf magic
158
 
159
  A full w11a is build from more than 80 source files, test benches from
160
  even more. Using the vbom's a large number of designs can be easily
161
  maintained.
162
 
163 11 wfjm
6. Building test benches --------------------------------------------------
164 5 wfjm
 
165 11 wfjm
6a. General instructions ---------------------------------------------
166
 
167 5 wfjm
  To compile a test bench named  all is needed is
168
 
169
    make 
170
 
171
  The make file will use .vbom, create all make dependency files,
172
  and generate the needed ghdl commands.
173
 
174
  In many cases the test benches can also be compiled against the gate
175
  level models derived after the xst, map or par step. To compile them
176
 
177
    make ghdl_tmp_clean
178
    make _ssim                  # for post-xst
179
    make _fsim                  # for post-map
180
    make _tsim                  # for post-par
181
 
182
  The 'make ghdl_tmp_clean' is needed to flush the ghdl work area from
183
  the compilation remains of earlier functional model compiles.
184
 
185 11 wfjm
6b. Available test benches -------------------------------------------
186 5 wfjm
 
187 11 wfjm
  See file w11a_tb_guide.txt
188
 
189
7. Building systems -------------------------------------------------------
190
 
191
7a. General instructions ---------------------------------------------
192
 
193 5 wfjm
  To generate a bit file for a system named  all is needed is
194
 
195
    make .bit
196
 
197
  The make file will use .vbom, create all make dependency files, build
198
  the ucf file with cpp, and run the synthesis flow (xst, ngdbuild, par, trce).
199
  The log files will be named
200
 
201
      _xst.log        # xst log file
202
      _tra.log        # translate (ngdbuild) log file (renamed %.bld)
203
      _map.log        # map log file                  (renamed %_map.mrp)
204
      _par.log        # par log file                  (renamed %.par)
205
      _pad.log        # pad file                      (renamed %_pad.txt)
206
      _twr.log        # trce log file                 (renamed %.twr)
207
 
208
  To load the bitfile with WebPack impact into the target board use
209
 
210 12 wfjm
    make .iconfig
211 5 wfjm
 
212
  If only the xst or par output is wanted just use
213
 
214
    make .ngc
215
    make .ncd
216 11 wfjm
 
217
7b. Available systems ------------------------------------------------
218
 
219
  Note: Currently ready to build versions exist for
220
          Digilent S3BOARD (-1000 FPGA version)
221
          Digilent Nexys2 board (-1200 FPGA version)
222
 
223
  1. rlink tester
224
     a. for Digilent Nexys2 board
225
 
226
        cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys2
227
        make sys_tst_rlink_n2.bit
228
 
229
  2. w11a systems
230
     a. for Digilent S3BOARD
231
 
232
        cd $RETROBASE/rtl/sys_gen/w11a/s3board
233
        make sys_w11a_s3.bit
234
 
235
     b. for Digilent Nexys2 board
236
 
237
        cd $RETROBASE/rtl/sys_gen/w11a/nexys2
238
        make sys_w11a_n2.bit

powered by: WebSVN 2.1.0

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