Перейти к содержанию
    

По поводу CPLD и FPGA:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу CPLD и FPGA:

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

использование LUT это не необходимый и достаточный признак ФПГА. существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть.

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

подтверждением тому может служить рассказ LeonY - Здесь - он рассказывает о проблемах размещения проекта - это связано с ограничением ресурсов ПМС - но зато задержка по ПМС предсказуема - не подстать ФПГА, где сигнал может блуждать от одного переключательного блока до другого пока не найдёт целевой ЛБ - а это задержка на каждой трассе+ на каждом переключательном блоке (поэтому и ввели длинные и короткие линии - т.е иерархия в системе межсоединений)

смежная же архитектура типа Альтеровского FLEX - является смежной именно по признаку орг. межсоединений - там ЛБ организованы по принципу ЦПЛД(ПМС в каждом), а ЛБ между собой соединены по схеме ФПГА (если я чего-то не путаю т.к. с альтерой давно не встречался)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу CPLD и FPGA:

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

а вы в курсе, что использование LUT это не необходимый и достаточный признак ФПГА? существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть.

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

Вообще-то, насколько меня учили, FPGA - Field Programmable Gate Array - вентильный массив с возможностью программирования в полевых условиях (вольный перевод), т.е. дивайс, который может быть сконфигурирован "на лету" (это смысл). Именно это и подразумевает название FPGA, ничего более. Как там оно внутри реализовано - дело пятнадцатое. То, что в большинстве применяются LUT'ы, это просто удобная и эффективная реализация.

 

А CPLD - Complex Programmable Logic Device - сложное программируемое логическое устройство, - сегодня просто традиционно устоявшийся термин. Этот класс появился раньше, чем FPGA, тогда это было круто, это были действительно сложные по сравнению с распространенной тогда рассыпухой устройства. Сегодня это название только вводит некоторую неразбериху - реально почти любая FPGA гораздо круче и сложнее, CPLD среди программируемой логики занимают, наверное, последнее место по сложности. И по функциональности. И по характеристикам. Однако все равно они сложные дивайсы. :) Переименовывать, конечно, теперь уже никто не будет, но путаница остается и начинающих сбивает с толку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА

к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое FPGA - смотреть надо было на другие буквы - а именно на GA и PLD.

GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое угодно - такие устройства конечно не запрограмируешь в полевых условиях - ток на производстве. поэтому пустые каналы заменили проложенными трассами, а на их пересечениях (горизонтальной с вертикальной) поставили каммутаторы (переключательные блоки - ПБ), в настоящее время програмируемые на статической памяти - хотя есть и другие варианты - вот они и стали field programmable

PLD(programmable logic device) - это термин объединяющий два класса ПМЛ и ПЛМ програмигуемая матричная логика и программируемая логическая матрица - это в простейшем случае система двух матриц для образования ДНФ или КНФ при этом с ростом числа таких блоков выходы дизъюнктивных и конъюктивных термов стали пускать по вертикальным трассам на другие функциональные блоки, со временем стали добавлять память в ФЯ усложнять внутреннюю структуру, заменили плавкие перемычки EPROM-ом а принцип вертикальных связей и почти полной коммутируемости функциональных ячеек остался - получилось так что на кристалле стало много PLD коммутируемых через ПМС - отсюда к названию добавился Complex

пожалуйста заметьте что в FPGA коммутационный ресурс распределённый (пронизывает весь кристалл) а в CPLD централизованный (сосредоточен в ПМС) - отсюда и вытекает всё что я упомянул в пред. сообщение относительно их характеристик

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА

Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос.

 

к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое

Для CPLD нужен программатор, для FPGA он не нужен. В этом коренное отличие. Предполагается, что в "поле" программатора нет - программатор есть принадлежность производственного цикла.

 

Еще раз, не надо меня убеждать, эти термины и их трактовку не я придумал. Мне тоже вначале показалось все это неудачным. Сейчас уже привык, стало все равно. Наличие пусть неудачных терминов лучше отсутствия таковых. Оно помогает людям вносить ясность в подавляющем большинстве случаев - когда коллега говорит FPGA, я четко понимаю, что он имел в виду. И это есть хорошо - неудачный термин, тем не менее, играет весьма полезную роль.

 

Возможно более адекватным было название SBPLD (SRAM-Based PLD), но "паровоз уже ушел", тут обуждать нечего.

 

FPGA - смотреть надо было на другие буквы - а именно на GA и PLD.

GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель

Gate Array - массив вентилей, т.е. массив логики. Не более того. К БМК это имеет весьма опосредованное отношение, заключающееся в том, что БМК - это тоже массив логики.

 

ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое

...

Детали внутренней реализации к делу не относятся. В разных FPGA в том числе и межсоединения делаются по-разному. И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... Ладно, как уже сказал, это к делу не относится. Речь шла про классы дивайсов и их названия. Про внутренниости уже все сказали выше, я лишь про названия высказался. Именно то, как сам слышал. Причем в разное время, из разных источников. "За что купил, за то продаю".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to dxp

"Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос."

за стёб, пожалуйста, извините.

по поводу ФПГА и ЦПЛД - я не согласен, с тем как вы объясняете эти термины. мою точку зрения я изложил подробно.

"И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... "

прямые связи не являются частью коммутационной системы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD?

Но ведь надо же как-то их различать. Я имею в виду SRAM-Based и EEPROM-Based. Которые на LUT-ах и которые на P-Term'ах. Одного безликого ПЛИС (PLD) явно мало. Придумать удачное, адектватное название (термин, имя и т.д.) вообще зачастую очень сложно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD?

извините за навязчивость - сейчас скажу и удалюсь - по моему убеждению ФПГА от ЦПЛД отличаются подходом в организации системы коммутации

(проверить это можно, посмотрев даташиты от разных производителей и моделей, и найдя у этих устройств объединяющие их черты в архитектуре) :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Field-Programmable - это изначально (1984-й год) SRAM, сейчас - не обязательно.

Complex Logic - это развитие некомплекслоджик PLA и PAL, появление разных там

CLB с продвинутым интерконнектом, неважно же по сути - матрицы, шматрицы,

столбцы, хексматрицы, ужосс. В реале - по-прежнему: FPGA грузим откуда-то,

CPLD имеет на борту EEPROM (ну флэшем ее обзовите, особой разницы не вижу,

хотя знаю).

 

FPGA имеет базовый "элемент", так его назовем, по габаритам меньше, засунуть в

кристалл можно больше, вдобавок, не надо скрещивать ужа с ежом (еепромными

транзисторами - тот еще ужосс) - работать будет быстрее (ибо на более продвинутых

субмикронах) - по сути рано или поздно технологии сольются в одно.

 

А так, "все это маркетинг"..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...