OldComp.cz
https://www.oldcomp.cz/

Obsah EPROM pro 4bit ALU
https://www.oldcomp.cz/viewtopic.php?f=113&t=8270
Stránka 15

Autor:  microlan [ 03.02.2020, 08:49 ]
Předmět příspěvku:  Obsah EPROM pro 4bit ALU

Pustil jsem se do realizace danhardova vynálezu ALU z 27C64. Idea je asi následující:

Adresní vstupy budou obsazeny následovně

4 bity reg A
4 bity reg B
1 bit CY
4 bity = 16 funkcí

dohromady 13 bitů, což je právě adresní prostor 27C64

Výstup 4 bity výsledku + 1 CY

Začal jsem tabulku v excelu, ale pro bitové operace to asi není nejlepší nástroj.

Má někdo nápad, čím to zmechanizovat?

Autor:  danhard [ 03.02.2020, 11:58 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Zadrátuj tu přídavnou ALU jako ROMku a přečti jí :)

Volné výstupy můžou dělat ještě test na zero a komparátor A=B.

Tabulková implementace logické funkce není můj vynález, jen se snažím o náhradu brouků, které jsou už nesehnatelné a aby to mělo malou spotřebu.

Líbil by se mi třeba 74LS281, 74LS382, nebo 74LS681, ale ty jsou nesehnatelné, tak spíš jen koukám, co tam použili za množinu funkcí.

74181 se dá jediná ještě koupit ve výprodeji, ale 74HC283 je stále dostupná, tak bych jí doplnil lepší logikou než 74HC86, možná by stačil další pomocný registr a základní log. funkce a nebo programovatelná logická funkce v GALu.

Autor:  Busy [ 03.02.2020, 12:32 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

microlan píše:
Má někdo nápad, čím to zmechanizovat?
Normalne si napis program, ktory pre vsetky kombinacie vstupov vypocita vystup.

Autor:  microlan [ 03.02.2020, 14:06 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Citace:
Zadrátuj tu přídavnou ALU jako ROMku


To je nápad, mrknu na tu 181ku

Autor:  microlan [ 03.02.2020, 15:34 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Tady už mají něco hotový, jen nevím, jestli to půjde aplikovat

http://39k.ca/2016/05/13/using-eproms-and-simple-combinational-logic/

Autor:  danhard [ 03.02.2020, 15:45 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Nad tím nebádej, zapoj to i s tou 74188 a bude se to chovat stejně.
Generátor ALU by měl smysl, až kdyby jsi chtěl dělat vlastní soubor instrukcí.

Autor:  lukz [ 04.02.2020, 19:51 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Citace:
Má někdo nápad, čím to zmechanizovat?

V jakém formátu by měla být ta data? A jakých 16 funkcí to má umět?

Autor:  faraon [ 04.02.2020, 20:50 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Jenom ALU? A už nic víc? ;-)

Tak jsem si to cvičně vyzkoušel v Officu, jen pro sčítání s carry, a nejvíc práce mi daly ty vstupy. Samotný "výpočet" stačilo jenom odladit a rozkopírovat. Viz příloha.

Ale jednodušší by to bylo prostě naprogramovat, a z programu by vypadla hotová data. Na to by stačil i BASIC, ale ty logické funkce by se jednodušeji řešily třeba v Céčku.

Co všechno to teda má dělat?

Přílohy:
ROM ADC.zip [34.39 KiB]
516 krát

Autor:  PotPalo [ 04.02.2020, 21:28 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Keď sa presne definuje čo to má robiť, tak v exceli je to brnkačka spraviť. Čo to má všetko vedieť, tých 16 funkcií? 13 vstupov máme. Čo výstup, bude iba 8 bitové číslo (D0~D7) bez kontroly pretečenia?
Napíš tabuľku, asi takúto:

funkcia - vstupy - výstupy
0 ADD sčítanie A+B - A,B - D0~D3,C
1 SUB odpočítanie A-B - A,B - D0~D3,C
2 SBC odpočítanie s CY (keď je CY 1, bude výsledok znížený o 1) - A,B,CY - D0~D3,C
atď...

Pri 13 bitoch na vstupe to bude 8192 riadkov v exceli, každá funkcia 512 riadkov.

edit: tak som začal v exceli, základ je hotový, zatiaľ sú funkcie ADD, SUB, a SBC, stačí pridať ďalšie. Nič zložité, obyčajné kopírovanie vzorca a čísiel. Kto nerobí moc s excelom, tak napoviem, že Ctrl+šípka presunie kurzor na poslednú vyplnenú bunku.

A mimochodom, išlo by to elegantne spraviť aj v BASICu ZX Spectra (niekoľko FOR-NEXT), a rovno by to ukladalo do pamäti výsledky, takže nakoniec by stačilo uložiť súbor a máš hotovú náplň do epromky. :D

edit2: teraz som si všimol že výsledok má byť 4-bity a CY, upravil som xls. Pridal som aj Zero flag, a opravil chybičku...

Přílohy:
ALU.rar [56.07 KiB]
510 krát

Autor:  PotPalo [ 05.02.2020, 01:19 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Tak ďalšia verzia. :mrgreen:

Funkcie:
0 - ADD
1 - SUB
2 - ADC
3 - SBC

Pridané farebné formátovanie a číslovanie doplnené až do konca, už len dopísať tie funkcie.

Přílohy:
ALU.rar [240.24 KiB]
509 krát

Autor:  microlan [ 05.02.2020, 06:21 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Takový zájem jsem ani nečekal, funkcí 16, ale chci to tak nějak zmechanizovat, aby bylo snadné je měnit. Logické, všechny ty sčítací, rotace, test na =, ....

Tak mám víc času, zjistil jsem, že ta 181 je pinově téměř kompatibilní s EPROMkama, akorát tam jde přes M blokovat jen výstup dat, ale příznaky jedou furt. To jen pro informaci

Výstupy doplnit o flag a = b, případně další, aby se využilo všech 8 výstupů.

Samozřejmě děkuji za tabulky, určitě se rád poučím v užívání excelu.

Autor:  PotPalo [ 05.02.2020, 09:25 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Tak schválne, 4-bitové rotácie doprava/doľava v exceli. :mrgreen: Ale jednoduchšie by to asi bolo naozaj v tom BASICu ZX Spectra.

Přílohy:
4-bit rotácie.rar [1.7 KiB]
507 krát

Autor:  lukz [ 05.02.2020, 12:38 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Mám to jako textový soubor. Funkce a+b, a+b+c, a-b, a-b-c, b-a, b-a-c, rlca, rrca, a&b, a|b, a^b, 0. Bit 5 je carry flag, bit 6 je zero flag. Jestli ti tam ještě nějaké funkce chybí, tak dej vědět.

Test a=b je možné provést jako test zero flagu u operace a-b nebo u operace b-a.

Přílohy:
eprom-v1.txt [99.14 KiB]
537 krát

Autor:  microlan [ 05.02.2020, 15:28 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Vše se dá nějak obejít, jde mi jen o využití všech výstupů EPROM

Autor:  microlan [ 05.02.2020, 19:46 ]
Předmět příspěvku:  Re: Obsah EPROM pro 4bit ALU

Myslel jsem, že jsou v tom texťáku jen ty rovnice, ale ono je to hotový!

Program prosím uschovej, až budu mít jasno, který fce tam chcu, tak Tě potom poprosím o novou sjetinu.

Flag a=b bych chtěl, protože to nejen zrychlí, ale taky zkrátí kód v 256B adresním prostoru

Stránka 15 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/