Home Software Beschleunigung der IP-Verifizierung von Algorithmen in drahtlosen Systemen und...

Beschleunigung von IP-Verifizierungsalgorithmen in drahtlosen und Videoverarbeitungssystemen

Verifizierung von Systemen, die Algorithmen intensiv nutzen
es ist ein langer und teurer Prozess. Studien zeigen das am meisten
von Fehlern in eingebetteten Systemen werden in der Spezifikationsphase eingeführt, aber erst spät im Prozess entdeckt
entwicklungsbedingt. Diese Mängel sind die Hauptursache für Projektverzögerungen und machen einen erheblichen Teil der Engineering-Kosten aus.

 

Aber das muss nicht so sein. Viele algorithmenreiche Systemdesigner verfügen bereits über die Tools zur Kontrolle der Verifizierung. Ingenieure können dieselben Tools verwenden, um Systemmodelle zu erstellen, die ihnen helfen, Probleme früher im Entwicklungsprozess zu lokalisieren und zu beheben.
Auf diese Weise wird nicht nur der Zeitaufwand für die Verifikation reduziert, sondern auch die Performance der Designs gesteigert. Dieser Artikel erläutert drei praktische Ansätze zur frühen Verifizierung, die dies ermöglichen.

 

Zunächst sehen wir uns an, warum der aktuelle algorithmische IP-Verifizierungsprozess ineffizient und fehleranfällig ist. Algorithmen IP können Systeme mit Kommunikations-, Audio-, Video- und Bildfunktionen unterscheiden
und Navigation. Im Gegensatz zu vorgefertigten Komponenten sind Algorithmus-IPs das „Geheimnis“ eines Unternehmens, von Natur aus anwendungsspezifisch und erfordern einen anderen Überprüfungsansatz.

 

In einem typischen Workflow beginnen Designs mit Entwicklern.
von Algorithmen, die das Design durch Spezifikationsdokumente in die Hardware- und Softwareteams übersetzen

Jedes Team entwickelt oft seine eigenen Testverfahren, um festzustellen, ob die Implementierung funktional korrekt ist. Diese Testverfahren werden oft von Fall zu Fall erstellt.
und basieren auf der Interpretation der Spezifikationen durch den Ingenieur. Dies ist ein Problem, da Hardware- und Software-Ingenieure in vielen Fällen nicht über die erforderlichen Tools oder Anwendungsdomänenkenntnisse verfügen, um die Spezifikationen richtig zu interpretieren und zu implementieren. Und umgekehrt: Algorithmenentwickler verfügen möglicherweise nicht über die erforderlichen Tools oder Erfahrungen, um sicherzustellen, dass sie alle Anforderungen der „realen Welt“ genau identifiziert haben. Oft stellen sie spät im Entwicklungsprozess fest, dass Algorithmen in der Laufzeitumgebung nicht wie erwartet funktionieren.

 

Die Verwendung unterschiedlicher Tools und Workflows für digitale und analoge/HF-Hardware- und Softwarekomponenten verstärkt diese Ineffizienz, indem sie die Überprüfung des Systemverhaltens in verschiedenen Bereichen verhindert. Dies kann zu unerwarteten Wechselwirkungen zwischen Hardware und Software führen. Infolgedessen erfolgt die Systemverifizierung erst spät im Arbeitsablauf, in der Systemintegrationsphase, wenn Designänderungen schwieriger und teurer durchzuführen sind.

 

Da die meisten Fehler in der Spezifikationsphase eingeführt werden, können herkömmliche Hardware, Software und ESL-Tools diese Probleme nicht lösen, da sie davon ausgehen, dass die Anforderungen in der Spezifikation angemessen und genau erfasst wurden. Das Verifizierungsproblem muss frühzeitig im Prozess angegangen werden, indem Algorithmen und Verhaltensmodellierung mit nachfolgenden Arbeitsabläufen verbunden werden.

Frühzeitige Verifizierung dank modellbasiertem Design

Modellbasiertes Design bietet einen besseren Ansatz. Es bietet eine Reihe von Werkzeugen für Algorithmusdesign, Systemsimulation und Prototyping sowie rigorose Analyse. Mit diesen Tools, Algorithmen

und die Tests sind als Teil eines Verhaltenssystemmodells konzipiert. Dieses Systemmodell dient als Grundlage einer ausführbaren Spezifikation, die alle Designteams als Designreferenz und Prüfstand verwenden können. Dieser Ansatz bietet allen Designteams (einschließlich Algorithmenentwicklung, Systemarchitektur und verschiedenen Komponenten) eine eindeutige, gemeinsame Ansicht der Designanforderungen.

Die Verwendung von modellbasiertem Design zur Überprüfung des Verhaltens von Systemen und Komponenten hat mehrere Vorteile:

  • Design- und Integrationsprobleme können durch Simulation frühzeitig entdeckt werden, während sie noch leicht zu beheben sind.
  • Es ist möglich, parallel zum Design Tests zu entwickeln, um sicherzustellen, dass die ausführbare Spezifikation den Anforderungen entspricht.
  • Die Wiederverwendung von Modellen als Testbenches für die Komponentenbereitstellung eliminiert die manuelle Testerstellung
    und reduziert Fehlinterpretationen.
  • Designer können Kompromissanalysen, Komponenteninteraktionen und Metriken auf Systemebene schnell bewerten.

 

Diese frühen Überprüfungsfunktionen adressieren die größte Quelle von Produktverzögerungen, indem sie es Ingenieuren ermöglichen, Fehler in der Spezifikationsphase zu entdecken und zu korrigieren. Unabhängige Untersuchungen haben gezeigt, dass dies die Produktentwicklungszeit und -kosten halbieren und zu besseren Produktdesigns führen kann.

 

Automatisierte Verifikation und Wiederverwendung von Prüfständen

Der Einstieg in das modellbasierte Design ist überraschend einfach. In einem ersten Schritt können Algorithmendesigner und Implementierungsteams zusammenarbeiten, um bestehende Testverfahren mit den Tools zu automatisieren, die sie bereits verwenden. Von der Perspektive
Für Algorithmendesigner hat diese Automatisierung eher mit einem Umdenken als mit einer Änderung der Arbeitsbelastung zu tun, da sie bereits Prüfstände entwickeln, um ihre eigene Arbeit zu überprüfen.
Im traditionellen Design-Flow verlassen diese Testbenches nicht den Algorithmus-Design-Pool. Beim modellbasierten Design kann diese Arbeit wiederverwendet werden, anstatt für das Implementierungsteam verloren zu gehen.

 

Die Wiederverwendung wird durch Automatisierungsschnittstellen zu Algorithmen- und Systemmodellierungswerkzeugen erreicht, die eine Co-Simulation mit weit verbreiteten Hardwaresimulatoren und Entwicklungsboards ermöglichen. Diese Kosimulation ersetzt skriptbasierte und manuelle Vergleichstechniken, die andernfalls erforderlich wären, um zu verifizieren, dass C-Code-, HDL- und analoge Schaltungsimplementierungen die Metriken auf Systemebene erfüllen. Die Wiederverwendung von Testbenches reduziert die Verifizierungsaufgaben erheblich und ermöglicht allen Teams, vorhandene Tools und Workflows effizienter zu nutzen.

Die Verwendung von modellbasiertem Design zur Überprüfung des Verhaltens von Systemen und Komponenten hat mehrere Vorteile:

  • Design- und Integrationsprobleme können durch Simulation frühzeitig entdeckt werden, während sie noch leicht zu beheben sind.
  • Es ist möglich, parallel zum Design Tests zu entwickeln, um sicherzustellen, dass die ausführbare Spezifikation den Anforderungen entspricht.
  • Die Wiederverwendung von Modellen als Testbenches für die Komponentenbereitstellung eliminiert die manuelle Testerstellung
    und reduziert Fehlinterpretationen.
  • Designer können Kompromissanalysen, Komponenteninteraktionen und Metriken auf Systemebene schnell bewerten.

 

Diese frühen Überprüfungsfunktionen adressieren die größte Quelle von Produktverzögerungen, indem sie es Ingenieuren ermöglichen, Fehler in der Spezifikationsphase zu entdecken und zu korrigieren. Unabhängige Untersuchungen haben gezeigt, dass dies die Produktentwicklungszeit und -kosten halbieren und zu besseren Produktdesigns führen kann.

 

Automatisierte Verifikation und Wiederverwendung von Prüfständen

Der Einstieg in das modellbasierte Design ist überraschend einfach. In einem ersten Schritt können Algorithmendesigner und Implementierungsteams zusammenarbeiten, um bestehende Testverfahren mit den Tools zu automatisieren, die sie bereits verwenden. Von der Perspektive
Für Algorithmendesigner hat diese Automatisierung eher mit einem Umdenken als mit einer Änderung der Arbeitsbelastung zu tun, da sie bereits Prüfstände entwickeln, um ihre eigene Arbeit zu überprüfen.
Im traditionellen Design-Flow verlassen diese Testbenches nicht den Algorithmus-Design-Pool. Beim modellbasierten Design kann diese Arbeit wiederverwendet werden, anstatt für das Implementierungsteam verloren zu gehen.

 

Die Wiederverwendung wird durch Automatisierungsschnittstellen zu Algorithmen- und Systemmodellierungswerkzeugen erreicht, die eine Co-Simulation mit weit verbreiteten Hardwaresimulatoren und Entwicklungsboards ermöglichen. Diese Kosimulation ersetzt skriptbasierte und manuelle Vergleichstechniken, die andernfalls erforderlich wären, um zu verifizieren, dass C-Code-, HDL- und analoge Schaltungsimplementierungen die Metriken auf Systemebene erfüllen. Die Wiederverwendung von Testbenches reduziert die Verifizierungsaufgaben erheblich und ermöglicht allen Teams, vorhandene Tools und Workflows effizienter zu nutzen.

Vielleicht noch wichtiger ist die Fähigkeit, bessere Produktdesigns zu erstellen und bestehende weiterzuentwickeln, da robuste Systemmodelle es einfach machen, abgeleitete Designs zu erstellen oder sie schnell an neue Anforderungen anzupassen.

 

Unternehmen, die frühe Überprüfungstechniken anwenden, stellen fest, dass sich die Kommunikation und Zusammenarbeit zwischen verteilten multidisziplinären Teams verbessert. Auch kleinere Teams sehen deutliche Zeit- und Kosteneinsparungen, selbst wenn sie nur einen Aspekt übernehmen.

 

Führende Kommunikations-, Elektronik- und Halbleiterunternehmen haben all diese frühen Verifikationstechniken genutzt, um sich einen Wettbewerbsvorteil zu verschaffen, indem sie die Test- und Verifikationskosten senken und gleichzeitig ihre Fähigkeit stärken, neue und innovative Produkte zu entwickeln und schnell auf den Markt zu bringen.