( locsemege | 2025. 05. 01., cs – 14:23 )

Látok benne egy hazárd beleépítő értelmetlenséget. A 6116 -CS jelét úgy állítják elő, hogy ha a mux select 1, akkor a GND-n lévő 10-es láb miatt 0-t köt a RAM -CS-re, ha viszont a mux select 0, akkor a 11-es lábra kötött select miatt, ami most épp 0, szintén 0 lesz a RAM -CS-en. Persze picike statikus hazárd lesz benne, hiszen a bemenet és a select egyszerre változnak. Itt egyrészt a 11-es lábat GND-re kellett volna kötni, de akkor felmerül a kérdés, hogy a mindkét bemeneten lévő 0-t minek kapcsolni? Tehát az U503 3-as multiplexere, a 9, 10, 11-es lába felesleges, a RAM -CS jele GND-re köthető közvetlenül. Azt, hogy a RAM ki- vagy bemenet, a -WR/RD vezérli. Amúgy ronda, hogy a buszmeghajtó iránya és a RAM iránya egyszerre van vezérelve, köztes gap time nélkül, mert így néhány ns ideig rövidzár lesz, amelyet a MOSFET-ek csatornaellenállása fog megszelídíteni.

Tehát amit tennék: 6116 -CS, 18-as lábát GND-re kötném. U503 74LS157 9-es kimeneti lábát levegőben hagynám, azaz sehova sem kötném. Ugyanennek az IC-nek a 10-es és 11-es lábát GND-re kötném. 11-esről persze le kell szedni a select jelet előbb.

Ettől szerintem megjavulni nem fog, de egyszerűbb lesz, és nem lesz benne felesleges hazárd. Tipikus példája annak, amikor valaki nem veszi észre, hogy a logikai függvényének eredménye konstans 0 minden időpillanatban, minden bemeneti változó értékére, így ezt a 0-t rettenetesen bonyolultan, olykor hazárdokkal, néhány ns-os 1-ek esetleges, de nem garantált közbeiktatásával állítja elő.