FPGA/CPLD, bolo: Pulzny generator

Jan Waclawek konfera na efton.sk
Středa Srpen 14 11:03:40 CEST 2019


No, pytal som sa na to co som nevedel, t.j. ze naco Ti to tam je a ci sa to
neda spravit s mcu. Uvedene argumenty (najma tu synchronicitu s pochybnymi
PLL hodinami) beriem.

Ten zvysok nebola otazka ale konstatovanie faktov. 

Ja ten svet programovatelnej logiky vnimam len okrajovo, takze som sa na
ten MAX2 pozrel a ajhla, ono to samozrejme nie je CPLD ale nonvolatile
FPGA marketovane ako CPLD aby navonok zachovali kontinuitu s ich povodnymi
skutocnymi CPLD - pozri si
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ds/m3000a.pdf
tam sa to LUT samozrejme len tak hemzi.

No a rozdiel medzi CPLD a FPGA nie je primarne v tom volatile/nonvolatile
ale prave v tej architekture; to len dominantni hraci (Altera a Xilinx) sa
snazili takto vymedzovat svoje produkty voci "drobnejsej" konkurencii, a
samozrejme novinari a ucitelia im to zozrali aj s chlpmi. Ako aj stav tych
vyvojovych prostriedkov ukazuje, vyrobcovia programovatelnej logiky priamo
*nechcu*, aby ich uzivatelia chapali internu architekturu tych obvodov a
nasledky na ich moznosti - mas proste klikat, byt uzasnuty a nepytat sa.

Pozrel si tie Actel/Microsemi/MCHP?

wek




----- Original Message ---------------

Subject: FPGA/CPLD, bolo: Pulzny generator
   From: Jaromir Sukuba <jarin.hw at gmail.com>
   Date: Wed, 14 Aug 2019 10:24:20 +0200
     To: HW-news <hw-list at list.hw.cz>

>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 at 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 at 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.
>>



Další informace o konferenci Hw-list