Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Tri-state насколько опасно?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Разработка цифровых, аналоговых, аналого-цифровых ИС
-=Vitaly=-
Здравствуйте !

Делаю АСИК и имею память 8 бит х 110, которая вычитывается по SPI, . Выходы 110 флопиков висят на шине с три-стейтом, когда надо какой-либо вычитать я выставляю адрес и подключаю один из флопов и далее мультиплексором выставляю на MISO побитно данные подключенного флопа.

1. Как быть с тестируемостью ? Тетрамакс или Енкоунтер Тест переварят такую конструкцию?
2. Будут ли проблемы при смене адреса, т. е. нужно ли сначала ставить один адрес, вычитывать, потом переводить в третье состояние, потом ставить другой адрес, вычитывать и т.д. Или просто менять по фронту адрес?
3. Как можно по-другому хорошо разрешить эту ситуацию не используя буферов с третьим состоянием?
4. По какой причине в АСИКсах стараются не использовать буферы с третьим состоянием?

Заранее спасибо!
yes
Цитата(-=Vitaly=- @ May 26 2008, 17:55) *
Здравствуйте !

Делаю АСИК и имею память 8 бит х 110, которая вычитывается по SPI, . Выходы 110 флопиков висят на шине с три-стейтом, когда надо какой-либо вычитать я выставляю адрес и подключаю один из флопов и далее мультиплексором выставляю на MISO побитно данные подключенного флопа.

1. Как быть с тестируемостью ? Тетрамакс или Енкоунтер Тест переварят такую конструкцию?
2. Будут ли проблемы при смене адреса, т. е. нужно ли сначала ставить один адрес, вычитывать, потом переводить в третье состояние, потом ставить другой адрес, вычитывать и т.д. Или просто менять по фронту адрес?
3. Как можно по-другому хорошо разрешить эту ситуацию не используя буферов с третьим состоянием?
4. По какой причине в АСИКсах стараются не использовать буферы с третьим состоянием?

Заранее спасибо!


а библиотека с тристэйтами есть? ни разу не видел для КМОП АЗИКов

почему бы не использовать логику :

на каждый флоп AND с выбором, потом дерево OR всех выходов -
будет и быстрее и проблем для тулзов не создаст. ну и делают так обычно
zzzzzzzz
Да все в порядке. Это типовой случай "общей шины". Проблема только одна - емкость выхода, к которому подключены выходы 110 триггеров. Если у каждого (а это д.б. мощные буфера) порядка 3 пик, то уже 330 пФ. Посчитайте мощность, рассеиваемую для своей частоты.

Буферы с третьим состоянием используются "сплошь и рядом" в ASIC. Это требует лишь понимания процесса. В библиотеках они должны быть обязательно. В моей, например, около 40 штук на разные случаи жизни. Очень и очень экономят площадь по сравнению с мультиплексорами.

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

Рассмотрите также возможность использования "открытых стоков" на общую шину, подключаемую к питанию, например, между считываниями. Это тоже ячейка с третьим состоянием, но с меньшей выходной емкостью.
yes
Цитата(zzzzzzzz @ Jun 18 2008, 19:26) *
Буферы с третьим состоянием используются "сплошь и рядом" в ASIC. Это требует лишь понимания процесса. В библиотеках они должны быть обязательно. В моей, например, около 40 штук на разные случаи жизни. Очень и очень экономят площадь по сравнению с мультиплексорами.


то что технически можно сделать открытый сток или HiZ выход для CMOS - нет вопросов

но поймут ли STA тулзы? тут тоже принципиальной проблемы нет - но вроде как не принято...

а библиотек без таких элементов могу привести пол-дюжины
zzzzzzzz
Цитата(yes @ Jun 19 2008, 13:47) *
то что технически можно сделать открытый сток или HiZ выход для CMOS - нет вопросов но поймут ли STA тулзы? тут тоже принципиальной проблемы нет - но вроде как не принято...
а библиотек без таких элементов могу привести пол-дюжины
Кем не принято? Тут каждый - кто во что горазд. А то, что в, например, многих открытых ядрах и проектах используются мультиплексоры вместо общих шин - свидетельствует как раз о слабой компетенции их разработчиков в этом вопросе, либо о совершенно наплевательском отношении к размерам топологии и быстродействию. Это приемлимо, в принципе, но не есть хорошо.
Мы в своих проектах используем по мере необходимости. Все синтезируется и моделируется, проблем нет. Примитивы такие есть во всех синтезаторах.

Библиотеки без TS-буферов, конечно, есть. В RF-библиотеках, порой, вообще одни транзисторы, резисторы, кондюки и индуктивности. Все зависит от задачи. Универсальные цифровые библиотеки должны иметь такие ячейки по определению. А в ПАДах - так просто никуда без этого.
yes
Цитата(zzzzzzzz @ Jun 19 2008, 18:42) *
Кем не принято? Тут каждый - кто во что горазд. А то, что в, например, многих открытых ядрах и проектах используются мультиплексоры вместо общих шин - свидетельствует как раз о слабой компетенции их разработчиков в этом вопросе, либо о совершенно наплевательском отношении к размерам топологии и быстродействию.


да, каюсь, нашел в библиотеках TBUF и DC его понимает

НО вопрос не в синтезируемости или возможности симулировать, а в STA (да и формальном анализе) и в DFT; у меня есть мнение, что не все хорошо, поэтому явно и неявно использование TS-буфферов запрещается

возьмите AMBA - стандарт для внутриазиковых шин - никаких HiZ там нет, а есть мультиплексоры
сейчас элементы быстрее, чем провода
вот например тактовое дерево у нас в проекте - около 100К буферов, fanout=2 - почему так сделано? быстрее и жрет меньше, чем один буфер и большой провод

пока не верю, что для логики оправдано использование TBUF
vechnost
Na skolko ya videl, tri-state v standard cell asic prakticheski nigde ne polzuyutsya, daze yesli yest v biblioteke. Nekotorie tuli ih ponimayut, nekotorie net. Vot neskolko problem s tri-state-ami:

1. Pri start-upe sostoyanie flop-vo kotorie drive-yat tristate enable ne vozmozno znat esli u nih sinhronniy reset, znacit nuzno ispolzovat asinhrnoniy kotoriy nepopulyaren izza problem s DFT kotorie on vizivayet.
2. Voobshe, mnogo problem s DFT. V techeniye scan-a flopy kotoriye kontroliruyut tri state enable budut dyorgatsa i mogut vkljucit vise tri-stateov v to ze vremya i vyzvat Vdd->Gnd short.

V principe s nimi legko osibitsya i stoit popitatsya ne ispolzovat.

Ni odna bolshaya kompaniya ih ne polzuyet v standard cell flow proyektah.
xdan
Думаю, tri-state буфера для связи логики внутри микросхемы лучше не использовать вообще. Меньше проблем в итоге.
Doka
Цитата(vechnost @ Jul 25 2008, 09:32) *
1. Pri start-upe sostoyanie flop-vo kotorie drive-yat tristate enable ne vozmozno znat esli u nih sinhronniy reset, znacit nuzno ispolzovat asinhrnoniy kotoriy nepopulyaren izza problem s DFT kotorie on vizivayet.
2. Voobshe, mnogo problem s DFT. V techeniye scan-a flopy kotoriye kontroliruyut tri state enable budut dyorgatsa i mogut vkljucit vise tri-stateov v to ze vremya i vyzvat Vdd->Gnd short.

это решаемо в рамках того же DFT:
1. как правило вводится тестовый ресет для всей асинхронщины (не зависит от наличия/отсутствия tri-state prim) и при test_mode управление сбросом - от него.
2. как правило в test_mode вводится дополнительный сигнал, которым принудительно управляют всеми тристабильными буферами ( как правило это внешние ножки, но думаю что для внутренних tri-state можно тоже ввести сигнал, подобный этому - тем самым предохранив себя от конфиликтов)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.