|
Какую ПЛИС выбрать, Вопрос по архитектуре LC |
|
|
|
Jun 20 2014, 12:25
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Всем привет! Есть вопрос. Нужна ПЛИС, у которой в LC есть возможность замкнуть LUT обратной связью. При этом, LUT должен быть минимум 3х3. Уточню. На LC заходят два входа, идут в LUT. Выход LUT должен 1) с помощью мультиплексоров быть заведен на вход этого LUT, и 2) Иметь выход из LC, минуя триггеры/защелки. Если в LC есть сразу два LUT, у которых выходы можно завести в обратную связь, в т.ч. и наперекрест, да еще и вывести наружу, было бы вообще шикарно. Посмотрел наугад несколько зайлинксов и альтер -возможности обратной связи нигде нет. Почему такое не делают, в общем то понятно. Но, а вдруг кто такое видел Спасибо!
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 28)
|
Jun 20 2014, 13:52
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(yes @ Jun 20 2014, 17:45)  я использовал для самосинхронных схем актеловские проазики - там 3х входовые луты (вернее некая фигня, tile, которая может быть сконфигурена либо в триггер, либо в логику - реализовано на мультиплексорах) и можно сделать детерменированый путь быстрее чем остальные Спасибо за совет! Да, мне это нужно для экспериментов с нестандартными триггерами и латчами, и в частности - С-элемент хотелось бы тоже сделать. Вопрос - тот же 2-входовой С-элемент сколько этих tile требует? Вообще, tile это круто. Название, возможно, говорит о NOC-архитектуре. Надо присмотреться к актелям поближе p.s. и подвопрос -сколько может потребоваться tile для простой RS защелки на, скажем, двух NAND2?
|
|
|
|
|
Jun 20 2014, 15:21
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
ну я давно этим занимался введение вроде тут http://www10.edacafe.com/book/ASIC/CH05/CH05.1.phpС по моему на одном можно (не уверен), я делал некий конвеер, без явного С элемента RS - по-моему одна, но если explicit NAND2 то 2 в актелях проблемы - очень хреново сложная логика, скорость (задержка) от сложности, зависит как у студента финансы после степендии  - чем дальше, тем хуже.
|
|
|
|
|
Jun 20 2014, 20:07
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Редкий какой изврат они народили! Наверное, кто то пару докторских защитил, если авторы серьезно считают, что кучка мультиплексоров может заменить старый добрый LUT. Но, им виднее. К несчастью, обратные связи опять же отсутствуют внутри LC. Но судя по всему, ничего лучше я не наду. Я так понимаю, мне из всего подходит только ACT1. Для RS триггера с прямым и инверсным выходом нужно два tile. Для С-элемента .. надо считать, но скорее всего так же два.
Проблема обратных связей в ПЛИС была и есть - их делают мало. Если передать сигнал от LC к другой LC занимает 1-2 задержки ключа, то роутинг в обратную связь - минимум в два раза больше, а то и в четыре. А что хуже всего, это ресурсы - на обратные связи линий не так много закладывается, ресурсы очень быстро сжираются. В Актеле, может ситуация обстоит лучше, буду пробовать. Еще раз, спасибо!
|
|
|
|
|
Jun 23 2014, 07:48
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(rloc @ Jun 23 2014, 11:17)  Триггер устанавливается в режиме "Latch", на вход D - "0" или "1", СK и SR - входы set/reset Скачал доку ( >link<) на CLB в 6м виртексе, про режим защелки почти ничего не сказано. Спасибо за инфу. Проблема в том, что CK и RS - региональные, судя по доке. Меня даже компоновка в виде SLICE бы устроила, лишь бы Set и Reset задавались индивидуальными LUT. А в таком виде на один RS триггер нужно два SLICE: в одном функции сброса и установки с помощью LUT, а в другом одна защелка. Спасибо за ответы Видимо, ничего подходящего найти не удастся. Классика жанра, RS триггер, практически не реализуем в современных ПЛИС
|
|
|
|
|
Jun 23 2014, 11:10
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(SM @ Jun 23 2014, 15:02)  А в чем проблема внешних связей то? PAR их разводит корректно, с учетом заданных таймингов. А вроде ничего более и не надо. Ведь работают же себе прототипы ИС, содержащие сотни латчей самых разных видов. Главное, чтобы разводчик понял, что от него хотят. А он, вроде, понимает. Проблема асинхронная - таймингов нет, они ведь к частоте привязываются. Т.е. синтезатор не работает. Единственный вариант сделать RS триггер под свои нужды - описать вручную вызов LC с привязкой к архитектуре. При этом очень бы хотелось не выводить наружу обратную связь, потому что обратная связь - узкое место в триггере. В лучшем случае быстродействие будет с мегагерц, в худшем - вообще работать не будет.
|
|
|
|
|
Jun 23 2014, 14:25
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(ViKo @ Jun 23 2014, 17:09)  Делал элементарно: Код bit [15:0] adda; // address-data latch always_latch if (!PLS_N) adda <= ADB; Это защелка с разрешением, несколько другое. Нашел свое счастье, кажется: http://www.xilinx.com/support/documentatio...cs-pdf/lab5.pdf Мне нужна защелка с первой картинки, но с раздельными LUT на каждом входе. Видимо, это реализуемо. Код ViKo соответствует картинке на втором листе, это защелка с разрешением.
|
|
|
|
|
Jun 24 2014, 13:54
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
проблема во всем этом не "быстрая" обратная связь, а "медленная" прямая.
то есть так или иначе все самосинхронные схемы опираются на то, что в цепи req/ack задержка была дольше, чем в функциональной логике. а в современных ПЛИС трассировка составляет 70% от задержки, а "логика" 30%
то есть: после синтеза нужно получить времянку (я это делал повставляв обычные тактируемые регистры вместо латчей), затем заменить их на латчи, а добавленную цепочку буферов в req/ack разбросать по кристаллу так, чтобы площадь была не меньше, чем у "логики"
после этого добыть времянку сложно - я ничего лучше не нашел, чем добавлять регистры в начало конец и вырезать из полного отчета слака по пути нужные мне куски (гемор еще тот), писал какие-то скрипты и т.п.
практически мне это понадобилось для одной платы (да и то, если честно, хотелось просто такую крутотень воплотить в реальности), в которой поставили такой генератор тактов, который требовал начальной загрузки - в конце концов я остановился на кольцевом генераторе и синхронной схеме - уж слишком геморно было делать на асинхронщине - там нужно было что-то типа задержек (диаграммы) и SPI
с асинхронщиной еще раньше было интересно повозится, "заради концепции", у меня на тот момент было полно разного железа (отходы производства) и альтеры и ксайлинцы, но актел ProASIC3 и его производные (при том что я их не особо люблю для практических задач) по-моему самое то то что я дал ссылку на asic the book - то просто показать как из мультиплексоров строится логика, а из PA3 tile строится и защелка, и может даже триггер - две защелки (точно не помню уже) - то есть там есть обратные связи, просто там сложная картинка, много элементов. струмент (либеро) позволяет достаточно просто генерить размещения (то есть скриптами, а не руками), без чего, имхо, никак.
|
|
|
|
|
Jun 25 2014, 10:22
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(yes @ Jun 24 2014, 17:54)  проблема во всем этом не "быстрая" обратная связь, а "медленная" прямая. Интересно, спасибо. Я не собирался в хендшейки линии задержек встраивать, но с ПЛИСовыми костылями по другому и не выйдет. Вы ведь понимаете, что линии задержек - это не чистые асинхронные схемы, а скажем так - гибрид? Высчитывать величину задержек для каждого участка .. нее. Мне больше интересно было бы реализовать настоящие асинхронные автоматы, где переключение идет по цепочке и не зависит от задержек. Но такие автоматы сильно привязаны к архитектуре, и на ПЛИС один фиг сделать не получится, видимо. Но вообще, Ваш опыт очень интересен. И что, действительно, на задержках удалось пайплайн запустить? Пробовали греть/морозить микросхему?
|
|
|
|
|
Jun 25 2014, 13:51
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(Shivers @ Jun 25 2014, 14:22)  Интересно, спасибо. Я не собирался в хендшейки линии задержек встраивать, но с ПЛИСовыми костылями по другому и не выйдет. Вы ведь понимаете, что линии задержек - это не чистые асинхронные схемы, а скажем так - гибрид? Высчитывать величину задержек для каждого участка .. нее. Мне больше интересно было бы реализовать настоящие асинхронные автоматы, где переключение идет по цепочке и не зависит от задержек. Но такие автоматы сильно привязаны к архитектуре, и на ПЛИС один фиг сделать не получится, видимо. Но вообще, Ваш опыт очень интересен. И что, действительно, на задержках удалось пайплайн запустить? Пробовали греть/морозить микросхему? нет в температуре не проверял. но нетлист с sdf-ом симулировал, там вроде как крайние температуры ну и я хотел 8ми битный контроллер типа PIC-а запустить, но самое сложное, что осилил - сумматор с защелками по краям потом устал  , возможно, я неправильно организовал процесс - статьей практических не нашел, может как-то проще можно было для кольцевого генератора смотрели где-то -30 +70, визуально заметно на осциллографе, точно не помню, но раза в полтора быстрее на морозе.
|
|
|
|
|
Jun 25 2014, 15:00
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Цитата(yes @ Jun 25 2014, 17:51)  ну и я хотел 8ми битный контроллер типа PIC-а запустить, но самое сложное, что осилил - сумматор с защелками по краям потом устал  , Задача очень трудоемкая, согласен. В мире асинхронных чипов на задержках по пальцам одной руки можно пересчитать. Самое известное - Филипс в начале 00х сделала и запустила в серию два микроконтроллера по такой технологии: аналог ARM-996 (32бит) и 8051. Остальное - только опытные образцы в исследовательских целях. А на ПЛИС -Вы были бы первым =)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|