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]] |