Dies ist eine alte Version des Dokuments!


0. Tools

The free simulation program Digital helps to put the different concepts of digital systems into practice. The program offers the possibility …

  • … to understand calculations with binary and hexadecimal numbers. (Chapter 1.)
  • … build logic circuits (chapter 3.)
  • … synthesize logic circuits directly from KV-diagrams or logical expressions (chapter 4.-7.)
  • … analyse logic circuits
Introduction to Digital 0 - Explanation of Digital, Download and Installation

The program can be downloaded directly from Github as „Digital.zip“.

manual

On the above mentioned page you can also find manuals in different languages. All functions are explained in them. The documentation is also available in „Digital.zip“ under the folder docu, so it does not have to be downloaded separately.

Excercise

Please install Digital.
Some tips :

  • There is no separate „installer“. I.e. you should unzip the zip file to a preferable location. A folder like C:\Program Files\Digital is recommended.
  • The app opens by double-clicking Digital.exe. If the menu and the icons are too small, it is recommended to open the application via Digital_noD3D.exe.
  • Furthermore it is a good idea to put a link on the desktop. This can be done e.g. via drag-and-drop with the right mouse button.
Introduction to Digital 1 - Structure of Digital, first circuit

Goals

After this lesson you should be able to…:

  1. Know the different component bars in Digital,
  2. Insert components,
  3. Edit component values,
  4. Draw connections.

Step-by-step 1: The first look

digital_empty.jpgAbb. 1: Elements of the program Digital

​- Open the program by double-clicking on Digital.exe.
​- You should now see an "empty circuit" in Digital (see <imgref BildNr1>).
- There are several areas in the menu bar, these will be used in the following:
  - File selection: New, Open, Save
  - Zoom: Auxiliary dialog, Zoom in, Zoom out, Fit in
  - Undo, Redo, Delete
  - Start simulation, start until stop signal, stop
  - Gate step modes
  - Test execution

Below the menu bar is the workspace, which is a grid of gray dots.

SStep-by-step 2: Creating an input and an output

The first circuit to be created is an input and an output

Fig. 2: Input and output connected

To do this, go to Components. There you will find all the necessary components. For the time being, we only need inputs/outputs. These are located under IO. First select Input

You will then see the component marked with a mint-colored circle. Elements circled in mint are always marked for moving in the Digital program. Click on any position in the workspace Then insert an output to the right of the input. Here we will introduce another variant. Click on View „ Tree view of components (or F5). A column with the different components is then displayed on the left. The output is located in this column under IO. This can be inserted into the workspace by drag and drop. Both components can be connected with a line. A line can be started from any grid point by left clicking and ended by Esc. A line can also be connected to an output (red dot on a component:

-

) or an input (red dot on a component:

-

) start or end. With this, the first simple circuit is already created (see Figure 2 ). The circuit can be activated by pressing the start icon ► . If you have forgotten the connection or if there is another error, an error message appears. After confirming this error, the faulty component is highlighted in red. When a circuit is started, input components can be actuated. Existing other components will then also become active. You should test this by pressing the input. Then stop the simulation by pressing the Stop icon ■ (stopping by ► is also possible). The circuit can now be edited again.

Als erste Schaltung soll ein Eingang und ein Ausgang angelegt werden

  1. digital_einfachsteschaltung.jpgAbb. 2: Eingang und Ausgang verbunden

    Gehen Sie dazu auf Bauteile. Dort sind alle notwendigen Komponenten zu finden. Wir benötigen zunächst nur Inputs/Outputs. Diese befinden sich unter IO. Wählen Sie zunächst Eingang

  2. Danach sehen Sie die Komponente mit einem mint-farbenen Kreis markiert. Mint-farbig umkreiste Elemente sind im Programm Digital immer zum verschieben markiert. Klicken Sie auf eine beliebige Position im Arbeitsbereich
  3. Fügen Sie danach einen Ausgang rechts neben dem Eingang ein. Hier soll eine andere Variante dazu vorgestellt werden. Klicken Sie dazu auf Ansicht » Baumansicht der Bauteile (oder F5). Es wird dann links eine Spalte mit den verschiedenen Bauteilen dargestellt. In dieser liegt unter IO der Ausgang. Diese kann durch Drag und Drop in den Arbeitsbereich eingefügt werden.
  4. Beide Komponenten können mit einer Leitung verbunden werden. Eine Leitung kann von jedem Rasterpunkt durch Linksklick gestartet und durch Esc beendet werden. Eine Leitung kann auch bei einem Ausgang (roter Punkt an einer Komponente: ) oder einem Eingang (roter Punkt an einer Komponente: ) starten oder enden.
  5. Damit ist bereits die erste einfache Schaltung erstellt (siehe Abbildung 2). Die Schaltung kann mit Druck auf das Start-Icon kann die Schaltung aktiviert werden. Falls Sie die Verbindung vergessen haben, oder ein anderer Fehler vorliegt, so erscheint eine Fehlermeldung. Nach bestätigen dieses Fehlers wird die fehlerhafte Komponente rot markiert.
  6. Bei einer gestarteten Schaltung können Eingabe-Komponenten betätigt werden. Vorhandene andere Komponenten werden dann auch aktiv. Sie sollten dies über einen Druck auf die Eingabe testen. Stoppen Sie danach die Simulation mit Druck auf das Stop-Icon (Stoppen durch ist ebenso möglich). Die Schaltung kann nun wieder bearbeitet werden.

Schritt-für-Schritt 3: Eigenschaften ändern und Schaltung erweitern

  1. digital_eigenschaften.jpgAbb. 3: Schaltung mit 8 Bit Bus

    Die vorherige Schaltung wird nun weiter ausgebaut. Ziel soll nun eine Schaltung Ein- und Ausgabe von 8 Bit sein. Wie ein Bit/Byte definiert ist, wird im Kapitel Zahlensysteme gezeigt. Die triviale Lösung wäre die vorhandene Schaltung mit <Strg>+<A>, <Strg>+<C>, <Strg>+<V> zu vervielfältigen. Hier soll aber eine andere Variante vorgestellt werden, welche die 8-Bit durch einen Datenbus transportiert. Als Datenbus bezeichnet man zusammengehörende Leitungen.

  2. Hierzu kann mit einem Rechtsklick auf den Eingang dessen Eigenschaften geändert werden. Hier sollen nun die Anzahl der Daten-Bits auf 8 erhöht werden und die Bezeichnung auf A. Die Änderungen müssen mit OK bestätigt werden.
  3. Wird nun die Schaltung gestartet so erscheint die etwas kryptische Fehlermeldung: Es werden 1 Bits benötigt, jedoch wurden 8 Bits gefunden. Betroffen sind: Leitung out. Markiert sind danach die Verbindungsleitung und der Ausgang. Wir haben hier vergessen den Ausgang auf 8 Bit zu setzen…
  4. Um dies zu lösen, soll auch hier nicht die triviale Variante (Rechtsklick » Ändern) beschrieben werden, sondern eine etwas andere Möglichkeit:
    1. mit <Strg>+<A> alles markieren
    2. Rechtsklick
    3. Daten-Bits ändern. Diese Option ist zwar ausgegraut, da die Komponenten dort unterschiedliche Werte haben. Durch ein Klick auf die Box neben Daten-Bits kann die Option geändert werden.
  5. Wird nun die Schaltung gestartet, erscheint eine 0 über Eingang, Leitung und Ausgang (siehe Abbildung 3).
  6. Ein (Links)Klick auf den Eingang ändert nun nicht mehr direkt den Wert, sondern öffnet ein Eingabefenster. In diesem können Zahlen als Dezimalwert (10), als Binärwert (0b10), als Hexadezimalwert (0x10) oder als Oktalwert (010) eingegeben werden. Mit Druck auf Zeilenumbruch (<↵>) wird der Wert übernommen und das Eingangsfenster geschlossen. Mit Klick auf Umschalt + Zeilenumbruch (<↑><↵>) wird nur der Wert übernommen. Die Cursortasten hoch/herunter ermöglichen ein Hoch-/Herunterzählen des angezeigten Wertes.

Aufgaben

  1. Ermitteln Sie die Hexadezimalwerte für 070, 64, 0b01100110.
  2. Ändern Sie die Ausgabe in Dezimalwertanzeige um und ermitteln Sie die Dezimalwerte für 064, 0x70 und 0b10011001.