VHDL- und mixed-mode Netzlistensimulation



Ähnliche Dokumente
Simulation von Gatternetzlisten VHDL und Mixed-mode

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Design Compiler. VHDL Kurzbeschreibung und in dem SYNOPSYS

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

AutoCAD Dienstprogramm zur Lizenzübertragung

Arbeiten mit UMLed und Delphi

Simulation LIF5000. Abbildung 1

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Einführung in TexMaker

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Medea3 Print-Client (m3_print)

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Professionelle Seminare im Bereich MS-Office

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Webalizer HOWTO. Stand:

Rundung und Casting von Zahlen

E Mail Versand mit der Schild NRW Formularverwaltung

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Erstellen von x-y-diagrammen in OpenOffice.calc

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

BELIEBIG GROßE TAPETEN

Anleitung über den Umgang mit Schildern

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Installationsanleitung für das KKL bzw. AGV4000 Interface

Wir arbeiten mit Zufallszahlen

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Fraunhofer FOKUS ADPSW-INSTALLATION. Abiturdaten-Prüfsoftware. Version 3.0.1, 7. Mai 2013 FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Anleitung Inspector Webfex 2013

Barcodedatei importieren

Print2CAD 2017, 8th Generation. Netzwerkversionen

Speicher in der Cloud

teamsync Kurzanleitung

Titel. App-V 5 Single Server Anleitung zur Installation

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Windows Server 2012 RC2 konfigurieren

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Sensor board EB

Installation der Demoversion vom M-Doc AutoSigner

Netzwerkversion PVG.view

Alltag mit dem Android Smartphone

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Lizenzierung von SharePoint Server 2013

Handbuch. TMBackup R3

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

OP-LOG

Dokumentation zur Versendung der Statistik Daten

Verarbeitung von ZV-Dateien im Internetbanking. Inhalt. 1. Datei einlesen Datei anzeigen, ändern, löschen Auftrag ausführen...

Einführungskurs MOODLE Themen:

Grundlagen der Theoretischen Informatik, SoSe 2008

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Symbolbearbeitung mit EPLAN 5.60/5.70 DIC_***D.SYM

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Stammdatenanlage über den Einrichtungsassistenten

Lizenzierung von SharePoint Server 2013

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Updatehinweise für die Version forma 5.5.5

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

1 Mathematische Grundlagen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Info zum Zusammenhang von Auflösung und Genauigkeit

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Mediator 9 - Lernprogramm

1. Einführung. 2. Vorbereiten der Excel-Datei

Dieses UPGRADE konvertiert Ihr HOBA-Finanzmanagement 6.2 in die neue Version 6.3. Ein UPGRADE einer DEMO-Version ist nicht möglich.

Task: Nmap Skripte ausführen

IINFO Storyboard

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Schuljahreswechsel im Schul-Webportal

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Hinweise zum elektronischen Meldeformular

Chemie Zusammenfassung KA 2

How to do? Projekte - Zeiterfassung

Elexis-BlueEvidence-Connector

Erstellen der Barcode-Etiketten:

Inventur. Bemerkung. / Inventur

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Electronic Systems GmbH & Co. KG

GITS Steckbriefe Tutorial

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

2. Im Admin Bereich drücken Sie bitte auf den Button Mediathek unter der Rubrik Erweiterungen.

Transkript:

Werkzeuge : CADENCE NCSim Design-Kits : AMS Hit-Kit designsetup : ldv ams A. Mäder Diese Anleitung beschreibt die grundlegenden Schritte, um innerhalb einer VHDL-Testumgebung Gatternetzlisten, als Ausgabe eines Syntheseprozesses, zu simulieren. Vor dem Layout prüfen derartige Simulationen die Funktionalität der Schaltung unter Berücksichtigung der Gatterverzögerungszeiten. Zudem ist so auch gewährleistet, dass die Synthese richtige Ergebnisse geliefert hat und keine Programm- oder Bedienungsfehler aufgetreten sind. Nach dem Layout, der Platzierung und Verdrahtung, können zusätzlich die Leitungslaufzeiten in der Netzlistensimulation berücksichtigt werden. Bei Standardzellentwürfen ist eine abschließende Simulation mit Backannotation unerlässlich, bevor das ASIC zur Fertigung freigegeben werden kann. Da das spezielle Vorgehen von der Gatterbibliothek und den verwendeten Werkzeugen (Simulator, Timing-Analyzer, Layoutprogramme) abhängig ist, werden im folgenden zwei prototypische Abläufe vorgestellt: Simulation einer VHDL-Netzliste, allgemein Mixed-mode Simulation einer Verilog-Netzliste, für den AMS 0, 35 µm Prozess mit den CADENCE NC-Simulatoren (Native Compiled) Voraussetzung Im Folgenden wird immer eine Hierarchie vorausgesetzt, wie sie in Abbildung 1 skizziert ist. Ausgangspunkt ist eine (hierarchische) VHDL-Beschreibung einer Schaltung, entity toplevel, die in einer Testumgebung simuliert wurde: entity testenv, architecture testbench zusammen in einer Datei testenv.vhd. Bei der anschließenden Synthese wurde eine hierarchische Netzliste erzeugt, wie in VHDL-Synthese beschrieben, und in einer einzigen Datei netlist.vhd/.v gesichert. Durch entsprechende Konfiguration der bestehenden Testumgebung soll diese Netzliste jetzt simuliert werden. Zeitverhalten und Backannotation Egal ob VHDL- oder Verilog-Netzlisten und -Gattermodelle simuliert werden, bei der Simulation muss der Designer wissen, welche Zeitmodelle in den herstellerspezifischen Zellbibliotheken benutzt werden. Weil bei aktuellen Submikron-Technologien die Leitungsverzögerungen im Bereich der Gatterlaufzeiten liegen, sind Simulationen, die nur die Schaltzeiten der Gatter berücksichtigen, viel zu ungenau. Schon vor dem Layout (Platzierung & Verdrahtung) werden deshalb Werkzeuge zur statischen Timing-Analyse eingesetzt, die das Schaltverhalten der Gatter abhängig von deren Ausgangslast (nachgeschaltete Eingänge und heuristisch ermittelte Verdrahtungseffekte) modellieren. Weil für eine Simulation auf Netzlistenebene ohnehin eine Backannotation Import des (extern) berechneten Zeitverhaltens stattfindet, enthalten die meisten Gatterbibliotheken nur unit-delay Modelle, bei denen alle Gatter die gleiche, konstante Verzögerungszeit besitzen. Die dazu notwendigen Schritte sind in dem Abschnitt zur mixed-mode Simulation skizziert. 1

VHDL <testenv>.vhd <testenv> <toplevel> <netlist> VHDL-Simulation, allgemein.v.vhd Abbildung 1: Hierarchie und Dateistruktur Die Schritte dieses Abschnitts gelten nicht für bestimmte Simulatoren, sondern beziehen sich allgemein auf die Konfiguration von VHDL-Hierarchien. Für die hier installierten Standardzell-Entwurfsumgebungen wird eine mixed-mode Simulation empfohlen, wie sie im zweiten Teil, ab Seite 4, beschrieben ist. 1. Netzliste nachbearbeiten Vor der Simulation sind noch einige Änderungen in der Netzlistendatei notwendig; dazu kann ein beliebiger Texteditor benutzt werden. > edit netlist.vhd [shell] Zuerst sind die logischen Namen der Zellbibliotheken zu ergänzen: die Synthese erzeugt zwar Verweise auf die IEEE-Bibliotheken, Referenzen auf die Zellbibliothek fehlen aber noch. Abhängig von dem Prozess, bzw. FPGA-Typ sind die passenden Bibliotheken einzutragen. 1 Der Verweis auf die Bibliothek wird dabei ersetzt: library IEEE; library IEEE, reflib1, reflib2... ; Design-Kit Zellbibliotheken AMS c35_corelib, c35_iolib_4m, c35_iolibv5_4m... ALTERA cyclone, stratix, apex20ke... XILINX unisims, logiblox, xc9000... Die Synthese erzeugt ein zusätzliches Package CONV_PACK_ toplevel mit eigenen Deklarationen. In der Regel wird dieses Package nicht benötigt und kann, zusammen mit den Verweisen darauf use work.conv_pack_ toplevel all; entfernt werden. Werden im Code die arithmetischen Arraytypen SIGNED und UNSIGNED benutzt, ist die Referenz auf den offiziellen Standard ieee.numeric_std zu ändern. 1 Wegen der ständigen Aktualisierung der Design- und FPGA-Kits, sollte man sich die jeweilige Dokumentation ansehen, bzw. bei mir nachfragen. 2

VHDL In der synthetisierten Datei sind, außer den Netzlisten (den architectures), auch die zugehörigen entity-deklarationen enthalten. Um später in der VHDL-Testumgebung frei zwischen den Architekturen vor und nach der Synthese auswählen zu können, dürfen Entity-Deklarationen der Verhaltensmodelle nicht in der Netzlistendatei wiederholt werden, da die meisten VHDL-Simulatoren Zeitmarken zur Konsistenzsicherung mitführen. Deshalb sollten erst die Entity und dann alle zugehörigen Architekturen analysiert werden. Beispielsweise können Deklarationen eigener Entities in netlist.vhd auskommentiert werden zusätzliche Entities, wie DesignWare Komponenten, müssen natürlich hier stehen bleiben. 2. Konfiguration der Testumgebung Für die Testumgebung wird jetzt eine neue Konfiguration erzeugt, die die synthetisierte Netzliste als instanziierte Komponente einbindet. Die Konfiguration kann, als eigenständige Entwurfseinheit, in einer extra Datei stehen, meist ist sie direkt in der Datei der Testumgebung enthalten. > edit testenv.vhd [shell] Die Bezeichner der synthetisierten Netzliste entsprechen folgendem Schema: die Namen der entitys ändern sich nicht (s.o.). auch die Label der Instanzen, für hierarchische Konfigurationen, bleiben wie im ursprünglichen VHDL-Code. Bezeichnern der architectures wird SYN_ vorangestellt. Die Default-Konfiguration, bei der die gesamte Hierarchie durch die Syntheseausgabe ersetzt wird, sieht dann folgendermaßen aus: configuration configid of testenv is for testbench for instlabel : topcomponent use entity work. toplevel (SYN_ archid ); end configuration configid ; Sollen Verhaltensmodelle und synthetisierte Netzlisten gemischt werden, dann muss die Konfiguration hierarchisch erweitert werden, beispielsweise als: configuration configid of testenv is for testbench for instlabel : topcomponent use entity work. toplevel (SYN_ archid ); for SYN_ archid for i1label : component1 use entity work. entity1id (SYN_ arch1id ); for i2label : component2 use entity work. entity2id ( arch2id );... weitere Konfigurationen der zweiten Hierarchieebene end configuration configid ; 3

Backannotation vorbereiten 3. VHDL-Simulation der synthetisierten Netzliste Anschließend kann wie gewohnt simuliert werden: Codeanalyse der Quelldateien, Elaboration und Simulation. Simulator Analyse Elaboration Simulation CADENCE NC-Sim ncvhdl ncelab ncsim SYNOPSYS Scirocco vhdlan scs scsim, scirocco VSS vhdlan vhdlsim, vhdldbx MENTOR GRAPHICS ModelSim vcom vsim Mixed-mode Simulation Wegen der höheren Simulationsgeschwindigkeit von Verilog-Netzlisten empfiehlt es sich auf Gatterebene Verilog als Hardwarebeschreibungssprache einzusetzen. 2 Insbesondere für abschließende Tests vor der Fertigung (golden Simulation) fordern viele Hersteller explizit Verilog Simulationen mit Backannotation. Gemischte Simulationen verbinden (komfortable) VHDL-Testumgebungen mit (schnellen) Verilog-Netzlisten. Der hier vorgestellte Ablauf benutzt den NC-Simulator von CA- DENCE, der mehrere Hardwarebeschreibungssprachen (VHDL, Verilog, SystemC) verarbeitet; die HDLs (Hardware Description Language) werden nur bei der Codeanalyse unterschiedlich behandelt. Als Zellbibliothek wird der AMS 0, 35 µm Prozess c35b4 benutzt. 3 Backannotation vorbereiten Während früher die Zellbibliotheken dies gilt sowohl für VHDL-, als auch für Verilog- Modelle Gatterverzögerungszeiten enthielten, benutzen inzwischen fast alle ASIC-Hersteller unit-delay Modelle mit konstanten Verzögerungszeiten für alle Gatter: 1 ns, 10 ps... Der Grund dafür ist, dass das Zeitverhalten parametrisierbar sein muss, um den Bereich der Fertigungsstreuungen (Min.-/Typ.-/Max.-Delay) abzudecken. verschiedene Betriebsbedingungen (Temperatur, Spannung... ) zu berücksichtigen. Ausgangslasten durch Fan-Out und durch geschätzte oder aus dem Layout extrahierte Leitungslängen zu simulieren. Anstatt die Parameter in der Simulation nur aus Bibliotheken auszuwählen, werden deshalb externe Programme zu statischen Timing-Analyse eingesetzt, die die Verzögerungszeiten für die gewünschten Parameter berechnen und eine SDF-Datei (Standard Delay Format) ausgeben. In der Simulation ersetzt diese (standardisierte) Datei dann die unit-delay Zeiten. 2 Da Verilog als Sprache älter als VHDL ist, sind, insbesondere auf Gatterebene, die Simulationsalgorithmen stärker optimiert. 3 Achtung: auch wenn das prinzipielle Vorgehen für andere Fertigungsprozesse ähnlich ist, so lassen sich die Schritte in der Regel nicht übertragen. Eigenschaften der Zellbibliothek legen fest, ob eine Timing-Analyse überhaupt möglich ist und mit welchen Technologieparametern. 4

Backannotation vorbereiten 1. SDF-Datei erzeugen Das Syntheseskript ams_synopsys hat schon eine Steuerdatei zur Timing-Analyse mit den Gatterbibliotheken erzeugt. In dieser Datei pearl.cmd müssen jetzt noch die Namen der Verilog-, der SDF-Datei und der Bezeichner der top-level Entity angepasst werden: > edit pearl.cmd [shell]... keine Änderungen ReadVerilog netlist.v Verilog-Datei TopLevelCell toplevel Entity-Name # or # ReadSPFNetlist TOPLEVEL.spf EstimateWireloads -rc -topology balanced -group sub micron -name 10k # or # ReadSPF -bus delimiter <> TOPLEVEL.spf WriteSDFDelays -version 2.1 -precision 3 -ns -no negative delays netlist.sdf Quit Anschließend wird die Timing-Analyse mit dem fertigen Skript gestartet. Dabei werden die Prozessbedingungen eingestellt und der Einfluss des Layouts, beziehungsweise der Leitungskapazitäten, geschätzt. > pearlcell pearl.cmd [shell] 2. SDF-Datei compilieren Ähnlich der Codeanalyse wird die Datei in ein simulatorinternes Format übersetzt und erzeugt eine Ausgabedatei netlist.sdf.x. > ncsdfc netlist.sdf [shell] 3. SDF-Steuerdatei anlegen Vor der Simulation muss die, vom Syntheseskript generierte, Steuerdatei der SDF-Backannotation noch angepasst werden. Sie enthält die Information, wie die SDF-Datei heißt und auf welchen Teil der Hierarchie sich die Verzögerungszeiten beziehen, also welches Label die Instanz toplevel besitzt: instlabel. > edit netlist.sdf.cmd [shell] COMPILED_SDF_FILE = " netlist.sdf.x", SCOPE = : instlabel, LOG_FILE = " netlist.sdf.log"; compilierte SDF-Datei toplevel -Label Log-Datei 5

Simulation vorbereiten Simulation vorbereiten Im Folgenden werden noch die Schritte gezeigt, um die mixed-mode Simulation zu starten. Die Simulation selbst, Start und Handhabung des Simulators, unterscheidet sich nicht von der gewohnten Vorgehensweise. 4. Konfiguration für mixed-mode Simulation schreiben Wie bei der reinen VHDL-Simulation wird die Netzliste über eine Konfiguration an die instanziierte Komponente gebunden. Der VHDL-Bezeichner der Architektur ist für die Verilog-Netzlisten fest vorgegeben module. Die Port-Kompatibilität von Komponente und top-level Entity wird vorausgesetzt, so dass bei der Konfiguration keine weiteren Port-Maps oder Typkonvertierungen notwendig sind wie auch in den VHDL Beispielen Seite 3. > edit testenv.vhd [shell] configuration configid of testenv is for testbench for instlabel : topcomponent use entity work. toplevel (module); end configuration configid ; 5. Netzliste nachbearbeiten Vor der Simulation müssen noch fehlende Zeitskalierungen in der Verilog-Datei eingetragen werden. > edit netlist.v [shell] timescale 10ps/1ps module entityid... 6. Codeanalyse und Elaboration Zeitskala Einfügen vor erstem Module Die Schritte vor der Simulation können zwar auch über die grafische Oberfläche nclaunch ausgeführt werden, aber die Festlegung der SDF-Steuerdatei geht mit der Kommandozeile einfacher. > ncvlog -linedebug netlist.v [shell] > ncvhdl -linedebug -v93 testenv.vhd [shell] > ncelab -sdf cmd file netlist.sdf.cmd configuration [shell] Dabei auftretende Warnungen Too few module port connections., beispielsweise bei Flipflops mit mehreren Ausgängen (z.b. DFA), können ignoriert werden oder lassen sich per Kommandozeilenoption abschalten: ncelab -nowarn SDFNCAP -nowarn CUVWSP -sdf_cmd_file... Anschließend wird die Simulation wir gewohnt aufgerufen, entweder über die GUI oder in der Kommandozeile. > ncsim -gui configuration [shell] 6