DSIoffe 2 10 ноября, 2005 Опубликовано 10 ноября, 2005 · Жалоба По поводу CPLD и FPGA: Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 10 ноября, 2005 Опубликовано 10 ноября, 2005 · Жалоба По поводу CPLD и FPGA: Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение. использование LUT это не необходимый и достаточный признак ФПГА. существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть. а фишка по моему заключается в системе межсоединения - у ФПГА они сегментированные, с поддержкой иерархической системы при желании, и система межсоединений распределена по всему устройству (ФПГА) - в ЦПЛД же имеется ПМС (программируемая матрица соединений) суть её заключается в том что каждая ЛЯ в пределе может быть соединена с каждой на прямую - отсюда более сложен и рискован процесс разводки (при этом возможна также иерархическая организация - если на пальцах - то каждая ЛЯ представляет ЦПЛД сама по себе - то есть тоже организована по принципу ПМС). подтверждением тому может служить рассказ LeonY - Здесь - он рассказывает о проблемах размещения проекта - это связано с ограничением ресурсов ПМС - но зато задержка по ПМС предсказуема - не подстать ФПГА, где сигнал может блуждать от одного переключательного блока до другого пока не найдёт целевой ЛБ - а это задержка на каждой трассе+ на каждом переключательном блоке (поэтому и ввели длинные и короткие линии - т.е иерархия в системе межсоединений) смежная же архитектура типа Альтеровского FLEX - является смежной именно по признаку орг. межсоединений - там ЛБ организованы по принципу ЦПЛД(ПМС в каждом), а ЛБ между собой соединены по схеме ФПГА (если я чего-то не путаю т.к. с альтерой давно не встречался) если кто-то что-то понял - очень рад -- если кому кажется что объяснил костноязычно -- готов обсудить скользкие моменты Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 10 ноября, 2005 Опубликовано 10 ноября, 2005 · Жалоба По поводу CPLD и FPGA: Спасибо, Nixon! Я впервые вижу такое исчерпывающее объяснение. а вы в курсе, что использование LUT это не необходимый и достаточный признак ФПГА? существуют так же SLC (simple logic cells) и логические модули на основе мультиплексоров - см. Actel - и вообще то что запихано в Лоджик Блок значения-то особого не имеет - там хоть транзисторные пары могут быть. а фишка по моему заключается в системе межсоединения - у ФПГА они сегментированные, с поддержкой иерархической системы при желании, и система межсоединений распределена по всему устройству (ФПГА) - в ЦПЛД же имеется ПМС (программируемая матрица соединений) суть её заключается в том что каждая ЛЯ в пределе может быть соединена с каждой на прямую - отсюда более сложен и рискован процесс разводки (при этом возможна также иерархическая организация - если на пальцах - то каждая ЛЯ представляет ЦПЛД сама по себе - то есть тоже организована по принципу ПМС). Вообще-то, насколько меня учили, FPGA - Field Programmable Gate Array - вентильный массив с возможностью программирования в полевых условиях (вольный перевод), т.е. дивайс, который может быть сконфигурирован "на лету" (это смысл). Именно это и подразумевает название FPGA, ничего более. Как там оно внутри реализовано - дело пятнадцатое. То, что в большинстве применяются LUT'ы, это просто удобная и эффективная реализация. А CPLD - Complex Programmable Logic Device - сложное программируемое логическое устройство, - сегодня просто традиционно устоявшийся термин. Этот класс появился раньше, чем FPGA, тогда это было круто, это были действительно сложные по сравнению с распространенной тогда рассыпухой устройства. Сегодня это название только вводит некоторую неразбериху - реально почти любая FPGA гораздо круче и сложнее, CPLD среди программируемой логики занимают, наверное, последнее место по сложности. И по функциональности. И по характеристикам. Однако все равно они сложные дивайсы. :) Переименовывать, конечно, теперь уже никто не будет, но путаница остается и начинающих сбивает с толку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 10 ноября, 2005 Опубликовано 10 ноября, 2005 · Жалоба не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое FPGA - смотреть надо было на другие буквы - а именно на GA и PLD. GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое угодно - такие устройства конечно не запрограмируешь в полевых условиях - ток на производстве. поэтому пустые каналы заменили проложенными трассами, а на их пересечениях (горизонтальной с вертикальной) поставили каммутаторы (переключательные блоки - ПБ), в настоящее время програмируемые на статической памяти - хотя есть и другие варианты - вот они и стали field programmable PLD(programmable logic device) - это термин объединяющий два класса ПМЛ и ПЛМ програмигуемая матричная логика и программируемая логическая матрица - это в простейшем случае система двух матриц для образования ДНФ или КНФ при этом с ростом числа таких блоков выходы дизъюнктивных и конъюктивных термов стали пускать по вертикальным трассам на другие функциональные блоки, со временем стали добавлять память в ФЯ усложнять внутреннюю структуру, заменили плавкие перемычки EPROM-ом а принцип вертикальных связей и почти полной коммутируемости функциональных ячеек остался - получилось так что на кристалле стало много PLD коммутируемых через ПМС - отсюда к названию добавился Complex пожалуйста заметьте что в FPGA коммутационный ресурс распределённый (пронизывает весь кристалл) а в CPLD централизованный (сосредоточен в ПМС) - отсюда и вытекает всё что я упомянул в пред. сообщение относительно их характеристик а на счёт кто там кого круче - я давно предлагал отменить кирпичи, потому как железобетонные плиты их намного кручe Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба не подскажите, а МС - это устройствo который контролирует микры или контроллер размером с микрометр? к стати реальные микроконтроллеры тоже могут програмироваться на лету и даже в полевых условиях - может их случайно отнесли не к тому классу - мож они тоже в душе ФПГА Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос. к стати различие между FPGA и CPLD действительно можно понять из этих сокращений и истории их создания -- ток вы не на те буквы обратили - поверьте CPLD такое же field programmable как и любое Для CPLD нужен программатор, для FPGA он не нужен. В этом коренное отличие. Предполагается, что в "поле" программатора нет - программатор есть принадлежность производственного цикла. Еще раз, не надо меня убеждать, эти термины и их трактовку не я придумал. Мне тоже вначале показалось все это неудачным. Сейчас уже привык, стало все равно. Наличие пусть неудачных терминов лучше отсутствия таковых. Оно помогает людям вносить ясность в подавляющем большинстве случаев - когда коллега говорит FPGA, я четко понимаю, что он имел в виду. И это есть хорошо - неудачный термин, тем не менее, играет весьма полезную роль. Возможно более адекватным было название SBPLD (SRAM-Based PLD), но "паровоз уже ушел", тут обуждать нечего. FPGA - смотреть надо было на другие буквы - а именно на GA и PLD. GA (gate array) - по нашему звучит как БМК - базовый матричный кристалл - как раз и есть родитель Gate Array - массив вентилей, т.е. массив логики. Не более того. К БМК это имеет весьма опосредованное отношение, заключающееся в том, что БМК - это тоже массив логики. ФПГА - а точнее БМК канального типа - логические блоки разъединены вертикальными и рогизонтальными каналами для прокладки трасс массочным методом - содержание при этом ЛБ -какое ... Детали внутренней реализации к делу не относятся. В разных FPGA в том числе и межсоединения делаются по-разному. И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... Ладно, как уже сказал, это к делу не относится. Речь шла про классы дивайсов и их названия. Про внутренниости уже все сказали выше, я лишь про названия высказался. Именно то, как сам слышал. Причем в разное время, из разных источников. "За что купил, за то продаю". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 2 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба Кайф. Это бы обсуждение - да в энциклопедию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба to dxp "Я что-то не понял, к чему этот стеб? Микроконтроллер - это НЕ программируемая логика. Что не ясно? Названия не я придумал, не ко мне вопрос." за стёб, пожалуйста, извините. по поводу ФПГА и ЦПЛД - я не согласен, с тем как вы объясняете эти термины. мою точку зрения я изложил подробно. "И помимо вертикальных и горизонтальных каналов есть еще и прямые связи... " прямые связи не являются частью коммутационной системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 2 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались? Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались? Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD? Но ведь надо же как-то их различать. Я имею в виду SRAM-Based и EEPROM-Based. Которые на LUT-ах и которые на P-Term'ах. Одного безликого ПЛИС (PLD) явно мало. Придумать удачное, адектватное название (термин, имя и т.д.) вообще зачастую очень сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба Насколько я понял: изначально и FPGA, и CPLD - это некие маркетинговые названия, которые не до конца отражали суть вещей? Потом техника развивалась, стали появляться новые детали реализации, а названия остались? Может быть, этими словами лучше вообще не пользоваться? А для обозначения явления вообще использовать слова ПЛИС или PLD? извините за навязчивость - сейчас скажу и удалюсь - по моему убеждению ФПГА от ЦПЛД отличаются подходом в организации системы коммутации (проверить это можно, посмотрев даташиты от разных производителей и моделей, и найдя у этих устройств объединяющие их черты в архитектуре) :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bbg 0 11 ноября, 2005 Опубликовано 11 ноября, 2005 · Жалоба Гм. И чего спорим?? Field-Programmable - это изначально (1984-й год) SRAM, сейчас - не обязательно. Complex Logic - это развитие некомплекслоджик PLA и PAL, появление разных там CLB с продвинутым интерконнектом, неважно же по сути - матрицы, шматрицы, столбцы, хексматрицы, ужосс. В реале - по-прежнему: FPGA грузим откуда-то, CPLD имеет на борту EEPROM (ну флэшем ее обзовите, особой разницы не вижу, хотя знаю). FPGA имеет базовый "элемент", так его назовем, по габаритам меньше, засунуть в кристалл можно больше, вдобавок, не надо скрещивать ужа с ежом (еепромными транзисторами - тот еще ужосс) - работать будет быстрее (ибо на более продвинутых субмикронах) - по сути рано или поздно технологии сольются в одно. А так, "все это маркетинг".. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться