Какой метод вы предлагаете для прототипирования асинхронных схем?

9

Я был удивлен и в некоторой степени шокирован, обнаружив, что не существует должным образом установленного инструмента для проектирования и создания прототипов асинхронных схем.

Я продолжаю искать, используя Google и другие средства, чтобы найти хороший метод для проектирования асинхронных схем VLSI, но пока поиск не дал ответа.

Есть некоторые заброшенные инструменты, такие как Balsa и т. Д. Для автоматизации конструкций VLSI, но они полностью недокументированы и сложны в использовании. То, что я ищу, это что-то вроде ПЛИС, которые мы имеем в синхронном мире.

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

Ehsan
источник
10
Вы не найдете его (коммерческие продукты и инструменты), потому что на него нет рыночного спроса. Асинхронный дизайн гораздо сложнее понять, поэтому более экономически выгодно ограничить его использование несколькими четко определенными примитивными функциями (триггеры и т. Д.), А затем использовать синхронные методы для всех функций более высокого уровня. Помогите нам, объяснив вашу мотивацию и то, что вы надеетесь достичь.
Дэйв Твид,
6
Суть исследовательского проекта заключается в том, чтобы создать что-то новое, поэтому можно ожидать, что вместо межгосударственных автомагистралей останутся заброшенные грунтовые дороги. Единственный указатель, который я могу предложить, - это искать бумаги Терезы Мэн. Я помню один или два из ISSCC 1990, когда он проводился в Глазго.
Брайан Драммонд
5
Точно так же я учился у Саймона Мура ( cl.cam.ac.uk/~swm11/resume ), над которым целая группа работала более десяти лет назад. Я также принимал участие в запуске асинхронных средств проектирования аппаратных средств, что привело к синхронным средствам проектирования с низким энергопотреблением из-за отсутствия рынка. Снова вы должны искать документы от него и его исследовательской группы.
pjc50
4
(Кроме того, люди, которые голосуют за закрытие этого вопроса, потому что речь идет не о дизайне электроники, просто ошибаются)
pjc50
2
Есть также NULL Convention Logic с библиотекой примитивов VHDL. Примитивные названия указывают ссылку на Тесея Research Inc. . Был вопрос множителя NCL о переполнении стека, снятый во время, когда я собирался сделать для него тестовый стенд. (13 мая 2015 г.) Идея периодически появляется, чтобы избежать анализа мощности в криптографии (упоминание IACR на прошлой неделе). Книга ЛОГИЧЕСКИ ОПРЕДЕЛЕННЫЙ ДИЗАЙН ДИЗАЙН БЕСПЛАТНОЙ СИСТЕМЫ С ЛОГИКОЙ NULL CONVENTION , Karl M. Fant.
user8352

Ответы:

3

Упоминалась логика Тесея NCL, были также системы рукопожатия (спин-офф Philips), а также Fulcrum Microsystems и Caltech. Был также асинхронный процессор ARM под названием Amulet. И для этого у SUN Microsystems была команда разработчиков процессоров для SPARC без часов.

Я бы назвал эти часы без часов, чтобы избежать путаницы между логикой, такой как счетчики пульсаций, и схемами такого типа. Но в целом используется любой термин.

DC (Design Compiler) от Synopsys, а также Merlin из систем FTL также были доступны.

Однако, если у вас есть правильно спроектированная библиотека основных ячеек, эта абстракция / описание верхнего уровня может стать тривиальной. Основная проблема заключается в том, что если вы разработали систему, которая позволяет каждой ячейке распространять вперед сигнал, который говорит «хороший результат», а также распространяет «доступную систему» ​​назад, система автоматически синхронизируется и, таким образом, может быть просто очень похожа на программное обеспечение без учета условий гонки или времени в этом отношении.

Таким образом, используемые инструменты будут такими же простыми, как SPICE для проектирования на уровне ячеек (транзисторный уровень) и C для компиляции в набор примитивов, которые будут размещены. Для жизни я не могу найти инструмент на основе Си (с открытым исходным кодом), который был использован.

Посмотрите на таких людей, как Уэсли Кларк (он недавно скончался), а также на Ивана Сазерленда и Карла Фанта (также упоминаемых в других местах).

заполнитель
источник
@Ehsan: Это, конечно, интересно, но я не вижу, как это решает вопрос вообще . Расположение на уровне ячеек предназначено для проектирования ASIC, а не для создания прототипов.
Бен Фойгт
@ Бен: Я согласен, и именно поэтому я не принял его ответ. Но я мог бы \ emp {имитировать} некоторые базовые асинхронные схемы, используя библиотеки уровня ячеек в MultiSim и LTSpice. В логике NCL также есть библиотека Verilog, которая позволяет создавать прототипы схем на основе NCL с использованием FPGA: github.com/karlfant/NCL_sandbox . Но я еще не пробовал. Когда я изучал NCL, я осознал огромные издержки подхода, поэтому я стараюсь избегать его и придумываю что-то более практичное.
Эсан
2

Если регистр синхронизируется с системными часами, он считается синхронным. Если бы этот же регистр был синхронизирован непосредственно от логического элемента, логической схемы или вообще чего-либо, кроме системных часов, он был бы асинхронным. Регистры Альтера могут быть синхронизированы от нескольких системных часов или с помощью логики. Вы можете построить любой тип схемы затвора, который пожелаете. , , Мой опыт работы с большинством типов ASIC или FPGA заключается в том, что каждый раз, когда он компилируется, что-то маршрутизируется по-разному. Таким образом, задержки распространения постоянно меняются.

JimTech
источник
2

ПЛИС - это правильное оборудование. Но вы не сможете использовать программное обеспечение для синхронного синтеза, потому что оно делает неправильные преобразования.

Например, FPGA прекрасно способна формировать генератор, построенный с цепью инвертора. Но если вы определите эту цепочку инверторов, например, в VHDL, и будете использовать один из стандартных компиляторов, то «NOT-gate pushback» удалит инверторы попарно и оставит только один, и устройство не будет колебаться.

Возможно, вам придется написать некоторые из ваших собственных программ синтеза, что будет возможно, если вы получите достаточно информации о битовом потоке. Я хотел бы взглянуть на другие исследовательские работы, которые работают с битовым потоком, а не с поведенческим описанием - такие вещи, как обнаружение сбоев и анализ надежности, сильно зависят от отображения, выбранного синтезатором. Вероятно, некоторая работа в области избыточной отказоустойчивой логики уже разработала некоторые пользовательские методы отображения, поскольку исключение термина общего продукта является одним из стандартных преобразований, выполняемых традиционным синтезатором, и полностью разрушает избыточную конструкцию.

Когда вы контролируете использование примитивов логических элементов FPGA, таких как таблицы поиска и локальное и глобальное межсоединение, вы сможете использовать внутренние задержки для реализации своего асинхронного проекта. Ваша задача оптимизации намного сложнее, чем согласование с целью соблюдения сроков установки и удержания, но именно это и делает ее исследованиями.

Бен Фойгт
источник
1

В зависимости от сложности схемы. Если ваш дизайн в основном цифровой, вы можете использовать систему Altera Quartus. Введите свой дизайн с помощью графических инструментов и / или инструментов VHDL, используя асинхронно синхронизированные регистры, или используйте только логические элементы. При необходимости добавьте фиктивные буферы, вентили, сигнальные штыри и т. Д., Чтобы задержать пути прохождения сигнала в соответствии с вашими потребностями. (при условии, что ваш дизайн медленнее, чем самые быстрые задержки в CPLD, <5 нс)

Много лет разработки с их чипами, я никогда не нашел ошибочного результата симулятора. Меньшие проекты могут быть сделаны с их бесплатными инструментами.

JimTech
источник
"асинхронно синхронизированные регистры" ?! Я не уверен, правильно ли вы поняли концепции. Нет такой вещи как «регистры с асинхронной синхронизацией». В схеме либо есть часы (синхронно), либо нет (асинхронно). Инструмент, который я ищу, должен поддерживать примитивные ворота Мюллера, двойные рельсы, ворота 2NCL и т. Д.
Ehsan