Diskuze - danyk.cz

Vlákno z kategorie: Hlavní diskuze
Celkem 30 odpovědí.


7.06.2019 (22:50:00) K # IP X
Tim:
Ahoj,
měl bych otázku asi na Vroutka, ale může se přidat kdokoliv...
Problém je ohledně CPLD. Kamarád se na mě obrátil s problémem, že má projekt s CPLD MAXII od Altery(Intel), který, když začne překládat v Lite verzi Quartusu, tak mu z prvopočátku hlásí, že předpokládá víc log. elementů, než kolik jich dfanné CPLD má a spustí jakousi optimalizaci. Po dokončeném překladu se FW do CPLD vejde, nahraje se, ale máme pocit, že často dělá blbosti, které před tím, než nebylo CPLD tolik programem zaplněné, tak to neblblo... Já nejsem ohledně tohoto znalý, můžete mi vysvětlit, jestli je možné, že by to kurvila optimalizace, či chyba v Překladači Lite verze Quatusu? Nebo hledat chybu spíš ve vlastním VHDL kodu či kde? Pravdou je, že časovou analýzu nedělá... Nějaké podměty k diskusi? Děkuji Vám
7.06.2019 (23:33:50)  # IP X
VroutekB:
CPLD bylo jistě za výhodnou cenu z číny že? Je to akorát tak nefunkční výmět z výroby. Už jsem se spálil tolikrát (byť u jiných řad, než MAX II), že to ztama už nekupuju, a holt za to dám ten fašistický příplatek u distributora.
7.06.2019 (23:35:44)  # IP X
VroutekB:
Konrétně mě vysírala MAX 3k řada. Jinak chovalo se to přesně asi tak, že s "malým obsahem" (málo užitých buněk) to chodilo, jak se udělalo něco složitějšího, tak ani za kokot.
7.06.2019 (23:39:48)  # IP X
Tim:
Nn, je to z TME, ... Každopádně, dá se to nějak debutovat? Nějak přijít na to, v čem je chyba???
7.06.2019 (23:42:32)  # IP X
Tim:
Pardon, debugovat....? Quartus nic nehlasi, program se úspěšně nahraje... Může s ti třeba souviset Lite verze quartusu, vs full verze quartusu???
7.06.2019 (23:47:25)  # IP X
VroutekB:
Kouskům z TME bych celkem věřil (ztama jsem tuším pak bral ty MAX 3k a nebyl jedinej problém, šlo to na prvý šup).

VHDL design si můžete odsimulovat jak logicky/funkčně, tak včetně signálové integrity na konkrétní integráč. Sic mi nikdy k srdci ten přiblblej Modelsim nepřirost (Xilinx má v tomto oheldu nástroje zásadně lepší a přívětivější), tak to jistě nějak půjde - musí.
Zkontrolujte si design, pak podezírejte švába. Ale ještě než ho obviníte, se zamyslete nad layoutem. MAX II jsou zatraceně rychlé mrchy a hloupej návrh napájení, mizerné země a pod zaručí nepoužitelnou signálovou integritu. Bacha, fakt se to rádo rozkmitá, jak to získá někde příležitost. A když to kmitá, tak to žere jako blázen, div to neshoří (taky se mě povedlo.. **02 )
8.06.2019 (01:59:10)  # IP X
8-bit obalka (web) :
Pokud syntéza v pořádku proběhla, měl by vypadnout nějaký report ohledně časování, tak zkontroluj jestli nepřekračuješ maximální frekvenci. Jestli ne tak bude nejspíš blbě buď logický design nebo layout desky.

Optimalizace to zkurvit nemůže pokud je design plně synchronní. Jestli ale není, tak se může klidně stát že se to celé rozesere. Xilinx např. strašně rád "optimalizuje" zpožďovací linky a často ani nepomůže mu napsat, že to nemá dělat **01 Někde by se měly dát vypsat výsledné rovnice po optimalizaci, tak si můžeš zkontrolovat jestli odpovídají tomu co jsi po tom chtěl.
8.06.2019 (09:25:27)  # IP X
VroutekB:
Rovnice nevim (v tom aby se pes vyznal), ale minimálně v Quartusech se lze velmi snadno doklikat k RTL logice, kde se dá ještě lidsky ověřit to, co člověk nasmrkal v tom HDL.
8.06.2019 (14:56:19)  # IP X
Tim:
Mám podezření na to, že když o tom mluvil, tak říkal, že jsou tam části, které jedou asynchronně. Nicméně se mu to porvne projevilo tak, že mu přestala fungovat komunikace nasoftenym SPI v CPLD mezi hlavním MCU...
Teď si tak říkám, neslušelo by se i asynchronní části - hradla, která plní funkci HW logiky mít závislé na vnitřních hodinach CPLD - tedy vlastně synchronní logiku? Trochu si říkám, co v tom CPLD vlastně má vsechno dohromady
8.06.2019 (16:54:04)  # IP X
VroutekB:
To si myslím že potřeba není. Asynchronní logika se normálně v CPLD dá dělat. Ale blbě se analyzuje na hazardní stavy a ještě hůř kombinuje pak s tou synchronní.
8.06.2019 (21:31:43)  # IP X
8-bit obalka (web) :
Doporučuju používání asynchronní logiky omezit jen na nejnutnější případy kdy to nejde udělat jinak. Tj. např. výroba kratších pulzů nebo posunutí nějakého signálu o půl periody CLK.
9.06.2019 (18:47:54)  # IP X
Tim:
Dobře, děkuji...
10.06.2019 (14:33:25)  # IP X
RayeR (web) :
>VroutekB
Ze by ty cinske CPLD mely write only konfiguracni pamet? :)
Da se tam nahranim nakyho test-patternu jednoduse overit, ze to ma tolik hradel/pameti kolik ma mit? BTW U tech cinskych STM32F103 byla zas zajimavost, ze maji vecinou funkcnich 128k flash prestoze sou papirove 64k, zrejme je cio fyzicky stejny, jen se nekde 'vypne' pulka flesky.
10.06.2019 (15:43:43)  # IP X
8-bit obalka (web) :
Počet makdobuněk otestuješ posuvným registrem přes celé CPLD, počet "hradel" nějakou funkcí z ORu o 5 termech, jedním z nich třeba s 50 vstupy (uprav počty podle prostředků CPLD).
10.06.2019 (18:40:57)  # IP X
RayeR (web) :
Jeste poznamka, jestli jsou nastavene spravne constrainy vsech dulezitych hodinovych signalu, pri temer plnem zaplneni obvodu se muzou prodlouzit nejaka zpozdeni, ze ten routing neni optimalni z hlediska casovani, byt se to tam teda nejak vejde. Kolega tu radi neplnit na vic jak 80%...
10.06.2019 (20:00:35)  # IP X
8-bit obalka (web) :
To ani ne - velké zaplnění CPLD nemá na časování ve většině případů vliv, akorát může se stát, že tím lokálně vyčerpáš jiné prostředky než klopáky (termy nebo vstupy). Pak se design často prostě nevejde do CPLD. Zpoždění se může navyšovat jen u složitých funkcí které používají termy sousedních makrobuněk*. Není to moc časté, ale použitelná frekvence obvodu pak klesne třeba na polovinu. Tyhle problémy se dají obvykle řešit přeházením pinů.

*netýká se CPLD s PLA polem
10.06.2019 (23:34:20)  # IP X
VroutekB:
Bacha chyták! MAX II jsou defuckto standardní FLASH based FPGA se 4vstupovýma LUT. **08
11.06.2019 (02:53:44)  # IP X
8-bit obalka (web) :
Aha, fakt že jo **02
Proč se to potom jmenuje "CPLD" ? **13
11.06.2019 (08:53:09)  # IP X
VroutekB:
Hele, nevim. Pakliže je analýza časování snadná (není, ani za kokot ty Quartusy pitomý nejdou pořádně rozchodit, nebo sem úplně blbej), tak je to jedno ne? **02

Poslední vyloženě CPLD byly snad MAX 3000, jenže to je zkur* obsolete šrot s EEPROM se 100 přepisama paměti. Enjoy!
Někdy se až divím, proč sem se raději neučil s Xilinxy, když to jejich ISE jsem tenkrát už znal trochu a věděl jsem, že je to dost jednoduchý na používání (psaní HDL, simulace behaviorální, simulace po-syntéze a výroba HDL testbenche - upřímnou zábavu snažit se o totéž v Quartusech).
Ale co, stejně sem za posledních několik let nenapsal ani řádku VHDL, bo místo toho, musím dělat furt nějaký naprosto totálně zbytečný 3.14čoviny do š****.
11.06.2019 (12:51:55)  # IP X
RayeR (web) :
Ja o tom vim zatim tuzku, jen tu koukam kolegovi pres rameno, kterej napsal uz ruzny docela slozity veci na zpracovani videa na PCI-E a tak, dela na Xilinxech... Ja sem ty FPGA/CPLD zatim nikde nepotreboval. Ale kapanek me odrazuje ta velikost a slozitost vyvojovych nastroju. To neni jako stahnout si 100MB balicek s GCC a zacit kompilovat pro MCUcko...
11.06.2019 (20:07:29)  # IP X
8-bit obalka (web) :
Není to jedno - je to zkurvený ojeb **02 V tom "obsolete šrotu" máš v každém FB 36 vstupů + 16 kombinačních zpětných vazeb, kdežto MAX2 má místo AND pole nějaké LUT o 4 vstupech, asi aby ty kundy ušetřily plochu křemíku. To je kurva pokrok oproti předchozím řadám **02 Tato La Creatura tím pádem přichází o veškeré výhody CPLD v konzistentním časování a jednoduchému návrhu **02 U normálních CPLD je ti totiž úplně jedno jestli máš např. 2b nebo 32b čítač protože mají identická zpoždění.
12.06.2019 (18:26:16)  # IP X
VroutekB:
Nj, jenže podiv se na to i z druhé strany: Nevím jak u soudruhů od Xilinxe, ale od soudruhů z Altery (pardon, žrouta Intelů) žádný čistokrevný a smysluplný CPLD koupit již nelze, pokud nestojíš o nějaký starý předražený šunt.
Ty MAX 2 stojej pár drobnejch (z číny, jinak to bohužel taky stojí nesmysl) a je to asi nejlepší kompromis mezi cenou, výkonem a dostupností.
Koukal jsem před chvílí na (pravděpodobně?) novější řadu MAX 5, a byť to stojí jen poloviční nesmysl u distributora, má to sotva poloviční schopnosti, co ty staré MAX 2.
O jiných CPLD Altery nevím, všecko ostatní jsou už snad relativně velká a ještě větší FPGA.
12.06.2019 (19:15:53)  # IP X
StandaM (web) :
Aha, takze jsem si asi Xilinx nevybral uplne spatne? A to jsem zvazoval alternativy. Jinak teda jsem zatim skoncil na jednom FPGA Spartan 3AN (ma to v sobe flash, takze neni treba externi). Ale i tenhle celkem malej vyzadoval projit par kurva set stran manualu abych vubec zjistil jak zapojit konfiguracni piny a JTAG aby to nabootovalo. Je to na me nejaky zbytecne slozity a zacinam byt fakt rad, ze delam jinej obor, kde tohle neni dominantni.
12.06.2019 (23:34:53)  # IP X
VroutekB:
Podle mě na tom ksílinx nebude o moc líp a bude asi vhodné kouknout na Lattice, pokud člověka zajímá programovatelná logika malé a střední velikosti.
13.06.2019 (00:57:42)  # IP X
8-bit obalka (web) :
Od Xilinxe je 95*XL (jedno napájecí napětí 3V3, porty tolerujou 5V) a coolrunner II (CPLD s PLA poli, 1V8 VCORE + volitelné VDDIO do 3V3). Měly by se dát normálně koupit, ale distributoři tradičně neví co by za to chtěli.

Lattice má spoustu malých FPGA za celkem slušné ceny, nějaké 2 ks tu mam i koupené na zkoušku ale ještě jsem neměl čas zjišťovat čím se to programuje, resp. zda stačí nastrkat 5 drátů do paralelního portu nebo budu muset něco objednat z číny. IDE se jmenuje IceCube a vypadá celkem OK, je to jen cca 1 GB. Akorát je škoda že pouze Xilinx má (nebo resp. měl) podporu ABELu, ale tak naštěstí existuje prográmek xport.exe který umí z ABEL popisu udělat VHDL.
13.06.2019 (07:40:50)  # IP X
StandaM (web) :
No ty giganticke rozmery IDE me dost serou. Starej Xilinx ISE mel 1GB. Pred par lety to bylo 14GB. Kolik to je dnes radeji nechci vedet.
Nejakej malej nastroj by mozna bodl. Lattice prozkoumam. Jen neni uplne snadne to resit bez simulatoru. Free Xilinx ISE ma limit do nejake velikosti logiky, takze se to pak da delat po modulech. Co ostatni IDE?
13.06.2019 (08:48:28)  # IP X
VroutekB:
Pockat, jak omezeni velikosti?
13.06.2019 (12:54:24)  # IP X
RayeR (web) :
Soucasne Vivado nekolik desitek GB (snad az ke stovce se vsim vsudy) a pri synteze je to schopne sezrat 32GB RAM i vic,podle velikosti FPGA...
13.06.2019 (19:41:43)  # IP X
StandaM (web) :
Vroutek: Simulator v Xilinx ISE (minimalne verze +-2014) umi simulovat jen do nejake me nezname velikosti designu. Pak se ta mrdka zamerne zpomali asi tak 1000x. A ano, ten limit se da prekrocit i na Spartan 3AN xc3s50. Tak jsem si to simuloval jen po modulech jako UART, DDS, I2C, ...
13.06.2019 (21:34:04)  # IP X
VroutekB:
Takže říkáš že přecijen bude lepší se podívat na zoubek Lattice? Jejich tooly jsou tuším kompletně zdarma, nepletu-li se?
U Altery netuěím, jak je to se simulacema, pač se mě ten jejich verk nepovedlo nikdy pořádně rozchodit.
16.06.2019 (19:59:49)  # IP X
StandaM (web) :
Ja nerikam nic. :) Ja jiny prostredi zatim neznam. Jako obvykle jsem resil kusovku, tak me nezajima kolik to stoji a jestli je to obsolete. Beru co mam v supliku a s cim umim aby to bylo rychle hotovy, protoze pracovni hodiny radove prevysuji naklady na matros. Na stredni a na VS jsem zkousel Xilinx, tak to byla logicka volba. Kazdopadne vzhledem k me mizerne znalosti VHDL jsem bez simulatoru v rici, takze prejit na neco kde neni vubec je asi nogo.
Přezdívka:
Heslo:
Text: