реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> FPGA и CPLD, разница?
DSIoffe
сообщение Nov 10 2005, 11:17
Сообщение #16


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Цитата
По поводу CPLD и FPGA:

Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 10 2005, 12:10
Сообщение #17


тоже уже Гуру
******

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



Цитата(DSIoffe @ Nov 10 2005, 15:17) *
Цитата
По поводу CPLD и FPGA:

Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение.

использование LUT это не необходимый и достаточный признак ФПГА. существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть.
а фишка по моему заключается в системе межсоединения - у ФПГА они сегментированные, с поддержкой иерархической системы при желании, и система межсоединений распределена по всему устройству (ФПГА) - в ЦПЛД же имеется ПМС (программируемая матрица соединений) суть её заключается в том что каждая ЛЯ в пределе может быть соединена с каждой на прямую - отсюда более сложен и рискован процесс разводки (при этом возможна также иерархическая организация - если на пальцах - то каждая ЛЯ представляет ЦПЛД сама по себе - то есть тоже организована по принципу ПМС).
подтверждением тому может служить рассказ LeonY - Здесь - он рассказывает о проблемах размещения проекта - это связано с ограничением ресурсов ПМС - но зато задержка по ПМС предсказуема - не подстать ФПГА, где сигнал может блуждать от одного переключательного блока до другого пока не найдёт целевой ЛБ - а это задержка на каждой трассе+ на каждом переключательном блоке (поэтому и ввели длинные и короткие линии - т.е иерархия в системе межсоединений)
смежная же архитектура типа Альтеровского FLEX - является смежной именно по признаку орг. межсоединений - там ЛБ организованы по принципу ЦПЛД(ПМС в каждом), а ЛБ между собой соединены по схеме ФПГА (если я чего-то не путаю т.к. с альтерой давно не встречался)

если кто-то что-то понял - очень рад -- если кому кажется что объяснил костноязычно -- готов обсудить скользкие моменты


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 10 2005, 14:07
Сообщение #18


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 среди программируемой логики занимают, наверное, последнее место по сложности. И по функциональности. И по характеристикам. Однако все равно они сложные дивайсы. smile.gif Переименовывать, конечно, теперь уже никто не будет, но путаница остается и начинающих сбивает с толку.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 10 2005, 15:26
Сообщение #19


тоже уже Гуру
******

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



не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА
к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое FPGA - смотреть надо было на другие буквы - а именно на GA и PLD.
GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое угодно - такие устройства конечно не запрограмируешь в полевых условиях - ток на производстве. поэтому пустые каналы заменили проложенными трассами, а на их пересечениях (горизонтальной с вертикальной) поставили каммутаторы (переключательные блоки - ПБ), в настоящее время програмируемые на статической памяти - хотя есть и другие варианты - вот они и стали field programmable
PLD(programmable logic device) - это термин объединяющий два класса ПМЛ и ПЛМ програмигуемая матричная логика и программируемая логическая матрица - это в простейшем случае система двух матриц для образования ДНФ или КНФ при этом с ростом числа таких блоков выходы дизъюнктивных и конъюктивных термов стали пускать по вертикальным трассам на другие функциональные блоки, со временем стали добавлять память в ФЯ усложнять внутреннюю структуру, заменили плавкие перемычки EPROM-ом а принцип вертикальных связей и почти полной коммутируемости функциональных ячеек остался - получилось так что на кристалле стало много PLD коммутируемых через ПМС - отсюда к названию добавился Complex
пожалуйста заметьте что в FPGA коммутационный ресурс распределённый (пронизывает весь кристалл) а в CPLD централизованный (сосредоточен в ПМС) - отсюда и вытекает всё что я упомянул в пред. сообщение относительно их характеристик
а на счёт кто там кого круче - я давно предлагал отменить кирпичи, потому как железобетонные плиты их намного кручe


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 11 2005, 06:51
Сообщение #20


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 в том числе и межсоединения делаются по-разному. И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... Ладно, как уже сказал, это к делу не относится. Речь шла про классы дивайсов и их названия. Про внутренниости уже все сказали выше, я лишь про названия высказался. Именно то, как сам слышал. Причем в разное время, из разных источников. "За что купил, за то продаю".


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 11 2005, 08:15
Сообщение #21


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Кайф. Это бы обсуждение - да в энциклопедию.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 11 2005, 13:19
Сообщение #22


тоже уже Гуру
******

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



to dxp
"Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос."
за стёб, пожалуйста, извините.
по поводу ФПГА и ЦПЛД - я не согласен, с тем как вы объясняете эти термины. мою точку зрения я изложил подробно.
"И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... "
прямые связи не являются частью коммутационной системы.


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 11 2005, 14:05
Сообщение #23


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались?
Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD?


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 11 2005, 14:10
Сообщение #24


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) явно мало. Придумать удачное, адектватное название (термин, имя и т.д.) вообще зачастую очень сложно.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 11 2005, 15:21
Сообщение #25


тоже уже Гуру
******

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



Цитата(DSIoffe @ Nov 11 2005, 18:05) *
Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались?
Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD?

извините за навязчивость - сейчас скажу и удалюсь - по моему убеждению ФПГА от ЦПЛД отличаются подходом в организации системы коммутации
(проверить это можно, посмотрев даташиты от разных производителей и моделей, и найдя у этих устройств объединяющие их черты в архитектуре) cranky.gif


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
bbg
сообщение Nov 11 2005, 17:47
Сообщение #26


Участник
*

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



Гм. И чего спорим??

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

FPGA имеет базовый "элемент", так его назовем, по габаритам меньше, засунуть в
кристалл можно больше, вдобавок, не надо скрещивать ужа с ежом (еепромными
транзисторами - тот еще ужосс) - работать будет быстрее (ибо на более продвинутых
субмикронах) - по сути рано или поздно технологии сольются в одно.

А так, "все это маркетинг"..
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 01:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01585 секунд с 7
ELECTRONIX ©2004-2016