Project

General

Profile

Wiki » History » Version 57

Frédéric Blanc, 2025-02-18 11:17

1 9 Frédéric Blanc
h1. RedPitaya
2 1 Frédéric Blanc
3 42 Frédéric Blanc
{{toc}}
4
5 28 Frédéric Blanc
h2. Zynq-7000 SoC
6
7
The Zynq®-7000 family is based on the Xilinx SoC architecture. These products integrate a feature-rich dual-core or single-core ARM®
8
Cortex™-A9 based processing system (PS) and 28 nm Xilinx programmable logic (PL) in a single device. The ARM Cortex-A9 CPUs are
9
the heart of the PS and also include on-chip memory, external memory interfaces, and a rich set of peripheral connectivity interfaces.
10
11
AMD Zynq 7000 XC7Z010
12
13
*Vivado Select the device xc7z010clg400-1*
14
15
CLB Flip-Flops 35,200
16
Look-Up Tables (LUTs) 17,600
17
Logic Cells 28K
18
19 29 Frédéric Blanc
h2. Carte Redpitaya
20
21 32 Frédéric Blanc
!clipboard-202312041324-mzqat.png!
22 31 Frédéric Blanc
https://redpitaya.com/
23 55 Frédéric Blanc
24
*Supported I/O Standards and Terminations*
25
https://docs.xilinx.com/r/en-US/ug571-ultrascale-selectio/Supported-I/O-Standards-and-Terminations
26
27 13 Frédéric Blanc
!clipboard-202312011541-sbukm.png!
28 8 Frédéric Blanc
*Attention il existe plusieurs version de redpitaya*
29
30
STEMlab 125-14 *external clock* (The OS will *not boot* without providing an external clock.)
31
https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14_EXT/top.html
32 1 Frédéric Blanc
33 9 Frédéric Blanc
pour modifier une STEMlab 125-14 *external clock* en STEMlab 125-14 normale il faut souder 2 resistances 0402 de 22R sur R26 et R25 et dessouder R23 et R24
34 1 Frédéric Blanc
35 10 Frédéric Blanc
!clipboard-202311231551-ugmwn.png!
36 12 Frédéric Blanc
!clipboard-202311271003-ym5pn.png!
37 9 Frédéric Blanc
!clipboard-202311231537-zevpq.png!
38 11 Frédéric Blanc
!clipboard-202311271000-jz8ux.png!
39 8 Frédéric Blanc
40 49 Frédéric Blanc
*connecteur E1* défini dans le fichier de contrainte *redpitaya.xdc*
41 52 Frédéric Blanc
les ports GPIO N et    P sont avec des Pullup interne (définie dans le fichier de contrainte)
42 47 Frédéric Blanc
*exp_n_tri_io* [0..7] (G18,H17,H18,K18,L15,L16,J16,M15)
43
*exp_p_tri_io* [0..7] (G17,H16,J18,K17,L14,L17,K16,M14)
44
*exp_p_trg* (M14) exp_p_tri_io[7]
45 50 Frédéric Blanc
*exp_n_alex*  [0..3] (L15,L17,J16,M15)
46 48 Frédéric Blanc
*LED*
47
*led_o* [0..7] (F16,F17,G15,H15,K14,G14,J15,J14)
48 44 Frédéric Blanc
49
exp_n_tri_io[1.1] correspond a DIO1_N
50 15 Frédéric Blanc
frequence max 464.037Mhz
51 6 Frédéric Blanc
52 53 Frédéric Blanc
h3. Code commande
53
54
*STEMLab 125-14*
55
56
Code commande RS: *127-1087*
57
https://fr.rs-online.com/web/p/oscilloscopes/1271087
58
59
Code Commande farnell: *3935507* 
60
https://fr.farnell.com/red-pitaya/izd0007/kit-de-d-m-stemlab-125-14-acq/dp/3935507
61
62
Code Commande Mouser: *892-028* 
63 54 Frédéric Blanc
https://www.mouser.fr/ProductDetail/Red-Pitaya/28?qs=iS7aw2r6gpnjFgznl4%252BAvA%3D%3D
64 53 Frédéric Blanc
65 14 Frédéric Blanc
h2. OS
66 1 Frédéric Blanc
67 56 Frédéric Blanc
h3. Monitor utility
68
69
70
71
https://redpitaya.readthedocs.io/en/latest/appsFeatures/command_line_tools/com_line_tool.html
72
73 15 Frédéric Blanc
h3. OS 1.04
74
75
Please note that you need to change the forward slashes to backward slashes on Windows.
76
77
78 16 Frédéric Blanc
Send the file .bit (red_pitaya_top.bit is the default name) to the Red Pitaya with the scp command.
79 15 Frédéric Blanc
80
<pre><code class="shell">
81 17 Frédéric Blanc
scp red_pitaya_top.bit root@rp-xxxxxx.local:/root
82 15 Frédéric Blanc
</code></pre>
83
84
85 16 Frédéric Blanc
Now establish an SSH communication with your Red Pitaya and check if you have the copy red_pitaya_top.bit in the root directory.
86 15 Frédéric Blanc
87
<pre><code class="shell">
88 17 Frédéric Blanc
redpitaya> ls
89 15 Frédéric Blanc
</code></pre>
90
91
92 16 Frédéric Blanc
Load the red_pitaya_top.bit to xdevcfg with
93 15 Frédéric Blanc
94
<pre><code class="shell">
95 17 Frédéric Blanc
redpitaya> cat red_pitaya_top.bit > /dev/xdevcfg
96 15 Frédéric Blanc
</code></pre>
97
98 57 Frédéric Blanc
99 40 Frédéric Blanc
https://redmine.laas.fr/attachments/download/4691/STEMlab_125-xx_OS_1.04-18_stable.img.zip
100 57 Frédéric Blanc
101
*Login: root*
102
*MP: root*
103 40 Frédéric Blanc
104 15 Frédéric Blanc
h3. OS 2.0
105
106 25 Frédéric Blanc
sur l'ordinateur où est installer *Vivado*
107 24 Frédéric Blanc
108 15 Frédéric Blanc
Create .bif file (for example, red_pitaya_top.bif) and use it to generate a binary bitstream file (red_pitaya_top.bit.bin)
109
110
<pre><code class="shell">
111
echo -n "all:{ red_pitaya_top.bit }" >  red_pitaya_top.bif
112
bootgen -image red_pitaya_top.bif -arch zynq -process_bitstream bin -o red_pitaya_top.bit.bin -w
113
</code></pre>
114
115 23 Frédéric Blanc
Bootgen se trouve dans ../Vivado/2023.1/bin
116 15 Frédéric Blanc
117
Send the file .bit.bin to the Red Pitaya with the scp command.
118
119
<pre><code class="shell">
120
scp red_pitaya_top.bit.bin root@rp-xxxxxx.local:/root
121
</code></pre>
122 1 Frédéric Blanc
123 27 Frédéric Blanc
sur la *redpitaya*
124 1 Frédéric Blanc
125 24 Frédéric Blanc
Now establish an SSH communication with your *Red Pitaya* and check if you have the copy red_pitaya_top.bit.bin in the root directory.
126 15 Frédéric Blanc
127 24 Frédéric Blanc
<pre><code class="shell">
128
ls
129 15 Frédéric Blanc
</code></pre>
130
131 1 Frédéric Blanc
132 15 Frédéric Blanc
Load the red_pitaya_top.bit.bin image into the FPGA:
133
134
<pre><code class="shell">
135 24 Frédéric Blanc
/opt/redpitaya/bin/fpgautil -b red_pitaya_top.bit.bin
136 15 Frédéric Blanc
</code></pre>
137
138
139 19 Frédéric Blanc
*autre tuto:*
140
141 20 Frédéric Blanc
Génération du fichier crypté
142 43 Frédéric Blanc
Vivado génère par défaut un fichier .bit. Le pilote s’attend à un autre format contenant un entête particulier. La
143 20 Frédéric Blanc
conversion se fait avec l’utilitaire *bootgen* fourni par le *SDK de Vivado* .
144 1 Frédéric Blanc
Cet outil attend un fichier .bif contenant :
145 20 Frédéric Blanc
146
<pre><code class="shell">
147 21 Frédéric Blanc
a l l :
148
{
149
n o m d u b i t s t r e a m . b i t
150
}
151 20 Frédéric Blanc
</code></pre>
152
153
154
qui sera ensuite fourni à bootgen :
155
156
<pre><code class="shell">
157 26 Frédéric Blanc
../bin/bootgen −image fichierbif.bif −arch zynq −processbitstream bin
158 20 Frédéric Blanc
</code></pre>
159
160
161
Suite à cette commande un fichier nom du bitstream.bit.bin est créé dans le répertoire courant.
162
163
Flasher par utilisation directe de fpga manager
164
165
Le fichier .bit.bin doit être copié/déplacé dans /lib/firmware.
166
Afin d’informer le pilote que le PL doit être flashé, et quel bitstream utiliser, la commande suivante est à utiliser :
167
168
<pre><code class="shell">
169 1 Frédéric Blanc
echo " nom_du_bitstream.bit.bin " > /sys/class/fpga manager/fpga0/firmware
170
</code></pre>
171
172
173 20 Frédéric Blanc
La ligne :
174 21 Frédéric Blanc
<pre><code class="shell">
175
fpga-manager fpga0: writing nom_du_bitstram.bit.bin to Xilinx Zynq FPGA Manager
176
</code></pre>
177 18 Frédéric Blanc
178 51 Frédéric Blanc
s’affichera en cas de succés et la LED connectée sur Prog done doit s’allumer (LED bleue sur la RedPitaya).
179 21 Frédéric Blanc
180 34 Frédéric Blanc
page 34 de document:"tuto redpitaya UdFC"
181 15 Frédéric Blanc
182 41 Frédéric Blanc
https://downloads.redpitaya.com/downloads/Unify/RedPitaya_OS_2.00-18_stable.img.zip
183
184 33 Frédéric Blanc
h3. bitstream de test
185 14 Frédéric Blanc
186 39 Frédéric Blanc
Le test est un compteur qui fait clignoter les LED du Redpitaya
187
188 38 Frédéric Blanc
https://redmine.laas.fr/attachments/download/4689/led_fred.bit
189 39 Frédéric Blanc
190
https://redmine.laas.fr/attachments/download/4690/led_fred.bit.bin
191 3 Frédéric Blanc
192
h2. pinout
193 5 Frédéric Blanc
194 3 Frédéric Blanc
!clipboard-202304261053-qqtl1.png!
195
!clipboard-202304251234-p78ss.png!
196 1 Frédéric Blanc
197 2 Frédéric Blanc
h2. Matlab Simulink HDL
198
199
h2. Xilinx Vivado
200 4 Frédéric Blanc
201
La carte Red Pitaya a une logique programmable faite par Xilinx et pour l'écrire pour décrire votre système numérique, vous devez utiliser le logiciel Vivado. Vivado sert à écrire votre système numérique avec un HDL et à implémenter votre système dans la logique programmable. Le résultat de la mise en œuvre d'un projet Vivado est un fichier appelé bitstream qui a une extension .bit, qui contient les informations sur les connexions des blocs logiques qui seront utilisés et les connexions entre eux.
202
203 7 Frédéric Blanc
[[Xilink_Vivado]]
204
205 1 Frédéric Blanc
h2. Shared RAM PS (CPU) PL (FPGA)
206 7 Frédéric Blanc
207 15 Frédéric Blanc
[[Shared_RAM_CPU_FPGA]]