tomny
Guest
Mon Nov 17, 2008 7:30 pm
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):
http://www.xilinx.com/support/documentation/data_sheets/ds090.pdf
i 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
J.F.
Guest
Mon Nov 17, 2008 8:57 pm
On Mon, 17 Nov 2008 19:30:40 +0100, tomny wrote:
Quote:
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):
http://www.xilinx.com/support/documentation/data_sheets/ds090.pdf
i 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?
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.
Quote:
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?
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.
tomny
Guest
Mon Nov 17, 2008 9:30 pm
Quote:
Po pierwsze - w/g Xilinxa FPGA i CPLD to cos innego
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).
Quote:
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.
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.
Quote:
Po czwarte - jawnie napisane ze napiecia ustawia sie dla calej grupy -
wiec jednak wplyw jest.
Nie rozumiem. Jakie napiecia?
Quote:
Po piate - w FPGA - nawet takim w/g Xilinxa - taki wplyw tez bedzie, i
to chyba nawet wiekszy.
Czemu? Jak to?
J.F.
Guest
Mon Nov 17, 2008 10:22 pm
On Mon, 17 Nov 2008 21:30:25 +0100, tomny wrote:
Quote:
Po pierwsze - w/g Xilinxa FPGA i CPLD to cos innego :-)
Różnica między FPGA i CPLD jest ogromna. Nie wiem jak różni producenci
odnoszą się do tego podziału
FPGA i PLD sa skrotami dosc ogolnymi, wiec mozna sie odniesc roznie i
nie sklamac.
Quote:
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).
A masz to gdzies na pismie z moca obowiazujaca ? :-)
Quote:
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.
A owszem.
Quote:
Po czwarte - jawnie napisane ze napiecia ustawia sie dla calej grupy -
wiec jednak wplyw jest.
Nie rozumiem. Jakie napiecia?
pinow I/O
Quote:
Po piate - w FPGA - nawet takim w/g Xilinxa - taki wplyw tez bedzie, i
to chyba nawet wiekszy.
Czemu? Jak to?
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.
RobertP.
Guest
Tue Nov 18, 2008 3:38 pm
On Mon, 17 Nov 2008 21:30:25 +0100, tomny <brak@brak.pl> wrote:
Quote:
Po pierwsze - w/g Xilinxa FPGA i CPLD to cos innego :-)
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).
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.
--
Pozdrawiam
RobertP.
RobertP.
Guest
Tue Nov 18, 2008 3:45 pm
On Mon, 17 Nov 2008 19:30:40 +0100, tomny <brak@brak.pl> wrote:
Quote:
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).
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)
--
Pozdrawiam
RobertP.
tomny
Guest
Tue Nov 18, 2008 5:05 pm
Quote:
Różnica między FPGA i CPLD jest ogromna. Nie wiem jak różni producenci
odnoszą się do tego podziału
FPGA i PLD sa skrotami dosc ogolnymi, wiec mozna sie odniesc roznie i
nie sklamac.
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.
Quote:
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).
A masz to gdzies na pismie z moca obowiazujaca ?
Tak mnie uczyli na polibudzie, tak widziałem w wykładach w sieci i
datasheetach Altery i Xilinxa. Normy jednak na to nie ma.
J.F.
Guest
Wed Nov 19, 2008 12:15 am
Użytkownik "tomny" <brak@brak.pl> napisał w wiadomości
news:gfup7d$2bk$1@inews.gazeta.pl...
Quote:
Różnica między FPGA i CPLD jest ogromna. Nie wiem jak różni
producenci
odnoszą się do tego podziału
FPGA i PLD sa skrotami dosc ogolnymi, wiec mozna sie odniesc
roznie i
nie sklamac.
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.
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.