1. Introduction
La fille Zynq-7000 est une famille de composants Xilinx basée sur l’architecture Xilinx All
Programmable SoC (System on Chip ou System sur Puce). Il combine une partie Processing System
(PS) forme autour d’un processeur ARM Cortex-A9 dual-core avec une partie Programmable Logic
(PL).
Le processeur dans la PS boot toujours en premier, permettant une approche logicielle centrique
pour le boot et la configuration de la PL. Cela signifie que vous pouvez programmer (i.e.
configurer) la partie PL à partir de la partie PS. La partie PS peut même fonctionner sans la partie
PL.
2. Applications :
Le système sur puce Zynq 7000 peut être utilisée dans plusieurs domaines:
• Automotive driver assistance
• Broadcast camera
• IP and Smart camera
• Industrial motor control, industrial networking, and machine vision
• Video and night vision equipment
• LTE radio and baseband
• Medical diagnostics and imaging
• Multifunction printers
3. Zynq Programmable Logic (PL)
La partie Programmable Logic (PL) du Zynq à la même structure que les FPGAs 7series de Xilinx.
Comme présenté sur la Figure 2, certains composants de la famille Zynq-7000 ont une PL
équivalente à un FPGA Xilinx Artix-7 et d’autres ont une PL équivalente à un FPGA Xilinx Kintex-
7.
1
Figure 2 - Zynq-7000 - Programmable Logic Features
La Figure 3 montre une vue simplifiée de la partie Processing System (PS) de la famille Zynq-7000.
On remarque que la partie PS comprend quatre blocs essentiels:
L’Application Processor Unit (APU) qui contient le processeur ARM Cortex-A9 dual-core
Interfaces mémoires (Memory Interfaces)
Périphériques Entrées/Sorties (I/O Peripherals (IOP))
Interconnections (Interconnects)
2
5. Application Processor Unit (APU)
3
Une mémoire RAM double port sur puce (OCM – On Chip Memory)
Une « DMA 8-channel »
Interruptions et Timers
• General interrupt controller (GIC)
• 3 watch dog timers (WDT) (one per CPU and one system WDT)
• Two triple timers/counters (TTC)
CoreSight debug and trace pour Cortex-A9.
6. Interfaces Memoires (Memory Interfaces)
L’unité interface mémoire (memory interface unit) contient un contrôleur mémoire dynamique et
des modules d’interface mémoire statique. Le contrôleur mémoire dynamique supporte les
mémoires DDR3, DDR3L, DDR2 et LPDDR2. Le contrôleur mémoire statique supporte les
interfaces NAND et QSPI flash, un bus de données parallèles et une interface NOR flash parallèle.
7. Interconnect
L’APU, l’unité interface mémoire, et les IOPs sont tous connectes les uns aux autres et à la partie
PL par une interconnexion ARM AMBA AXI multi-layered. L’interconnexion est non-bloquante
et supporte des multiples transactions maitre-esclave simultanées.
8. Périphériques E/S (I/O Peripherals - IOP)
L’unité IOP unit contiens les périphériques de communication (deux périphériques Ethernet MAC,
deux périphériques USB 2.0, deux contrôleurs d’interface bus CAN, deux contrôleurs SD/SDIO,
deux ports SPI full-duplex, deux UARTs, deux interface I2C maitre et esclaves I2C et jusqu’à 118
bits de GPIO (General Purpose IO)).
Les périphériques IOP communiques aux composants extérieurs via les pins E/S multi-usage
(multi-use I/O (MIO)) dédiés (jusqu’à 54 pins selon le composant). Tous les pins MIO supportent
les standards 1.8V HSTL et LVCMOS standards ainsi que les standards 2.5V/3.3V.
9. E/S multi-usage (Multiuse I/O - MIO)
4
Figure 5 – Bloc Diagramme du module MIO (source: [2])
Le rôle des MIO est de mapper les ports des périphériques de la PS aux pins correspondant à la PS
du FPGA. Ce mappage peut être définit en utilisant un GUI dans Vivado. Les pins correspondant
aux MIOs sont divises dans deux sets de buffers E/S configures : Bank 0 (MIO[15:0]) et Bank 1
(MIO[53:16]). Ces pins sont fixés. Il n’est donc pas possible d’utiliser d’autres pins du Zynq.
Bibliography
[1] Xilinx, “UG585 (v1.10) - Zynq-7000 AP SoC Technical Reference Manual,” 2015.
[2] Xilinx, “DS190 - Zynq-7000 All Programmable SoC Overview (v1.9),” 2016.