Hardware Praktikum 2008

Ähnliche Dokumente
HaPra Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

Hardware Praktikum 2008

D.4 Versuchsreihe 4: Integrierte Logikbausteine

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Hardware Praktikum 2008

Einführung in die technische Informatik

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

5 VHDL Einführung (I)

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

EHP Einführung Projekt A

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Entwurf und Simulation einfacher Logikelemente

Computergestützter IC- Entwurf

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

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

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker

Entwurf und Verifikation digitaler Systeme mit VHDL

Einführung in VHDL (2)

Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware.

Schülerseminar Programmieren einer Ampelsteuerung

Übung Hardwareentwurf

XILINX ISE WEBPACK und DIGILENT BASYS2

Laborübung 4. Zustandsautomaten (Finite State Machines)

Hardware Praktikum 2010

FPGA-Entwurf mit VHDL. Serie 3

Outline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach

D.6 Versuchsreihe 6: Registersatz und Programmzähler

Configurable Embedded Systems

Teil 1: Digitale Logik

13. Vorlesung. Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen. Multiplexer Demultiplexer Addierer.

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Computergestützter IC- Entwurf

Praktikum Systementwurf mit VHDL HDL Design Lab

Teil 1: Digitale Logik

VHDL Simulation. in ORCAD

Integrierte Schaltungen

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education

Aufgaben zum Elektronik - Grundlagenpraktikum

Einführung in VHDL. 1 ARCHITECTURE Tauschen OF B e i s p i e l IS. 2 SIGNAL a, b : STD_LOGIC; 4 BEGIN. 5 PROCESS( a, b ) 6 BEGIN.

Rechnergestützter VLSI-Entwurf

D.8 Versuchsreihe 8: Steuerwerk - Teil I

Arbeiten mit XILINX - ISE - WebPACK

Tutorial zur MAX+PLUS II Baseline Software von Altera

12 VHDL Einführung (III)

Field Programmable Gate Array (FPGA) Complex Programmable Logic Devices (CPLD)

COOL HASHING MIT FPGAS. Robert Bachran

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Schritt 1 : Das Projekt erstellen und programmieren des Zählers

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

Design Compiler. VHDL Kurzbeschreibung und in dem SYNOPSYS

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Übungsblatt 8 Lösungen:

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl

Speicherung digitaler Signale

Konfiguration des MIG für DDR2-SDRAM Ansteuerung

Reconfigurable Computing. VHDL Crash Course. Chapter 2

Programmierbare Logikbauelemente

IHS2 Seminar. Einführung Zusatzfolien A. Integrated HW/SW Systems Group. IHS2 Seminar 06 November 2009 Self-Organization 19 November

Programmierbare Logik Arithmetic Logic Unit

1. Praktische Übung zur Vorlesung Technische Informatik I

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign"

Einführung in VHDL. Dipl.-Ing. Franz Wolf

IHS2 Seminar CFG. Steffen Ostendorff Zusebau, R2078, Tel: -1788

Teil 1: Digitale Logik

Test & Diagnose digitaler! Systeme,! Prüffreundlicher Entwurf.!

VHDL Post-Route Simulation mit XILINX-FPGA s

SPKC. Inhalte der Vorlesung. Signalprozessoren und Kommunikationscontroller. Prof. Dr.-Ing. Peter Schulz. Signalprozessoren

Praktikum Grundlagen der Elektronik

Programmierbare Logik mit GAL und CPLD. Einführung in die Schaltungsentwicklung mit Logikbausteinen in ISP-Technologie von Christian Ellwein

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach

Hochschule Emden / Leer. Ausarbeitung. Speicherung digitaler Signale

Der Design- und Verifizierungsprozess von elektronischen Schaltungen. Y Diagramm

4.Vorlesung Rechnerorganisation

VHDL- und mixed-mode Netzlistensimulation

3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS

PROJEKT WÜRFEL. von Vincent Bootz, Christoph Beigel, Matthias Ackermann. Projekt Würfel WS2002/03

Verifikation. Simulation und formale Methoden

Transkript:

HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst

Übersicht Entwurfsablauf Diskreter Aufbau Rechnergestützter Entwurf HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 2

Entwurfsablauf Anforderungen festlegen Aufbau einer Hardware-Struktur Validierung der Hardware - Funktion, Zeitverhalten, Groesse - Implementierung solange ändern, bis Anforderungen erfüllt Abbildung auf Elemente der Bibliothek Entwurf der Geometrie Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 3

Übersicht Entwurfsablauf Diskreter Aufbau Rechnergestützter Entwurf HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 4

Entwurfsablauf Volladdierer Aufbau mit Grundgattern Validierung durch Tutor Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 5

Spezifikation A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 6

Entwurf der Gatternetzliste & & C out & A B C in =1 =1 S HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 7

Entwurfsablauf Volladdierer Aufbau mit Grundgattern Validierung durch Tutor Spezifikation Gatternetzliste entwerfen Validierung Verifikation Abbildung auf Elemente der Bibliothek Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 8

Bibliothekselemente für den diskreten Aufbau TTL-Bausteine Spannungsversorgung IO-Platine Draht und Anschlußleitungen HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 9

TTL-Bausteine TTL: Transistor-Transistor-Logik - Robuster gegenüber elektrostatischer Entladungen als die CMOS-Versionen Beinhalten mehrere unabhängige Grundgatter Typ SN7400N SN7402N SN7404N SN7408N SN7432N SN7486N Funktion 4 NAND-Gatter 4 NOR-Gatter 6 Inverter 4 AND-Gatter 4 OR-Gatter 4 XOR-Gatter HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 10

Benötigte Elemente HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 11

Ein- / Ausgabeplatine Spannungsversorgung: 5V Erzeugt logische Pegel (DIP-Schalter) Zeigt logische Pegel an (LEDs) HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 12

Synthese (1) + A B 7486 A 7400 B C out C in C in S - HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 13

Synthese (2) - - + + A B C in S C out HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 14

Entwurfsablauf Volladdierer Aufbau mit Grundgattern Validierung durch Tutor Abbildung auf Elemente der Bibliothek Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Entwurf der Geometrie Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 15

HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 16 Experimentierplatine GL-36 V 1 V 2 V 3

Plazieren und Verdrahten Elemente platzieren für minimale Drahtlängen Ausnutzung der internen Verschaltung der Experimentierplatine Ein übersichtlicher Aufbau erleichtert die Fehlersuche HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 17

Entwurfsablauf Volladdierer Aufbau mit Grundgattern Validierung durch Tutor Abbildung auf Elemente der Bibliothek Entwurf der Geometrie Aufbau und Test auf der Experimentierplatine Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 18

Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 19

Entwurfsablauf Volladdierer Aufbau mit Grundgattern Validierung durch Tutor Abbildung auf Elemente der Bibliothek Entwurf der Geometrie Aufbau und Test auf der Experimentierplatine Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 20

Übersicht Entwurfsablauf Diskreter Aufbau Rechnergestützter Entwurf HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 21

Entwurfsablauf Volladdierer Eingabe der Gatternetzliste Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 22

Eingabe der Gatternetzliste Graphische Eingabe mit gschem - Ein Werkzeug aus der freien geda-suite - Automatische Umsetzung in VHDL mit gnetlist Direkte Eingabe der Struktur in VHDL Alternative: Verilog - In den USA verbreitet - Im HaPra nicht verwendet HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 23

Das Programm gschem Starten über Shell: gschem & Erlaubt graphische Eingabe von Netzlisten - Hinzufügen von Komponenten - Verdrahtung der Komponenten untereinander Anschlüsse nach aussen sind ebenfalls Komponenten Ausführliche Dokumentation im HaPra-Skript HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 24

VHDL-Code-Generierung Datei in gschem abspeichern VHDL-Code erzeugen mit gnetlist: gnetlist -g vhdl -o ha.vhd ha.sch VHDL-Code überprüfen! HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 25

VHDL Very High Speed Integrated Circuit Hardware Description Language Hardwarebeschreibungssprache: Beschreibung von - Verhalten (Behavioral) - Struktur (Structural) Modellierung digitaler Systeme - Synthesefähiger Code: Beschreibung von Hardware - Nicht synthesefähiger (funktionaler) Code: Schaltungssimulation, Testbenches Hier nun: Synthesefähige Beschreibung einer Hardware-Struktur HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 26

Beispiel: Volladdierer library IEEE; use IEEE.std_logic_1164.all; entity FULLADDER is port ( A, B, C_IN : in std_logic; S, C_OUT : out std_logic ); end FULLADDER; Kopf: Verwendete Bibliotheken Entity: Spezifikation der Schnittstelle architecture STRUCTURE of FULLADDER is signal AB : std_logic; begin AB <= A xor B; S <= AB xor C_IN; C_OUT <= (C_IN and AB) or (A and B); end architecture STRUCTURE; Architecture: Interner Aufbau (Implementierung) HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 27

Entwurfsablauf Volladdierer Eingabe der Gatternetzliste - gschem oder VHDL direkt Validierung des VHDL-Codes Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 28

Validierung mit ModelSim ModelSim ist ein VHDL-Simulator von Mentor Graphics Kompiliert und Simuliert VHDL Starten mit: vsim & HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 29

Kompilierung von VHDL WORK-Library anlegen: - File New Library Quellen Kompilieren - Compile Compile HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 30

VHDL Simulation Richtige architecture auswählen Aufzuzeichnende Signale auswählen (wave) Eingangssignale belegen (force) Simulation eines Zeitabschnittes (run) HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 31

Entwurfsablauf Volladdierer Eingabe der Gatternetzliste - gschem oder VHDL direkt Validierung des VHDL-Codes - Simulation mit ModelSim Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Synthese und Erzeugung von FPGA-Programmierdaten Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 32

Synthese und Analyse mit XST XST: Xilinx Synthesis Technology Eingaben: - Hardware-Design - Optimierungs-Optionen, Anforderungen Erzeugt eine NGC-Datei, welche die erzeugte Netzliste enthält HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 33

Hardware-Design Liegt als eine Menge von VHDL-Dateien in einem Verzeichnis Eine Projektdatei <name>.prj listet alle Quellcode- Dateien auf: vhdl work file1.vhd vhdl work file2.vhd Diese Datei wird von XST benötigt HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 34

Synthese-Optionen Festlegen in einem Synthese-Skript <name>.scr run -ifn <name>.prj -ifmt vhdl -top <name> -ofn <name>.ngc -ofmt NGC -p xcv300 -opt_mode Speed -opt_level 1 Projektdatei und Hardware-Sprache Top-Level Entity Ausgabedatei und -format FPGA-Modell und Optimierungsoptionen Aufruf: xst ifn <name>.scr HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 35

Plazieren und Verdrahten beim FPGA-Entwurf Ein FPGA besteht aus Configurable Logic Blocks (CLBs) und Verdrahtung Platzieren: Auswahl der CLB C CLB... CLB C CLB physikalischen CLBs für die C S C C S C verschiedenen Teilfunktionen CLB C CLB... CLB C CLB Verdrahten:............... Programmierung der Verbindungen zwischen den CLB C CLB... CLB C CLB CLBs C S C C S C Details dazu: Siehe Ro/Ti CLB C CLB... CLB C CLB HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 36

Das HaPra-FPGA: XCV300 Virtex-Serie CLB-Raster: 32 x 48 Gesamtanzahl der CLB: 1536 Ein- und Ausgabepins: 316 Speicherzellen: 64 kbit Spezielle Strukturen zur Taktverteilung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 37

CLBs bei Virtex-FPGAs 4 LUTs mit 4 Eingängen und 1 Ausgang - Für beliebige 4-stellige Funktionen - Mehrstellige Funktionen mit Einschränkungen 4 Speicher-Elemente - Konfigurierbar als D-Flip-Flops oder als Latches Organisiert in 2 Slices HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 38

Eine Slice im Detail Dedizierte Carry-Logik zwischen LUTs und Speicherelementen Beinhaltet - Schnelle AND- und XOR-Gatter - Carry-Verbindungen zwischen den CLBs Zur effizienten Implementierung von - Mehrstelligen Funktionen - Addierern - Multiplizierern HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 39

Platzieren und Verdrahten mit ngc2bit Eingaben: - Synthetisiertes Hardware-Design als NGC-Datei - Zuweisung der Design-Ports zu den FPGA-Pins - Anforderungen and Timing (Takt-Rate, Takt-Pins) Erzeugt eine Bit-Datei zur Programmierung des FPGA HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 40

Zuweisungen und Anforderungen Werden in einer UCF-Datei spezifiziert - Unified Constraints File Zuordnung der Ports des Designs zu den Pins des Chipgehäuses - NET BOARD_RES LOC = P234; - NET BOARD_BUTTON<0> LOC = P237; Art des Resets beim Einschalten - INST res_power_up INIT = S; Anschluss und Periode des Taktes - NET BOARD_CLK LOC = P89; - NET BOARD_CLK PERIOD = 40; HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 41

Aufruf von ngc2bit Im aktuellen Verzeichnis: - <name>.ngc Hardware-Design - <name>.ucf Zusatzangaben Aufruf: ngc2bit <name> - Erzeugt <name>.bit Analyse des Zeitverhaltens (optional): - trce <name> HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 42

Entwurfsablauf Volladdierer Eingabe der Gatternetzliste - gschem oder VHDL direkt Validierung des VHDL-Codes - Simulation mit ModelSim Synthese und Erzeugung von FPGA-Programmierdaten - Mit XST und ngc2bit Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten FPGA-Personalisierung Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 43

Aufbau des HaPra-Boards Xess XSV300 Prototyping-Board HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 44

Umgang mit dem HaPra-FPGA Board Keine Kabel abziehen! FPGA-Boards sind teuer pfleglich behandeln! Boards nur mit Strom versorgen, wenn notwendig! HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 45

FPGA-Personalisierung mit xsload Die Konfigurations-Datei <name>.bit - Enthält komplette Konfiguration für alle FPGA-Komponenten: - Funktion jedes LUTs - Verdrahtungsmatrix - Anschluss der realisierten Schaltung an externe FPGA-Pins Das Board erlaubt die Programmierung des FPGA über die parallele Schnittstelle Aufruf: xsload <name>.bit - Danach realisiert das FPGA die gewünschte Funktion HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 46

Entwurfsablauf Volladdierer Eingabe der Gatternetzliste - gschem oder VHDL direkt Validierung des VHDL-Codes - Simulation mit ModelSim Synthese und Erzeugung von FPGA-Programmierdaten - Mit XST und ngc2bit FPGA-Personalisierung - xsload Spezifikation Gatternetzliste entwerfen Validierung Verifikation Synthese Platzieren & Verdrahten Fertigung HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers 47

Viel Spaß weiterhin im HaPra 2008!