Выпуск #9/2018
Ильин Сергей Алексеевич
Разработка маршрута характеризации специализированных логических вентилей для повышения точности оценки быстродействия в реконфигурируемых ПЛИС
Разработка маршрута характеризации специализированных логических вентилей для повышения точности оценки быстродействия в реконфигурируемых ПЛИС
Просмотры: 1478
В статье кратко описываются специализированные логические вентили, используемые в ПЛИС. Приводятся оценки влияния вентилей на быстродействие. Предлагается маршрут характеризации специализированных логических вентилей в реконфигурируемых ПЛИС.
УДК 621.3.049.77
DOI: 10.22184/1993-8578.2018.82.294.295
УДК 621.3.049.77
DOI: 10.22184/1993-8578.2018.82.294.295
Ключевым аспектом проектирования ПЛИС на фоне постоянного уменьшения проектных норм [1] является его архитектура трассировки, которая включает в себя компоненты, использующиеся для соединения логических блоков конечного устройства. В ранних ПЛИС межсоединения состояли в основном из небольших коротких сегментов, которые объединялись в более длинные структуры с помощью программируемых переключателей. Несмотря на то, что этот подход обеспечивает эффективное использование межсоединений, последовательное включение проходных вентилей оказывало негативное влияние на быстродействие. Этот факт объясняется тем, что в ПЛИС используют проходные вентили для трассировки, которые имеют значительные паразитные параметры. Общая структурная схема ПЛИС изображена на рис. 1, где в качестве примера показана ПЛИС Xilinx с двухмерным массивом логических блоков, горизонтальными и вертикальными каналами трассировки и ячейками ввода/вывода.
На рис. 1 не показано детально, как выполняются межсоединения, на рис. 2 показаны возможные варианты выполнения межсоединений при помощи проходных вентилей и ключей.
В качестве иллюстрации логических блоков на рис. 1 и 3 показаны программируемые логические блоки (CLB), которые в дальнейшем будем называть логическими блоками (LB) вне зависимости от их конкретного исполнения (LE, CLB, CPLD). В работе [2] авторы рассматривают ключи и проходные транзисторы как пассивные RC-компоненты, для которых строится аналитическая модель задержки. Авторы отвечают на следующие вопросы: как моделировать «открытый» ключ, как моделировать «закрытый» ключ и как оценивать вклад исследуемого компонента в паразитные параметры межсоединений. Данный подход показал хорошую точность, однако не лишен некоторых недостатков: его сравнительно сложно интегрировать в сквозной маршрут проектирования, оценка быстродействия выполняется на этапе разводки кристалла, вследствие чего вклад исследуемых элементов не учитывается на предшествующих этапах маршрута.
Для оценки быстродействия на этапе синтеза используются заранее характеризованные Liberty-файлы, в которых содержится информация о временных и мощностных параметрах LB-блоков.
Учет быстродействия исследуемых компонентов в маршруте проектирования осложняется двумя проблемами. Первая проблема обусловлена конструкцией: входная емкость нелинейно зависит от нагрузочной и меняется в зависимости от конкретных значений длины и ширины каналов составляющих его транзисторов. Вторая проблема — отсутствие маршрута характеризации и оценки быстродействия из-за необходимости учитывать не только параметры самого конструктива, но и его подключение к LB.
В отличие от заказных схем, ПЛИС строятся по заранее заданной архитектуре. Это позволяет, с одной стороны, заранее ограничить множество конструктивов (ключи, проходные вентили, инверторы, буферы, тристабильные буферы, мультиплексоры и прочее), которые используются для трассировки межсоединений, с другой — оценить количество конструктивов, присоединяемых к входам LB-блока. Для этого блок рассматривается в совокупности с используемой архитектурой трассировки, как показано на рис. 3.
Для иллюстрации влияния конструктивов на характеристики отдельной ячейки обратимся к табл. 1: к входам LB, выполняющим функцию инвертора c суффиксом «_sw», присоединяются одинаковые конструктивы в виде проходного вентиля (WN = Wmin, WP/WN = 2).
Как видно из табл. 1, наличие конструктива может по-разному влиять на характеристики ячеек в зависимости от их собственных параметров, но в среднем приводит к существенному ухудшению характеристик: задержка и длительность фронта возрастают в среднем в полтора раза, что приводит к ухудшению характеристик готового устройства. Таким образом, в зависимости от конкретного исполнения блоков SB/CB их влияние на производительность конечного устройства может быть весьма значительным.
В ряде работ [2–6] были предприняты попытки найти аналитическую зависимость задержки, вносимой конструктивом в общую задержку критического пути на основе его RC-параметров, но главным недостатком такого подхода оставалась сложность интеграции ПО в маршрут проектирования.
Поскольку LB-блок сам по себе является достаточно сложным устройством, мы будем рассматривать его в уже сконфигурированном варианте, когда блок выполняет заранее известную логическую функцию. В данной работе для оценки быстродействия предлагается заранее в автоматизированном режиме подготовить набор нетлистов с паразитными элементами для каждого варианта конфигурации LB-блоков с разным количеством конструктивов, подключенных к активным сигнальным входам, как показано на рис. 3, и провести характеризацию для случая, когда ключи открыты. Наличие такой информации позволит проводить оценку быстродействия на базе маршрута с использованием Liberty-файлов, SDF-файлов и Verilog-описания. В частности, синтез может выполняться в базисе традиционной библиотеки, после чего готовый нетлист может модифицироваться с учетом информации об архитектуре ПЛИС: ячейки подменяются функциональными аналогами с актуализированной информацией о временных и мощностных параметрах. Таким образом, становится возможным учитывать вклад исследуемых конструктивов во временные и мощностные параметры дизайна на этапе логического синтеза и при необходимости вносить изменения.
К преимуществам предлагаемого метода стоит отнести относительную простоту и прозрачность интеграции в сквозной маршрут проектирования, а к недостаткам — необходимость классификации возможных вариантов выполнения LB-блоков в комплексе с конструктивами трассировки (SB/CB) и большой объем работ по характеризации полученных нетлистов.
Новыми по итогам данной работы являются следующие положения и результаты:
логические блоки были рассмотрены в совокупности с архитектурой трассировки;
разработан автоматизированный маршрут подготовки исходных данных и характеризации логических блоков ПЛИС;
предлагаемый подход позволил оценить вклад конструктивов трассировки во временные и мощностные характеристики готового устройства на этапе логического проектирования.
ЛИТЕРАТУРА
1. Красников Г. Я., Орлов О. М. Отличительные особенности и проблемы КМОП-технологии при уменьшении проектной нормы до уровня 0,18 мкм и меньше. // Российские нанотехнологии, 2008. — Т. 3, № 7–8. — С. 124–128.
2. Muhammad Khellah, Stephen Brown and Zvonko Vranesic. Modelling Routing Delays in SRAM-based FPGAs. Department of Electrical and Computer Engineering University of Toronto, 1996.
3. Brown Stephen and Rose J. Architecture of FPGAs and CPLDs: A Tutorial. IEEE Design and Test of Computers. Vol. 13, № 2, pp. 42–57, 1996.
4. Rubinstein J., Penfield P. and Horowitz M. Signal Delay in RC Tree Networks. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. CAD-2, № 3, July 1983.
5. Deng A. C. and Shiau Y. C. Generic Linear RC Delay Modeling for Digital CMOS Circuits. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. 9, № 4, April 1990.
6. Pillage L. T. and Rohrer R. A. Asymptotic Waveform Evaluation for Timing Analysis, IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. 9, № 4, April 1990.
На рис. 1 не показано детально, как выполняются межсоединения, на рис. 2 показаны возможные варианты выполнения межсоединений при помощи проходных вентилей и ключей.
В качестве иллюстрации логических блоков на рис. 1 и 3 показаны программируемые логические блоки (CLB), которые в дальнейшем будем называть логическими блоками (LB) вне зависимости от их конкретного исполнения (LE, CLB, CPLD). В работе [2] авторы рассматривают ключи и проходные транзисторы как пассивные RC-компоненты, для которых строится аналитическая модель задержки. Авторы отвечают на следующие вопросы: как моделировать «открытый» ключ, как моделировать «закрытый» ключ и как оценивать вклад исследуемого компонента в паразитные параметры межсоединений. Данный подход показал хорошую точность, однако не лишен некоторых недостатков: его сравнительно сложно интегрировать в сквозной маршрут проектирования, оценка быстродействия выполняется на этапе разводки кристалла, вследствие чего вклад исследуемых элементов не учитывается на предшествующих этапах маршрута.
Для оценки быстродействия на этапе синтеза используются заранее характеризованные Liberty-файлы, в которых содержится информация о временных и мощностных параметрах LB-блоков.
Учет быстродействия исследуемых компонентов в маршруте проектирования осложняется двумя проблемами. Первая проблема обусловлена конструкцией: входная емкость нелинейно зависит от нагрузочной и меняется в зависимости от конкретных значений длины и ширины каналов составляющих его транзисторов. Вторая проблема — отсутствие маршрута характеризации и оценки быстродействия из-за необходимости учитывать не только параметры самого конструктива, но и его подключение к LB.
В отличие от заказных схем, ПЛИС строятся по заранее заданной архитектуре. Это позволяет, с одной стороны, заранее ограничить множество конструктивов (ключи, проходные вентили, инверторы, буферы, тристабильные буферы, мультиплексоры и прочее), которые используются для трассировки межсоединений, с другой — оценить количество конструктивов, присоединяемых к входам LB-блока. Для этого блок рассматривается в совокупности с используемой архитектурой трассировки, как показано на рис. 3.
Для иллюстрации влияния конструктивов на характеристики отдельной ячейки обратимся к табл. 1: к входам LB, выполняющим функцию инвертора c суффиксом «_sw», присоединяются одинаковые конструктивы в виде проходного вентиля (WN = Wmin, WP/WN = 2).
Как видно из табл. 1, наличие конструктива может по-разному влиять на характеристики ячеек в зависимости от их собственных параметров, но в среднем приводит к существенному ухудшению характеристик: задержка и длительность фронта возрастают в среднем в полтора раза, что приводит к ухудшению характеристик готового устройства. Таким образом, в зависимости от конкретного исполнения блоков SB/CB их влияние на производительность конечного устройства может быть весьма значительным.
В ряде работ [2–6] были предприняты попытки найти аналитическую зависимость задержки, вносимой конструктивом в общую задержку критического пути на основе его RC-параметров, но главным недостатком такого подхода оставалась сложность интеграции ПО в маршрут проектирования.
Поскольку LB-блок сам по себе является достаточно сложным устройством, мы будем рассматривать его в уже сконфигурированном варианте, когда блок выполняет заранее известную логическую функцию. В данной работе для оценки быстродействия предлагается заранее в автоматизированном режиме подготовить набор нетлистов с паразитными элементами для каждого варианта конфигурации LB-блоков с разным количеством конструктивов, подключенных к активным сигнальным входам, как показано на рис. 3, и провести характеризацию для случая, когда ключи открыты. Наличие такой информации позволит проводить оценку быстродействия на базе маршрута с использованием Liberty-файлов, SDF-файлов и Verilog-описания. В частности, синтез может выполняться в базисе традиционной библиотеки, после чего готовый нетлист может модифицироваться с учетом информации об архитектуре ПЛИС: ячейки подменяются функциональными аналогами с актуализированной информацией о временных и мощностных параметрах. Таким образом, становится возможным учитывать вклад исследуемых конструктивов во временные и мощностные параметры дизайна на этапе логического синтеза и при необходимости вносить изменения.
К преимуществам предлагаемого метода стоит отнести относительную простоту и прозрачность интеграции в сквозной маршрут проектирования, а к недостаткам — необходимость классификации возможных вариантов выполнения LB-блоков в комплексе с конструктивами трассировки (SB/CB) и большой объем работ по характеризации полученных нетлистов.
Новыми по итогам данной работы являются следующие положения и результаты:
логические блоки были рассмотрены в совокупности с архитектурой трассировки;
разработан автоматизированный маршрут подготовки исходных данных и характеризации логических блоков ПЛИС;
предлагаемый подход позволил оценить вклад конструктивов трассировки во временные и мощностные характеристики готового устройства на этапе логического проектирования.
ЛИТЕРАТУРА
1. Красников Г. Я., Орлов О. М. Отличительные особенности и проблемы КМОП-технологии при уменьшении проектной нормы до уровня 0,18 мкм и меньше. // Российские нанотехнологии, 2008. — Т. 3, № 7–8. — С. 124–128.
2. Muhammad Khellah, Stephen Brown and Zvonko Vranesic. Modelling Routing Delays in SRAM-based FPGAs. Department of Electrical and Computer Engineering University of Toronto, 1996.
3. Brown Stephen and Rose J. Architecture of FPGAs and CPLDs: A Tutorial. IEEE Design and Test of Computers. Vol. 13, № 2, pp. 42–57, 1996.
4. Rubinstein J., Penfield P. and Horowitz M. Signal Delay in RC Tree Networks. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. CAD-2, № 3, July 1983.
5. Deng A. C. and Shiau Y. C. Generic Linear RC Delay Modeling for Digital CMOS Circuits. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. 9, № 4, April 1990.
6. Pillage L. T. and Rohrer R. A. Asymptotic Waveform Evaluation for Timing Analysis, IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems. Vol. 9, № 4, April 1990.
Отзывы читателей