Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Co-simulatie voor Zynq SoC-ontwerpen: Hardware-software-verificatie versnellen

Heterogene System-on-Chip (SoC) apparaten zoals de Xilinx Zynq-7000 en Zynq UltraScale+ MPSoC fusioneren een high-performance processing-systeem met cutting-edge programmeerbare logica. Deze integratie laat ontwerpers toe systemen te bouwen die CPU-gedreven controle balanceren met PL-gebaseerde, lage-latentie-pijplijnen – ideaal voor beeldverwerking, industriële automatisering en realtime signaalverwerking.

De PS-naar-PL-verbinding is gebouwd op een suite van memory-mapped Advanced eXtensible Interface (AXI) links die zowel master- als slave-rollen ondersteunen, wat robuuste bidirectionele communicatie mogelijk maakt tussen software draaiende op de ARM-kernen en custom-logica in de FPGA-fabric.

Co-simulatie voor Zynq SoC-ontwerpen: Hardware-software-verificatie versnellen

Figuur 1. Zynq-architectuur met AXI-interconnect tussen PS en PL (Bron: Xilinx)

Wanneer de PS configuratie of controle afhandelt, schrijft een general-purpose AXI Master op de processor naar registers binnen PL IP-kernen, wat hun gedrag stuurt. Voor data-intensieve taken – zoals streamen van videoframes van PL naar PS-geheugen – worden high-performance AXI-interfaces gebruikt, wat meer gesofisticeerde software vereist om DMA-transfers op te zetten en buffer-coherency te managen.

Het verifiëren van PS-PL-interacties is berucht moeilijk. Een 2015 Embedded Markets Survey benadrukte debugging als een top-ontwerp-uitdaging en onderstreepte de behoefte aan betere verificatie-tools. Terwijl bus-functionele modellen een initiële sanity-check kunnen bieden, missen ze vaak de diepgang die nodig is om echte software-drivers en applicaties te valideren. Volledige functionele modellen bestaan maar kunnen prohibitief duur zijn.

Traditionele verificatie splitst de flow: elk blok wordt geïsoleerd gevalideerd, en pas na de eerste hardware-aankomst worden PS en PL samen gesticht. Het software-team checkt typisch of de Linux-kernel de nodige drivers en device-tree-entries draagt door QEMU te draaien, een open-source hypervisor die de ARM-architectuur emuleert. Integen, sequentieert het logic-team commando's die software-geïnitieerde transacties nabootsen om PL-functionaliteit te bevestigen.

Beide benaderingen missen de echte PS-PL-handshake, wat subtiele integratie-bugs moeilijk te spotten en duur om later in de cyclus te fixen maakt. Terwijl een development-board een stopgap kan bieden, vereist debuggen op echte hardware het invoegen van instrumentatie-logica, het regenereren van de bitstream, en het riskeren van gedragsdrift.

Co-simulatie van hardware en software biedt een proactieve oplossing: het stelt gelijktijdige verificatie voor productie-boards mogelijk, wat debug-tijd en -kosten dramatisch verlaagt. Het geeft ontwerpers ook volledige zichtbaarheid in register-statussen en inter-domein-verkeer, wat defectdetectie versnelt.

HW & SW Co-simulatie

Co-simulatie vereist dat de logic-simulator communiceert met een software-emulatieplatform. Aldec's Riviera-PRO (2017.10) introduceerde een brug die Riviera-PRO verbindt met QEMU, wat Linux-gebaseerde Zynq-software in dezelfde simulatiecyclus als de HDL laat draaien.

Co-simulatie voor Zynq SoC-ontwerpen: Hardware-software-verificatie versnellen

Figuur 2. Overbruggen van HW en SW-verificatie-omgevingen (Bron: Aldec)

De brug benut SystemC Transaction-Level Modelling (TLM) om AXI-kanalen tussen QEMU en Riviera-PRO te exposeren, wat two-way data-uitwisseling mogelijk maakt. Ingenieurs kunnen dan geavanceerde debug-technieken emploeyen zoals HDL-breakpoints, data-flow-tracing en code-coverage-analyse binnen Riviera-PRO, terwijl de software-kant GDB gebruikt om door kernel- en driver-code in QEMU te stappen.

Omdat dezelfde Linux-kernel die op het target-apparaat zal draaien, in QEMU geëxerceerd wordt, bevestigen ontwikkelaars vroeg dat alle benodigde modules en configuratiebestanden aanwezig zijn, wat late-stage-verrassingen vermindert.

PWM Voorbeeld

Om de workflow te illustreren, overweeg een PWM IP-kern in PL geplaatst en verbonden met de PS via een general-purpose AXI-interface. Software configureert een register om duty-cycle tussen 0% en 100% in te stellen, dan triggert de kern. Het verifiëren van de kern in isolatie mist de PS-geïnitieerde controlepad; volledige co-simulatie waarborgt dat de pulsgene correct gegenereerd wordt wanneer de Linux-applicatie draait.

Ingebed

  1. PCB-productie in het 5G-tijdperk: Trends en uitdagingen
  2. Top 5 CNC-freestechnieken Voor Verbeterde Ontwerpprecisie
  3. AutoCAD Uitgelegd: Hoe Het Werkt en Toepassingen
  4. Expert Gids: Optimaliseren van Ontwerpen voor Succesvolle Metaalbewerking
  5. Infineon onthult eerste industrie-gefocuste TPM 2.0 op Hannover Messe
  6. Harwin's S0911-46R: ultra-compacte EMI/RFI-schermclip voor high-density elektronica
  7. OmniVision lanceert OA805: Ultra-laag-vermogen 4K-videoprocessor voor batterijgevoede beveiligingscamera's
  8. Syslogic Railway Computers: Predictief onderhoud voor betrouwbare, kosteneffectieve railoperaties
  9. Renesas PMIC-referentieontwerpen stroomlijnen stroombeheer voor Xilinx FPGA’s
  10. Wolframlegering Kogels: De Eco-vriendelijke, Hoogpresterende Alternatief voor Lood
  11. Belangrijke toepassingen van hafnium: van kernstafstokken tot geavanceerde legeringen