Wiki » History » Version 28
Frédéric Blanc, 2023-12-04 13:21
1 | 9 | Frédéric Blanc | h1. RedPitaya |
---|---|---|---|
2 | 1 | Frédéric Blanc | |
3 | 28 | Frédéric Blanc | h2. Zynq-7000 SoC |
4 | |||
5 | The Zynq®-7000 family is based on the Xilinx SoC architecture. These products integrate a feature-rich dual-core or single-core ARM® |
||
6 | Cortex™-A9 based processing system (PS) and 28 nm Xilinx programmable logic (PL) in a single device. The ARM Cortex-A9 CPUs are |
||
7 | the heart of the PS and also include on-chip memory, external memory interfaces, and a rich set of peripheral connectivity interfaces. |
||
8 | |||
9 | AMD Zynq 7000 XC7Z010 |
||
10 | |||
11 | *Vivado Select the device xc7z010clg400-1* |
||
12 | |||
13 | CLB Flip-Flops 35,200 |
||
14 | Look-Up Tables (LUTs) 17,600 |
||
15 | Logic Cells 28K |
||
16 | |||
17 | 13 | Frédéric Blanc | !clipboard-202312011541-sbukm.png! |
18 | 8 | Frédéric Blanc | *Attention il existe plusieurs version de redpitaya* |
19 | |||
20 | STEMlab 125-14 *external clock* (The OS will *not boot* without providing an external clock.) |
||
21 | https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14_EXT/top.html |
||
22 | 1 | Frédéric Blanc | |
23 | 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 |
24 | 1 | Frédéric Blanc | |
25 | 10 | Frédéric Blanc | !clipboard-202311231551-ugmwn.png! |
26 | 12 | Frédéric Blanc | !clipboard-202311271003-ym5pn.png! |
27 | 9 | Frédéric Blanc | !clipboard-202311231537-zevpq.png! |
28 | 11 | Frédéric Blanc | !clipboard-202311271000-jz8ux.png! |
29 | 8 | Frédéric Blanc | |
30 | 15 | Frédéric Blanc | frequence max 464.037Mhz |
31 | 6 | Frédéric Blanc | |
32 | 14 | Frédéric Blanc | h2. OS |
33 | 1 | Frédéric Blanc | |
34 | 15 | Frédéric Blanc | h3. OS 1.04 |
35 | |||
36 | Please note that you need to change the forward slashes to backward slashes on Windows. |
||
37 | |||
38 | |||
39 | 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. |
40 | 15 | Frédéric Blanc | |
41 | <pre><code class="shell"> |
||
42 | 17 | Frédéric Blanc | scp red_pitaya_top.bit root@rp-xxxxxx.local:/root |
43 | 15 | Frédéric Blanc | </code></pre> |
44 | |||
45 | |||
46 | 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. |
47 | 15 | Frédéric Blanc | |
48 | <pre><code class="shell"> |
||
49 | 17 | Frédéric Blanc | redpitaya> ls |
50 | 15 | Frédéric Blanc | </code></pre> |
51 | |||
52 | |||
53 | 16 | Frédéric Blanc | Load the red_pitaya_top.bit to xdevcfg with |
54 | 15 | Frédéric Blanc | |
55 | <pre><code class="shell"> |
||
56 | 17 | Frédéric Blanc | redpitaya> cat red_pitaya_top.bit > /dev/xdevcfg |
57 | 15 | Frédéric Blanc | </code></pre> |
58 | |||
59 | h3. OS 2.0 |
||
60 | |||
61 | 25 | Frédéric Blanc | sur l'ordinateur où est installer *Vivado* |
62 | 24 | Frédéric Blanc | |
63 | 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) |
64 | |||
65 | <pre><code class="shell"> |
||
66 | echo -n "all:{ red_pitaya_top.bit }" > red_pitaya_top.bif |
||
67 | bootgen -image red_pitaya_top.bif -arch zynq -process_bitstream bin -o red_pitaya_top.bit.bin -w |
||
68 | </code></pre> |
||
69 | |||
70 | 23 | Frédéric Blanc | Bootgen se trouve dans ../Vivado/2023.1/bin |
71 | 15 | Frédéric Blanc | |
72 | Send the file .bit.bin to the Red Pitaya with the scp command. |
||
73 | |||
74 | <pre><code class="shell"> |
||
75 | scp red_pitaya_top.bit.bin root@rp-xxxxxx.local:/root |
||
76 | </code></pre> |
||
77 | 1 | Frédéric Blanc | |
78 | 27 | Frédéric Blanc | sur la *redpitaya* |
79 | 1 | Frédéric Blanc | |
80 | 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. |
81 | 15 | Frédéric Blanc | |
82 | 24 | Frédéric Blanc | <pre><code class="shell"> |
83 | ls |
||
84 | 15 | Frédéric Blanc | </code></pre> |
85 | |||
86 | 1 | Frédéric Blanc | |
87 | 15 | Frédéric Blanc | Load the red_pitaya_top.bit.bin image into the FPGA: |
88 | |||
89 | <pre><code class="shell"> |
||
90 | 24 | Frédéric Blanc | /opt/redpitaya/bin/fpgautil -b red_pitaya_top.bit.bin |
91 | 15 | Frédéric Blanc | </code></pre> |
92 | |||
93 | |||
94 | 19 | Frédéric Blanc | *autre tuto:* |
95 | |||
96 | 20 | Frédéric Blanc | Génération du fichier crypté |
97 | 18 | Frédéric Blanc | Vivado g´en`ere par d´efaut un fichier .bit. Le pilote s’attend `a un autre format contenant un entˆete particulier. La |
98 | 20 | Frédéric Blanc | conversion se fait avec l’utilitaire *bootgen* fourni par le *SDK de Vivado* . |
99 | 1 | Frédéric Blanc | Cet outil attend un fichier .bif contenant : |
100 | 20 | Frédéric Blanc | |
101 | <pre><code class="shell"> |
||
102 | 21 | Frédéric Blanc | a l l : |
103 | { |
||
104 | n o m d u b i t s t r e a m . b i t |
||
105 | } |
||
106 | 20 | Frédéric Blanc | </code></pre> |
107 | |||
108 | |||
109 | qui sera ensuite fourni à bootgen : |
||
110 | |||
111 | <pre><code class="shell"> |
||
112 | 26 | Frédéric Blanc | ../bin/bootgen −image fichierbif.bif −arch zynq −processbitstream bin |
113 | 20 | Frédéric Blanc | </code></pre> |
114 | |||
115 | |||
116 | Suite à cette commande un fichier nom du bitstream.bit.bin est créé dans le répertoire courant. |
||
117 | |||
118 | Flasher par utilisation directe de fpga manager |
||
119 | |||
120 | Le fichier .bit.bin doit être copié/déplacé dans /lib/firmware. |
||
121 | Afin d’informer le pilote que le PL doit être flashé, et quel bitstream utiliser, la commande suivante est à utiliser : |
||
122 | |||
123 | <pre><code class="shell"> |
||
124 | 1 | Frédéric Blanc | echo " nom_du_bitstream.bit.bin " > /sys/class/fpga manager/fpga0/firmware |
125 | </code></pre> |
||
126 | |||
127 | |||
128 | 20 | Frédéric Blanc | La ligne : |
129 | 21 | Frédéric Blanc | <pre><code class="shell"> |
130 | fpga-manager fpga0: writing nom_du_bitstram.bit.bin to Xilinx Zynq FPGA Manager |
||
131 | </code></pre> |
||
132 | 18 | Frédéric Blanc | |
133 | 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). |
134 | |||
135 | 22 | Frédéric Blanc | page 34 de document:"tuto redpitaya UdFC" |
136 | 15 | Frédéric Blanc | |
137 | 14 | Frédéric Blanc | https://redpitaya.readthedocs.io/en/latest/developerGuide/software/build/fpga/fpga.html#reprogramming-the-fpga-with-a-custom-image |
138 | |||
139 | https://github.com/RedPitaya/ |
||
140 | 3 | Frédéric Blanc | |
141 | h2. pinout |
||
142 | 5 | Frédéric Blanc | |
143 | 3 | Frédéric Blanc | !clipboard-202304261053-qqtl1.png! |
144 | !clipboard-202304251234-p78ss.png! |
||
145 | 1 | Frédéric Blanc | |
146 | 2 | Frédéric Blanc | h2. Matlab Simulink HDL |
147 | |||
148 | h2. Xilinx Vivado |
||
149 | 4 | Frédéric Blanc | |
150 | 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. |
||
151 | |||
152 | 7 | Frédéric Blanc | [[Xilink_Vivado]] |
153 | |||
154 | 1 | Frédéric Blanc | h2. Shared RAM PS (CPU) PL (FPGA) |
155 | 7 | Frédéric Blanc | |
156 | 15 | Frédéric Blanc | [[Shared_RAM_CPU_FPGA]] |