Project

General

Profile

Wiki » History » Version 47

Frédéric Blanc, 2023-12-07 10:22

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 13 Frédéric Blanc
!clipboard-202312011541-sbukm.png!
24 8 Frédéric Blanc
*Attention il existe plusieurs version de redpitaya*
25
26
STEMlab 125-14 *external clock* (The OS will *not boot* without providing an external clock.)
27
https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14_EXT/top.html
28 1 Frédéric Blanc
29 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
30 1 Frédéric Blanc
31 10 Frédéric Blanc
!clipboard-202311231551-ugmwn.png!
32 12 Frédéric Blanc
!clipboard-202311271003-ym5pn.png!
33 9 Frédéric Blanc
!clipboard-202311231537-zevpq.png!
34 11 Frédéric Blanc
!clipboard-202311271000-jz8ux.png!
35 8 Frédéric Blanc
36 45 Frédéric Blanc
connecteur E1 défini dans le fichier de constraint *redpitaya.xdc*
37 47 Frédéric Blanc
*exp_n_tri_io* [0..7] (G18,H17,H18,K18,L15,L16,J16,M15)
38
*exp_p_tri_io* [0..7] (G17,H16,J18,K17,L14,L17,K16,M14)
39
*exp_p_trg* (M14) exp_p_tri_io[7]
40 46 Frédéric Blanc
*exp_n_alex*  [0..3]
41 44 Frédéric Blanc
42
exp_n_tri_io[1.1] correspond a DIO1_N
43 15 Frédéric Blanc
frequence max 464.037Mhz
44 6 Frédéric Blanc
45 14 Frédéric Blanc
h2. OS
46 1 Frédéric Blanc
47 15 Frédéric Blanc
h3. OS 1.04
48
49
Please note that you need to change the forward slashes to backward slashes on Windows.
50
51
52 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.
53 15 Frédéric Blanc
54
<pre><code class="shell">
55 17 Frédéric Blanc
scp red_pitaya_top.bit root@rp-xxxxxx.local:/root
56 15 Frédéric Blanc
</code></pre>
57
58
59 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.
60 15 Frédéric Blanc
61
<pre><code class="shell">
62 17 Frédéric Blanc
redpitaya> ls
63 15 Frédéric Blanc
</code></pre>
64
65
66 16 Frédéric Blanc
Load the red_pitaya_top.bit to xdevcfg with
67 15 Frédéric Blanc
68
<pre><code class="shell">
69 17 Frédéric Blanc
redpitaya> cat red_pitaya_top.bit > /dev/xdevcfg
70 15 Frédéric Blanc
</code></pre>
71
72 40 Frédéric Blanc
https://redmine.laas.fr/attachments/download/4691/STEMlab_125-xx_OS_1.04-18_stable.img.zip
73
74 15 Frédéric Blanc
h3. OS 2.0
75
76 25 Frédéric Blanc
sur l'ordinateur où est installer *Vivado*
77 24 Frédéric Blanc
78 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)
79
80
<pre><code class="shell">
81
echo -n "all:{ red_pitaya_top.bit }" >  red_pitaya_top.bif
82
bootgen -image red_pitaya_top.bif -arch zynq -process_bitstream bin -o red_pitaya_top.bit.bin -w
83
</code></pre>
84
85 23 Frédéric Blanc
Bootgen se trouve dans ../Vivado/2023.1/bin
86 15 Frédéric Blanc
87
Send the file .bit.bin to the Red Pitaya with the scp command.
88
89
<pre><code class="shell">
90
scp red_pitaya_top.bit.bin root@rp-xxxxxx.local:/root
91
</code></pre>
92 1 Frédéric Blanc
93 27 Frédéric Blanc
sur la *redpitaya*
94 1 Frédéric Blanc
95 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.
96 15 Frédéric Blanc
97 24 Frédéric Blanc
<pre><code class="shell">
98
ls
99 15 Frédéric Blanc
</code></pre>
100
101 1 Frédéric Blanc
102 15 Frédéric Blanc
Load the red_pitaya_top.bit.bin image into the FPGA:
103
104
<pre><code class="shell">
105 24 Frédéric Blanc
/opt/redpitaya/bin/fpgautil -b red_pitaya_top.bit.bin
106 15 Frédéric Blanc
</code></pre>
107
108
109 19 Frédéric Blanc
*autre tuto:*
110
111 20 Frédéric Blanc
Génération du fichier crypté
112 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
113 20 Frédéric Blanc
conversion se fait avec l’utilitaire *bootgen* fourni par le *SDK de Vivado* .
114 1 Frédéric Blanc
Cet outil attend un fichier .bif contenant :
115 20 Frédéric Blanc
116
<pre><code class="shell">
117 21 Frédéric Blanc
a l l :
118
{
119
n o m d u b i t s t r e a m . b i t
120
}
121 20 Frédéric Blanc
</code></pre>
122
123
124
qui sera ensuite fourni à bootgen :
125
126
<pre><code class="shell">
127 26 Frédéric Blanc
../bin/bootgen −image fichierbif.bif −arch zynq −processbitstream bin
128 20 Frédéric Blanc
</code></pre>
129
130
131
Suite à cette commande un fichier nom du bitstream.bit.bin est créé dans le répertoire courant.
132
133
Flasher par utilisation directe de fpga manager
134
135
Le fichier .bit.bin doit être copié/déplacé dans /lib/firmware.
136
Afin d’informer le pilote que le PL doit être flashé, et quel bitstream utiliser, la commande suivante est à utiliser :
137
138
<pre><code class="shell">
139 1 Frédéric Blanc
echo " nom_du_bitstream.bit.bin " > /sys/class/fpga manager/fpga0/firmware
140
</code></pre>
141
142
143 20 Frédéric Blanc
La ligne :
144 21 Frédéric Blanc
<pre><code class="shell">
145
fpga-manager fpga0: writing nom_du_bitstram.bit.bin to Xilinx Zynq FPGA Manager
146
</code></pre>
147 18 Frédéric Blanc
148 21 Frédéric Blanc
s’affichera en cas de succés et la LED connect´ee sur Prog done doit s’allumer (LED bleue sur la RedPitaya).
149
150 34 Frédéric Blanc
page 34 de document:"tuto redpitaya UdFC"
151 15 Frédéric Blanc
152 41 Frédéric Blanc
https://downloads.redpitaya.com/downloads/Unify/RedPitaya_OS_2.00-18_stable.img.zip
153
154 33 Frédéric Blanc
h3. bitstream de test
155 14 Frédéric Blanc
156 39 Frédéric Blanc
Le test est un compteur qui fait clignoter les LED du Redpitaya
157
158 38 Frédéric Blanc
https://redmine.laas.fr/attachments/download/4689/led_fred.bit
159 39 Frédéric Blanc
160
https://redmine.laas.fr/attachments/download/4690/led_fred.bit.bin
161 3 Frédéric Blanc
162
h2. pinout
163 5 Frédéric Blanc
164 3 Frédéric Blanc
!clipboard-202304261053-qqtl1.png!
165
!clipboard-202304251234-p78ss.png!
166 1 Frédéric Blanc
167 2 Frédéric Blanc
h2. Matlab Simulink HDL
168
169
h2. Xilinx Vivado
170 4 Frédéric Blanc
171
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.
172
173 7 Frédéric Blanc
[[Xilink_Vivado]]
174
175 1 Frédéric Blanc
h2. Shared RAM PS (CPU) PL (FPGA)
176 7 Frédéric Blanc
177 15 Frédéric Blanc
[[Shared_RAM_CPU_FPGA]]