next up previous contents
Next: Benutzerdefinierte Datentypen und Typklassen Up: Listen Previous: Beispiel: Numerische Differentation und

Beispiel: Modellierung von Schaltungen

Wir basteln uns ein Flipflop!

Zustand des Flipflops $\widehat{=}$ Belegung von q, q' ( q= $\neg$ q')

Zustand unverändert

$\widehat{=}$ (set, reset) = (1, 1)

Veränderung

$\widehat{=}$ set = 0 $\Rightarrow$ q = 0
    reset = 0 $\Rightarrow$ q' = 0

Modellierung:

 ------------------------ flip-flop model


data ThreeVal = U | L | H - undefined, low, high
deriving Show


nand :: ThreeVal->ThreeVal->ThreeVal
nand H H = L
nand L _ = H
nand _ L = H
nand _ _ = U


nandSeq :: [ThreeVal]->[ThreeVal]->[ThreeVal]
nandSeq = zipWith nand


q, q', set, reset :: [ThreeVal]


q = U : U : U : nandSeq set q'
q' = U : U : U : nandSeq reset q


set = [L,L,L,L,L,L,L,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H]
reset = [H,H,H,H,H,H,H,H,H,H,H,H,H,H,L,L,L,L,L,L,L,H,H,H,H,H]


{-
Main> q
[U, U, U, H, H, H, H, H, H, H, H, H, H, H, H, H, H, H, H, H, L,
L, L, L, L, L, L, L, L]
Main> q'
[U, U, U, U, U, U, L, L, L, L, L, L, L, L, L, L, L, H, H, H, H,
H, H, H, H, H, H, H, H]
-}


next up previous contents
Next: Benutzerdefinierte Datentypen und Typklassen Up: Listen Previous: Beispiel: Numerische Differentation und
Ronald Blaschke
1998-04-19