AMD Xilinx biedt de Zynq familie van system-on-chips (SoC’s) aan, die een verscheidenheid aan input- en outputmogelijkheden van een ARM microprocessor en programmeerbare logica van Xilinx in één enkel apparaat combineren.
De microprocessor kan een besturingssysteem zoals Linux draaien en met zijn grafische gebruikersinterface dienst doen als een handige mens-machine interface. Bovendien implementeert deze reeds populaire communicatie-interfaces zoals Ethernet, USB, CAN, SPI, UART en I²C.
Programmeerbare logica daarentegen speelt zijn voordeel bij massale parallelle verwerking en de daarmee gepaard gaande hoge datasnelheid. Vergeleken met computerprocessoren en grafische kaarten krijgt u hier de beste prestaties per watt.
Zynq van Xilinx combineert de voordelen van microprocessor- en circuittechnologie op één SoC. Voor softwareontwikkelaars lijkt de Zync SoC een standaard ARM SoC met alle functies, die onmiddellijk opstart bij het opstarten en een verscheidenheid aan besturingssystemen kan draaien, onafhankelijk van programmeerbare logica.
In tegenstelling tot eerdere FPGA- en microprocessor SoC’s is het Zynq-platform overgeschakeld van een FPGA-centrisch naar een processor-centrisch model. Dit is in de eerste plaats om het dagelijkse gebruik te vergemakkelijken.
Zynq-7000 SoC
De eerste generatie Zync SoC’s was specifiek gericht op embedded systemen zoals bestuurdersassistentie in auto’s, generieke videobewaking of draadloze communicatie, en fabrieksautomatisering.
De microprocessor die gebruikt wordt in de Zynq-7000 SoC is een Arm® Cortex®-A9 single of dual core. De programmeerbare logica van de zevende generatie wordt gemaakt in een proces met een structuurbreedte van 28 nm.
Met maximaal 6,6 miljoen logische cellen en bandbreedtes tussen 6,25 en 12,5 Gb/s zijn zeer gedifferentieerde ontwerpen mogelijk, waarmee ofwel meerdere videostromen tegelijk kunnen worden verwerkt of bijzonder hoge-resolutie (Ultra-HDTV) videostromen efficiënt kunnen worden verwerkt.
Zynq UltraScale+ MPSoC
Aangeprezen als de eerste heterogene adaptieve SoC, is een tweede dual-core Cortex-R5F arm beschikbaar, speciaal voor real-time taken, naast een dual- of quad-core Cortex-A53 arm.In combinatie met de reeds lage latency van de FPGA-hardware positioneert de nieuwe SoC zich als de ideale oplossing voor real-time taken.
Daarnaast is voor het eerst bij Xilinx een speciale grafische kaart in de vorm van de Arm Mali-400 geïntegreerd. Deze GPU, die ook bekend is van smartphones en tablets, beheerst de API OpenlGL ES 2.0 en bestaat uit twee pixel shaders en één vertex shader. De EV-variant van de Zynq UltraScale+ ondersteunt ook de H.264 en H.265 codecs die worden gebruikt voor videocompressie.
De programmeerbare logica is ook verbeterd ten opzichte van de Zynq-7000. Deze is nu gemaakt in TSMC’s 16nm FinFET+ proces en en werkt nog efficiënter.
Zynq oplossingen van Digilent
De Cora Z7 markeert qua prijs het instappunt voor dit type SoC-ontwikkelbord bij Reichelt Elektronik en is hoogstwaarschijnlijk gericht op makers en hobbyisten. Uitgerust met Arduino™ headers, 1Gbps Ethernet, een onboard analoog-digitaal omzetter en Pmod poorten, kan de Cora Z7 worden gebruikt in een verscheidenheid van embedded toepassingen.
Op een opvallend wit PCB met meer connectiviteit, een Arm dual-core en 85000 logische cellen in plaats van 28000, scoort de iets grotere Arty Z7-20 hoog, gericht op custom video applicaties en in staat om real-time video te verwerken via HDMI in- en uitgangen. Beide kaarten hebben connectoren voor populaire Arduino uitbreidingskaarten, waardoor ze nog flexibeler zijn.Digilent’s inspanningen worden aangevoerd door de Genesys ZU-5EV met Zynq UltraScale+ EV MPSoC. Ontworpen met high-definition video in het achterhoofd, is de Genesys ZU-5EV ideaal voor multimedia, assistentiesystemen voor auto’s, bewaking en andere embedded vision toepassingen.
De uitstekende mix van on-board randapparatuur, upgradebaar DDR4, mini PCIe en microSD slots, multi-camera, een video codec die HDMI bron en sink mogelijk maakt, en 10G SFP+ ondersteunen een verscheidenheid aan use cases. Diverse gespecialiseerde poorten, waaronder FMC Gigabit uitbreidingspoorten, Pmod, en SYZYGY-compatibele high-speed uitbreidingsmodulepoorten voor Zmods, maken flexibele uitbreiding mogelijk en eenvoudige toegang tot een breed ecosysteem van add-on modules, perfect voor evaluatie en snelle prototyping.
Aan de slag
De genoemde borden worden allemaal ondersteund door de Vivado Design Suite van Xilinx. Met Vivado ML Standard Edition (voorheen Vivado WebPACK ™) is zelfs een gratis variant beschikbaar.
De Vivado geïntegreerde ontwerpomgeving (IDE) kan worden gebruikt voor het synthetiseren en analyseren van ontwerpen in hardware beschrijvingstaal (HDL). De suite beschikt hiervoor over tools van systeem- tot chipniveau, gebaseerd op een gemeenschappelijk schaalbaar datamodel en een gemeenschappelijke debug-omgeving.
Daarnaast bevat Vivado, net als de Xilinx ISE-bewerkingen, een logicasimulator en kan het C-code omzetten in programmeerbare logica. De software is beschikbaar voor zowel Microsoft Windows als Linux.
Als alternatief is de SDSOC software beschikbaar voor de Arty Z7-20 en enkele andere Zynq boards. De SDSOC (Software-Defined System-On-Chip) omgeving is gebaseerd op de bekende Ecplipse geïntegreerde ontwikkelomgeving en maakt het voor ontwikkelaars en ingenieurs eenvoudiger om te beginnen met het ontwikkelen met Xilinx FPGA’s, aangezien geen achtergrondkennis van circuit-technologie vereist is.
De ontwikkelomgeving bevat een systeem-optimaliserende C/C++/OpenCL compiler die zorgt voor geautomatiseerde softwareversnelling in programmeerbare logica gecombineerd met geautomatiseerde generatie van systeemconnectiviteit, en uitgebreide ontwerpgereedschappen.
Een toepassing wordt dus geschreven als C/C++/OpenCL-code, waarbij de programmeur een doelplatform specificeert en een subset van de functies binnen de toepassing die in hardware moeten worden gecompileerd. De applicatie wordt vervolgens gecompileerd in hardware en software om het complete embedded systeem te realiseren dat is geïmplementeerd op een Zynq-apparaat. Dit omvat een kant-en-klare boot image met firmware, evenals een besturingssysteem en de uitvoerbare applicatie zelf.