|
|
  |
Чайниковый вопрос по ASIC, Сколько гейтов весит один двухвходовой XOR ? |
|
|
|
Dec 14 2010, 08:57
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(zzzzzzzz @ Dec 13 2010, 14:20)  При реализации в эйсик это 1 ячейка библиотечная, как правило. Если XOR2 или XNOR2. Реже бывает в либе и XOR3, XOR4. Делаются чаще всего в виде MUX c инверторами. Но, бывает и минимальная, 6-ти транзисторная реализация. Спасибо! Можно для надежности я уточню? 1 ячейка библиотечная - это и есть один гейт, или все сложнее? Нашел статью (правда, не спеца по ASIC), где XOR почему-то приравнивался к трем гейтам.. ;((((
|
|
|
|
|
Dec 14 2010, 10:09
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(garlands @ Dec 14 2010, 13:01)  ну тогда может быть начать с терминологии? Вот именно Вы конкретно что понимаете под словом "гейт"?... транзистор (один), два, или сколько?..  Да в том-то и дело, что я не знаю, что это такое. Я разработал устройство, в котором надо суммировать по модулю два ну, скажем, миллион бит. Причем, не последовательно, а параллельно. Т.е. нужно примерно миллион сумматоров. Мне потенциальный покупатель этого устройства задает вопрос: а какова (примерно) сложность (в гейтах) реализации в ASIC такого устройства? Я не спец в ASIC, как уже все догадались, но хочется дать какой-то разумный ответ покупателю, и при этом его не сильно обмануть
|
|
|
|
|
Dec 14 2010, 10:35
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(DmitryR @ Dec 14 2010, 13:14)  Так устройство разработано? Берете synopsys, берете библиотеку у заказчика, если даст или что-то иное (найти можно, например Nangate OpenCell), синтезируете и смотрите в лог. Будет не примерно, а точно. Оно разработано на бумаге ( в обще-теоретическом виде). Синопсису пока скармливать нечего. Кстати, я слышал, что синопсис дает площадь кристалла, а не гейты. Нет?
|
|
|
|
|
Dec 14 2010, 10:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(SKov @ Dec 14 2010, 13:35)  Оно разработано на бумаге ( в обще-теоретическом виде). Синопсису пока скармливать нечего. Искать покупателей на проект в миллионы гейтов, когда нет на демонстрацию вообще никаких, хотя бы ключевых блоков - это афера, IMHO. Потому что в процессе моделирования и отладки его он может внезапно измениться в размерах. Он может не влезть в тайминги предложенной потенциальным заказчиком библиотеки. Вообще может не заработать. Поэтому если это вещь логически емкая - разрабатывать ее "от" и "до" теоретически не имеет смысла. Если работа емкая математически - ее стоит промоделировать в MatLab например для начала, оттуда прямо сгенерить HDL-код (он будет кривой, конечно, но будет), и его отсинтезировать как пример. А так... Нас в школе конечно учили писать программы сначала полностью в тетрадке, но тогда машинное время было час в неделю, а сейчас такой подход абсолютно неоправдан. Цитата(SKov @ Dec 14 2010, 13:35)  Кстати, я слышал, что синопсис дает площадь кристалла, а не гейты. Нет? Он все дает. Если бы он такой статистики не давал - какой был бы смысл заказчику на нее опираться?
|
|
|
|
|
Dec 14 2010, 11:42
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(DmitryR @ Dec 14 2010, 13:51)  Искать покупателей на проект в миллионы гейтов, когда нет на демонстрацию вообще никаких, хотя бы ключевых блоков - это афера, Ну, я так и знал, что кто-нибудь привяжется к этому миллиону. Хорошо, что еще не спросили, что за устройство, и не дали пару хороших советов типа: оптимизируй до ста ХOR-ов, тогда точно все будет пучком  Давайте не будем отвлекаться от вопроса. В топике абсолютно конкретный вопрос. Возможно, не совсем правильно заданный. Получил один вполне конкретный ответ, просто хотелось бы уточнить для чайника.
|
|
|
|
|
Dec 14 2010, 11:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Вы если почитаете этот форум то увидите, что тут всегда задают наводящие вопросы, лишь только начинает попахивать сферическим конем в вакууме. Потому что если из вашего вопроса вычленить только суть без уточнений (сколько "гейтов" займет один миллион элементов XOR2), то можно ответить и три миллиона, и пять миллионов, а кто-то скажет - десять, и возможно не сильно соврет. Потому что как минимум библиотеки различаются сильно. Различается понятие "гейт". Они у вас как-то соединены с другой логикой, синтезатор будет логику объединять в более крупные элементы, они могут быть меньше. Не говоря уже о том, что проект при переносе с бумаги в железо может вырасти заметно, а иногда и в разы вырастает. У меня вон тут планировался один блок Рида-Соломона, по скорости не влез - пришлось поставить 4 в параллель. Не на каждом шагу, но такое бывает. Поэтому вам пытаются дать пути для получения более-менее точного ответа, а не с точностью до порядка, а вы еще и обижаетесь.
|
|
|
|
|
Dec 14 2010, 12:10
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Под гейтом чаще всего понимают AND2, NAND2, OR2, NOR2. То есть, двухвходовку из 4х транзисторов. (Но, это не правило, может быть по всякому. Зависит от задачи) Реализация (полная, полностью буферизированная, на MUX) XOR2 состоит из 5 инверторов и 2 инвертора с ключами по питанию и земле. Итого 10+8 транзисторов = 18. Частично буферизированная схема состоит из 3 инверторов и 2 с ключами, итого 14 транзисторов. Не буферизированная - 2 инвертора + 2 с ключами = 12 тр. Минимальная - 6 транзисторов. Минимальная с буферами = 12 транз. Но уступает полной по топологии. Полная схема наиболее адекватна моделирование-практика и менее чувствительна ко всяким "неожиданностям". Число транзисторов разделите на 4 = оценочное количество гейтов. Но лучше всего для оценки разделить площадь ячейки XOR2 на площадь NOR2. Хотя, нафига это, если уже есть площадь XOR2?  Если у Вас есть *.lib, то в нем площадь для каждой ячейки приведена.
|
|
|
|
|
Dec 14 2010, 13:11
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(DmitryR @ Dec 14 2010, 14:55)  Они у вас как-то соединены с другой логикой, синтезатор будет логику объединять в более крупные элементы, они могут быть меньше. Не говоря уже о том, что проект при переносе с бумаги в железо может вырасти заметно, а иногда и в разы вырастает. У меня вон тут планировался один блок Рида-Соломона, по скорости не влез - пришлось поставить 4 в параллель. Не на каждом шагу, но такое бывает. Поэтому вам пытаются дать пути для получения более-менее точного ответа, а не с точностью до порядка, а вы еще и обижаетесь. Я не обижаюсь. И не против уточнения моего вопроса - наоборот, мне это и нужно. Я просто пытался противодействовать переводу обсуждения в плоскость "миллион XOR - это афера". Тем более что никто не говорил о миллионе XOR. Я говорил "ну, скажем, миллион XOR". Чувствуете разницу?  В остальном - большое спасибо за Ваш второй ответ. Он был очень "в тему". Если у Вас будут трудности с Ридом (или с Соломоном  ) - обращайтесь, всегда помогу земляку, тем более, что в этой области есть хороший опыт. (мой "миллион XOR" - это кодер длинного LDPC кода) Еще раз спасибо. Цитата Под гейтом чаще всего понимают AND2, NAND2, OR2, NOR2. То есть, двухвходовку из 4х транзисторов. (Но, это не правило, может быть по всякому. Зависит от задачи) ..... Теперь понятно. Значит - примерно 1.5 - 3 гейта. Спасибо!
|
|
|
|
|
Dec 14 2010, 13:38
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(SKov @ Dec 14 2010, 16:11)  Теперь понятно. Значит - примерно 1.5 - 3 гейта. Спасибо! чтоб не было такой уверенности  приведу пример из конкретной либы, это кусок таблицы Cell Name | Gate Count | Width(um) ND2D0BWP12T 1 0.56 ND2D16BWP12T 16 6.02 можно видеть, что NAND2 в 1 строке занимает 1 гейт, а NAND2 во 2 строке занимает 16 гейт и какая между ними разница? разница в нагрузочной способности (выходном транзисторе), поэтому бумажные оценки могут в 10 раз отличаться от реальности
|
|
|
|
|
Dec 14 2010, 14:19
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(yes @ Dec 14 2010, 16:38)  и какая между ними разница? разница в нагрузочной способности (выходном транзисторе), поэтому бумажные оценки могут в 10 раз отличаться от реальности Это понятно. Если большое разветвление по выходу - то это должно быть дороже. У меня это редкий случай.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|