FPGA/CPLD, bolo: Pulzny generator

Jaromir Sukuba jarin.hw na gmail.com
Středa Srpen 14 10:24:20 CEST 2019


Takze vies co chcem povedat, ale aj tak sa pytas a este aj v threade
kam to nepatri? :-)
Pre tych, ktori nie celkom rozumeju - ide o konstrukciu o ktorej som
pisal tu https://list.hw.cz/pipermail/hw-list/2019-May/516943.html a v
nasledujucich prispevkoch.

Ano, to "pomedzie" je z vonkajsieho, uzivatelskeho pohladu. CPLD su
zlozitejsie nez AND-OR matice v GALoch. Ja tam mam EPM240, ak si to
porovnam s FPGA tej doby a od toho isteho vyrobcu, trebars Cyclone2,
tak ich "logicke elementy" vyzeraju velmi podobne, vid
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max2/max2_mii5v1.pdf
- strana 29
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyc2/cyc2_cii5v1.pdf
- strana 29
Z uzivatelskeho hladiska je to tak, ze CPLD je "instant on" a ma malo
(o nieco bohatsich) buniek, FPGA treba naladovat zvonku, u niektorych
aj z internej pamate, ma vela buniek (ktore byvaju o nieco
jednoduchsie). Tie xo2 od lattice su FPGA s internou FLASH, takze sa
na plosak da len jedna suciastka (+kondiky) a je to.

No a k tomu, ze preco tam mam to CPLD - no pretoze sa to tam hodilo.
Vnutri je urobenych niekolko citacov, UART (vlastne len UAT), dva
stavove stroje ktore rozhoduju aka je faza prevodu, ktory pin treba
potiahnut, kedy zacat vysielat data von a z ktorym vstupom gate-ovat
citac. Cele je to hnane 50MHz hodinami.
Prva pomala inkarnacia toho ADC bola riadena nejakym lowendovym
8-bitovym PIC-kom, ale bolo to take rychle obicyklovanie toho, ze sa
mi nechcelo hrat s programovatelnou logikou; vzal som zo suflika
nejaky nahodny plosak s adekvatnym MCU. V procese som sa dostal k
tomu, ze obcas protrebujem rychlo (a v presne definovanom case) myknut
jednym alebo inym pinom podla toho ako je nastaveny dalsi pin, co sa
sice vsetko da prislusne komplikovane robit v assembleri, ale po
studiu latencii preruseni a toho ako su synchronizovane vstupy k
internemu clocku, plus potrebe ist k vyssim frekvenciam, co zvadza k
pouzitu tych modernejsich rychlejsich 32-bitov, co otvara dalsiu
konzervu cervikov v podobe jitteru interneho PLL, tazko
predvidatelneho spravania arbiterov na krizovatkach zbernic/hodinovych
domen som usudil, ze pouzitie toho co treba (za hrst 74xxx obvodov
alebo jedno CPLD) je riesenie ktore bez zbytocnych kompromisov prinasa
zelane vysledky.
Teoreticky je mozne, ze by sa ta cinnost dala emulovat niekolkymi
timermi + DMA v nejakom pokrocilejsom MCU, ale jednak si tym stale
ponechavam jitter z hodin, druhak to nebude celkom trivialne a navyse
nemam tusenie na kolko prekazok narazim po ceste.
Namiesto toho, aby som pouzival nieco co dosiahnutie toho ciela nie je
velmi vhodne (MCU) a potom riesil ktory vyrovnavak je dobry na dany
vohejbak, radsej som zvolil nieco, co je na danu ulohu vyslovene
vhodne (CPLD/FPGA).

J.


ut 13. 8. 2019 o 23:18 Jan Waclawek <konfera na efton.sk> napísal(a):
>
> Naco je v ADC CPLD? Ako rychly citac? Ak ano, ako az rychly? Ozaj to nejde
> nahradit mcu? Ani PIC32MZ?
>
> > takze je to na pomedzi toho co si bezne
> > predstavime pod pojmom CPLD a FPGA.
>
> No ja si pod pojmom CPLD predstavujem hromadu PAL t.j. AND-OR matic, nejake
> vystupne bloky z tej matice, a vzajomne prepoje. Toto sa v principe nehodi
> na nic, na co sa to obvykle pouziva, najma nie na sekvencnu logiku a
> siroke citace.
>
> Pod FPGA si zase predstavujem imitaciu GA, t.j. rovnomernu maticu buniek
> imitujucich hradla, s nejakym viac ci menej pruznym sposobom vzajomneho
> prepajania. Toto sa hodi takmer na vsetko, ale vdaka idiotskym navrhovym
> softom sa dost tazko vyuzije ich potencial (cim nemyslim potencial robit z
> nich sialene zlozite obvody, ale potencial na rychle male obvody).
>
> Takze ja nejako nerozumiem, co presne moze byt ich pomedzie. Samozrejme
> viem, co chces povedat, ze ta typicka sekvencna logika sa do CPLD obvykle
> nezmesti ale FPGA su obvykle volatile co je vopruz. No lenze nonvolatile
> FPGA uz asi sto rokov (co je asi o osemdesiat rokov viac, nez to robi
> Lattice) robi Actel, najprv OTP antifuse, potom aj FLASH; akurat si ich
> nikto nevsimol, lebo ich nepotrebuje ani military ani telekom. Pozeral si
> ich? Tento tyzden sa volaju Microchip.
>
> wek
>
>
> ----- Original Message ---------------
>
> Len tak pre info, ake CPLD tam ides dat?
> Ja som vo svojom integracnom ADC pouzil EPM240 od Alte... Intelu, lebo
> pred par rokmi sa dali v TME kupit asi po 1,2E/kus, ale tato
> konjunktura uz pominula a teraz su vsade drahe, navyse chcem robit
> verziu 2 a tam mi 240 makrociel stacit nebude. A vobec, CPLD, mimo
> takych tych klasickych 32 bunkovych, byvaju drahsie nez by sa mi
> pacilo.
> Lattice robi zopar typov malickych FPGA, trebars Mach XO2 a ICE40, su
> pomerne lacne a maju aj ne-BGA typy. Tie XO2 maju internu konfiguracnu
> FLASH a malo buniek, takze je to na pomedzi toho co si bezne
> predstavime pod pojmom CPLD a FPGA.
>
> ut 13. 8. 2019 o 17:05 balu <balu na k-net.fr> napísal(a):
> >
> > Jj, tieto to vsetky maju https://media.rs-online.com/t_large/R278508-94.jpg
> > dobry napad :)
> > Zlozitost bude v rade jedneho, alebo malo 128 makrocelovych CPLD, takze komunikacne signaly to vyrabat urcite nebude.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list