Project

General

Profile

Xilink Vivado » History » Version 68

Frédéric Blanc, 2023-09-07 10:43

1 1 Frédéric Blanc
h1. Xilink Vivado
2
3
h2. installation Ubuntu 20.04
4 33 Frédéric Blanc
5
sur le site de xilinx telecharger:
6
https://www.xilinx.com/support/download.html
7 35 Frédéric Blanc
Xilinx Unified Installer 2020.1: Linux Self Extracting Web Installer
8 33 Frédéric Blanc
9 37 Frédéric Blanc
10 34 Frédéric Blanc
*en root*
11 33 Frédéric Blanc
12 1 Frédéric Blanc
<pre><code class="shell">
13 42 Frédéric Blanc
sudo bash
14 40 Frédéric Blanc
export XILINXD_LICENSE_FILE=2100@flexalter.laas.fr
15 39 Frédéric Blanc
chmod +x Xilinx_Unified_2020.1_0602_1208_Lin64.bin
16 36 Frédéric Blanc
sudo ./Xilinx_Unified_2020.1_0602_1208_Lin64.bin
17 33 Frédéric Blanc
</code></pre>
18 41 Frédéric Blanc
echo $XILINXD_LICENSE_FILE
19
2100@flexalter.laas.fr
20 33 Frédéric Blanc
21 32 Frédéric Blanc
22
https://danielmangum.com/posts/vivado-2020-x-ubuntu-20-04/
23
24 1 Frédéric Blanc
h2. installation Windows
25
26 6 Frédéric Blanc
27 5 Frédéric Blanc
h3. Vivado 2022.2
28
29 2 Frédéric Blanc
Windows 64-bit: Run the settings64.bat from the Vivado/<version> directory
30
31
On Windows, click Start > All Programs > Xilinx Design Tools > Vivado 2022.2 > Vivado 2022.2 Tcl Shell to launch the Vivado Design Suite Tcl shell.
32 3 Frédéric Blanc
33
<pre><code class="shell">
34
dir D:\Public\RedPitaya-FPGA
35
vivado -source red_pitaya_vivado_project_Z10.tcl -tclargs v0.94
36
</code></pre>
37 4 Frédéric Blanc
38
!clipboard-202304201305-exdsl.png!
39 5 Frédéric Blanc
40
We recommend Vivado 2020.1
41 7 Frédéric Blanc
42 8 Frédéric Blanc
h3. Vivado 2020.1
43 7 Frédéric Blanc
44 22 Frédéric Blanc
h2. Création d'un nouveau projet
45
46 47 Frédéric Blanc
Create a new project with Vivado.
47
!clipboard-202306070934-1ikrj.png!
48
49 67 Frédéric Blanc
*Select the device xc7z010clg400-1*
50 47 Frédéric Blanc
51
Add the constraint redpitaya.xdc .
52
53
Create a new Block Design 
54
!clipboard-202306070939-6delu.png!
55
56 57 Frédéric Blanc
*ERROR: Could not find a top module*
57
58
solution Create an HDL Wrapper.
59
!clipboard-202306201313-n0s0q.png!
60
61 47 Frédéric Blanc
h3. source 
62
63 24 Frédéric Blanc
soource: https://github.com/lvillasen/RedPitaya-Hello-World
64
65
Clone the repositiry
66
67
Create a new project with Vivado.
68 47 Frédéric Blanc
!clipboard-202306070934-1ikrj.png!
69 24 Frédéric Blanc
70 66 Frédéric Blanc
*Select the device xc7z010clg400-1*
71 1 Frédéric Blanc
72 47 Frédéric Blanc
Add the constraint redpitaya.xdc .
73 1 Frédéric Blanc
74 47 Frédéric Blanc
Create a new Block Design 
75
!clipboard-202306070939-6delu.png!
76 24 Frédéric Blanc
77
Add the IP called ZYNQ7 Processing System from the menu and Run Block Automation with default options.
78
79
Add Module counter.v from the menu.
80
81
clic doit 
82
!clipboard-202304261446-zpxnx.png!
83
84
Add a Binary Counter from thr Add IP menu.
85
86
Add a port called led_o with components from 7 down to 0.
87
88
!clipboard-202304261452-qlhno.png!
89
90 25 Frédéric Blanc
connect
91
92 28 Frédéric Blanc
!clipboard-202304261515-hhbvn.png!
93 25 Frédéric Blanc
94 24 Frédéric Blanc
From the menu click on Validate Design
95
96
In 'Sources' go to 'IP Sources' right-click on 'project1' and select 'Create HDL Wraper'
97
98 26 Frédéric Blanc
!clipboard-202304261503-3iuu2.png!
99
100 24 Frédéric Blanc
Proceed to run Synthesis, Implementation and Bitstream Generation
101
102
Find the bitstream file (you may use the command 'find . -name *bit')
103
104
Transfer the bitstream file (*.bit) to the Red Pitaya (you may use *sftp root@rp-ip and put *.bit)
105
106 22 Frédéric Blanc
clic doit 
107 23 Frédéric Blanc
!clipboard-202304261446-zpxnx.png!
108 22 Frédéric Blanc
109 10 Frédéric Blanc
Tcl Console
110
111 9 Frédéric Blanc
<pre><code class="shell">
112
cd d:/Public/RedPitaya-FPGA/prj/Examples/Led_blink
113
source D:/Public/RedPitaya-FPGA/prj/Examples/Led_blink/make_project.tcl
114
</code></pre>
115
116 11 Frédéric Blanc
!clipboard-202304251008-te1ah.png!
117 17 Frédéric Blanc
pour éviter cette erreur copier le dossier core dans ../tmp/
118 11 Frédéric Blanc
119 16 Frédéric Blanc
attachment:cores.zip
120 12 Frédéric Blanc
121 18 Frédéric Blanc
h4. Bitstream
122
123 43 Frédéric Blanc
le Bitstream ce trouve dans le dossier /.../RedPitaya/fpga/<project...>/<project...>.runs/impl_1
124
125 18 Frédéric Blanc
!clipboard-202304251107-19zhk.png!
126
127 20 Frédéric Blanc
128
le fichier bitstream doit être remplacer le fichier /dev/xdevcfg
129
130 44 Frédéric Blanc
131
*rp-ip 140.93.64.197*
132
133
Transfer the bitstream file (*.bit) to the Red Pitaya (you may use *sftp root@rp-ip and put *.bit)
134
135
Connect to the RedPitaya (ssh root@rp-ip)
136
137
Program the FPGA with the command cat file_name.bit > /dev/xdevcfg
138
139 45 Frédéric Blanc
h3. Console TCL
140 44 Frédéric Blanc
141 45 Frédéric Blanc
utilisation des exemples 
142
143
https://github.com/RedPitaya/RedPitaya-FPGA
144
145
!clipboard-202306021352-vc13m.png!
146
147
utiliser les commandes suivante dans vivado console TCL
148
149
<pre><code class="shell">
150
cd /tools/redpitaya/RedPitaya-FPGA-master/prj/Examples
151
source make_project.tcl
152
</code></pre>
153 46 Frédéric Blanc
cela va ouvrir le projet complet de Led_Blink
154
155 48 Frédéric Blanc
h3. GPIO
156
157 50 Frédéric Blanc
!clipboard-202306071537-n2vfw.png!
158 49 Frédéric Blanc
connecteur E1
159 65 Frédéric Blanc
exp_n_tri_io    (OUT)
160
exp_p_tri_io    (IN)
161 51 Frédéric Blanc
162 52 Frédéric Blanc
exp_n_tri_io[1.1] correspond a DIO1_N
163 53 Frédéric Blanc
!clipboard-202306081407-xqky7.png!
164
!clipboard-202306081409-vulz6.png!
165 54 Frédéric Blanc
exemple de slice pour extraire du vecteur exp_p_tri_io[7.0] le scalaire exp_p_tri_io[3.3] qui correspond au GPIO DIO3_P du connecteur E1
166 53 Frédéric Blanc
Slice pour démultiplexer le vecteur
167
Concat pour multiplexer
168 48 Frédéric Blanc
169 55 Frédéric Blanc
h3. FIFO
170
171 59 Frédéric Blanc
!clipboard-202306221115-rthjy.png!
172 55 Frédéric Blanc
IP FIFO generator
173 58 Frédéric Blanc
*IN*
174 1 Frédéric Blanc
!clipboard-202306151112-equbx.png!
175 58 Frédéric Blanc
*OUT*
176 56 Frédéric Blanc
!clipboard-202306151112-gvamj.png!
177
178 62 Frédéric Blanc
h3. Shift Register
179
180
!clipboard-202307041436-0ex9q.png!
181
182 63 Frédéric Blanc
h3. Block Memory Generator
183
184
!clipboard-202307041437-3fhkj.png!
185
186 68 Frédéric Blanc
h3. test clock
187
188
!clipboard-202309071030-znwjj.png!
189
clk_463157890Hz
190
191 1 Frédéric Blanc
h3. tuto Web
192 19 Frédéric Blanc
193 21 Frédéric Blanc
https://github.com/lvillasen/RedPitaya-Hello-World
194
195 19 Frédéric Blanc
https://redpitaya.readthedocs.io/en/latest/developerGuide/software/build/fpga/fpga.html
196 7 Frédéric Blanc
197
https://antonpotocnik.com/?p=487360
198 29 Frédéric Blanc
199
https://easytp.cnam.fr/alexandre/index_fichiers/support/zynq_cours_tp_vivado_zc702.pdf
200 30 Frédéric Blanc
201
http://jmfriedt.free.fr/redpitaya.pdf
202 31 Frédéric Blanc
203
http://staff.ltam.lu/feljc/electronics/redpitaya/RedPitayaScriptingSummary_1.pdf
204 60 Frédéric Blanc
205
RAM
206
207
https://community.element14.com/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-use-ram-design-for-altera-cyclone-on-vivado-and-pynq
208 61 Frédéric Blanc
209 1 Frédéric Blanc
https://elinux.org/Connect_a_ARM_Microcontroller_to_a_FPGA_using_its_Extended_Memory_Interface_%28EMI%29
210 64 Frédéric Blanc
211
http://islab.soe.uoguelph.ca/sareibi/TEACHING_dr/XILINX_VIVADO_dr/HwSw_dr/VivadoEmbeddedZyncTutorial.pdf