Jag har fått i labbuppgift att designa en 2-bitarsräknare med D-flip-flops som ska kunna räkna upp eller ned. Med ett extra input, x, bestäms räkneriktningen; x=1, räknar upp, x=0, räknar ner.
Som hjälp fick jag tre tillståndstabeller att fylla i, en för D1 och D2 (flip-flopparna), och en för vardera D1 och D2.
Jag har fyllt i tabellerna så här:
Kod: Markera allt
q1q2|x=0|x=1
____|___|___
00 | 11|01
____|___|___
01 | 00|10
____|___|___
11 | 10|00
____|___|___
10 | 01|11
____|___|___
D1 D2
q1q2|x=0|x=1
____|___|___
00 | 1| 1
____|___|___
01 | 0| 0
____|___|___
11 | 0| 0
____|___|___
10 | 1| 1
____|___|___
D1
q1q2|x=0|x=1
____|___|___
00 | 1 |0
____|___|___
01 | 0 |1
____|___|___
11 | 1 |0
____|___|___
10 | 0 |1
____|___|___
D2
Kod: Markera allt
D1 = q1' + q2'
D2 = x'q1'q2' + xq1'q2 + x'q1q2 + xq1q2'