Тут нужно понимать что полезного можно делать с осциллятором. Можно определить скорость прохождения сигнала по самому короткому и самому длинному пути на кристалле, что ещё? Англичане с помощью осциллятора изучают утечку информации. Можно ли так делать в классическом CPLD или/и в CPLD на LUT? Я не знаю. Если смотреть с точки зрения задержек, то в классическом CPLD логический элемент, скорей всего, имеет разную задержку по входам.
CPLDs в настоящее время стоят дороже FPGAs, причем для 180nm и меньше они реализуются на LUTs. В технологии меньше 55nm я CPLDs не видел. Дело лишь в области применения.
Kстати, экспериментов с осцилляторями на Altera я не видел. Возможно, там просто запрещены комбинационные обратные связи. Вообще, FPGA в технологии 28nm и меньше кроме Xilinx и Altera делают не так много фирм. Вот западные, которые я знаю FD-SOI: Lattice 28nm, Cologne Chip 28nm, QuickLogic 22/28nm, FinFET: Efinix 16nm, Achronix 7nm и две китайские 28nm www.anlogic.com/down.aspx?fid=t14:11:14&typeid=11 www.isilicontech.com/page29
Дорожки внутри LUT короткие и вряд ли их задержка сопоставима с задержкой транзистора. Что касается низкоуровневой реализации, то там всего два варианта — либо pass transistor, либо transmission gate. Вот статья, где обсуждаются размеры транзисторов для первого варианта www.eecg.utoronto.ca/~vaughn/papers/fpt2013_coffe.pdf
а вот патенты Xilinx для второго варианта
US6809552 US6998872 US7471104 patents.google.com
В любом из вариантов имеется линейка буферов, разделяющая слои транзисторов. Зачем распределять задержки слоев именно как 25, 35, 15 конечно интересно, но для меня не принципиально.
Более точные измерения для таких осцилляторов проведены в этом году в Манчестере: www.research.manchester.ac.uk/portal/files/169709445/FPGADefender_Malicious_Self_Oscillator_Scanning_for_Xilinx_UltraScale_FPGAs.pdf
В конце статьи есть ссылка на github. Попытаюсь сопоставить результаты с учетом того, что Kintex 7 — это 28 нм, а у англичан 16 нм. Для измерений использовался time-to-digital converter температура которого отличалась от измеряемой схемы. Интересно, что расчитанные Vivado значения задержки и частоты хорошо соответствуют измеренным. Правда, я не понял можно ли в Vivado подставлять значения температуры и напряжения питания. Конкретные цифры из Table 2: максимальная частота на MUX7 — 1126MHz (здесь 5953.89 МГц), минимальная частота на LUT6 — 1927MHz (здесь 379.98 МГц). Интересен также Fig. 11, где показаны расчитанные Vivado задержки от каждого из входов LUT6 на выход, самая большая 177ps. Правда, мне не понятно почему разница между этими задержками не постоянна и составляет примерно 25, 35 и 15ps. Кстати, если есть контроль температуры и напряжения питания, можно было бы провести эксперимент характеризующий эффект второго порядка. А именно, исследовать как происходит разбаланс задержек внутри LUT. Каждый вход LUT открывает одну группу транзисторов и закрывает другую. При комнатной температуре и номинальном напряжении питания это должно происходить (и наверное происходит) одновременно. Понятно, что есть какой-то диапазон параметров, в котором эти задержки равны друг другу, потом происходит разбаланс. Мне не попадались статьи на эту тему. Каким образом можно увидеть этот разбаланс? Собрать два кольцевых осциллятора, первый полностью на инверторах, а второй почти полностью на повторителях (буферах) и одном инверторе. Дальше делается развертка по температуре или/и напряжению. В какой-то момент задержка повторителя и инвертора начнут отличаться, что приведет к изменению частоты.
FYI. Любая троичная функция n переменных может быть реализована повторной односторонней одноканальной сетью длины L(n)=3(L(n-1)+1), каждый элемент которой реализует функцию двух переменных.
Yоeli M. Ternary cellular cascades. IEEE Trans., C-17, 1, 1968.
Два патента, одна статья и один PDK
RU2281605 ЛОГИЧЕСКОЕ УСТРОЙСТВО «И» 2006
RU2468510 ТРОИЧНЫЙ К-МОП-С ЛОГИЧЕСКИЙ ЭЛЕМЕНТ «ИЛИ-НЕ» 2012
Виноградов Ю. А. К синтезу схем в инженерных базисах 2019 github.com/LNIS-Projects/TIGFET-10nm-PDK
Похоже, что ASIC бизнес существенно изменился с 2011, по крайней мере сайты фирм из этого обзора уже не работают
Tung, H.H., Lin, R.B., Li, M.C. and Heish, T.H., «Standard cell like via-configurable logic blocks for structured ASIC in an industrial design flow,» IEEE Transactions on VLSI Systems, 20(12):2184-2197, 2011.
но академия периодически возвращается к использованию двухвходовых И-НЕ
Dupuis S, Noury L, Fel N., «A regular fabric design methodology for applications requiring specific layout-level design rules,» Microelectronics Journal, 45(2):217-25, 2014.
Более того, в Техасе вернулись к БМК
Tian J, et al, «A field programmable transistor array featuring single-cycle partial/full dynamic reconfiguration,» DATE conference, 2017.
Lerk, Вы в качестве источника собирательно указали сайты производителей, можно подробнее? Из тех channelless (channel-free) gate arrays, sea-of-gates, которые можно заказать прямо сейчас мне удалось найти только Epson global.epson.com/products_and_drivers/semicon/products/asic
плюс хорошую книгу
M.J.S. Smith, Application-Specific Integrated Circuits. Addison-Wesley, 1997
Вот Вы смеётесь, последователи Греты Турнберг вырастут и сделают деревянные транзисторы и провода из ниток. Что касается меньшего количества металлических слоёв, Вы описали задачу минимизации. Чтобы узнать как её решили в Efinix, нужно смотреть их патенты.
Значит, Вы считаете, что у них получилось уменьшить количество металлических слоёв не увеличивая количества транзисторов? Может быть. А что если транзисторы не кремниевые, а пластиковые?
picture.iczhiku.com/resource/ieee/sykTRpUZzHgSLbMX.pdf
nthucad.cs.nthu.edu.tw/~wcyao/publications/0171.pdf
CPLDs в настоящее время стоят дороже FPGAs, причем для 180nm и меньше они реализуются на LUTs. В технологии меньше 55nm я CPLDs не видел. Дело лишь в области применения.
www.colognechip.com/programmable-logic/gatemate
www.nanoxplore.com
www.anlogic.com/down.aspx?fid=t14:11:14&typeid=11
www.isilicontech.com/page29
www.eecg.utoronto.ca/~vaughn/papers/fpt2013_coffe.pdf
а вот патенты Xilinx для второго варианта
US6809552 US6998872 US7471104
patents.google.com
В любом из вариантов имеется линейка буферов, разделяющая слои транзисторов. Зачем распределять задержки слоев именно как 25, 35, 15 конечно интересно, но для меня не принципиально.
www.research.manchester.ac.uk/portal/files/169709445/FPGADefender_Malicious_Self_Oscillator_Scanning_for_Xilinx_UltraScale_FPGAs.pdf
В конце статьи есть ссылка на github. Попытаюсь сопоставить результаты с учетом того, что Kintex 7 — это 28 нм, а у англичан 16 нм. Для измерений использовался time-to-digital converter температура которого отличалась от измеряемой схемы. Интересно, что расчитанные Vivado значения задержки и частоты хорошо соответствуют измеренным. Правда, я не понял можно ли в Vivado подставлять значения температуры и напряжения питания. Конкретные цифры из Table 2: максимальная частота на MUX7 — 1126MHz (здесь 5953.89 МГц), минимальная частота на LUT6 — 1927MHz (здесь 379.98 МГц). Интересен также Fig. 11, где показаны расчитанные Vivado задержки от каждого из входов LUT6 на выход, самая большая 177ps. Правда, мне не понятно почему разница между этими задержками не постоянна и составляет примерно 25, 35 и 15ps. Кстати, если есть контроль температуры и напряжения питания, можно было бы провести эксперимент характеризующий эффект второго порядка. А именно, исследовать как происходит разбаланс задержек внутри LUT. Каждый вход LUT открывает одну группу транзисторов и закрывает другую. При комнатной температуре и номинальном напряжении питания это должно происходить (и наверное происходит) одновременно. Понятно, что есть какой-то диапазон параметров, в котором эти задержки равны друг другу, потом происходит разбаланс. Мне не попадались статьи на эту тему. Каким образом можно увидеть этот разбаланс? Собрать два кольцевых осциллятора, первый полностью на инверторах, а второй почти полностью на повторителях (буферах) и одном инверторе. Дальше делается развертка по температуре или/и напряжению. В какой-то момент задержка повторителя и инвертора начнут отличаться, что приведет к изменению частоты.
Yоeli M. Ternary cellular cascades. IEEE Trans., C-17, 1, 1968.
RU2281605 ЛОГИЧЕСКОЕ УСТРОЙСТВО «И» 2006
RU2468510 ТРОИЧНЫЙ К-МОП-С ЛОГИЧЕСКИЙ ЭЛЕМЕНТ «ИЛИ-НЕ» 2012
Виноградов Ю. А. К синтезу схем в инженерных базисах 2019
github.com/LNIS-Projects/TIGFET-10nm-PDK
Doing Two-Level Logic Minimization 100 Times Faster
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.9246&rep=rep1&type=pdf
yandex.ru/patents/doc/SU1405109A1_19880623
Tung, H.H., Lin, R.B., Li, M.C. and Heish, T.H., «Standard cell like via-configurable logic blocks for structured ASIC in an industrial design flow,» IEEE Transactions on VLSI Systems, 20(12):2184-2197, 2011.
но академия периодически возвращается к использованию двухвходовых И-НЕ
Dupuis S, Noury L, Fel N., «A regular fabric design methodology for applications requiring specific layout-level design rules,» Microelectronics Journal, 45(2):217-25, 2014.
Более того, в Техасе вернулись к БМК
Tian J, et al, «A field programmable transistor array featuring single-cycle partial/full dynamic reconfiguration,» DATE conference, 2017.
global.epson.com/products_and_drivers/semicon/products/asic
плюс хорошую книгу
M.J.S. Smith, Application-Specific Integrated Circuits. Addison-Wesley, 1997
Вот Вы смеётесь, последователи Греты Турнберг вырастут и сделают деревянные транзисторы и провода из ниток. Что касается меньшего количества металлических слоёв, Вы описали задачу минимизации. Чтобы узнать как её решили в Efinix, нужно смотреть их патенты.
Значит, Вы считаете, что у них получилось уменьшить количество металлических слоёв не увеличивая количества транзисторов? Может быть. А что если транзисторы не кремниевые, а пластиковые?