Dokud bude dostupne 74LS181 tak je pouzitelne https://www.bigmessowires.com/nibbler/ http://www.bigmessowires.com/category/nibbler/ :-)
Ta ALU LS181 muze umrit. Kdyz jsem videl cenu, prvni co mne napadlo je "strcim to do CPLD", nebudu magor kupovat takovou vykopavku. Potom ale nastesti zvitezila nostalgie :). V supliku mam snad vsechny soucastky, ale jeste jsem se nedostal k tomu to nadratovat.
Mam v hlave modifikaci, strcit mikrokod do SRAM, aby byl i mikrokod modifikovatelny :). Idalne nasdilet jeden ROM i SRAM cip na oboji (u te SRAMky je samozrejme problem, ze v taktu pri loadovani kodu se ztrati stav, tzn. bude tam potrebny navic jeden latch).
Plan je takovy, ze zaklad mikrokodu bude v ROM a nekde bude registr, ktery bude mapovat cast ROM misto RAM (pro par zakladnich instrukci) a to bude vychozi stav. Uzivatelsky kod po resetu naplni RAM obsahem a pak uz to pobezi normalne.
Na tyto experimenty ale vyhodim to ALU a dam tam nejake CPLD, k nemu ROM sdilenou microcode/code, a "velkou" SRAMku, tzn. mohly by tam byt celkem 3 IC. Takhle to popisuju dost zjednodusene, bude tam hromada problemu.
No pro ctyrbitovyho svaba zadnou ALU ani nepotrebujes, staci dostatecne velka ROM 2^12x4 bity:
- 2 bity adresy pro vyber operace
- 4 bity pro prvni operand
- 4 bity pro druhy operand
Co se precte z ROM je vysledek. Klidne si tak muzes udelat i nasobicku.
PS: kurnik to zacina vypadat dost elegantne, asi si 4bit taky udelam!
Pokud tam dáš *ROM, tak klidně můžeš na výběr operace dát víc bitů a nadefinovat si operace dle libovosti: nejen stčítání, o0dčítání, posuny, ale klidně násobení, dělení, sinus, kosinus, atd. Teda, ne, že by to při 4bitech až zas tak moc dávalo smysl, ale elegantní by to bylo...
Elegantni mi prijde zejmena ta moznost dynamicky menit instrukce, napr. si dodefinovat nejake bitove operace pro sifrovani, nebo jine vypocetne narocne veci (to ma na 4bitu fungujicim treba na 10MHz smysl, ze ? :) ).
Post o sin/cos/nasobicce/apod mne inspiroval k tomu, ze by mozna stalo za to tam dat ROM/RAMku na lookupy hodnot! Do mikrokodu to cpat je blbost, ale udelat bit na pripojeni lookupovaci fce(ROM/RAM) na sbernici uz smysl dava.