OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 20:44

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 42 ]  Přejít na stránku 1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: GAL open collector
PříspěvekNapsal: 13.06.2021, 20:03 
Offline
Kecálek

Registrován: 09.01.2021, 18:37
Příspěvky: 108
Has thanked: 16 times
Been thanked: 22 times
Ahoj všem, nějak jsem nepřišel jak vysvětlit OPALJR, aby výstup 22V10 byl nastaven jako opencollector.
Jde to? Pokud ano, jak?
Měl jsem představu OUT18.T = INP1 * INP2 ,ale i tak je zapnutý pullup odpor...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 13.06.2021, 22:20 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Pullup je na všech vývodech pořád.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 13.06.2021, 22:34 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
Je potrebné použiť "Dot Extensions" OE - output enable.
OUT18.OE = INP1 * INP2

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 14.06.2021, 06:02 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
A OUT18 = 0; :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 14.06.2021, 20:21 
Offline
Kecálek

Registrován: 09.01.2021, 18:37
Příspěvky: 108
Has thanked: 16 times
Been thanked: 22 times
Díky, nepotěšili jste mě. Aspoň vím, že nemá cenu zkoušet konfigurovat.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 14.06.2021, 20:46 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
Možno by bolo schodnejšie, keby si nám tu poskytol požadované zapojenie a existujúce rovnice s popisom očakávaného chovania.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 14.06.2021, 23:15 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Ak tomu správne rozumiem, tak tým "open collector" sa myslí stav, keď je pin odpojený? Alebo to ako má 74LS07, že na výstupe je buď 0, alebo Z, teda GND alebo pin vo vzduchu, skrátka ako obsluha klávesnice zx spectra? A to .oe pokiaľ je 1, tak pripája príslušný pin? Potom by to malo fungovať asi takto:
PIN18 = [vzorce pre výstupný stav pinu]
PIN18.oe = [vzorce kedy má byť pin pripojený, teda pokiaľ vyjde 1]

Pokiaľ použijem rovnaké vzorce pre oba prípady, akurát pre vzorec .oe pridám negáciu, budem mať výstup buď 0, alebo Z?

S GALmi pracujem zatiaľ iba v teoretickej úrovni, ale nevyzerá to byť ťažké. :D

Ešte dotaz. Našiel som nasledujúci EQN súbor, a zaujíma ma prečo out4 má dvojbodku a prečo nemá .oe variantu. Tiež nieje vynechaný riadok pred snap. Poškodený súbor, alebo to má nejaký význam?

Kód:
chip KOM-IC7 GAL16V8

clkint cas a11 a12 pravo lavo hore dole caps GND
a8 casp casram snap out4 out3 out2 out1 out0 VCC

@ues 4b4c415600000000

equations

!out0 = !a11 & lavo & !out4
    # !a12 & !out4 & dole
out0.oe = !out4

!out1 = a11 & !pravo & !lavo & hore & dole & caps
out1.oe = vcc

!out2 = !a12 & !out4 & hore
out2.oe = !a12 & !out4 & hore

!out3 = !a12 & pravo & !out4
out3.oe = !a12 & pravo & !out4

out4 := !pravo & !lavo & !hore & !dole & !caps
snap = pravo & lavo & !hore & !dole & caps
snap.oe = vcc

casram = cas & casp
casram.oe = vcc



A ešte dotaz číslo 2. V inom EQN súbore som našiel toto:
Kód:
!clkr = !a11 & !a10 & !a12 & !a13 & !a14 & !a15 & !mreq & !s2 & !s1
    # !a11 & !a10 & !a12 & !a13 & !a14 & !a15 & !rom01 & !mreq & s2 & !s1
    # !a11 & a10 & a12 & !a13 & !a14 & !a15 & !mreq & !s2 & s1
    # a11 & !a11 & a10 & !a10 & a12 & !a12 & dcas & !dcas & a13 & !a13 & dr & !dr
      & a14 & !a14 & clkr & !clkr & a15 & !a15 & rom01 & mreq & !mreq & s2 & !s2
      & wait & !wait & s1 & !s1 & rom0di & !rom0di & ras & !ras

Nieje to nejaká hlúposť? Napríklad ako môže byť a14 & !a14, veď taká možnosť nikdy nenastane, signál nemôže byť naraz 0 aj 1. Nieje to iba pre vyplnenie miesta v čiastočne nefunkčnom GALe aby sa rovnice posunuli na funkčné miesto?

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 08:03 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
PotPalo píše:
Ak tomu správne rozumiem, tak tým "open collector" sa myslí stav, keď je pin odpojený? Alebo to ako má 74LS07, že na výstupe je buď 0, alebo Z, teda GND alebo pin vo vzduchu, skrátka ako obsluha klávesnice zx spectra? A to .oe pokiaľ je 1, tak pripája príslušný pin? Potom by to malo fungovať asi takto:
PIN18 = [vzorce pre výstupný stav pinu]
PIN18.oe = [vzorce kedy má byť pin pripojený, teda pokiaľ vyjde 1]
OE v 0 nastavuje daný pin do Z, bez ohľadu na aktuálny výstupný stav.
PotPalo píše:
Pokiaľ použijem rovnaké vzorce pre oba prípady, akurát pre vzorec .oe pridám negáciu, budem mať výstup buď 0, alebo Z?
Aby sa to chovalo ako OC, tak skôr naopak. Ale pravda, ide o tú negáciu rovnice na pravej strane. Len takto sa mi to zdá "logickejšie".
PIN18 = !INP1
PIN18.oe = INP1
PotPalo píše:
Ešte dotaz. Našiel som nasledujúci EQN súbor, a zaujíma ma prečo out4 má dvojbodku a prečo nemá .oe variantu. Tiež nieje vynechaný riadok pred snap. Poškodený súbor, alebo to má nejaký význam?
Rovnica s "dvojbodkovým" priradením je pre registrový výstup (v podstate D klopný obvod), ktorý sa zmení prostredníctvom hodinového signálu. Pre výstup out4 nie je toto priradenie pre hodinový signál C uvedené, takže sa použije implicitne dedikovaný pin 1, v tomto prípade clkint. Ak sa pre nejaký pin explicitne nezadá priradenie pre OE, použije sa VCC, teda vždy aktívny výstup. Prázdne riadky by nemali hrať žiadnu rolu. Takže pre out4 je to vo výsledku takto:
out4 := !pravo & !lavo & !hore & !dole & !caps
out4.c = clkint
out4.oe = VCC
PotPalo píše:
A ešte dotaz číslo 2. V inom EQN súbore som našiel toto:
Kód:
!clkr = !a11 & !a10 & !a12 & !a13 & !a14 & !a15 & !mreq & !s2 & !s1
    # !a11 & !a10 & !a12 & !a13 & !a14 & !a15 & !rom01 & !mreq & s2 & !s1
    # !a11 & a10 & a12 & !a13 & !a14 & !a15 & !mreq & !s2 & s1
    # a11 & !a11 & a10 & !a10 & a12 & !a12 & dcas & !dcas & a13 & !a13 & dr & !dr
      & a14 & !a14 & clkr & !clkr & a15 & !a15 & rom01 & mreq & !mreq & s2 & !s2
      & wait & !wait & s1 & !s1 & rom0di & !rom0di & ras & !ras
Nieje to nejaká hlúposť? Napríklad ako môže byť a14 & !a14, veď taká možnosť nikdy nenastane, signál nemôže byť naraz 0 aj 1. Nieje to iba pre vyplnenie miesta v čiastočne nefunkčnom GALe aby sa rovnice posunuli na funkčné miesto?
Samozrejme je to hlúposť. Takýto Product-Term sa neuplatní a je možné, že bude pri kompilácii odstránený.
Posúvanie na "nejaké funkčné miesto" sa mi zdá nezmyselné. A ako som spomenul, kompilátor robí optimalizáciu product-termov a tak si myslím, že by sa nedalo spoliehať na to, že sa takýmto spôsobom "vynechá" nejaká "chybná" časť čipu. Ale môžem sa mýliť.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 12:33 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Kód:
!out2 = !a12 & !out4 & hore
out2.oe = !a12 & !out4 & hore

... toto je tiež OC? Negovaný je rovno výstup out2, takže to neguje výsledok celej rovnice out2. Výstup je potom buď 0 alebo Z. Bez toho negovania by bol výstup buď 1 alebo Z.

Začínam tomu chápať. :D Takže keď rozmením označenie pinov I/O/Q na drobné, tak:
I je input (a teda aj open-collector), keď .oe = 0
O je output, keď .oe = 1
Q sa definuje dvojbodkou, pin má uchovaný posledný stav keď nastal clock.

Keby tie GALy nemali obmedzený počet zápisov na 100, už by som experimentoval. Akurát pri GALoch z Číny, ktoré vyzerajú byť použité, už môže ostávať iba niekoľko naprogramovaní. Jeden dokonca nešiel ani úplne zmazať, jeden byt tam bol už natrvalo. Takže radšej sa uistím dopredu a programovať GALy budem už načisto.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 13:04 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
PotPalo píše:
Kód:
!out2 = !a12 & !out4 & hore
out2.oe = !a12 & !out4 & hore

... toto je tiež OC? Negovaný je rovno výstup out2, takže to neguje výsledok celej rovnice out2. Výstup je potom buď 0 alebo Z. Bez toho negovania by bol výstup buď 1 alebo Z.
Presne tak.
PotPalo píše:
Začínam tomu chápať. :D Takže keď rozmením označenie pinov I/O/Q na drobné, tak:
I je input (a teda aj open-collector), keď .oe = 0
O je output, keď .oe = 1
Q sa definuje dvojbodkou, pin má uchovaný posledný stav keď nastal clock.
Input by som jednak nenazýval open-collector a potom samotný vstup ani nemá nič spoločné s OE, ten sa týka výhradne výstupu, či už je kombinačný alebo registrový.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 13:23 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Ako potom nastavím pin aby bol vstup? Myslel som že s .oe = GND.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 14:17 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
PotPalo píše:
Ako potom nastavím pin aby bol vstup? Myslel som že s .oe = GND.
V GALe je vždy N pinov, ktoré sú iba vstupné a tie sa môžu objaviť iba na pravej strane rovnice.
Potom je tam M pinov, ktoré sú prakticky I/O a ich smer je daný tým, na ktorej strane rovníc sa objavia.
Ak iba na ľavej, bude to výstup.
Ak iba na pravej bude to vstup.
Ak na oboch, bude to výstup, z ktorého je "feedback" do AND/OR matice.
Niektoré GALy majú vstupy, ktoré sú "dedikované" pre špecifickú funkciu - CLK a /OE. Ak je daná funkcia využitá, napr. registrový výstup, na tieto piny musí byť privedený príslušný signál, ktorý je potom interne použitý pre dané výstupy (OLMC - Output Logic Macrocell). Ak daná funkcia nie je použitá, tak sa tieto piny môžu použiť, ako bežné vstupy.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 14:28 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Takže je to v podstate automatika softvéru, ten určí podľa rovníc použitie pinu. A hneď je o starosť menej. :D

rombor píše:
Niektoré GALy majú vstupy, ktoré sú "dedikované" pre špecifickú funkciu - CLK a /OE.

a
rombor píše:
Rovnica s "dvojbodkovým" priradením je pre registrový výstup (v podstate D klopný obvod), ktorý sa zmení prostredníctvom hodinového signálu. Pre výstup out4 nie je toto priradenie pre hodinový signál C uvedené, takže sa použije implicitne dedikovaný pin 1, v tomto prípade clkint. Ak sa pre nejaký pin explicitne nezadá priradenie pre OE, použije sa VCC, teda vždy aktívny výstup. Prázdne riadky by nemali hrať žiadnu rolu. Takže pre out4 je to vo výsledku takto:
out4 := !pravo & !lavo & !hore & !dole & !caps
out4.c = clkint
out4.oe = VCC

Ako to teda je? Dá sa tento clk nastaviť cez out4.c aj na iný pin, alebo to musí byť pin 1?

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 15:08 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
PotPalo píše:
Takže je to v podstate automatika softvéru, ten určí podľa rovníc použitie pinu. A hneď je o starosť menej. :D

rombor píše:
Niektoré GALy majú vstupy, ktoré sú "dedikované" pre špecifickú funkciu - CLK a /OE.

a
rombor píše:
Rovnica s "dvojbodkovým" priradením je pre registrový výstup (v podstate D klopný obvod), ktorý sa zmení prostredníctvom hodinového signálu. Pre výstup out4 nie je toto priradenie pre hodinový signál C uvedené, takže sa použije implicitne dedikovaný pin 1, v tomto prípade clkint. Ak sa pre nejaký pin explicitne nezadá priradenie pre OE, použije sa VCC, teda vždy aktívny výstup. Prázdne riadky by nemali hrať žiadnu rolu. Takže pre out4 je to vo výsledku takto:
out4 := !pravo & !lavo & !hore & !dole & !caps
out4.c = clkint
out4.oe = VCC

Ako to teda je? Dá sa tento clk nastaviť cez out4.c aj na iný pin, alebo to musí byť pin 1?
CLK je obvykle spoločný pre všetky OLMC (pin 1 na 16V8, 18V10, 20V8, 22V10), /OE je spoločný pre všetky OLMC na 16V8 a 20V8. Na 18V10 a 22V10 nie je dedikovaný pin pre /OE.
Je práve škoda, že CLK nie je možné pre každú OLMC osobitne definovať.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GAL open collector
PříspěvekNapsal: 15.06.2021, 16:00 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
No to je veru škoda, že je iba jeden spoločný clk. Niekedy by sa ich zišlo aj viac.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 42 ]  Přejít na stránku 1, 2, 3  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz