
Norman Hendrich HADES Tutorial version 0.90 — 15. Juli 2002 Contact: University of Hamburg Dept. Computer Science Norman Hendrich Vogt-Koelln-Str. 30 D-22527 Hamburg Germany [email protected] version 0.90 15. Juli 2002 Contents 1 Introduction 1 1.1 How to read this Tutorial ............................ 1 1.2 Concept ..................................... 1 1.3 What is Hades? ................................. 2 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 Installation 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 installation 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 Simulation 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 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 10.1.14 Missing components after loading a design .............. 100 ii 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 10.1.26 Operation X is slow .......................... 101 10.1.27 Remote X11-Display is very slow ................... 101 10.1.28 The simulation is suddenly very slow ................. 102 10.1.29 GND, VCC, and Pullup components do not work ........... 102 10.1.30 The simulator reports undefined values ................ 102 10.1.31 How can I automatically restore editor settings? ............ 103 10.1.32 My waveforms get overwritten? .................... 103 10.1.33 How can I edit a SimObject symbol? ................. 103 10.2 Tips and tricks .................................. 103 10.2.1 What other programs are in hades.jar? How to run them? ....... 103 10.2.2 User-settings in .hadesrc ........................ 104 10.2.3 How to enable or disable glow-mode for individual signals? ..... 104 10.2.4 What can I do to debug my circuits? .................. 104 10.2.5 I need a two-phase clock ........................ 104 10.2.6 How can I print my circuit schematics? ................ 104 10.2.7 Printing problems ............................ 105 10.2.8 How can I export my circuit schematics via fig2dev? ......... 105 10.2.9 I cannot initialize my circuit ...................... 105 10.2.10 Simulation does not appear deterministic ............... 105 10.2.11 I took a schematic from a book, but the circuit does not work ..... 105 10.2.12 VHDL export .............................. 106 10.3 Known bugs and features ............................ 106 10.3.1 How should I report bugs? ....................... 106 10.3.2 Spurious objects displayed ....................... 106 10.3.3 Repaint algorithm ........................... 107 10.3.4 Repaint bugs, DirectDraw ....................... 107 10.3.5 How to get rid of an unconnected signal? ............... 107 10.3.6 The ’run for’ simulator command may deadlock ............ 107 Bibliography 109 A SetupManager properties 110 A.1 Hades properties ................................ 110 A.2 jfig default properties .............................. 113 B Index 115 iii List of Figures 1 DCF77 radio controlled clock ......................... 2 2 Hades software architecture ........................... 3 3 Hamming code demonstration ......................... 6 4 CLA adder ................................... 7 5 Traffic-light controller ............................. 8 6 TTL circuits ................................... 9 7 RTLIB 16-bit counter .............................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages124 Page
-
File Size-