Návrh logického obvodu
Re: Návrh logického obvodu
Souhlasím s gilhadem. Pro adresový dekodér je daleko vhodnější ten PAL obvod. Navíc má ošetřené přechodové stavy, což je u adresového dekodéru celkem potřeba. A nebo použít demultiplexery (např. 74LS138, 74LS154) zapojené do kaskády. Ale to je dost peněz a drátování v porovnáním s tím PALem.
Re: Návrh logického obvodu
PAL by asi byl reseni ale za 1. sem s nim nikdy nedelal a za 2. nemam programator tak nemam jak naprogramovat.
https://arze.cz - ARduino Zapojení Elektronika
Re: Návrh logického obvodu
A ty adresy máš v nějakých blocích? Pokud ano, můžeš použít ty demultiplexy. Zkus napsat adresy, které potřebuješ selektovat (nejlépe hex).
Re: Návrh logického obvodu
Napiš sem tvou pravdivostní tabulku a co chceš přesně HW pro Z80 udělat, ať se na to můžeme podívat .
Re: Návrh logického obvodu
modrá je log.0
https://arze.cz - ARduino Zapojení Elektronika
Re: Návrh logického obvodu
Ty tabulky nejsou úplné, to by to nuselo mít 128 řádků.
Zároveň to vypadá, že (pokud tam další řádky nejsou, protože na nich nezáleží) platí
OUT(1) je negací OR(IN(1)...IN(7)) (Výstup je jedna, pouze pokud všechny vstupy jsou nula)
OUT(2) je negací OUT(1)
a ostatní OUT(n) prostě kopírují IN(n+1)
což vypadá jako docela zvláštní logika ... ale spíš neúplné zadání
Možná by bylo lepší napsat, co to má dělat a proč než řešit jak to má dělat.
Například ten můj
http://8bit.gilhad.cz/HW/ATF16V8BQL.html pro http://8bit.gilhad.cz/6809/Expanduino/Expanduino_I.html funguje takhle:
Na desce jsou 4 registry pro čtení (R0..R3) a 4 registry pro zápis (W0..W4). Kterékoli z nich je aktivován, když mu na /Enable přivedu nulu, takže potřebuju 8 výstupů, co budou normálně logická jedna a když se aktivujou budou logická nula.
Na desku vedou 3 bity adresy v normální logice, čili binárně 000..111, dekadicky 0..7, ale já potřebuju adresovat pouze registry 0..3
Taky tam vedou tři signály aktivní v nule, /Read, /Write a /IO1 (který vybírá tu desku)
To je celkem 6 vstupů.
Něco se vybírá, pouze pokud je vybrána deska (/IO1)
Pokud je aktivní /Read, vybírá se jeden z registrů Rx
Pokud je aktivní /Write, vybírá se jeden z registrů Wx
Pokud jsou ale aktivní oba, nebo žádný, nevybírá se nic.
Adresa 0..3 určuje, kolikátý z čipů Rx (resp. Wx) bude vybrán.
Adresy 4 a výš znamenají, že se nevybere nic.
Zároveň to vypadá, že (pokud tam další řádky nejsou, protože na nich nezáleží) platí
OUT(1) je negací OR(IN(1)...IN(7)) (Výstup je jedna, pouze pokud všechny vstupy jsou nula)
OUT(2) je negací OUT(1)
a ostatní OUT(n) prostě kopírují IN(n+1)
což vypadá jako docela zvláštní logika ... ale spíš neúplné zadání
Možná by bylo lepší napsat, co to má dělat a proč než řešit jak to má dělat.
Například ten můj
http://8bit.gilhad.cz/HW/ATF16V8BQL.html pro http://8bit.gilhad.cz/6809/Expanduino/Expanduino_I.html funguje takhle:
Na desce jsou 4 registry pro čtení (R0..R3) a 4 registry pro zápis (W0..W4). Kterékoli z nich je aktivován, když mu na /Enable přivedu nulu, takže potřebuju 8 výstupů, co budou normálně logická jedna a když se aktivujou budou logická nula.
Na desku vedou 3 bity adresy v normální logice, čili binárně 000..111, dekadicky 0..7, ale já potřebuju adresovat pouze registry 0..3
Taky tam vedou tři signály aktivní v nule, /Read, /Write a /IO1 (který vybírá tu desku)
To je celkem 6 vstupů.
Něco se vybírá, pouze pokud je vybrána deska (/IO1)
Pokud je aktivní /Read, vybírá se jeden z registrů Rx
Pokud je aktivní /Write, vybírá se jeden z registrů Wx
Pokud jsou ale aktivní oba, nebo žádný, nevybírá se nic.
Adresa 0..3 určuje, kolikátý z čipů Rx (resp. Wx) bude vybrán.
Adresy 4 a výš znamenají, že se nevybere nic.
Re: Návrh logického obvodu
Je to komplet.
Je pravda ze kdyz na to ted koukam tak se to vlastne moc nelisi takze by to slo udelat nejspis docela jednoduse jen logikou. Uvidime. EEPROMka to jisti, s tou mam dobry zkusenosti
Je pravda ze kdyz na to ted koukam tak se to vlastne moc nelisi takze by to slo udelat nejspis docela jednoduse jen logikou. Uvidime. EEPROMka to jisti, s tou mam dobry zkusenosti
https://arze.cz - ARduino Zapojení Elektronika
Re: Návrh logického obvodu
EEPROMKA? PAL? To myslíš vážne? Na toto nepotrebujeme žiadnu KM. Výstupy 3 - 6 si môžeš odpustiť. Sú to vstupy 4-7 teda na to stačí obyčajný drôt.
No a výstup jedna sa dá urobiť jedným 8 vstupovým NAND (jeden vstup sa zapojí na log1). Výstup 2 je potom negácia výstupu 1.
Teda celkovo potrebuješ 1x8vstupový NAND a 1xinvertor a 4xdrôt.
No a výstup jedna sa dá urobiť jedným 8 vstupovým NAND (jeden vstup sa zapojí na log1). Výstup 2 je potom negácia výstupu 1.
Teda celkovo potrebuješ 1x8vstupový NAND a 1xinvertor a 4xdrôt.
Re: Návrh logického obvodu
Experti poradili jak na to .
Stačí použít:
a propojit vstup 4 s výstupem 3, vstup 5 s výstupem 4, vstup 6 s výstupem 5 a vstup 7 s výstupem 6
Stačí použít:
a propojit vstup 4 s výstupem 3, vstup 5 s výstupem 4, vstup 6 s výstupem 5 a vstup 7 s výstupem 6
Re: Návrh logického obvodu
Tak se nakonec povedlo i jednoduše
https://arze.cz - ARduino Zapojení Elektronika
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů