Zapamiętany problem dotyczył „odtworzenia standardowych funkcji rejestru logicznego przy użyciu samych bramek. Nie udało mi się wtedy zasymulować tych obwodów, więc uznałem, że warto spróbować jeszcze raz. Zaprojektowałem prostą funkcję dzielenia przez dwa (wyjście przełącza się z prędkością równą połowie wejścia) przy użyciu ośmiu bramek i wprowadziłem ją do MC12. Uruchomienie symulatora powodowało niestabilność. W obwodzie jest kilka bramek sprzężonych krzyżowo, a wraz z innymi sygnałami w odpowiednim stanie tworzy to pętlę dodatniego sprzężenia zwrotnego z opóźnieniem, która oscyluje w symulatorze”.
Z doświadczenia wiem, że to nie będzie oscylować, będzie zatrzaskiwać się w jednym lub drugim stanie, więc zbudowałem obwód i udowodniłem, że działa. Zdjęcie pokazuje obwód na płytce prototypowej zbudowany z dwóch układów scalonych CD4011 (quad-NAND), zasilany napięciem 5 V i taktowany sygnałem zegarowym kalibracyjnym – 1 kHz, 5 V z oscyloskopu. Zadziałało za pierwszym razem, dokładnie tak, jak zostało zaprojektowane”.
„Czy jest jakaś odpowiedź na ten problem z symulacją? Myślę, że może to być spowodowane tym, że modele są idealne i tworzą zjawisko wyścigu czasowego, podczas gdy prawdziwe urządzenia nigdy nie są idealne. Próbowałem zmienić niektóre opóźnienia bramek, ale nie udało mi się znaleźć działającej kombinacji. Teraz już wiem, dlaczego moje symulacje nie działały w 1988 roku. Symulator był uważany za „be all and end all„ i dobrze, że nigdy nie potrzebowałem takiego obwodu w profesjonalnym projekcie, ponieważ trudno byłoby przejść przegląd przedprodukcyjny bez potwierdzenia symulatora, że zadziała!”
Zanim przyjrzymy się układowi Kena i temu, co może być nie tak w symulacji, wrócimy do podstaw i zobaczmy, jak są zbudowane układy flip-flop (przerzutniki) z bramek logicznych i jakie problemy mogą wystąpić podczas ich działania.