|
FPGA и CPLD, разница? |
|
|
|
Nov 10 2005, 12:10
|

тоже уже Гуру
     
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973

|
Цитата(DSIoffe @ Nov 10 2005, 15:17)  Цитата По поводу CPLD и FPGA: Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение. использование LUT это не необходимый и достаточный признак ФПГА. существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть. а фишка по моему заключается в системе межсоединения - у ФПГА они сегментированные, с поддержкой иерархической системы при желании, и система межсоединений распределена по всему устройству (ФПГА) - в ЦПЛД же имеется ПМС (программируемая матрица соединений) суть её заключается в том что каждая ЛЯ в пределе может быть соединена с каждой на прямую - отсюда более сложен и рискован процесс разводки (при этом возможна также иерархическая организация - если на пальцах - то каждая ЛЯ представляет ЦПЛД сама по себе - то есть тоже организована по принципу ПМС). подтверждением тому может служить рассказ LeonY - Здесь - он рассказывает о проблемах размещения проекта - это связано с ограничением ресурсов ПМС - но зато задержка по ПМС предсказуема - не подстать ФПГА, где сигнал может блуждать от одного переключательного блока до другого пока не найдёт целевой ЛБ - а это задержка на каждой трассе+ на каждом переключательном блоке (поэтому и ввели длинные и короткие линии - т.е иерархия в системе межсоединений) смежная же архитектура типа Альтеровского FLEX - является смежной именно по признаку орг. межсоединений - там ЛБ организованы по принципу ЦПЛД(ПМС в каждом), а ЛБ между собой соединены по схеме ФПГА (если я чего-то не путаю т.к. с альтерой давно не встречался) если кто-то что-то понял - очень рад -- если кому кажется что объяснил костноязычно -- готов обсудить скользкие моменты
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Nov 10 2005, 14:07
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(CaPpuCcino @ Nov 10 2005, 18:10)  Цитата(DSIoffe @ Nov 10 2005, 15:17)  Цитата По поводу CPLD и FPGA: Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение. а вы в курсе, что использование LUT это не необходимый и достаточный признак ФПГА? существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть. а фишка по моему заключается в системе межсоединения - у ФПГА они сегментированные, с поддержкой иерархической системы при желании, и система межсоединений распределена по всему устройству (ФПГА) - в ЦПЛД же имеется ПМС (программируемая матрица соединений) суть её заключается в том что каждая ЛЯ в пределе может быть соединена с каждой на прямую - отсюда более сложен и рискован процесс разводки (при этом возможна также иерархическая организация - если на пальцах - то каждая ЛЯ представляет ЦПЛД сама по себе - то есть тоже организована по принципу ПМС). Вообще-то, насколько меня учили, FPGA - Field Programmable Gate Array - вентильный массив с возможностью программирования в полевых условиях (вольный перевод), т.е. дивайс, который может быть сконфигурирован "на лету" (это смысл). Именно это и подразумевает название FPGA, ничего более. Как там оно внутри реализовано - дело пятнадцатое. То, что в большинстве применяются LUT'ы, это просто удобная и эффективная реализация. А CPLD - Complex Programmable Logic Device - сложное программируемое логическое устройство, - сегодня просто традиционно устоявшийся термин. Этот класс появился раньше, чем FPGA, тогда это было круто, это были действительно сложные по сравнению с распространенной тогда рассыпухой устройства. Сегодня это название только вводит некоторую неразбериху - реально почти любая FPGA гораздо круче и сложнее, CPLD среди программируемой логики занимают, наверное, последнее место по сложности. И по функциональности. И по характеристикам. Однако все равно они сложные дивайсы.  Переименовывать, конечно, теперь уже никто не будет, но путаница остается и начинающих сбивает с толку.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Nov 11 2005, 06:51
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(CaPpuCcino @ Nov 10 2005, 21:26)  не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос. Цитата(CaPpuCcino @ Nov 10 2005, 21:26)  к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое Для CPLD нужен программатор, для FPGA он не нужен. В этом коренное отличие. Предполагается, что в "поле" программатора нет - программатор есть принадлежность производственного цикла. Еще раз, не надо меня убеждать, эти термины и их трактовку не я придумал. Мне тоже вначале показалось все это неудачным. Сейчас уже привык, стало все равно. Наличие пусть неудачных терминов лучше отсутствия таковых. Оно помогает людям вносить ясность в подавляющем большинстве случаев - когда коллега говорит FPGA, я четко понимаю, что он имел в виду. И это есть хорошо - неудачный термин, тем не менее, играет весьма полезную роль. Возможно более адекватным было название SBPLD (SRAM-Based PLD), но "паровоз уже ушел", тут обуждать нечего. Цитата(CaPpuCcino @ Nov 10 2005, 21:26)  FPGA - смотреть надо было на другие буквы - а именно на GA и PLD. GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель Gate Array - массив вентилей, т.е. массив логики. Не более того. К БМК это имеет весьма опосредованное отношение, заключающееся в том, что БМК - это тоже массив логики. Цитата(CaPpuCcino @ Nov 10 2005, 21:26)  ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое ... Детали внутренней реализации к делу не относятся. В разных FPGA в том числе и межсоединения делаются по-разному. И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... Ладно, как уже сказал, это к делу не относится. Речь шла про классы дивайсов и их названия. Про внутренниости уже все сказали выше, я лишь про названия высказался. Именно то, как сам слышал. Причем в разное время, из разных источников. "За что купил, за то продаю".
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Nov 11 2005, 14:10
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(DSIoffe @ Nov 11 2005, 20:05)  Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались? Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD? Но ведь надо же как-то их различать. Я имею в виду SRAM-Based и EEPROM-Based. Которые на LUT-ах и которые на P-Term'ах. Одного безликого ПЛИС (PLD) явно мало. Придумать удачное, адектватное название (термин, имя и т.д.) вообще зачастую очень сложно.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Nov 11 2005, 17:47
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 25-06-04
Пользователь №: 179

|
Гм. И чего спорим??
Field-Programmable - это изначально (1984-й год) SRAM, сейчас - не обязательно. Complex Logic - это развитие некомплекслоджик PLA и PAL, появление разных там CLB с продвинутым интерконнектом, неважно же по сути - матрицы, шматрицы, столбцы, хексматрицы, ужосс. В реале - по-прежнему: FPGA грузим откуда-то, CPLD имеет на борту EEPROM (ну флэшем ее обзовите, особой разницы не вижу, хотя знаю).
FPGA имеет базовый "элемент", так его назовем, по габаритам меньше, засунуть в кристалл можно больше, вдобавок, не надо скрещивать ужа с ежом (еепромными транзисторами - тот еще ужосс) - работать будет быстрее (ибо на более продвинутых субмикронах) - по сути рано или поздно технологии сольются в одно.
А так, "все это маркетинг"..
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|