| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Кой е най-общия параметър при избор на FPGA? http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=13292 |
Страница 1 от 2 |
| Автор: | Н'бабане Гт'муан'га [ Нед Окт 26, 2014 2:48 pm ] |
| Заглавие: | Кой е най-общия параметър при избор на FPGA? |
Може би въпросът ми в заглавието не е много ясен. Ако се абстрахираме от физическите параметри като брой пинове, пакет, захранващо напрежение и т.н., по кой параметър може да се сравни капацитетът на две или няколко FPGA от различни производители? Гледам например Digikey и Mouser дават избор по брой гейтове (не гейове! Предварително мерси, ако някой навътре в материала ми разясни това! |
|
| Автор: | woody [ Нед Окт 26, 2014 4:25 pm ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
Брой гейтове е възможно най-непрактичната мярка, т.е. върши работа само за маркетинг. Блоковете RAM са близки, но трябва да игнорираш разпределена ("distributed") такава, защото се гради от логическите елементи. Мярката за логическите елементи (LUT/FF) е според производителя и фамилията, и затова има CLB, LE и т.н. Хвани чаршаф на конкретна фамилия и погледни блоковата схема, иначе няма как да стане. Евентуално с малко четене ще добиеш вътрешна представа грубо колко LUT/FF има. Изборът ти би трябвало да почне с фамилия, според нужди от скорост, консумация, вътрешна памет и разни специализирани I/O и "hard" блокове. И най-вече не разчитай да ги пълниш над 80%, че тогава рутирането издъхва. |
|
| Автор: | miro_atc [ Нед Окт 26, 2014 7:18 pm ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
гейтовете са много точен показател за количеството хардуер сложен на подложката.... Другото което те интересува е количеството клетки или по-точно макроклетки. Това ти дава информация колко логика може да натъчеш, но за целта трябва да познаваш структурата на клетката и стила ти на писане. Когато описваш логика ти всъщност описваш отделни сигнали. Всеки сигнал е функция с един изход и много входове. При това имаш глобални сигнали дето свързват входовете/изходите на твоите функции и локални сигнали вътре между логическите елементи на една функция. Тъй като в едно фпга може да имаш милиони логически елементи е непрактично да ти дадат възможност да вързваш всеки със всеки. Ще се получат безброй комбинации и голяма боза. Затова имаш йерархия с клетки, макроклетки и блокове. Клетката е най-малкото ниво и обикновено има 1 или два изхода и примерно 16 входа. Вътре в нея може да имаш разни логически елементи и тригери, така че общо взето да можеш да реализираш произволна функция с 1 изход и 16 входа. На по-високо ниво може да имаш група от клетки, да кажем 4 клетки, които са си 4 нормални клетки, но част от входовете са рутирани само вътре в групата. Така вместо да имаш 4*16 =64 входа навън може да излизат само 32 примерно. Идеята е че при групирането на 1- битови функции, често имаш дублиране. Примерно като правиш суматор, всеки бит зависи от предходните и тях може да ги вземеш от съседната клетка вместо да ги разкарваш през глобалния пул. Целта е точно да се намали до минимум броя на възможните сигнали и да няма зверски големи мултиплексори. Недостатъкът е обаче, че работиш на цели клетки. Щом ти трябва сигнал, то той е поне една клетка.Ако искаш примерно 128 битов регистър изяждаш поне 128 клетки. Няма значение каква част от клетката ползваш, ти просто я ползваш и толкоз. Свършат ли броя на клетките - бууум и си до там! Като казвам "поне" имам предвид, че не всяка функция се събира в една клетка. Примерно функция с 17 входа няма как да я направиш в клетка с 16 входа. В такива случаи функцията се разбива на нива и за всяко ниво заминава по една клетка. Освен че заминават повече клетки, по-важното е че всяко ниво ти вкарва закъснения и от там ти пада честота дето можеш да клочиш тая функция. Съответно има два стила на работа, когато гониш високи честоти избягваш сложни функции. Правиш с конвейри и т.н Такъв тип проект е сравнително предсказуем, щото ти си знаеш колко функцийки имаш и това ти е горе-долу броя на клетките плюс задължително някакъв запас. При другия стил, когато се ползват сложни изрази и функции нещата са много непредсказуеми. Много зависи каква е клетката на сътветния производител. От там зависи дали една твоя функция ще влезе в 1-2-5 или повече клетки. После пък на по-високо ниво може да не се събереш, защото както казах една клетка може да е с N входа, обаче в един блок нямаш достатъчно на брой независими входове. А като не стигнат почва едно пренасяне от блок в блок, което харчи още клетки, вкарва още нива и т.н. Затова всеки ще ти каже никога да не бачкаш на ръба, че заради тия пренасянки нещата стават непредсказуеми. |
|
| Автор: | Н'бабане Гт'муан'га [ Нед Окт 26, 2014 9:07 pm ] | |||||||||
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? | |||||||||
Добре, аз това го споменах в първия пост - абстракция от нужда за скорост, консумация и т.н. Просто количествено сравнение. Ето например какво дава Digikey ако кажа че искам 100-пинов QFP дето да работи на 3.3 волта http://www.digikey.com/product-search/en?pv276=3422&pv276=19&pv276=1196&pv276=1380&pv276=1210&FV=fff40027%2Cfff80166%2C400457%2C402178%2C402ea2%2C142c0244%2C142c09bb%2C142c09be&k=FPGA&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25 Как да ги сортирам така, че да видя кой има "най-много хардуер" вътре? Или да кажем нещо по-практично: кой ще събере най-много емулирани 6502 например? |
||||||||||
| Автор: | TheHungry [ Нед Окт 26, 2014 9:47 pm ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
>>>>>>Как да ги сортирам така, че да видя кой има "най-много хардуер" вътре? Или да кажем нещо по-практично: кой >>>>>>ще събере най-много емулирани 6502 например? Начина според мен е само един взимаш един 6502 модел и го компилираш в съответните среди за съответните призводители . Но тук пак има проблем защото има разни модели на 6502 например оптимизирани примерно да заема минимален брой "клетки" или да е максимално съвместим или .... и съответно резултатите пак стават различни . Според мен не може да се каже точно понякога едните производителите за по добри понякога другите зависи от конкретния случай и начина на писане . Случвало ми се е поради начина на написването на определено нещо заеманите брой клетки да е бил 2-пъти повече . Или пък в зависимост от версията на "компилатора" , със по стара версия да се е събирало в чипа а с по нова да не може каквото и да оптимизираш |
|
| Автор: | miro_atc [ Нед Окт 26, 2014 9:56 pm ] | |||||||||
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? | |||||||||
От чувала с гайките ти си извадил шепа болтове и се чудиш как да ги сортираш Като начало махни това изискване за 3-те волта... тогава по-има шанш да извадиш фпга дето да може да събере 6502. Просто новите интеграли работят на 1.2 -1.5, максимум 1.8 като колкото по-ниско, толкова по-нова техология... Това е захранването на кура и по традиция ти трябва да го осигуриш, щото няма вградено LDO като при контролерите. Но за интерфейсите си има VDDIO така че спокойно може да си интерфейсваш на 3,3, виж за 5V е друга бира... |
||||||||||
| Автор: | Н'бабане Гт'муан'га [ Нед Окт 26, 2014 10:24 pm ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
Абе хора, не знам аз ли не питам добре или какво... Това беше просто ПРИМЕР. Не съм казал че ми трябва за 3.3 волта или пък че ще събирам 6502-ки вътре. Просто не мога да разбера при тия различни параметри по какво да ги сортирам за да разбера кой е най-универсален. Примерно ако сортирам кондензаторите мога да кажа кой има най-голям капацитет абстрактно от другите параметри. Как да кажа кое фпга има най-голям капацитет? |
|
| Автор: | TheHungry [ Нед Окт 26, 2014 10:28 pm ] | |||||||||
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? | |||||||||
Искам да вози като лимузина , да се катери като джип , да не харчи много и ако може да лети . Не го приемай като заяждане , но няма точен отговор на твоя въпрос според мен .И и аз го имах същия казус преди време |
||||||||||
| Автор: | Н'бабане Гт'муан'га [ Нед Окт 26, 2014 11:09 pm ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
Добре, ясно. Нека си променя въпроса по следния начин. http://www.digikey.com/product-search/en?FV=fff40027%2Cfff80166%2C400457%2C402178%2C402ea2%2C402f18%2C402f6f%2C40341d%2C403546%2C403b07%2C403cac&k=FPGA&mnonly=0&newproducts=0&ColumnSort=1000011&page=1&stock=1&pbfree=0&rohs=0&quantity=&ptm=0&fid=0&pageSize=25 кое е най-голямото FPGA докъм $20-25 от тоя списък и защо е най-голямо? |
|
| Автор: | miro_atc [ Пон Окт 27, 2014 12:03 am ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
ъх... мъка! Ако сравняваш 2 чипа от една и съща серия на един и същ производител по който и параметър да ги сортираш няма да сбъркаш. Ако сравняваш различни производители трудно ще ги сортираш по каквото и да е. Ако случайно имат общ параметър за по-голямо може да приемеш само ако разликата е 4х. При по-малки разлики сравнението не е сигурно, ако не си видял кво има под чаршафите. За да не се изкушаваш да ги сравняваш ей така, различните производители ползват различни термини за клетки, слайсове, блокове и т.н. А и те често се различават, така че сравнението е между ябълки и круши. Даже транзистори да броиш пак нищо не е сигурно, защото в един DDR елемент има повече транзистори от един SDR елемент, но и в двата случая имаш само един елемент... |
|
| Автор: | Н'бабане Гт'муан'га [ Пон Окт 27, 2014 12:18 am ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
FPGA suck! Ако на тоя елементарен въпрос кое е по-голямо не може да се намери еднозначен отговор... Ок, мерси все пак. |
|
| Автор: | TheHungry [ Пон Окт 27, 2014 12:37 am ] | |||||||||
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? | |||||||||
Коя е по добрата марка кола от един и същи клас на различни фирми , ако ми отговориш на този въпрос ще ти отговоря и аз |
||||||||||
| Автор: | Dimitar [ Пон Окт 27, 2014 4:26 am ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
TheHungry, сори ама аналогията ти е малко грешна, защото две коли от един клас на различни фирми могат да се сравнят много лесно по общо приети показатели. Не говоря за чисто субективните качества на вътрешния и външния дизайн, а за техническите параметри. Аз идея си нямам от FPGA, ама като ви чета какво му отговаряте на Н'бабане-то (ти пък вече няма ли да си сложиш един нормален ник Така че The Ultimate Driving Machine е колата и поне тоя въпрос, за разлика от матриците можем да го приключим
|
|
| Автор: | syscop [ Пон Окт 27, 2014 7:03 am ] | |||||||||
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? | |||||||||
Нормално е - сравняваш ябълки и круши. При отделните производители са реализирани различно вътрешните примитиви. Ако разни pll-i, ram-ове и т.н. може да преброиш, претеглиш, то за останалото няма как да стане. Най-лесното решение е да спретнеш някакъв дизайн и да видиш как се побира в различните архитектури, също как се държи поне на симулация. Всички големи в бранша предлагат безплатен софтуер за дизайн. |
||||||||||
| Автор: | ДедоБоре [ Пон Окт 27, 2014 9:12 am ] |
| Заглавие: | Re: Кой е най-общия параметър при избор на FPGA? |
нормално е да се объркаш, май намш голям опит с FPGA можеш да сравняваш количествено само членове на една и съща фамилия, които имат еднакви възможности. иначе е безпредметно. все едно да сравняваш процесорите по брой крака. различните фамилии са предназначени за различни приложения - някои имат сложни клетки (условно наименование), предназначени за сложна комбинаторика; други имат подходяща система за сложни връзки между клетките (широки и бързи вътрешни бъсове); други са оптимизирани за скорости, много DLL и PLL; да не говорим за модули като памет, FIFO и направо процесорни ядра. ще ти дам пример с UART. ако дизайна ти е прост, може да го вместиш оптимално в почти всякакъв тип FPGA, който има тригер в клетката. но ако искаш да сложиш 256 байта FIFО, нямаш готова памет и го направиш с тригери, наличния ресурс ще замине много бързо (пак условно - 8 UART-a 16650 не влизат в 100К спартан). а ако към това добавиш и PCI контролер (бъс-ориентирани структури с критичен тайминг), или не дай си боже PCIe (скорост и специфично PHY), става съвсем трудно да си подбереш FPGA. при проектирането с FPGA се тръгва от целта, която искаш да постигнеш, функционална спецификация на ниво блокчета, дълги разговори с FAE-то коя фамилия на кой производител евентуално би ти паснала на твоята комбинация от квадратчета и чак тогава почва да се мери в числа - в кой чип ще влязат твоите квадратчета. при FPGA не важи поговорката "за всеки влак си има пътници". тука се тръгва от пътника и му се търси подходящ влак, ако може без прекачване. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|