15
Перепроектирование ПЛИС на основе трансформации моделей Д.И. Черемисинов Объединенный институт проблем информатики НАН Беларуси , Минск [email protected]

Перепроектирование ПЛИС на основе трансформации моделей

  • Upload
    lobo

  • View
    80

  • Download
    0

Embed Size (px)

DESCRIPTION

Перепроектирование ПЛИС на основе трансформации моделей. Д.И. Черемисинов Объединенный институт проблем информатики НАН Беларуси , Минск [email protected]. Перепроектирование в цикле проектирования заказной СБИС. Возможна итерация. Проектирование и верификация. Готовая СБИС. - PowerPoint PPT Presentation

Citation preview

Page 1: Перепроектирование ПЛИС на основе  трансформации моделей

Перепроектирование ПЛИС на основе

трансформации моделей

Д.И. Черемисинов Объединенный институт проблем

информатики НАН Беларуси , Минск[email protected]

Page 2: Перепроектирование ПЛИС на основе  трансформации моделей
Page 3: Перепроектирование ПЛИС на основе  трансформации моделей

Спецификация

Проектирование и верификация

Кремневый прототип

Интеграция в устройство Выпуск

Готовая СБИС

"Замораживание проектирования" - это пункт планирования процессе проектирования, после которого изменения в проекте приведут к задержке вхождения в производственную фазу.

Возможна итерация

Декомпиляция

2 года

9 месяцев

Уменьшаются невосполнимые затраты (NRE)

Перепро-ектирование

FPGA

FPGA

FPGA

ПЛИС

ПЛИС

Перепроектирование в цикле проектирования заказной СБИС

Page 4: Перепроектирование ПЛИС на основе  трансформации моделей

Декомпиляция FPGA

Структурноеописание

FPGA Файл программирования

производственный секрет Xilinx

Другое структурноеописание

Синтез

NCD

Декомпиляция

Файл XDL

Текстовый формат – официального описания

нет

VHDL

ЗаказнаяСБИС Маршрут

перепроектирования

Page 5: Перепроектирование ПЛИС на основе  трансформации моделей

Проектирование заказной СБИСперепроектированием FPGA

VHDL

XDL

VHDL

XDL

XDLUnpac

Netgen Simulation

Synthesis

Xilinx tools

+ Simprim

Page 6: Перепроектирование ПЛИС на основе  трансформации моделей

Проектирование, управляемое моделями

Модель A на языке LA

Документ XA

Модель Bна языке LB

Документ XB

ТрансформерСистема переписывания графов

Знания

OMG

Page 7: Перепроектирование ПЛИС на основе  трансформации моделей

Декомпиляция программирования FPGA

Тип элемента

Имя элемента

Исходное описание в формате XDL

Результат декомпиляции на языке VHDL

Система переписывания графов

Page 8: Перепроектирование ПЛИС на основе  трансформации моделей

Анализ XDL

Исходное описание в формате XDL

Распаковка

Оценивание

Примитивы изXDLRC

Примитивы изXDLRC

EDIF

Структура в памяти

VHDL

I3

I1I2

I0

O

I3

I1I2

I0

O D Q

SET

RST

CE

D Q

SET

RST

CE

Подстановка графов в процессе

перепроектирования

Page 9: Перепроектирование ПЛИС на основе  трансформации моделей

Правило переписывания графов

Модель описания Spartan 3 на XDL

User-design netlist FPGA fabric netlist

Page 10: Перепроектирование ПЛИС на основе  трансформации моделей

Подстановка графов

Подстановка p: L→R состоит из шаблонного графа L (левой части правила), замещающего графа R (правой части правила) и частичного графового гомоморфизма → между L и R.

Замена

Правило применения подстановки - семантика

Левая часть

Правая часть

Page 11: Перепроектирование ПЛИС на основе  трансформации моделей

Семантика приклеивания

Исходный граф Остаток после удаления gihost

Результат применения подстановки

Приклеиваемые вершины закрашены

Page 12: Перепроектирование ПЛИС на основе  трансформации моделей

Подстановка графов

I0

I1

S

0

0

S

S_B

OUT

OUT

OUT

I0_USED

I1_USED

SINV

I0

I1

S

OUT

GCLKMUX

IN OUT O

CLK_BUFFER

BUFGMUXI0

S

OI1

Образец Действие – семантикаприклеивания

Формируется по файлу отчета

CLK

circ1/Q

CLK

CLK

CLK

circ2/Q

circ3/Q

circ4/Q

BUFGMUXI0

S

Oclk

VCC

clk_BUFGP/IBUFG

GLOBAL_LOGIC1_0clk_BUFGP

clk_BUFGP/BUFG

I0

S

0

0

S

S_B

OUT

OUT

OUT

I0_USED

I1_USED

SINV

I0

I1S

OUT

GCLKMUX

IN OUT O

CLK_BUFFER

clk

VCC

clk_BUFGP/IBUFG

CLK

circ1/Q

CLK

CLK

CLK

circ2/Q

circ3/Q

circ4/Q

clk_BUFGP

Склеиваются

Удаляется

GLOBAL_LOGIC1_0

Исходный фрагмент схемы Распаковка XDL

(primitive_def BUFGMUX 4 11(pin I0 I0 input)(pin I1 I1 input)(pin S S input)(pin O O output)(element O 1

(pin O input)(conn GCLK_BUFFER OUT ==> O O)

)(element I1 1

(pin I1 output)(conn I1 I1 ==> I1_USED 0)

)(element S 1

(pin S output)(conn S S ==> SINV S_B)(conn S S ==> SINV S)

)(element SINV 3

(pin S_B input)(pin S input)(pin OUT output)(cfg S_B S)(conn SINV OUT ==> GCLKMUX S)(conn S S ==> SINV S_B)(conn S S ==> SINV S)

)(element I0 1

(pin I0 output)(conn I0 I0 ==> I0_USED 0)

)(element GCLK_BUFFER 2

(pin IN input)(pin OUT output)(conn GCLK_BUFFER OUT ==> O O)(conn GCLKMUX OUT ==> GCLK_BUFFER IN)

)

Выводыродительскогоблока

Эл

ементы

потомки

показано6 и

з11 потом

ков Выводы блокапотомка

Соединенияблока потомка

Программирование

Имя типа родительского блока

Имя типаблока

потомка

Подстановка

Результат

Page 13: Перепроектирование ПЛИС на основе  трансформации моделей

Построение правила переписывания по

FPGA fabric netlist

Pattern

Replacementgraph

Page 14: Перепроектирование ПЛИС на основе  трансформации моделей

Распаковка макроячейки – формирование

правой части правилаBX

CLK

F

G

F1

F2

F3

F4

G1

G2

G3

G4

XQ

F5MUX

FFX

inst "circ3/Q" "SLICEL",placed R1C19 SLICE_X37Y95 , cfg " BXINV::BX BYINV::#OFF CEINV::#OFF CLKINV::CLK COUTUSED::#OFF CY0F::#OFF CY0G::#OFF CYINIT::#OFF CYSELF::#OFF CYSELG::#OFF DXMUX::1 DYMUX::#OFF F:circ0/circ1/d31:#LUT:D=(A1*(A4*(~A3+~A2))) F5USED::#OFF FFX:circ3/Q:#FF FFX_INIT_ATTR::INIT0 FFX_SR_ATTR::SRLOW FFY::#OFF FFY_INIT_ATTR::#OFF FFY_SR_ATTR::#OFF FXMUX::F5 FXUSED::#OFF G:circ0/circ1/d32:#LUT:D=((~A3*(A4*A1))+(A3*((~A2*(A4*A1))+(A2*(A4+A1))))) GYMUX::#OFF REVUSED::#OFF SRINV::#OFF SYNC_ATTR::ASYNC XBUSED::#OFF XUSED::#OFF YBUSED::#OFF YUSED::#OFF F5MUX:circ0/circ1/d3_f5: " ;

Фрагмент исходного файла XDL

Результат распаковки

LUT

ФункцияLUT

Подстановка

Page 15: Перепроектирование ПЛИС на основе  трансформации моделей

Структура алгоритма XDLUnpac

Анализ XDL

Исходное описаниев формате XDL

Распаковка

Оценивание

Примитивы изXDLRC

Примитивы изXDLRC

EDIF

Структура в памяти

EDIF

I3

I1I2

I0

O

I3

I1I2

I0

O D Q

SET

RST

CE

D Q

SET

RST

CE

(primitive_def BUFGMUX 4 11(pin I0 I0 input)(pin I1 I1 input)(pin S S input)(pin O O output)(element O 1

(pin O input)(conn GCLK_BUFFER OUT ==> O O)

)(element I1 1

(pin I1 output)(conn I1 I1 ==> I1_USED 0)

)(element S 1

(pin S output)(conn S S ==> SINV S_B)(conn S S ==> SINV S)

)(element SINV 3

(pin S_B input)(pin S input)(pin OUT output)(cfg S_B S)(conn SINV OUT ==> GCLKMUX S)(conn S S ==> SINV S_B)(conn S S ==> SINV S)

)(element I0 1

(pin I0 output)(conn I0 I0 ==> I0_USED 0)

)(element GCLK_BUFFER 2

(pin IN input)(pin OUT output)(conn GCLK_BUFFER OUT ==> O O)(conn GCLKMUX OUT ==> GCLK_BUFFER IN)

)

Выводыродительскогоблока

Эл

ементы

потомки

показано6 и

з11 потом

ков Выводы блокапотомка

Соединенияблока потомка

Программирование

Имя типа родительского блока

Имя типаблока

потомка

VHDL