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

bsa1969

Новичок
  • Постов

    4
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. # pe-send-ifc # HP controller, by K. Stevens # Meat state encoding .inputs reqsend treq rdiq adbldout ackpkt .outputs tack peack adbld .graph # 0 reqsend+ adbld+/1 treq+/1 adbld+/1 rdiq+/1 adbld+/1 # -> 1 adbld+/1 place_1 place_1 adbldout+/1 # 1 adbldout+/1 peack+/1 # -> 2 peack+/1 rdiq-/1 # 2 rdiq-/1 adbld-/1 tack+/1 peack-/1 # -> 3 peack-/1 place_3_0 adbld-/1 adbldout-/1 tack+/1 treq-/1 place_3_0 ackpkt+/1 rdiq+/2 adbldout-/1 place_3_1 treq-/1 place_3_2 # 3 rdiq+/2 adbld+/2 place_3_1 adbld+/2 place_3_2 adbld+/2 ackpkt+/1 peack+/2 place_3_1 peack+/2 place_3_2 peack+/2 # -> 4 adbld+/2 adbldout+/2 # -> 8 peack+/2 ackpkt-/1 # 4 adbldout+/2 peack+/3 # -> 5 peack+/3 rdiq-/2 # 5 rdiq-/2 peack-/3 adbld-/2 tack-/2 # -> 6 adbld-/2 adbldout-/3 tack-/2 treq+/2 peack-/3 place_5_2 adbldout-/3 place_5_0 treq+/2 place_5_1 place_5_2 ackpkt+/2 rdiq+/3 # 6 place_5_0 peack+/4 tack+/3 place_5_1 peack+/4 tack+/3 ackpkt+/2 peack+/4 tack+/3 place_5_0 adbld+/3 place_5_1 adbld+/3 rdiq+/3 adbld+/3 # -> 1 adbld+/3 place_1 # -> 7 peack+/4 ackpkt-/3 tack+/3 treq-/3 # 7 ackpkt-/3 peack-/4 tack-/3 treq-/3 peack-/4 tack-/3 # -> 9 peack-/4 place_9_0 tack-/3 place_9_1 place_9_0 treq+/4 reqsend- place_9_1 treq+/4 reqsend- # 8 ackpkt-/1 tack-/4 peack-/5 # -> 9 peack-/5 place_9_0 tack-/4 place_9_1 # 9 treq+/4 tack+/5 # -> 0 # s4 conditions inputs... otherwise no USC ! reqsend- reqsend+ treq+/1 rdiq+/1 # -> 10 tack+/5 treq-/5 # 10 treq-/5 tack-/5 # -> 9 tack-/5 place_9_0 place_9_1 .marking { <reqsend-,reqsend+> <reqsend-,treq+/1> <reqsend-,rdiq+/1> } .end tack = NAND ( h2, i2 ) peack = NOR ( f2, w1 ) adbld = NAND ( u, f1 ) f = NAND ( reqsend , treq ) g = NAND ( rdiq , o1 ) h = NAND ( rdiq , p1 ) i = NAND ( adbldout , s ) j = NAND ( adbldout , r ) k = NAND ( ackpkt , o1 ) l = AND ( ackpkt , p1 ) m = AND ( l , j ) n = NOR ( m , o ) o = NOR ( n , f ) p = NOR ( h , f ) q = NAND ( j , p ) r = AND ( q , i ) s = NOT ( r ) t = NOR ( g , s ) u = NAND ( t , f ) v = NOR ( k , s ) w = NAND ( v , f ) f1 = NAND ( p , s ) g1 = NAND ( reqsend , h1 ) h1 = NAND ( w , g1 ) i1 = NOR ( w , g1 ) j1 = NOR ( u , j ) k1 = NOR ( i1 , j1 ) l1 = NAND ( i , m1 ) m1 = NAND ( k1 , l1 ) n1 = NAND ( h , l1 ) o1 = NAND ( n1 , k1 ) p1 = NOT ( o1 ) q1 = NAND ( n , t1 ) r1 = NAND ( reqsend , s1 ) s1 = NAND ( q1 , r1 ) t1 = AND ( r1 , u1 ) u1 = NAND ( v1 , q1 ) v1 = NOR ( o , t1 ) w1 = NOR ( g2 , u1 ) f2 = NOR ( n1 , p1 ) g2 = NAND ( m1 , p1 ) h2 = NOR ( o1 , t1 ) i2 = NOR ( k2 , j2 ) j2 = NOR ( f , r1 ) k2 = NOR ( f , g1 ) Ну, и зачем это здесь? В разделе "Ищу работу"? Что сказать-то хотели? Что владеете неким ноу-хау? Ну, так напишите по-русски. И сопроводите конкретикой.
  2. Было бы интересно попробовать. Та не... Ведь все по-старому: транзистор открыт, транзистор закрыт? Ну значит нагородили лишних сущностей.
  3. Ограничений по количеству переменных нет, поскольку алгоритм не занимается вычислением логических функций общего вида. Суть метода - корректное добавление дополнительных сигналов с целью приведения исходного поведения к определенному виду. После приведения поведения к нужному виду вычисление логической функции (уже заранее известного вида) - задача линейной сложности. Вообще метод не использует понятие состояние, только причинно-следственные связи между событиями. Я знаком с Петрифай, более того знаком с его создателями. Могу сказать что недостатки Петрифай связаны с непониманием сути проблемы. Он эксплуатирует здравую идею декомпозиции логических функций. Но известно, что далеко не всякую функцию можно разбить до нужного уровня. Петрифай пытается бороться с этим используя С-элементы, упрощая тем самым функции возбуждения. Но это лишь несколько улучшает ситуацию, но не решает проблему. Проблема же декомпозиции связана исключительно с наличием кратных сигналов, т.е. сигналов, которые "переключаются более чем 2 раза". Создатели же Петрифай, не понимая этого, жадничают при добавлении дополнительных сигналов. И как следствие стараются добавлять именно кратные сигналы. По независимости от задержек в проводах. Прошу прощения, я 10 лет был в творческом отпуске. Сходу не нашел в гугле, что такое NCL. Что касается элементов независящих от задержек в проводах, о которых Вы говорите, я давно что-то читал. Они внутри себя содержат ряд ограничений, которые еще нужно реализовать. И конечно строить схемы из таких огромных блоков слишком дорогое удовольствие. Я же веду речь о самом простом элементе на основе 2NOR, 2NAND (4 транзистора, или 5 для повышения устойчивости). Его впервые описал Варшавскиий, а для схем независящих от задержек в проводах предложил использовать Стародубцев. Если найдете можно почитать Monotonic Circuits with Complete Acknowledgement (Starodoubtsev, Bystrov, Yakovlev). Картинку прилепил. Суть этого элемента в новой реализации процесса перехвата. Подхватывающий сигнал подается на элемент, затем снимается с дополнительного выхода этого элемента (уже в инвертированном виде), и только после этого запускает процесс приводящий к переключению подхватываемого сигнала. Что касается сложности таких схем. На примере pe-send-ifc. На элементах NORAND NANDOR с произвольным числом входов: дополнительных сигналов 10, транзисторов 124. На элементах NAND NOR с произвольным числом входов: дополнительных сигналов 18, транзисторов 176. На двухвходовых элементах: дополнительных сигналов 42, транзисторов 184. Независящая от задержек в проводах: дополнительных сигналов 91, транзисторов 585. Основная причина удорожания последней схемы - кратные сигналы. Если можно отправьте более точныt координаты для контактов на [email protected]
  4. Про достоинства асинхронных схем известно - это пониженное энергопотребление. Недостатки же - меньшее быстродействие(?), большая площадь, худшая тестируемость. На самом деле это миф, основанный на единственном недостатке асинхронных схем: неумении их синтезировать. Мною разработан формальный метод синтеза асинхронных схем на стандартной элементной базе (в том числе и на самых простых двухвходовых элементах NOR, NAND), который полностью устраняет вышеперечисленные недостатки. Более того, разработана методика синтеза асинхронных схем, нечувствительных к задержкам даже в проводах. Правда для таких схем используются нестандартные элементы, похожие на 2NOR, 2NAND. Единственное отличие - дополнительный выход, по сути являющийся инверсией одного из входов. Я не специалист по железу, поэтому корректная работа такого элемента под вопросом. Для наглядности пример (в базисе 2NAND, 2NOR, NOT). Исходное задание в виде STG. # rcv-setup # HP controller, by K. Stevens # Meat state encoding .inputs reqrcv sending acksend .outputs enwoq rejsend .graph # 0 reqrcv+/1 enwoq+/1 sending+ place_1 # -> 1 place_1 sending-/1 reqrcv+/2 # -> 5 enwoq+/1 reqrcv-/1 # 5 reqrcv-/1 enwoq-/1 # -> 0 enwoq-/1 place_0 # 1 reqrcv+/2 rejsend+ sending-/1 place_0 # -> 2 rejsend+ sending-/2 acksend+ # 2 sending-/2 rejsend- acksend+ rejsend- # -> 3 rejsend- acksend- # 3 acksend- enwoq+/2 # -> 4 enwoq+/2 reqrcv-/2 # 4 reqrcv-/2 enwoq-/2 # -> 0 enwoq-/2 place_0 place_0 reqrcv+/1 sending+ .marking { place_0 } .end enwoq = AND ( g, k ) rejsend = NOR ( i, k ) f = NOT ( reqrcv ) g = NOR ( f, sending ) h = AND ( sending, reqrcv ) i = NOR ( h, j ) j = NOR ( acksend, i ) k = NOR ( j, acksend )
×
×
  • Создать...