Jak zauważa Dave Tweed, chyba że FPGA zawiera sprzęt typu flip flop, który może działać na obu krawędziach zegara, konieczne będzie napisanie własnej logiki w celu wdrożenia pożądanego zachowania przy użyciu konwencjonalnych flip-flopów z pojedynczą krawędzią. Chociaż istnieje wiele różnych sposobów realizacji obwodu, który zachowuje się bardzo podobnie do flip-flopa z podwójną krawędzią, takie obwody ogólnie dodają pewne ograniczenia czasowe, które są inne niż te związane z flip-flopem.
Na przykład prostym podejściem jest posiadanie modułu łączącego dwa xory z 2 wejściami i parę przerzutników „T” (gdzie stan wejścia, gdy nadchodzi impuls zegarowy wskazuje, czy ta krawędź zegara powinna przełączać wyjście), jeden wyzwalany przez zbocze narastające i jeden wyzwalany przez zbocze opadające. Wyjściem modułu będzie xor wyjść przerzutników, a wejściem do obu przerzutników będzie xor wyjścia modułu i jego danych wejściowych.
Obwód zaprojektowany w ten sposób będzie działał zasadniczo jak dwustronny flip-flop, chociaż z dłuższymi czasami konfiguracji i propagacji, ale z dodatkowym ograniczeniem czasowym. Normalny flip-flop, który nie znajduje się na ścieżce sprzężenia zwrotnego, nie będzie miał nic przeciwko, jeśli początek krawędzi zegara zawiera wiązkę impulsów uruchomieniowych, pod warunkiem, że zegar ustabilizuje się na prawidłowym poziomie i pod warunkiem, że ograniczenie czasowe ustawienia, mierzone przed pierwszy impuls biegowy oraz ograniczenia czasu podtrzymania i czasu aktywnego zegarowego, mierzone od czasu, gdy impuls zegarowy jest stabilnie aktywny, są spełnione. Zachowanie wyjścia flip-flop będzie niezdefiniowane w czasie, gdy zegar będzie niestabilny, ale zostanie określone po ustabilizowaniu się zegara. Moduł podwójnego xor-podwójnego flopa dodałby dodatkowe ograniczenie taktowania, że każde zbocze zegara, które zmieniałoby wyjście, musi znajdować się w bezpiecznej odległości od dowolnego innego zbocza zegara, który mógłby to zrobić. Niespełnienie tego ograniczenia, np. Posiadanie trzech bardzo blisko siebie krawędzi zegara, podczas gdy dane wejściowe nie pasują do danych wyjściowych, może pozostawić dane wyjściowe w stanie nieokreślonym lub metastabilnym (należy pamiętać, że scenariusze obejmujące parzystą liczbę krawędzi nie stanowią problemu , ponieważ takie scenariusze obejmowałyby wyłącznie impulsy runt; przypadek trójnożny (lub inne przypadki nieparzystej liczby większe niż jeden) stanowią problem, ponieważ po impulsach runt wystąpiłby prawidłowy puls.
Alternatywną konstrukcją obwodu byłoby posiadanie dwóch klapek jak wyżej, ale doprowadzenie ich wyjść do multipleksera. Obwód ten nie zostałby wrzucony do złego stanu przez impulsy wykonawcze, a jego ograniczenia taktowania byłyby takie same jak leżące u jego podstaw zatrzaski, ale miałoby to tę wadę, że wyjście, które było wysokie i powinno pozostać (lub było niskie i powinno pozostać niskie ), więc może na chwilę zepsuć się krawędź zegara. W niektórych obwodach nie miałoby to znaczenia, ale w innych miałoby to znaczenie.
Prawdopodobnie byłoby możliwe, aby narzędzia do syntezy logicznej automatycznie wdrażały klapki dwustronne, analizując, które ograniczenia czasowe zostały określone jako ważne, ale byłoby to nieco trudne. Zwiększyłoby to również ryzyko, że niewielka zmiana w projekcie może spowodować poważną zmianę we wdrażaniu, a tym samym spowodować znaczącą i nieoczekiwaną zmianę zachowania.