|
Базис И-ИЛИ-НЕ в ПЛИС возможен?, Требуется реализация однокаскадных логических элементов в ПЛИС |
|
|
|
Feb 26 2008, 12:41
|
Группа: Новичок
Сообщений: 7
Регистрация: 6-11-06
Пользователь №: 22 017

|
Доброго времени суток, уважаемые форумчане! Нужна Ваша помощь. Нам требуется выяснить, существуют ли в природе ПЛИСы, в базисе которых есть элементы И-ИЛИ-НЕ. Элемент И-ИЛИ-НЕ является одним из базовых элементов для построения особых самосинхронных схем, а его многокаскадная реализация на элементах И-НЕ и ИЛИ-НЕ не приемлема в виду длинных связей между каскадами. А насколько мне известно большинство ПЛИС реализуется именно на элементах И-НЕ и ИЛИ-НЕ. Хотелось бы услышать Ваше авторитетное мнение по данному вопросу. Особенно интересует подобная реализация в ПЛИС Altera. Для большей наглядности высылаю скриншот того что требуется реализовать (вариант под буквой "а" подходит, под буквой "б" - не подходит). Жду Вашего ответа. Заранее спасибо.
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 26 2008, 18:18
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Судя по вопросу, AntiLL с ПЛИС не работал, поэтому начну несколько из далека. ПЛИС делятся на 2 группы CPLD и FPGA. У каждой из этих архитектур свои способы реализации логики. У FPGA логика реализуется на таблицах истинноти (LookUpTable), в зависимости от семейства/производителя количество входов варьируется от 4 до 6 (в явном виде никаких элементов И-НЕ или ИЛИ-НЕ - просто нет). В большинстве CPLD используется вариант AND-OR-XOR, например в Xilinx XC9500 - (4 элемента AND) - OR - XOR (двух входжовой) в Xilinx XPLA3 - (до 40 элементов AND) - OR - XOR (двух входжовой) Посмотрите смледующуб документаци и надеюсь Вы найдете все ответы на ваши вопросы: http://www.xilinx.com/support/documentatio...heets/DS063.pdf - XC9500 http://www.xilinx.com/support/documentatio...heets/ds012.pdf - CoolRunner (XPLA3) http://www.xilinx.com/support/documentatio...heets/ds090.pdf - CoolRunner II У Alter'ы точно есть аналог XC9500, а вот аналогов CoolRunner помоему нет, хотя я могу и ошибаться - пусть уточнят те, кто работает с Alter'овскими CPLD. На мой взгляд, на ПЛИС лучше вообще-то делать синхронные решения,.. т.к. крайне затруднительно отлаживать схемы с "памятью" собранные только на логических элементах - в ПЛИС осциллографом не залезешь, а ножки ввода/вывода в большинстве случаев не способны выдать наружу высокочастотные glitch'и прочие бякости, коие могут присутствовать в таких асинхронных схемах. P.S. То, что изображено на Вашем рисунке, на мой взгляд, собранное на одном LUT - работать будет. Но вам же хочется именно AND-OR, а это ближе к CPLD. И учтите: в ПЛИС задержка связей "выход-вход" сравнима с быстродействием логических элементов !
|
|
|
|
|
Feb 26 2008, 19:01
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(AntiLL @ Feb 26 2008, 14:41)  Для большей наглядности высылаю скриншот того что требуется реализовать (вариант под буквой "а" подходит, под буквой "б" - не подходит). То что показано есть обычный RS триггер, в состояние 1 -> 1+1, состояние 0 -> 0+0, т.е. промежуточные состояния входов игнорируются. Из сказанного не понятно почему под буквой "б" - не подходит, с точки зрения логики полный аналог! так что нужно - реализовать G - триггер? да можно!
|
|
|
|
|
Feb 27 2008, 18:13
|
Группа: Новичок
Сообщений: 7
Регистрация: 6-11-06
Пользователь №: 22 017

|
Огромное спасибо за ответы. С ПЛИС у меня опыту работы на самом деле не так много как хотелось бы поэтому и интересуюсь... То что с точки зрения логики G-триггер реализовать реально, это понятно. Но проблема заключается в том, что этот G-триггер должен быть однокаскадным, то есть внутри этого элемента не должно быть "гонок" сигналов. В случае как на рисунке под "б" там реализация многокаскадная - поэтому "гонки" возможны. Цитата Однокаскадным наывается элемент, перезаряд выходной емкости которого осуществляется только через транзисторы с затворами, соединенными с его входными сигналами. К его выходу может быть подключено любое число последовательно включенных элементов НЕ, что удовлетворяет требованию индуцируемости. Цитата Любой однокаскадный элемент со стандартным (с двумя состояниями) выходом отвечает требованию индицируемости, а однокаскадная реализация индикаторов является необходимым условием реализации. Теоретически и практически доказано, что корректные индикаторные элементы нельзя построить на упрощенном базисе И-НЕ и ИЛИ-НЕ - необходим базис И-ИЛИ-НЕ. Вообще, это разработка наших ученых из РАН. Самосинхронные схемы, а точне строго-самосинхронные схемы (ССС-схемы), обладают сверхвыскокой надежностью, потребляют мало энергии, не используют тактовых генераторов и их поведение не зависит от задержек элементов. По сути такие схемы не зависят от внешних условий в которых они работают. Начинал разрабатывать это все хозяйство еще Варшавский, заканчивают вот они. У меня перед носом лежит статья в которой говориться о том что такие схемы невозможно реализовать на ПЛИС, в виду многокаскадности реализации G-триггера. Опытные образцы были реализованны на БМК в Зеленограде. Но реально вопрос остался открытым, поэтому я бы хотел прояснить что к чему. Ведь есть асинхронные ПЛИСы, представления о которых я не имею почти совсем.  Пока вопрос для меня открытый... CPLD как я понял включают в себя И -ИЛИ -НЕ в своей матрице, но они все таки также являются многокаскадными.. Тоже самое в FPGA.. Или я ошибаюсь? Все это я Вам пишу с разрешения авторов, так как даже у автора статьи есть сомнения по поводу того что он забраковал ПЛИС для реализации таких схем. Если у кого то есть интерес к этим схемам пишите в личку, поделюсь информацией.
|
|
|
|
|
Feb 27 2008, 19:20
|

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

|
Цитата(AntiLL @ Feb 27 2008, 21:13)  CPLD как я понял включают в себя И -ИЛИ -НЕ в своей матрице, но они все таки также являются многокаскадными.. Тоже самое в FPGA.. Или я ошибаюсь?
Все это я Вам пишу с разрешения авторов, так как даже у автора статьи есть сомнения по поводу того что он забраковал ПЛИС для реализации таких схем. Если у кого то есть интерес к этим схемам пишите в личку, поделюсь информацией. давайте, может сразу ссылку на статью, а то меня начинают терзать смутные сомнения ТИ:вообще говоря несмотря на то, что БМК и непосредственный предок ФПГА, но применительно к вашей проблеме они существенно разные вещи: ФПГА - стандартная ИС, а БМК - полузаказная; если для БМК вы имеете некоторую свободу в выборе наполнителя регулярной ячейки, то ФПГА производятся как микропроцессоры миллионными партиями и состав ячейки и матрица соединений пропаяны железно и согласно текущему этапу эволюции в данном конкретном классе ИС (ФПГА). т.е. для ячейки характерно типовой генератор функции как правило на мультиплексоре или ЛУТ и элемент памяти. для CPLD процесс производства аналогичен - это стандартная ИС (принцип.разница с ФПГА только в архитектуре системы межсоединений)
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Feb 28 2008, 07:53
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(AntiLL @ Feb 27 2008, 21:13)  С ПЛИС у меня опыту работы на самом деле не так много как хотелось бы поэтому и интересуюсь... Коли есть опыт работы с ПЛИС, то опишите свою схему, скомпилируйте её и запустите POSTFIT/POST Place&Route симуляцию и погоняйте схемку. Посмотрите как легла ваша логика в кристале: Для FPGA удавите ее в один LUT, для CPLD убедитесь, что схема впшего G-триггера реализованна в одном MacroCell. При не POSTFIT/POST Place&Route симуляции симуляторы не могут коректно учитывать задержки связей, поэтому и результат бывает неверный. Еще раз обращу внимание на существеннось задержек в матрице соединений любого семейства ПЛИС, чего в БМК нет. Могу ошибать, но и в случае б) схемы G-триггера все будет работать нормально, при "достаточно длинных" импульсах на входе. Также думаю можно подобрать последовательность коротких импульсов, который и схему а) загонят в "неправильное" состояние. Так, что присрвокупите к вышезапрошенной статье еще и временные диаграммы, на которых показан случай устойчивой работы схема а) и неудовлетворительной работы схемы Б), а то меня тоже начинают терзать темные сомнения...
|
|
|
|
|
Mar 6 2008, 19:18
|
Группа: Новичок
Сообщений: 7
Регистрация: 6-11-06
Пользователь №: 22 017

|
Цитата Если иное - ни fpga, ни cpld не предназначены для построения асинхронных схем, выходящих за рамки базовых примитивов. В том то и суть вопроса, что единственный особенный элемент это однокаскадный G-триггер. Если бы этот триггер можно было реализовать, то подобные схемы можно было бы реализовывать на ПЛИСах, и это было бы супер. Все упирается только в этот G-тригер. Вот с разрешения атворов разместили статью. http://2301.ru/articles/circuits/full/268.shtmlПочитайте, даже просто для саморазвития, думаю будет интересно. Ну и заодно глядишь и нам поможете =) Суть проблемы - избавить G-триггер от "гонок" сигналов в нем. В однокаскадной реализации время его переключения определяется, в основном, временем перезаряда его выходной емкости (для МДП –технологии изготовления микросхем).
|
|
|
|
|
Mar 7 2008, 20:16
|
Группа: Новичок
Сообщений: 7
Регистрация: 6-11-06
Пользователь №: 22 017

|
Цитата Допустим, G-триггер у нас есть, но - длина входных/выходных проводов по километру - сохранится свойство "индикаторности"? Да, свойство сохранится. В чем и вся прелесть в этих схемах, хоть какие линии связи делай, а схемы обладают всеми свойствами асинхронности, то есть их не надо ориентировать на худший случай (подгонять такт) в данных условиях работы, а они всегда работают по тому физическому максимуму который для них доступен. И от длины связей это не зависит, схема отреагирует только тогда когда все сигнали придут, все гонки закончаться. Народ, а кто нибудь слышал что-нибудь про так называемые self-timed fpga?
|
|
|
|
|
Mar 14 2008, 10:12
|
Группа: Новичок
Сообщений: 8
Регистрация: 17-01-07
Пользователь №: 24 493

|
Цитата(AntiLL @ Mar 8 2008, 02:16)  Народ, а кто нибудь слышал что-нибудь про так называемые self-timed fpga? http://www.achronix.com/Эти ребята, похоже, занимаются чем-то подобным.
|
|
|
|
|
Mar 14 2008, 19:38
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(AMagleli @ Mar 14 2008, 13:12)  Эти ребята, похоже, занимаются чем-то подобным. А кто-нибудь в курсе чем они занимаются? По температурному диапазону, напряжениям и частотам - это прорыв. Интересно что у них по потреблению и логической емкости. Кто-нибудь видел их схемы, патенты, даташиты, софт? Может и схемотехнику кто-нибудь знает?
|
|
|
|
|
Mar 15 2008, 17:37
|
Частый гость
 
Группа: Свой
Сообщений: 88
Регистрация: 10-07-07
Пользователь №: 29 025

|
Странно, но судя по всему - 2ГГц, это проджект а не реализованный прототип (1.93GHz в эквиваленте к "обычным" тактируемым FPGA в начале 2006го года, температурный диапазон -196..+130 по словам John Lofton Holt, CEO achronix в том же 2006м году), после того много воды утекло. И.. реализованный в промышленных масштабах образец - это производство BAE,- 150nm/350MGz в конце 2007го (и тут же пишут что тот же уровень производительности в 2GHz) . Новостей у них немного, секретничают. В плюс записали себе, что избавились от троирования как средства обеспечения надежности, из статьи не ясно как этого добились,- кто знает, может это собственно BAE так свою технологию защиты от радиации построила. И троирование применяется, но уже не на этапе проектирования и программирования FPGA. Информация о том, что из себя они представляют пишут - фирма без собственного производства нацеленная на разработку таких вот суперFPGA. Свой первый образец они разместили с помощью MOSIS на фабрике TSMC по 180nm технологии, интересный момент - MOSIS органиизовала производство множества проектов в одном цикле, потом с помощью французов получили аж 22 кристалла по 90nm технологии. Все они были годными. PS в числе управленческого состава столько народу с большим послужным списком по работе в индустрии... Что-то не совсем чисто тут  .
Сообщение отредактировал Kostos - Mar 15 2008, 17:39
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|