-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathFPGA_TOOLS_log
More file actions
307 lines (210 loc) · 9.44 KB
/
FPGA_TOOLS_log
File metadata and controls
307 lines (210 loc) · 9.44 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
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
-------------------------------------------------------
Requirements: libusb-dev
0 - sudo apt-get install libusb-dev
-> If any error is encountered due to a missing file try to issue the following command:
0.1 - sudo apt-get install apt-file
0.2 - apt-file search <NAME_OF_THE_MISSING_FILE>
0.3 - sudo apt-get install <NAME_OF_THE_PACKAGE>
--------------------------------------------------------
Xilinx Installation Instructions:
1 - Install ISE Xilinx
-> Set environment variables
2 - vim ~/.bashrc
LM32_TOOLS=/opt/gcc-lm32/bin
XILINX=/opt/Xilinx/13.4/ISE_DS
export XILINX
HOST_PLATFORM=lin64
export HOST_PLATFORM
XILINX_BIN=${XILINX}/ISE/bin/${HOST_PLATFORM}
export XILINX_BIN
PATH=${PATH}:${XILINX_BIN}:${LM32_TOOLS}
#XILINX_EDK=${XILINX}/ISE/EDK
#export XILINX_EDK
XILINX_CSE_TCL=${XILINX}/ISE/cse/tcl
#XILINX_CSE_TCL=/usr/lib/tclx8.4/
export XILINX_CSE_TCL
#export LD_PRELOAD="/usr/local/lib/libusb-driver.so"
export XKEYSYMDB=/usr/share/X11/XKeysymDB
export DISPLAY=:0
-> save and exit (:wq)
-> Source the file to apply the settings to the current terminal session
3 - . ~/.bashrc
-> Install Xilinx Cable drivers
4 - sudo apt-get install git-core gitk git-gui libusb-dev build-essential libc6-dev-i386 fxload
-> Go to a folder at your preference. You must have write
permissions!
5 - cd ~
-> Clone the repository
6 - git clone git://git.zerfleddert.de/usb-driver
7 - cd usb-driver
8 - make
9 - sudo ./setup_pcusb /opt/Xilinx/13.4/ISE_DS/ISE/
12 - Don't forget to source the settings32.sh (32-bit systems),
settings64.sh (64-bit systems) or the ~/.bashrc file
depending on where you put the environment variable.
-> . /opt/Xilinx/13.4/ISE_DS/settings64.sh or
-> . /opt/Xilinx/13.4/ISE_DS/settings32.sh
13 - On ubuntu systems 12.10 and 13.04 ISim (Xilinx Simulator)
gives a fatal error when trying to simulate any design,
even an empty one. To fix this move the Xilinx standard C++
libraries to a backup folder, so that it will link against
the system ones. Substitute 13.4 to your ISE version and lin
and lin64 to your host architecture (e.g., nt and nt64 for
Windows systems).
-> cd /opt/Xilinx/13.4/ISE_DS/ISE/lib/lin/
-> mkdir orig && mv libstdc++* orig
-> cd /opt/Xilinx/13.4/ISE_DS/ISE/lib/lin64/
-> mkdir orig && mv libstdc++* orig
-> cd /opt/Xilinx/13.4/ISE_DS/common/lib/lin/
-> mkdir orig && mv libstdc++* orig
-> cd /opt/Xilinx/13.4/ISE_DS/common/lib/lin64/
-> mkdir orig && mv libstdc++* orig
14 - If you are installing ISE version 14.6 or a similiar one
(Vivado, for instance) and you encounter the following error
when running PlanAhead:
> /opt/Xilinx/14.6/ISE_DS/PlanAhead/bin/rdiArgs.sh: line 95: 4632
> Segmentation fault (core dumped) "$RDI_PROG" "$@"
Try doing the following (from http://forums.xilinx.com/t5/Installation-and-Licensing/RHEL5-64-bit-ISE-13-1-PlanAhead-launch-from-w-in-ISE-fails/td-p/148624/page/2):
-> cd /opt/Xilinx/14.6/ISE_DS/PlanAhead/tps/lnx64/jre/lib/amd64/server
-> mv libjvm.so{,-orig}
-> ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so
--------------------------------------------------------
Installing Ubunutu Terminal Instructions:
Source: http://strdoc.com/comment/417
-> Install minicom
1 - sudo apt-get install minicom
-> Find the name your serial port
2 - dmesg | grep tty
-> in the output look for something like "ttyUSB0".
My output was something like this:
[ 0.000000] console [tty0] enabled
[ 3.815470] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 3.948477] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 4.004167] 0000:00:03.3: ttyS4 at I/O 0xecb8 (irq = 17) is a 16550A
[195933.979161] usb 4-1: cp210x converter now attached to ttyUSB0
[196991.760206] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[199153.839153] usb 4-1: cp210x converter now attached to ttyUSB0
-> This means the device correspond to my serial port is ttyUSB0.
-> Configure minicom
3 - sudo minicom -s
-> Use the keyboard keys to select the menu item Serial port setup.
-> Enter A to change the Serial Device to /dev/ttyUSB0,
and then enter E to change the line speed to 9600 8N1
-> Using arrow keys, select Save setup as dfl
-> Select Exit from Minicom.
-> Next time, from the terminal, you only need to run
"sudo minicom" in order to start the terminal application.
--------------------------------------------------------
Linux Chipscope Installation Instructions:
Source:
http://xlnx.lithium.com/t5/Installation-and-Licensing/
ISE-12-1-Linux-Installs/td-p/69399
-> On Ubuntu (specifically), calling the chipscope (analyzer)
by the command line issues an error:
"
...
/opt/Xilinx/13.4/ISE_DS/ISE/bin/lin64/unwrapped/analyzer: 74:
/opt/Xilinx/13.4/ISE_DS/ISE/bin/lin64/unwrapped/cs_common.sh:
XIL_DIRS[1]=/opt/Xilinx/13.4/ISE_DS/ISE/: not found
...
"
-> Along with others of the same kind.
-> The problem resides on the interpreter called within the script
(#!/bin/sh). As on Ubunutu sh points to dash and not to bash,
inconsistencies will appear. To fix the issue you have to
reconfigure ubunutu to use bash instead of dash (just changing
the shebang to #!/bin/bash did not work for me).
-> Issue the following command:
1 -sudo dpkg-reconfigure dash
-> Selects no when prompted. This should solve the issue
--------------------------------------------------------
HDL make Installation Instructions:
-> Clone the repository. If using ISim simulator tool
clone the hdlmake2 repository. Otherwise, clone the
hdlmake repository for ModelSim and Icarus simulators.
There are plans to merge the hdlmake2 repository to the
original hdlmake project.
-> hdlmake repository
1 - git clone git://ohwr.org/misc/hdl-make.git
-> hdlmake2 repository
1 - git clone git://github.com/lerwys/hdl-make2.git
-> Put hdlmake in a directory listed in PATH, for example:
1 - sudo ln -s <PATH_TO_HDLMAKE> /usr/bin/hdlmake2
-> Generate the makefiles
2 - hdlmake2 --ise-proj --make-ise
-> Build it! Synthetize. You may use the time command in order
to verify how much time was spent during synthesis. Additionally,
we redirect the stdout and stderr to a file. Otherwise, it
wouldn't be possible to analyze the output log.
3 - time make local | tee synth_output.txt
--------------------------------------------------------
Cross Compiling for LM32:
-> Install missing libraries
1 - sudo apt-get install lib32z1
-> Download gcc-lm32 port from this repository (at binaries folder)
-> Create a suitable location for installing the binaries.
Throughout this guide, this path will be called <path_to_gcc_lm32>.
-> Although any path will do, it is recommended to use
"/opt/gcc-lm32". If choosing this path, substitute
<path_to_gcc_lm32> to /opt/gcc-lm32 in the next steps.
2 - sudo mkdir <path_to_gcc_lm32>
3 - cd <path_to_gcc_lm32>
4 - sudo tar xvf <path_to_downloaded_gcc_binary>/gcc-4.5.3-lm32.tar.xz
-> Change folder permissions
3 - sudo chmod -R 755 <path_to_gcc_lm32>
-> Add the CROSS_COMPILE environment variable to your .bashrc
or other user script as follows. I will use the ~/.bashrc file:
4 - vim ~/.bashrc
-> Append and export the variable
CROSS_COMPILE="<path_to_gcc_lm32>/bin/lm32-elf-"
export CROSS_COMPILE
-> Save and exit the file (:wq)
--------------------------------------------------------
UrJTAG for debug:
-> Install missing libraries (libusb should be installed as well.
See "Xilinx Installation Instructions for more)
1 - sudo apt-get install libftdi-dev
-> Download d2xx drivers (the libftdi-dev did not include
header files for me)
2 - wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx1.1.12.tar.gz (for 64-bit linux)
3 - tar xvzf libftd2xx1.1.12.tar.gz
4 - mv release libftd2xx1.1.12
5 - cd libftd2xx1.1.12
-> Copy the header files to specified location
6 - sudo cp ftd2xx.h /usr/local/include/
7 - sudo cp WinTypes.h /usr/local/include/
-> Change its perimission
8 - sudo chmod a+r /usr/local/include/ftd2xx.h /usr/local/include/WinTypes.h
-> Download UrJTAG
9 - wget http://sourceforge.net/projects/urjtag/files/
-> Install it
10 - tar xzvf urjtag-x.y.tar.gz
11 - cd urjtag-x.y
12 - ./configure
13 - make && make install
-> If anything goes wrong, check the documetation in
http://urjtag.org/book/_compilation_and_installation.html
--------------------------------------------------------
General Tools Installation
-> Icarus Verilog Simulator
1 - sudo apt-get install iverilog
-> Install GTKwave
2 - sudo apt-get install gtkwave
--------------------------------------------------------
Known issues: from http://wienker.org/blog/?p=188 (old)
Error: Error: /bin/bash: gmake: command not found
Solution: sudo ln -s /usr/bin/make /usr/bin/gmake
Error: error while loading shared libraries: libXm.so.3
Error2: error while loading shared libraries: libXm.so.4
Solution: sudo apt-get install motif-client
Solution2: sudo apt-get install libmotif4
Error: error while loading shared libraries: libstdc++.so.5
Solution: sudo apt-get install libstdc++5
Error: Wind/U X-toolkit Error: wuDisplay: Can't open display
Solution: export DISPLAY=:0
Error: Wind/U Error (248): Failed to connect to the registry on server
thinkpad Cannot register service: RPC: Unable to receive;
errno = Connection refused
Solution: sudo apt-get install portmap
Error: Warning!!: XKEYSYMDB environment variable is set to a wrong location
Solution: export XKEYSYMDB=/usr/share/X11/XKeysymDB