+ All Categories
Home > Documents > Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof....

Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof....

Date post: 05-Feb-2018
Category:
Upload: dangcong
View: 233 times
Download: 2 times
Share this document with a friend
19
Fachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung von Digitalschaltungen stehen heutzutage viele verschiedene Technologien zur Verfügung. Dabei unterscheidet man im Wesentlichen zwei Klassen. Die eine Klasse beinhaltet den (vollständig) anwendungsspezifischen Aufbau der gewünschten Schaltung. Dies kann z. B. diskret mittels einzelner Logikgatter oder auch (hoch)integriert in einem Mikrochip geschehen. Daneben gibt es die große Klasse konfigurierbarer bzw. programmierbarer Logikbausteine (eng. PLD = Programmable Logic Device). In dieser Klasse sind (grundlegende) Logik-Funktionen schon vorkonfiguriert vorhanden – dafür können sie vom Benutzer, je nach gewünschtem Zweck, anders zusammengestellt bzw. arrangiert (konfiguriert) werden. Dadurch entsteht der Vorteil, dass für eine neue bzw. andere Schaltung nicht eine neue Hardware produziert werden muss. Vielmehr kann durch Umkonfiguration der vorliegenden Hardware diese neue Schaltung realisiert werden. Ohne an dieser Stelle genauer auf die Beschaffenheit von PLDs einzugehen, beinhalten solche Logik-Strukturen einzelne Logikzellen, welche Schaltungsteile enthalten, mit denen sich belie- bige boolesche Funktionen berechnen lassen (kombinatorische Logik). Des weiteren enthalten diese Zellen zumeist speichernde Elemente um die vorher berechneten Werte zwischenspei- chern zu können. Dies kann genutzt werden um z. B. sequentielle (getaktete) Logik zu erzeugen. Daneben enthalten sie konfigurierbare Ein- bzw. Ausgaben sowie Rückkopplungen um z. B. zuvor berechnete Werte im nächsten Takt weiterverwenden zu können. Aus der Kombination dieser vier Grundelemente, sowie der Kombination der einzelnen Zellen lassen sich so fast beliebige digitale Schaltungen entwickeln. Natürlich verfügen moderne PLDs in einem einzigen Chip über eine Vielzahl solcher Logik- zellen, die zudem im Detail komplexer aufgebaut sind als es dieser kurze Abriss zeigen kann. Dies erhöht aber im Wesentlichen nur die Freiheitsgrade bzw. die Größe der realisierbaren Schaltung. 1
Transcript
Page 1: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Fachgebiet DigitaltechnikProf. Dr.-Ing. Peter Zipf

Configurable Logic Board – CLBBedienungsanleitung

1 Einführung

Zur Realisierung von Digitalschaltungen stehen heutzutage viele verschiedene Technologienzur Verfügung. Dabei unterscheidet man im Wesentlichen zwei Klassen.

Die eine Klasse beinhaltet den (vollständig) anwendungsspezifischen Aufbau der gewünschtenSchaltung. Dies kann z. B. diskret mittels einzelner Logikgatter oder auch (hoch)integriert ineinem Mikrochip geschehen.

Daneben gibt es die große Klasse konfigurierbarer bzw. programmierbarer Logikbausteine (eng.PLD = Programmable Logic Device). In dieser Klasse sind (grundlegende) Logik-Funktionenschon vorkonfiguriert vorhanden – dafür können sie vom Benutzer, je nach gewünschtemZweck, anders zusammengestellt bzw. arrangiert (konfiguriert) werden. Dadurch entsteht derVorteil, dass für eine neue bzw. andere Schaltung nicht eine neue Hardware produziert werdenmuss. Vielmehr kann durch Umkonfiguration der vorliegenden Hardware diese neue Schaltungrealisiert werden.

Ohne an dieser Stelle genauer auf die Beschaffenheit von PLDs einzugehen, beinhalten solcheLogik-Strukturen einzelne Logikzellen, welche Schaltungsteile enthalten, mit denen sich belie-bige boolesche Funktionen berechnen lassen (kombinatorische Logik). Des weiteren enthaltendiese Zellen zumeist speichernde Elemente um die vorher berechneten Werte zwischenspei-chern zu können. Dies kann genutzt werden um z. B. sequentielle (getaktete) Logik zu erzeugen.Daneben enthalten sie konfigurierbare Ein- bzw. Ausgaben sowie Rückkopplungen um z. B.zuvor berechnete Werte im nächsten Takt weiterverwenden zu können. Aus der Kombinationdieser vier Grundelemente, sowie der Kombination der einzelnen Zellen lassen sich so fastbeliebige digitale Schaltungen entwickeln.

Natürlich verfügen moderne PLDs in einem einzigen Chip über eine Vielzahl solcher Logik-zellen, die zudem im Detail komplexer aufgebaut sind als es dieser kurze Abriss zeigen kann.Dies erhöht aber im Wesentlichen nur die Freiheitsgrade bzw. die Größe der realisierbarenSchaltung.

1

Page 2: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

In der Veranstaltung »Digitale Logik« sollen Sie begleitend zu Vorlesung und Übung dieMöglichkeit bekommen, einfache Schaltungen schnell selbst aufzubauen und ausprobierenzu können. Dazu dient das vorliegende »Configurable Logic Board« (CLB). Es verfolgt dieGrundprinzipien eines PLDs. In gewisser Hinsicht könnte man es als einen diskreten Aufbaueiner Logikzelle aus einem »Programmable Array Logic« (PAL) beschreiben.

Die vorliegende Bedienungsanleitung will Ihnen das CLB Schritt für Schritt näher bringen.Obwohl in den einzelnen Kapiteln eine kurze Einführung in die theoretischen Grundlagengegeben wird, wird hier der in der Veranstaltung »Digitale Logik« vermittelte Lehrinhalt vor-ausgesetzt. Lassen Sie sich also nicht entmutigen, wenn Sie beim ersten Lesen dieser Anleitungnur »Bahnhof« verstehen – alles wird im laufenden Semester erarbeitet.

2 Das CLB – Eine Übersicht

Wie in der Einführung bereits erwähnt ist das CLB einer Logikzelle eines PLDs ähnlich.Insbesondere verfügt es über die folgend aufgelisteten Funktionsblöcke. Diese sind auch inAbbildung 1 dargestellt.

Abbildung 1: Übersicht über das CLB.

a) zwei unabhängige UND/ODER-Matrizen, mit denen beliebige boolesche Funktionenmit bis zu vier Variablen realisiert werden können,

2

Page 3: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

b) zwei zuschaltbare Bit-Speicher (Flipflops),

c) zwei Wahlmöglichkeiten zur Rückkopplung von Signalen,

d) eine Ausgangslogik, mit der die beiden zuvor realisierten Funktionen verknüpft bzw.ausgegeben werden können,

e) einen Systemtakt, wahlweise ca. 1 Hz oder manuell mittels Tastendruck,

f) einen Dip-Schalter zur Belegung der vier Variablen mit konkreten Werten,

g) vier Ein- bzw. Ausgangsverbinder zur Verteilung von Werten an weitere CLBs,

h) LEDs zur Anzeige der Eingabe, Funktionswerte und Ausgabe,

i) eine USB-Buchse zur Stromversorgung nebst Sicherung.

3 Die Funktionsweise des CLB

Die Konfiguration des CLBs wird durch Jumper vorgenommen. Abbildung 2 zeigt eine sche-matische Darstellung des Schaltbildes, in der die Jumper und ihre Möglichkeiten aufgezeigtsind.

Man erkennt links deutlich die zwei UND/ODER-Matrizen. Durch die Jumper lässt sichjeder Konjunktionsterm aus den Literalen (A, B, C, D), deren Negation sowie logisch ’1’(Jumper gezogen) aufbauen. Durch eine Veroderung dieser Konjunktionsterme lassen sichso die booleschen Funktionen F1 und F2 in disjunktiver Normalform (DNF) aufbauen (vgl.Kapitel 4).

Die beiden Funktionen F1 und F2 können anschließend entweder je in ein Flipflop gespeichertoder – um diese herumgeleitet – direkt auf die Ausgangslogik gelegt werden. Dies wird durchdie Jumper nach den Flipflops (async./sync.) erreicht. Das Ergebnis sind die Funktionen F ′1bzw. F ′2 . Der Takt beider Flipflops kann auf drei Arten generiert werden. Entweder mittelsinternem Oszillator (auto), durch Tastendruck (man.) oder extern (ext. clock) beispielsweisedurch ein anderes CLB.

Zwei weitere UND/ODER-Matrizen bildet die Ausgänge des CLBs. Mit deren Hilfe können diebeiden Funktionen F ′1 und F ′2 wie zuvor die Literale in beliebiger Weise miteinander kombiniertwerden. Das Ergebnis sind die beiden Funktionen X und Y. Des weiteren ist es möglich eineoder beide Funktionen F ′1 bzw. F ′2 rückzukoppeln und sie als Schaltungseingang zu verwenden(vgl. Kapitel 5 und 6). In diesem Fall werden diese anstatt der Literale C und D verwendet. Dieswird durch die beiden Jumper an den entsprechenden Literalen erreicht.

So ist es möglich die drei wichtigen Schaltungsarten für bis zu vier Variablen zu realisieren:rein kombinatorische Logik (ohne Flipflops, ohne Rückkopplung), asynchrone Schaltwerke(ohne Flipflops, mit Rückkopplung) sowie synchrone Schaltwerke (mit Flipflops, mit bzw.ohne Rückkopplung).

3

Page 4: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

1

&

1 1 1

&

&

&&

>_1

&&

>_1

1 1

&

&

&

&

ext. clockint. clock

X

y

async.

sync

async.

sync

A B C D

F1'

F2'F2

F1

man.

auto

&

&

>_1 D Q

&

&

&

&

&

&

&

>_1 D Q

Abbildung 2: Schematisches Schaltbild des CLBs.

4

Page 5: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

3.1 Schnittstellen

Die Spannungsversorgung des CLBs erfolgt über die USB-Schnittstelle eines Computers. Al-ternativ kann auch ein 5 V DC/500 mA Steckernetzteil mit USB-Ausgang verwendet werden.Werden mehrere CLBs kaskadiert betrieben, so muss i. d. R. nur ein Board mit Spannungversorgt werden.

Das CLB verfügt über vier Schnittstellen zu weiteren CLBs. Alle Schnittstellen verfügen sowohlüber Ein- als auch Ausgänge. Mit den Steckern (oben und links) können Funktionswertesowie der Takt anderer CLBs empfangen und die Ausgänge X und Y ausgegeben werden. Mitden Buchsen (rechts und unten) können Funktionswerte sowie der Takt ausgegeben und dieAusgänge X und Y eines anderen CLBs empfangen werden. Dabei sind die zwei Literaleingängesowie der Dipschalter miteinander verodert. Wiederum kann über Jumper die Zuordnungfestgelegt werden. Details finden Sie hierzu in Kapitel 7.

Wichtige Hinweise:

Für defekte USB-Ports kann keine Haftung übernommen werden! Im Zweifel versorgenSie das CLB mittels externem Netzteil.

Bitte achten Sie beim Kaskadieren von CLBs darauf, dass Sie diese nicht »gedreht«,d. h. rechts/oben bzw. links/unten anschließen. Ein Kurzschluss mit defekter Sicherungwäre die Folge!

4 Kombinatorische Logik

4.1 Theoretische Vorüberlegungen

Mithilfe der booleschen Algebra lassen sich logische Beziehungen und Aussagen mathematischbeschreiben. Damit bildet die boolesche Algebra die Grundlage für die Realisierung jedwederlogischen Zusammenhänge und der daraus folgenden informationstechnischen Anwendungen.In der Vorlesung »Digitale Logik« wird gezeigt, dass ein kleiner Satz an Basisoperationen(sogenannte Basissysteme) ausreicht, um beliebige boolesche Funktionen mit beliebig vielenVariablen eindeutig auszudrücken. So ein Basissystem bilden die Operatoren UND, ODER undNICHT. Eine in diesem Basissystem beschriebene boolesche Funktion kann sehr einfach in eineSchaltung umgeformt werden, die den Wert der Funktion berechnet. Sind dabei die Ausgängeder Schaltung nur von den Eingängen abhängig, d. h. die Schaltung besitzt keine Informati-onsspeicher und ist zyklenfrei, so wird eine solche Schaltung als kombinatorische Schaltung oderSchaltnetz bezeichnet. Solche Schaltnetze sind in der Digitaltechnik von großer Wichtigkeit,lassen sich doch sehr viele Probleme »rein kombinatorisch« beschreiben. Beispielhaft seien hierAddierer oder Decoder genannt.

Eine Repräsentation einer booleschen Funktion ist in der sogenannten »Disjunktiven Normal-form« (DNF) gegeben. Sie besteht aus einer ODER-Verknüpfung von Konjunktionstermen.

5

Page 6: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Diese Terme wiederum sind UND-Verknüpfungen der einzelnen Literale bzw. deren Negati-on.

Zur Ermittlung der benötigten kombinatorischen Logik dienen vor allem Wahrheitstabel-len. Um die Anzahl der zu realisierenden Konjunktionsterme zu minimieren, lassen sich diealgebraischen Beziehungen sowie vorallem die zweistufige Logikminimierung mittels Karnaugh-Veitch-Diagramme verwenden.

4.2 Realisierung kombinatorischer Logik auf dem CLB

Wie in Kapitel 3 beschrieben, werden boolesche Funktionen für bis zu vier Variablen als DNFauf dem CLB realisiert. Liegt eine solche, minimierte Funktion vor, so ist die Umsetzung aufdas CLB sehr einfach.

Funktionen konfigurieren

Mit jeder Jumper-Reihe der Funktionen F1 bzw. F2 lässt sich ein Konjunktionsterm realisieren.Insgesamt stehen in jeder Funktion acht Terme zur Verfügung, so dass alle Funktionen in vierVariablen realisierbar sind.

Um einen Konjunktionsterm zu realisieren setzen Sie die Jumper entsprechend der gewünschtenBelegung (Literal bzw. dessen Negation). Kommt ein Literal nicht in dem gewählten Termvor, so kann der Jumper dafür weggelassen werden. Die Belegung dafür ist dann logisch ’1’,d. h. dieser Teil des Terms hat keinen Einfluss auf die UND-Verknüpfung (vgl. T ′1 auf derFormelsammlung).

Hat die zu realisierende Funktion weniger als acht Konjunktionsterme, so müssen die ver-bleibenden Jumper-Reihen mit bereits realisierten Termen belegt werden (vgl. T3 auf derFormelsammlung). Tipp: Am einfachsten dupliziert man den letzten Term, bis die Reihengefüllt sind. Würden die Jumper-Reihen leergelassen, so würden diese die ODER-Verknüpfungdominieren (vgl. T2 auf der Formelsammlung).

Informationsspeicher konfigurieren

Da für rein kombinatorische Schaltungen keine Informationsspeicher benötigt werden, stellenSie die vier Jumper SYNC SEL auf ASYNC (alle Jumper nach rechts).

Ausgangsfunktionen konfigurieren

Die Ausgangsfunktionen X und Y werden analog den Funktionen F1 bzw. F2 aufgebaut. Dazusind die Jumper OUTPUT FN entsprechend zu setzen. Dabei ist zu beachten, dass im Unterschiedzu den Funktionen die Jumper um 90 °gedreht sind, d. h. die Ausgangsfunktionen ergeben sichspaltenweise!

6

Page 7: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Rückkopplungen konfigurieren

Da rein kombinatorische Schaltungen keine Zyklen besitzen, d. h. rückkopplungsfrei sind,stellen Sie die beiden Jumper INPUT SEL auf die entsprechenden Eingänge C und D (Jumpernach links).

Schnittstellen konfigurieren

Ist die gewünschte Funktionalität auf nur einem CLB realisiert, werden die Steckverbindungennicht benötigt. Folglich können die Jumper-Blöcke bei den Steckern (links und oben) leergelas-sen werden. Soll die Funktionalität auf mehreren CLBs realisiert werden, lässt sich mit diesenBlöcken auswählen, welche Variablen von welcher Seite übernommen, welche Ausgangsfunk-tionen wo ausgegeben und welche Variablen vom Board selbst erzeugt werden sollen. Da dieEingänge miteinander verodert sind, müssen die Dip-Schalter der Eingänge, die von einemanderen CLB stammen, auf logisch ’0’ stehen.

4.3 Gleichungen

Algebraisch lassen sich die oben beschriebenen Funktionen F1, F2, X und Y wie folgt beschrei-ben:

F1 = m11+m12+m13+m14+m15+m16+m17+m18

F2 = m21+m22+m23+m24+m25+m26+m27+m28

mit

mi j = ai j · bi j · ci j · di j

ai j ∈ {A,A, 1}, bi j ∈ {B ,B , 1}, ci j ∈ {C ,C , 1}, di j ∈ {D , D , 1}

X = f11+ f12

Y = f21+ f22

mit

fi j = f1,i j · f2,i j

f1,i j ∈ {F1, F1 , 1}, f2,i j ∈ {F2, F2 , 1}

7

Page 8: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

4.4 Beispiel XOR

Als abschließendes Beispiel sollen die Funktionen X = F1 = A⊕B ⊕C ⊕D sowie Y = F2 =A⊕B ⊕C ⊕D realisiert werden.

Aus den Wahrheitstabellen bzw. den booleschen Gleichungen ergeben sich dafür folgendeDNF:

F1 =AB C D +AB C D +ABC D +ABC D +AB C D +AB C D +ABC D +ABC D

F2 =AB C D +AB C D +ABC D +ABC D +AB C D +AB C D +ABC D +ABC D

Die zugehörigen KV-Diagramme haben folgendes Aussehen:

F1

00

11

12

03

14

05

06

17

18

09

010

111

012

113

114

015A

B

C

DF2

10

01

02

13

04

15

16

07

08

19

110

011

112

013

014

115A

B

C

D

Für die erste Jumper-Reihe von F1 (Term m11) ergibt sich mit dem ersten Konjunktionstermfolgende Jumper-Belegung: rechts (A), rechts (B ), rechts (C ), links (D). Analog hierzu könnendie anderen Terme aufgebaut werden. Die vollständige Belegung ist in Abbildung 3 dargestellt.

Da keine Informationsspeicher benötigt werden, werden die Jumper SYNC SEL alle nach rechts(asynchron) gestellt. Dadurch ergibt sich F ′1 = F1 bzw. F ′2 = F2.

Da keine Rückkopplungen vorhanden sind, werden die Jumper INPUT SEL nach links (Varia-blen C und D) gestellt.

Die Funktionen X und Y ergeben sich aus

X = F ′1 + F ′1 = F ′1 = F1

Y = F ′2 + F ′2 = F ′2 = F2

Dementsprechend sind die Jumper OUTPUT FN jeweils auf oben (F ′1 bzw. F ′2) zu setzten.

8

Page 9: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Abbildung 3: Jumper-Belegung des CLBs für das XOR-Beispiel.

5 Asynchrone Schaltwerke

5.1 Theoretische Vorüberlegungen

Hängt in einer Schaltung der Ausgang nicht nur von den Eingängen ab (vgl. Kapitel 4), sondernim allgemeinen Fall von den bisherigen Eingangszuständen, so spricht man von sequentiellenSchaltungen, zustandsbehafteten Schaltungen oder auch Schaltwerken. Bei einem Schaltwerkist daher für jede Eingangskombination mehr als eine Ausgangskombination möglich, denndie Ausgangsvariablen sind zusätzlich noch von den inneren Zustandsvariablen (gespeicherteInformation = Gedächtnis) abhängig. In der einfachsten Form bestehen Schaltwerke ausSchaltnetzen, bei denen Ausgangsgrößen auf die Eingänge rückgekoppelt sind. Hier ist derInformationsspeicher implizit durch die Rückführung ausgeführt. Deswegen spricht man auchvon asynchronen (ungetakteten) Schaltwerken.

Zum Entwurf (asynchroner) Schaltwerke bedient man sich den Entwurfsverfahren für Au-tomaten wie Zustandsdiagramme, Zustandsübergangstabellen sowie -gleichungen. Wobei imasynchronen Entwurf darauf zu achten ist, dass sich zur Vermeidung von Races nur jeweils eineZustandsvariable ändert (Gray-Codierung). Zur Reduktion der Zustände lassen sich Verfahrender Zustandsminimierung einsetzen. Ist die Schaltung gegeben, so kann zur Berechnung derÜbergangsgleichungen die aus der Vorlesung bekannte Methode der »Asynchronen Schalt-werksanalyse« genutzt werden.

9

Page 10: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

5.2 Realisierung asynchroner Schaltwerke auf dem CLB

Der Übergang von einem kombinatorischen Schaltnetz zu einem asynchronen Schaltwerk istnicht groß und wird lediglich durch die Verwendung von bis zu zwei Rückkopplungen derFunktionsausgänge F ′1 bzw. F ′2 an den Eingang (statt der Literale C und D) erreicht.

Funktionen konfigurieren

Zur Realisierung der Übergangsfunktionen werden diese – analog zur rein kombinatorischenSchaltung – wiederrum als DNF ausgeführt. Dabei ist zu beachten, dass nun – entsprechend derAnzahl an Rückkopplungen – weniger Eingangsvariablen zur Verfügung stehen. Der EingangC steht hierbei für die Rückkopplung von F ′1 und/oder der Eingang D für die Rückkopplungvon F ′2 . Hierbei stellen F ′1 bzw. F ′2 die aktuellen Zustände sowie F1 bzw. F2 die Folgezuständedar.

Rückkopplungen konfigurieren

Über die beiden Jumper INPUT SEL kann ausgewählt werden, welche Funktion rückgekoppeltwerden soll. Die restlichen Einstellungen sind analog zu 4.2.

5.3 Beispiel RS-Latch

Es soll das aus der Vorlesung bekannte RS-Latch aufgebaut werden. Die Übergangsfunktionhierzu lautet: Qv+1 = SR +R Qv (vgl. Übersicht Logikgatter/Flipflops)

Diese Übergangsfunktion soll in F1 realisiert werden, wobei A= S und B = R sein soll. Folglichlautet die Übergangsfunktion:

F1 =AB +B F ′1Die Funktion F2 bzw. die Variable d wird hier nicht verwendet.

Gemäß obiger DNF ergibt sich die erste Jumper-Reihe für den Term B F ′1 folgende Belegung:leer (’1’), rechts (B ), links (F ′1), leer (’1’). Für den anderen Term ist die Belegung: links (A),rechts (B ), leer (’1’), leer (’1’). Da hier nur zwei Terme benötigt werden, wird der letzte Termdupliziert, bis F1 vollständig konfiguriert ist.

Da es sich um ein asynchrones Schaltwerk handelt, werden die Jumper SYNC SEL alle nachrechts (asynchron) gestellt.

Es ist eine Rückkopplung für F1 vorhanden. Daher wird der linke Jumper INPUT SEL nachrechts (F1) gestellt. Der rechte Jumper hat keinen Einfluss auf die Schaltung (da weder F2 belegt,d. h. F2 =’1’, noch die Variable D in F1 vorkommt.

Die Funktion X ergibt sich zu

X = F ′1 + F ′1 = F ′1

10

Page 11: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Dementsprechend sind die Jumper OUTPUT FN jeweils auf oben (F ′1) zu setzten. Die vollständigeBelegung ist in Abbildung 4 dargestellt.

Abbildung 4: Jumper-Belegung des CLBs für das RS-Latch-Beispiel.

6 Synchrone Schaltwerke (Automaten)

6.1 Theoretische Vorüberlegungen

Ein synchrones Schaltwerk entsteht aus einem asynchronen Schaltwerk, in dem in die Rück-kopplungen Pufferspeicher (Flipflops) eingebaut werden, die von einem Takt gesteuert werden.Mit diesen Speichern wird der geschlossene Kreis entkoppelt, der durch die Rückkopplungentsteht. Synchrone Schaltwerke haben u. a. den Vorteil, dass sie leichter zu entwerfen sind alsasynchrone. Zudem sind sie robuster, da u. a. keine Races auftreten können.

Jedes Schaltwerk lässt sich, unabhängig von einer asynchronen oder synchronen Realisierung,prinzipiell in einen ausschließlich verknüpfenden Teil (kombinatorisches Schaltnetz) undeinem ausschließlich speichernden (verzögernden) Teil aufteilen. Eine weitere Unterteilung desSchaltnetzes in Übergangs- und Ausgangsschaltnetz führt auf die Unterscheidung von Mealy-und Moore-Automat. Diese sind letztlich in ihrem Logikverhalten äquivalent, lassen sich alsogegenseitig ineinander umformen. (Im zeitlichen Verhalten bleiben »geringe« Unterschiede, derMealy-Automat reagiert auf Eingangssignale schneller.)

11

Page 12: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Strenggenommen muss an dieser Stelle zwischen synchronen Schaltwerken mit und ohneRückkopplung unterschieden werden. Da aber ohne Rückkopplung das Schaltwerk im Prinzipeine rein kombinatorische Schaltung mit Wertezwischenspeicherung darstellt, soll dieser Fallhier zunächst unbeachtet bleiben. (Eine Realisierung zu dieser Konfiguration wird im Beispieldes Kapitels 7 gegeben.)

Zum Entwurf synchroner Schaltwerke lässt sich wiederum das schon in Kapitel 5 angesprocheneEntwurfsverfahren für Automaten verwenden.

6.2 Realisierung synchroner Schaltwerke auf dem CLB

Auf einem CLB lässt sich ein Moore-Automat mit bis zu zwei Zustandsvariablen, sowie einMealy-Automat mit einer Zustandsvariablen realisieren. Zur Beschreibung größerer Schalt-werke muss dieses über mehrere CLBs aufgeteilt werden. Der wesentliche Unterschied zurRealisierung in Kapitel 5 besteht darin, dass nun explizit die taktflankengesteuerten D-Flipflopsverwendet werden und so der vormals geschlossene Kreis entkoppelt wird (siehe oben).

Funktionen konfigurieren

Wie schon in den beiden vorangegangenen Kapiteln werden auch hier wieder die Zustandsüber-gangsfunktionen F1 und F2 als DNF realisiert. Wird nur eine Zustandvariable verwendet, sokann eine der beiden Funktionen dazu genutzt werden eine Ausgangsfunktion zu definieren,die sowohl von der Zustandsvariablen als auch von den Eingängen direkt abhängt.

Informationsspeicher konfigurieren

Für ein synchrones Schaltwerk sind die taktflankengesteuerten D-Flipflops erforderlich. Dahersind im Standardfall die Jumper SYNC SEL auf SYNC (alle Jumper nach links) zu stellen.

Bei einer Mealy-Realisierung, bei der die Ausgangsfunktion nicht in ein Flipflop gepuffertwerden soll, müssen die Jumper für die Ausgangsfunktion hingegen auf ASYNC stehen um dasFlipflop zu umgehen.

Generell ist es möglich die Funktionen F1, F1 sowie F2, F2 in Bezug auf ihre Synchronizitätgetrennt zu behandeln. Dies wird durch die jeweils zwei Jumper pro Funktion erreicht. In derRegel gibt es jedoch nur drei geeignete Konfigurationen: alles asynchron, alles synchron undeines synchron, das andere asynchron.

Takt konfigurieren

Um das synchrone Schaltwerk mittel des internen Taktgenerators zu betreiben stellen Sie denJumper CLK SEL auf INT (intern) sowie den Jumper MAN|AUTO auf AUTO (automatisch). Soll dieTaktgenerierung mittels des Tasters S1 erfolgen, so stellen Sie diesen Jumper hingegen auf MAN(manuell).

12

Page 13: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Ist das Synchrone Schaltwerk auf mehreren CLBs realisiert, so darf zur Erhaltung der Taktsyn-chronizität nur ein CLB den Takt generieren. Alle anderen beziehen ihren Takt von dort. Dieswird durch dem Jumper CLK SEL auf EXT (extern) erreicht.

Ausgangsfunktionen konfigurieren

Da in einen Moore-Automaten die Ausgangsfunktion nur von den Zuständen (F ′1 , F ′2) abhängigist, lässt sich dieser Automatentyp wie bereits zuvor als DNF aus diesen, ihrer Negation sowielogisch ’1’ beschreiben.

In einer Mealy-Realisierung dient eine der beiden Funktionen F1 oder F2 als Ausgangsfunktion.Die Jumper OUTPUT FN sind entsprechend zu setzten, so dass diese an die gewünschten AusgängeX und/oder Y weitergeleitet wird.

Rückkopplungen konfigurieren

Entsprechend der Anzahl der Zustandsvariablen sind die Jumper INPUT SEL auf Rückkopplung(Jumper nach rechts) einzustellen.

Schnittstellen konfigurieren

Mit einem CLB lassen sich wie oben erwähnt nur kleine Zustandsautomaten realisieren. Daherwerden zur Realisierung größerer Automaten die Schnittstellen benötigt.

Eine Schwierigkeit beim Entwurf über mehrere CLBs ergibt sich jedoch durch die internenAbhängigkeiten in einem Automaten, da im allgemeinen Fall jede Teilfunktion von allen Zu-ständen und von allen Eingängen abhängig ist. Mit einem CLB ist es allerdings nicht möglichdie Belegung von Eingangsvariablen (mittels Dip-Schalter) direkt an ein anderes CLB weiter-zuleiten. Dies kann nur über den Umweg das eine Funktion definiert wird, die diese Variablerepräsentiert, geschehen. Es wird also bei der Realisierung von Automaten auf mehreren CLBsdarauf ankommen den Automaten in (Teil)Funktionen zu untergliedern, die nach Möglichkeitnur von den Funktionen X und Y eines anderen CLBs sowie den eigenen Werten abhängigsind.

6.3 Beispiel Wechselblinker

Es soll ein Moore-Automat realisiert werden, der die beiden LEDs für X und Y im Wechselblinken lässt.

Das Zustandsdiagramm dafür kann wie folgt beschrieben werden:

0101

1010

−−

−−

Notation:

F ′1F ′2X Y

AB

13

Page 14: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Aus der Zustandsübergangs- bzw. Ausgangstabelle und anschließender KV-Minimierung er-geben sich als eine mögliche Realisierung folgende Zustandsübergangs- und Ausgangsfunktio-nen:

F1 = F ′1 , F2 = F ′1 , X = F ′1 , Y = F ′2

Die Funktionen F1 und F2 lassen sich in gewohnter Weise abbilden. Es ergibt sich bei F1 für alle

Konjunktionsterme folgende Belegung: leer (’1’), leer (’1’), rechts (F ′1 ), leer (’1’). Entsprechendlautet die Belegung für F2: leer (’1’), leer (’1’), links (F ′1), leer (’1’).

Die Ausgangsfunktion Y hat für alle Konfunktionsterme die Belegung: leer (’1’), oben (F ′2). DieFunktion X entsprechend: oben (F ′1), leer (’1’).

Um die Zustandvariablen F ′1 und F ′2 auf die Übergangsfunktionen rückzukoppeln werden diebeiden Jumper INPUT SEL nach rechts gestellt.

Um die taktsynchronen Flipflops zu verwenden werden alle Jumper SYNC SEL nach links aufSYNC gestellt.

Um den internen Takt zu konfigurieren werden die Jumper CLK SEL auf INT (intern) sowieMAN|AUTO auf AUTO (automatisch) gestellt.

Die vollständige Belegung ist in Abbildung 5 dargestellt.

Abbildung 5: Jumper-Belegung des CLBs für das Wechselblinker-Beispiel.

14

Page 15: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Zum Selbermachen: Lässt sich dieses Beispiel auch mit nur einer Zustandsvariablen realisie-ren?

7 CLBs kaskadieren

Wie in dieser Anleitung schon öfters angeschnitten, lassen sind die CLBs kaskadieren, um größe-re Funktionen abzubilden. Abbildung 6 zeigt die dafür zur Verfügung stehenden Verbindungenanhand eines vereinfachten Blockschaltbildes kaskadierter CLBs.

AB

CDXY

A B C D X Y

XY

X Y C D

AB

AB

CDXY

A B C D X Y

XY

X Y C D

AB

AB

CDXY

A B C D X Y

XY

X Y C D

AB

Abbildung 6: Blockschaltbild kasakdierter CLBs.

Man erkennt, dass die Ausgänge X und Y als Eingänge für ein weiteres CLB dienen können.In horizontaler Richtung werden diese Funktionswerte als Belegung für die Literale A und Binterpretiert, in vertikaler Richtung geben Sie die Belegung für C und D vor.

Die Belegung wird über die beiden Jumper-Blöcke an den Steckern bestimmt. Wird z. B. amlinken Stecker ein Jumper bei A gesetzt, so bedeutet dies, dass der Funktionswert von X einesanderen CLBs anstelle des internen Literals A übernommen wird. Dabei sind beide Eingängemiteinander verodert, so dass der Dip-Schalter für das Literal A eine ’0’ liefern muss.

7.1 Realisierung kombinatorischer Logik über mehrere CLBs

Soll kombinatorische Logik, die von mehr als vier Variablen abhängig ist, auf den CLBs reali-siert werden, so ist dies durch Kofaktorenzerlegung nach dem Booleschen Entwicklungssatz(vgl. Formelsammlung) möglich. Dabei wird die Funktion soweit entwickelt, dass die ein-zelnen Kofaktoren von max. vier Variablen abhängig sind. Je ein CLB realisiert dann dieverschiedenen Kofaktoren, während ein oder mehrere weitere CLBs die aus diesen Kofaktorenzusammengesetzte Funktion(en) realisiert.

15

Page 16: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Soll beispielsweise eine Funktion f (a, b , c , d , e)mit fünf Variablen realisiert werden, so wäh-re nach dem Booleschen Entwicklungssatz diese Funktion für eine Entwicklung nach ef (a, b , c , d , e) = e · fe (a, b , c , d )+ e · fe (a, b , c , d ). Ein CLB könnte dann X1 = fe sowie Y1 = ferealisieren, während ein anders X2 = e ·X1+ e Y1 realisiert.

Die Eingabewerte verteilen sich dann über mehrere CLBs.

7.2 Realisierung von Automaten über mehrere CLBs

Die Realisierung von Automaten (ob synchron oder asynchron) ist ungleich schwieriger, abernicht grundsätzlich unmöglich. Hier ist es nötig eine Partitionierung zu finden, welche mög-lichst unabhängige Teile jeweils auf einen CLB realisiert. Auch hier kann sicher der BoolescheEntwicklungssatz helfen, um z. B. große Übergangs- oder Ausgangsfunktionen aufzuspalten.Aber auch die strikte Trennung von Übergangsnetz, Zustandsspeicherung und Ausgangsnetzauf jeweils einem CLB kann helfen. Allerdings kann u. U. die gleichzeitige Belegung der Ein-gangsvariablen sowohl im Übergangs- als auch im Ausgangsnetz hier etwas problematischwerden. Evtl. kann es auch helfen den Automaten in mehrere Subautomaten aufzuteilen,welche dann entsprechend sich gegenseitig bedingen.

7.3 Beispiel Lauflicht

Es soll ein Lauflicht mittels Schieberegistern über mehrere CLBs realisiert werden. Dies solldurch einen über mehrere Boards geschlossenen Kreis erreicht werden. Das Blockschaltbild desLauflichtes ist in Abbildung 7 dargestellt.

D Q D Q D Q

D QD QD Q&A

A AX X

C

YY BB

F1 F1 F1

F2 F2 F2

D

CLB links CLB mitte CLB rechts

Abbildung 7: Blockschaltbild des Lauflichtes.

Daten werden in die eine Richtung über X, in die andere über Y ausgegeben. Die CLBs werdenin horizontaler Richtung angeordnet. Dazu zerfällt der Entwurf in drei unabhängige Teile:

16

Page 17: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

a) ein Board, welches Daten erzeugt und diese wie auch von B ankommende Daten wiederauf X ausgibt,

b) weitere Boards, welche die in A ankommende Daten an X , sowie in B ankommendeDaten an Y ausgeben,

c) sowie ein Board, welches in A ankommende Daten nach Y ausgibt.

Im ersten Board diene A zum Rücksetzen, B zum Setzen von ’1’en. Von den mittleren CLBskönnen beliebig viele hintereinander geschaltet werden, um ein beliebig langes Lauflicht zuerzeugen. Nach dem Einschalten muss das Schieberegister zunächst mit ’1’en (durch Setzen vonB) oder ’0’en (durch Setzen von A) gefüllt werden.

Aus dem Blockschaltbild lassen sich die folgenden Gleichungen zur Realisierung des Lauflichtesablesen:

CLB links: F2 =AB , F1 =D = F2, X = F ′1

CLB mitte: F1 =A, X = F ′1 , F2 = B , Y = F ′2

CLB rechts: F1 =A, F2 =C = F1, Y = F ′1

Die Funktionen F1, F2, X und Y werden wiederum gemäß obiger Gleichungen konfiguriert.

In allen Boards liegt ein synchrones Design sowie Rückkopplungen vor. Daher werden dieJumper SYNC SEL nach SYNC (links) sowie INPUT SEL nach rechts gestellt.

Board a) erzeugt den Takt. Darum wird hier der Jumper CLK SEL auf INT (oben) sowieMAN|AUTO auf AUTO (rechts) gestellt.

Board b) und c) nehmen Daten und Takt entgegen und leiten Daten weiter. Daher werden dieJumper A und Y jeweils am linken Stecker sowie CLK SEL auf EXT (unten) gesetzt.

Die vollständigen Belegungen sind in den Abbildung 8, 9 und 10 dargestellt.

17

Page 18: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Abbildung 8: Jumper-Belegung des linken CLBs für das Lauflicht.

Abbildung 9: Jumper-Belegung der mittleren CLBs für das Lauflicht.

18

Page 19: Configurable Logic Board – CLB - uni- · PDF fileFachgebiet Digitaltechnik Prof. Dr.-Ing. Peter Zipf Configurable Logic Board – CLB Bedienungsanleitung 1 Einführung Zur Realisierung

Abbildung 10: Jumper-Belegung des rechten CLBs für das Lauflicht.

19


Recommended