HADES Tutorial
124 pages
English

HADES Tutorial

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
124 pages
English
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

NormanHendrich
HADESTutorial
version0.90—29.Juli2002 Contact:
University of Hamburg
Dept. Computer Science
Norman Hendrich
Vogt Koelln Str. 30
D 22527 Hamburg
Germany
hendrich@informatik.uni hamburg.de
version 0.90
29. Juli 2002 Contents
1 Introduction 1
1.1 How to read this Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 What is Hades? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Demos 5
2.1 Hamming Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Carry Lookahead Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Traffic light controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 TTL series 74xx components . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 RTLIB 16 bit counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 RTLIB user defined ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 D*CORE processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8 MIDI controller using a PIC16C84 microcontroller . . . . . . . . . . . . . . 13
2.9 Micropipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Installation 15
3.1 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 ...

Sujets

Informations

Publié par
Nombre de lectures 255
Langue English
Poids de l'ouvrage 1 Mo

Extrait

NormanHendrich HADESTutorial version0.90—29.Juli2002 Contact: University of Hamburg Dept. Computer Science Norman Hendrich Vogt Koelln Str. 30 D 22527 Hamburg Germany hendrich@informatik.uni hamburg.de version 0.90 29. Juli 2002 Contents 1 Introduction 1 1.1 How to read this Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 What is Hades? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Demos 5 2.1 Hamming Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Carry Lookahead Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Traffic light controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 TTL series 74xx components . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 RTLIB 16 bit counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6 RTLIB user defined ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.7 D*CORE processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.8 MIDI controller using a PIC16C84 microcontroller . . . . . . . . . . . . . . 13 2.9 Micropipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Installation 15 3.1 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Choosing a Java virtual machine . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Hades Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 Making a directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Installation with JDK 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.6 with the Microsoft VM (jview) . . . . . . . . . . . . . . . . . . . 21 3.7 Installation with other JVMs . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.8 User preferences and configuration . . . . . . . . . . . . . . . . . . . . . . . 22 3.9 Registering .hds files on Windows . . . . . . . . . . . . . . . . . . . . . . . 23 3.10 Jython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.11 Multi user installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.12 Applet and issues . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.13 Extending the Hades framework . . . . . . . . . . . . . . . . . . . . . . . . 27 4 Hades in a Nutshell 29 4.1 Running Hades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Using the Popup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Creating Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4 Adding I/O Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.6 Display Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.7 Creating Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.8 Adding Wire Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.9 Connecting existing Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.10 Moving Wire Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.11 Deleting Wires or Wire Segments . . . . . . . . . . . . . . . . . . . . . . . 37 4.12 Editor Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.13 Loading and Saving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.14 Digital Simulation and StdLogic1164 . . . . . . . . . . . . . . . . . . . . . 38 4.15 Interactive and Switches . . . . . . . . . . . . . . . . . . . . . . 39 4.16 Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.17 Tip: Restarting the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.18 Tip: Unexpected Timing Violations . . . . . . . . . . . . . . . . . . . . . . 41 5 Advanced editing 43 5.1 Hierarchical Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 Editor bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3 Printing and fig2dev export . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.4 VHDL export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 i 6 Waveforms 51 6.1 Waveform types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.2 Using the waveform viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.3 Searching waveform data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.4 Saving and loading waveform data . . . . . . . . . . . . . . . . . . . . . . . 53 6.5 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 7 Model libraries 55 7.1 Model library organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.2 Browsing and accessing simulation components . . . . . . . . . . . . . . . . 55 7.3 Colibri Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.4 Label component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.5 Interactive I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.6 VCC, GND, Pullup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.7 Basic and complex logic gates . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.8 Flipflops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.9 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.10 ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.11 RTLIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.12 TTL 74xx series models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.13 System level components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.14 PIC 16C84 microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.15 MIPS IDT R3051 core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8 Scripting and Stimuli 65 8.1 Java written scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 8.2 Batch mode simulation and circuit selftests . . . . . . . . . . . . . . . . . . 67 8.3 Jython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8.4 Generating simulation stimuli . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.5 Stimuli files and class StimuliParser . . . . . . . . . . . . . . . . . . . . . . 73 9 Writing Components 75 9.1 Overview and Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 9.2 Simulation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 9.3 Graphics: Static Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 9.4 A Simple Example: Basic AND2 Gate . . . . . . . . . . . . . . . . . . . . . 82 9.5 A D Flipflop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 9.6 Wakeup Events: The Clock Generator . . . . . . . . . . . . . . . . . . . . . 87 9.7 Dynamic Symbols and Animation . . . . . . . . . . . . . . . . . . . . . . . 90 9.8 PropertySheet and SimObject User Interfaces . . . . . . . . . . . . . . . . . 92 9.9 Assignable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.10 DesignManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.11 DesignHierarchyNavigator . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.12 Logging messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10 FAQ, tips and tricks 97 10.1 Frequently asked questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1.1 The documentation is wrong? . . . . . . . . . . . . . . . . . . . . . 97 10.1.2 The editor hangs? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1.3 The popup menu is dead . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1.4 How do I cancel a command? . . . . . . . . . . . . . . . . . . . . . 97 10.1.5 I can’t get it running . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1.6 How to check whether my hades.jar archive is broken? . . . . . . . . 98 10.1.7 I get a ClassNotFoundError . . . . . . . . . . . . . . . . . . . . . . 98 10.1.8 The editor starts, but I cannot load design files . . . . . . . . . . . . 98 10.1.9 The Java virtual machine crashes . . . . . . . . . . . . . . . . . . . . 98 10.1.10 The editor crashes . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 10.1.11 I cannot double click the hades.jar archive . . . . . . . . . . . . . . . 99 10.1.12 I got an OutOfMemoryError . . . . . . . . . . . . . . . . . . . . . . 99 10.1.13 What are those editor messages? . . . . . . . . . . . . . . . . . . . . 100 ii 10.1.14 Missing components after loading a design . . . . . . . . . . . . . . 100 10.1.15 Editor prints hundreds of messages while loading . . . . . . . . . . . 100 10.1.16 Something strange happened right now . . . . . . . . . . . . . . . . 100 10.1.17 ghost components, ghost signals . . . . . . . . . . . . . . . . . . . . 100 10.1.18 How can I disable the tooltips? . . . . . . . . . . . . . . . . . . . . . 100 10.1.19 Why is this object off grid? Why won’t the cursor snap to the object? 101 10.1.20 Why can’t I connect a wire to this port? . . . . . . . . . . . . . . . . 101 10.1.21 Hades won’t let me delete an object . . . . . . . . . . . . . . . . . . 101 10.1.22 Why don’t the bindkeys work? . . . . . . . . . . . . . . . . . . . . . 101 10.1.23 I get timing violations from my flipflops . . . . . . . . . . . . . . . . 101 10.1.24 Why won’t the editor accept to rename a component/signal? . . . . . 101 10.1.25 Why doesn’t the cursor represent the editor state? . . . . . . . . . . . 101
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents