przypisywanie pinów w CPLD

Witam

O ile dobrze jestem poinformowany to w FPGA sposób przypisania pinów jest w zupełności dowolny i nic od niego nie zależy (pomijam sygnały globalne). Ale patrze sobie na datasheeta CoolRunneraII (strona 4):

formatting link
widzę, że układ składa się z Function Block-ów, do których przydzielone są grupy pinów. Czy dobrze myślę, że szybkość działania i wykorzystanie zasobów może zależeć od tego jak przypisze sygnały do pinów? Czy jeżeli mając na przykład sumator 8 bitowy i wszystkie piny podłączone są do tego samego Function Block to będzie zajęte mniej zasobów niż przy losowym rozmieszczeniu pinów? Czy są jakieś wytyczne jak optymalnie przypisywać piny do sygnałów?

pozdrawiam tn

Reply to
tomny
Loading thread data ...

Po pierwsze - w/g Xilinxa FPGA i CPLD to cos innego :-)

Po drugie - w ogolnosci dobrze myslisz, wplyw moze byc, co najciekawsze to takze na realizowalnosc ukladu.

Po trzecie - akurat w tej rodzinie to na oko wplywu nie ma - zgrupowane, ale zadne polaczenia do grupy ograniczone nie sa. nadal wszystkie sygnaly zawrocone do centralnej macierzy, przerzutniki maja dostep do tych samych sygnalow, nawet predkosc moze byc podobna.

Po czwarte - jawnie napisane ze napiecia ustawia sie dla calej grupy - wiec jednak wplyw jest.

Po piate - w FPGA - nawet takim w/g Xilinxa - taki wplyw tez bedzie, i to chyba nawet wiekszy.

Akurat taki sumator jest dosc PT [Product Term] chlonny, szczegolnie na wyzszych bitach. Z jednym klopotow moze nie bedzie, ale do sprawdzenia czy uda sie w jednym bloku zmiescic najstarsze bity osmiu takich sumatorow..

J.

Reply to
J.F.

Różnica między FPGA i CPLD jest ogromna. Nie wiem jak różni producenci odnoszą się do tego podziału, ale bardzo ogólnie mówiąc fpga ma budowę macierzową i IO są połączone z szyną danych, a nie z makrocellami (pomijam inne, istotne różnice).

Czyli chyba jedyna różnica jest w tym: The FBs use a Programmable Logic Array (PLA) configuration which allows all product terms to be routed and shared among any of the macrocells of the FB. (FB - Functional Block).

Ja to rozumiem tak, że jeżeli mam w VHDLu: if (zmienna = "100010101") then x<=a; y<=b; else coś tam end; to lepiej żeby x i y były w tym samym FB, bo mają reagować na ten sam warunek.

Nie rozumiem. Jakie napiecia?

Czemu? Jak to?

Reply to
tomny

FPGA i PLD sa skrotami dosc ogolnymi, wiec mozna sie odniesc roznie i nie sklamac.

A masz to gdzies na pismie z moca obowiazujaca ? :-)

A owszem.

pinow I/O

Bo w zaleznosci od rozkladu pinow trzeba bedzie przydzielac rozne CLB, zeby sie zmiescic w dostepnych polaczeniach, a wtedy i czasy moga byc rozne ..

J.

Reply to
J.F.

Niby masz rację, ale czy np. taki MachXO z Lattice to będzie FPGA czy CPLD? Hint: Lattice umieszcza ten produkt zarówno w jednej jak i w drugiej grupie produktów.

Reply to
RobertP.

Jak najbardziej odpowiednie/nieodpowiednie przypisanie sygnałów do pinów może wpływać na timing. Poza tym mogą występować grupy pinów (banki) zasilane różnymi napięciami I/O, więc w takich przypadkach nie można sobie swobodnie zmieniać pinoutu żeby np. łatwiej się prowadziło ścieżki na płytce. Pozostaje jeszcze kwestia par różnicowych - to są określone pary pinów i nie można użyć dwóch arbitralnie wybranych pinów w ten sposób.

(To tyle tak na szybko)

Reply to
RobertP.

Altera i Xilinx trzymają się chyba tego podziału. Przyznam się, że układów Lattice, które jak widzę są wyjątkiem, nie znałem wcześniej.

Tak mnie uczyli na polibudzie, tak widziałem w wykładach w sieci i datasheetach Altery i Xilinxa. Normy jednak na to nie ma.

Reply to
tomny

Użytkownik "tomny" snipped-for-privacy@brak.pl napisał w wiadomości news:gfup7d$2bk$ snipped-for-privacy@inews.gazeta.pl...

Byly przed lata kostki Actela, ktore mialy bardzo duza [na owczesne czasy] macierz bardzo prostych blokow - czyz to nie bylo Field programmable Gate Array ? Albo Programmable Logic Device ?

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.