OldComp.cz
https://oldcomp.cz/

GDG replica inside old CPLD
https://oldcomp.cz/viewtopic.php?f=133&t=9977
Stránka 67

Autor:  suksoft [ 01.05.2021, 23:23 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Ted neni moc casu ale i tak jsem narychlo prepsal klicove veci ohledne scrollu do Verilogu a nechlal jsem to prelozit ISE. Nebyl jsem tak uspesny jako Danhard ale i tak zakladni vysledek je.

Toto to dava pro XC95288:
Kód:
Macrocells Used Pterms Used Registers Used Pins Used Function Block Inputs Used
78/288  (28%) 856/1440  (60%) 0/288  (0%) 64/117  (55%) 336/864  (39%)


Hodne veci se ale da optimalizovat.

Autor:  danhard [ 02.05.2021, 08:44 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

78/288 je dost slušný.
Stejně jsem to do 9572 steží narval.
Do XC95144XL-TQ100 by se to mělo nacpat i z výstupním multiplexerem, vstupním multiplexerm video/CPU adresa a i s čítačem pro zobrazení.
Do druhé ten zbytek :D

Bohužel Xilinx ABEL a fitter nejsou tak inteligentní, aby to tam nalámali tak pěkně sami, tak jim to musím předžvýkat :lol:
Prostě dlouhá sčítačka na 2 zpoždění mi do CPLD zatím nevychází ani náhodou.

Kousek z výsledku suksofta:
Kód:
L2(7) <= NOT (D2(7)
    XOR
L2(7) <= NOT (((EXP12_.EXP)
   OR (EXP13_.EXP)
   OR (NOT D2(9) AND NOT D2(8) AND NOT C2(7))
   OR (NOT C2(9) AND NOT D2(8) AND NOT C2(7))
   OR (D2(8) AND C2(8) AND C2(7))
   OR (NOT D2(8) AND NOT C2(8) AND NOT C2(7))));

L2(8) <= NOT (D2(8)
    XOR
L2(8) <= NOT (((NOT D2(9) AND NOT C2(8))
   OR (NOT C2(9) AND NOT C2(8))
   OR (D2(9) AND C2(9) AND C2(8))));

L2(9) <= C2(9)
    XOR
L2(9) <= D2(9);

L2(9) je nejnižší bit sčítačky ? očekával bych nejvyšší.
Kde jsou vidět pomocné funkce EXP12_.EXP a další ?

Autor:  suksoft [ 02.05.2021, 10:33 ]
Předmět příspěvku:  Re: GDG replika 2021

danhard píše:
V PLCC pouzdře mám jen dva XCS05, ale do jednoho by se to stejně nevešlo :lol:


V cem se to da v soucasne dobe prelozit ten XCS05? Zjistil jsem ze je to asi slepa ulicka, neni sw zdarma pro kompilaci. A to jsem stahoval opravdu hodne stary sw ktery to mel umet ale neumi. A pak verte programum ktere maji JEN 150MB :D .

V jinem vlakne jiny clovek pise o XC2S100E - to je podle vseho i prelozitelne. Proste jen Spartan2 a dale se da pouzit.

Autor:  danhard [ 02.05.2021, 13:04 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Tak já mám Xilinx Foundation 4.2i, což je poslední verze, pak nám cpali ISE, ale na ten jsem nepřešel, protože nepodporoval formát starých projektů a s broukama jsem skončil na XC9500XL a SpartanXL.
Podporovalo to FPGA Xilinx od XC4000 až Spartan2 a bylo to tehdy placené.
Není problém udělat kopii a ISE mi nechodil na W98 :lol:

Jinak dobrá věc se podařila, 10 bit sčítačku jsem nalámal do 19 makrocel / 74 term a 2d zpoždění,
nebo úsporně seriově 18m / 54t / 9d, která se bude lépe umisťovat,
nebo se to dá kombinovaně spodních 5 bitů pro RAS rychle 2d a horních 5 pro CAS s max. 6d, 19m / 56t.
Nakonec je to primitivní, ale musí se to fitteru připravit tak, že do toho nemůže zasahovat.
Fitting je pro kontrolu zcela jasný a přehledný.

Autor:  danhard [ 03.05.2021, 09:51 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Do XC95288xl-144 by se to mohlo vejít celý, bohužel nová stojí pálku, mám tu jednu s chybou na 2 výstupech, to by nevadilo.
Objednal jsem XC95144xl-100 na AliExpres, tak jsem zvědavej co přijde.
XC95144xl-144 mám, ale zbytečně velký pouzdro.

Autor:  JohnBlbec [ 03.05.2021, 20:25 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

chlapi, mozna budu uplne mimo, ale slyseli jste o ice-breaker? pouziva lattice iCE40UP5k (5280 logic cells) a hlavne vse pro vyvoj je open source - zadna zavislost na xilinxu a bez nutnosti stahovani nekolika GBs dat... pouzivam to pro ruzne prototypovani https://www.crowdsupply.com/1bitsquared/icebreaker-fpga

Autor:  danhard [ 03.05.2021, 22:54 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Ale tady nejde o nacpání do FPGA, to mají kluci hotový, ale nacpat to do co nejstaršího CPLD s 5V kompatibilitou.
Ale zase ICE40LP1K-CB121 by se tam snad vešla :)

Autor:  suksoft [ 03.05.2021, 22:56 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Danharde ty XC95144xl-100 jsou dobre ohledne pajeni. Ty XC95144xl-144 se uz pajeni hure ale zase to ma vice vyvodu na propoje mezi logickymi castmi GDG.

Danharde jak planujes zverejnit tvoje modely? Ukazes jeden?

JohnBlbec, vim o tom ale vubec mne to neoslovilo. Potom co jsem uz hodne mesicu nazpet zjistil ze podpora vyrobce Lattice je "horsi" nez dela jejich konkurence mne nezajimaji. To neznamena ze neco v budoucnu nebudu delat ale v tomto projektu o tom ja neuvazuji. Ale to nebrani nikomu aby v tom neco udelal.

Osobne hlavni praci ted delam v Artix7. V zaloze mam jeste jeden super nabuseny Artix7 ktery umi extremni rychlost. To jsem ale nepotreboval zatim pouzit. Chci jit opacnym smerem a to k XC9500. Proto je potreba GDG rozdelit na mensi kousky a ty dat do CPLD. Samozrejme nic nebrani to dat do Spratan6 nebo klidne jako Mikes21 do toho CPLD od AMDcka. Zdrojove data jsou zverejnena a tak kazdy si muze hrat.

Autor:  JohnBlbec [ 04.05.2021, 07:59 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

danhard píše:
Ale tady nejde o nacpání do FPGA, to mají kluci hotový, ale nacpat to do co nejstaršího CPLD s 5V kompatibilitou.
Ale zase ICE40LP1K-CB121 by se tam snad vešla :)


a jo, ja nekde zahlidl to, ze si nekdo posteskl nad celym tim toolchainem sw...

Autor:  suksoft [ 04.05.2021, 08:32 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

JohnBlbec proste ten stary sw ma svoje mouchy. Asi nejhorsi je, ze si ani nepamatuje jaka verze je nainstalovana. Je pravda ze je to delane pro win98 a ja to davam na win7. Jeste v sobotu jsem uspesne nainstaloval verzi co umi i zpracovavat EDIF pro Spartana. Je to ted spise ztrata casu a tak poprosim soukrome Dandarda o rady s tim starym sw a na co to presne instalovat aby to fungovalo a davalo to nejake vysledky. Ale hlavni silu napru jinam.

Urcite ted jsem pro pouziti tohoto rozdeleni

logicke rozlozeni:
level1 cele GDG
level2 jednotlive bloky GDG - napr. CPU I/F, Memory controller, I/O controller
level3 spojeni stejnych bloku k sobe - sbernice
level4 moduly - soucasne reseni - obsahuje funkcni bloky
level5 funkcni bloky - Fxxx

rozdeleni podle CPLD: - mozna i tri vyvojove vetve - XC9500,EPM7100,Artix7
level11 vyvody CPLD
level12 vyvody uvnitr - vcetne tech co se nebudou pouzivat a nebudou vyvedene ven
level4 moduly - soucasne reseni - obsahuje funkcni bloky
level5 funkcni bloky - Fxxx

rozdeleni do schematu: (Eagle,Kicad)
level1 cele GDG
level4 moduly - soucasne reseni - obsahuje funkcni bloky

Takze jeden program bude do rady adresaru delat jine vystupy. Ty se daji nasledne zpracovat dale. Zatim to mam delane v C# ale premyslim po Pythonu. Vse je jen zpracovani tabulek.

Autor:  danhard [ 05.05.2021, 12:21 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

suksoft píše:
Danharde jak planujes zverejnit tvoje modely? Ukazes jeden?

Na celýho brouka nemám podrobné podklady, dělám to jen z těch útržků, co jsou tady, nebo v manuálu.
Zatím si hraju s modelem sčítačky, jelikož ABEL to sice formálně umí, ale nějak to funguje tak do délky 4 bity, pak už z toho lezou neroutovatelné nesmysly.
Ručně to umím připravit tak, že mi to tam fitter jen umístí a nic nezprasi :D
Takže si můžu připravi sčítačku na míru, jak jí budu potřebovat a aby zabrala co nejméně materiálu a dobře se umisťovala v CPLD.
To samé udělám s komparátory, tam je to už jednodušší.

add10 - 10 bit sčítačka 2d zpoždění, 19 makrocel / 74 termů
add10a - 10 bit sčítačka 5LSB 2d, 5MSB 3d zpoždění, 20m / 59t
add10b - 10 bit ščítačka seriově, MSB 9d zpoždění, 18m / 53t

Přílohy:
add10.rar [14.59 KiB]
284 krát

Autor:  suksoft [ 05.05.2021, 20:49 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Danharde dobra prace!

To se da pouzit. Jeste se bude muset v programu co bude generovat zapojeni rici jakou verzi reseni ma pouzit. Takze dalsi parametr. Obavam se za to vyhraje nejrychlejsi obvod na ukor velikosti zapojeni.

Autor:  danhard [ 07.05.2021, 23:14 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Ale to není vůbec potřeba.
V původním zapojení je sčítačka na výstupu, kritický čas je jen pro spodních 5 bitů RAS adresy 2d zpoždění (+ 3LSB jdou přímo), na CAS adresu stačí větší zpoždění.
Ta varianta 5+5 je tam optimální.
Taky třeba výstupní multiplexer pro DRAM bych udělal přímo 1 ze 4 a tím by měl jen 1d zpoždění.
Já to vidím spíš napasovat ten projekt na vlastnosti CPLD, ne se tam snažit otrocky nahradit tu kompilaci.
Dyť je to jednoduchý projekt, o kterém víte skoro všechno, to není černá skříňka s neznámým chováním.

Autor:  suksoft [ 08.05.2021, 07:37 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Tak ja jsem vcera zacal delat zpracovani dat v Pythonu. Vstupni soubor je cesty_blok.txt. Takze nic noveho. Tento soubor popisuje 5569 cest uvnitr GDG. Python umi najit 205 cest ktere jsou vystupy a nikam nevedou. Ty smaze ale jeste predtim oznaci "podtyp" funkcniho bloku. Takze dalsi budouci funkce budou moci automaticky vybrat spravny typ a podtyp pro umisteni na schema/desku. To cele pomuze zmensit pocet warningu v cilovem reseni.

Autor:  suksoft [ 08.05.2021, 08:49 ]
Předmět příspěvku:  Re: GDG replica inside old CPLD

Udelal jsem rutinu co vyjede pocty funkcnich bloku:

F100 123
F101 62
F101Q 1
F101QB 4
F102 58
F103 2
F104 16
F105 27
F105QB 1
F111 47
F112 12
F113 4
F114 12
F202 104
F203 15
F204 26
F212 9
F301 7
F302 243
F303 90
F304 49
F306 1
F312 12
F421 18
F422 2
F423 2
F424 179
F431 15
F433 8
F434 15
F512 3
F521 27
F521notCOUT 3
F601 39
F601Q 25
F601QB 19
F604 16
F604Q 31
F604QB 10
F611 1
F611Q 3
F611QB 1
F612 7
F612Q 3
F612QB 4
F615 10
F615Q 17
F615QB 8
F616 1
F617 1
F617Q 3
F617QB 1
F631 13
F631Q 4
F631QB 29
F635 8
F635Q 2
F635QB 2
F641 2
F642 3
F645QB 2
F666QB 4
F961 7

Pocet druhu funkcnich bloku : 63
Pocet funkcnich bloku : 1473

Stránka 67 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/