Project

General

Profile

EFSM Building (Related Work) » History » Revision 7

Revision 6 (Sergey Smolov, 03/27/2017 07:30 PM) → Revision 7/40 (Sergey Smolov, 03/28/2017 11:04 AM)

h1. EFSM Building (Related Work) 

 Алгоритмы извлечения EFSM-моделей из исходного кода HDL-описаний. 

 h2. Cheng, Krishnakumar 1996 

 На вход алгоритму подается описание на языках VHDL или C (BESTMAP-C - см. Jou, J-Y., Rothweiler, S., Ernst, R., Sutarwala, SUTARWALA, S., and Prabhu, A. 1989. BESTMAP: Behavioral Synthesis from C. In International Workshop on Logic Synthesis (Research Triangle Park, NC, May).) 

 *Шаг 1* 
 Промежуточное представление кода строится с помощью AT & T Behaviour Synthesis System. По синхронной части кода (synchronous section) строится _дерево операторов_ (statement tree) _T_. tree). Листовыми вершинами дерева являются базовые блоки (последовательности присваиваний). Ветви дерева снабжены атрибутами. Атрибуты - это выражения булева типа, соответствующие ветвям условных операторов в исходном коде. Не указано, каким образом выбираются переменные состояния (state variables), однако на *Шаге 3* они считаются уже определенными. 

 *Шаг 2* 
 Строится список всех возможных комбинаций условий на входные сигналы. Условия извлекаются из дерева операторов. Извлеченные комбинации проходят процедуру _ортогонализации_, такую, что каждая исходная комбинация оказывается представимой в виде суперпозиции нескольких ортогональных условий. В результате строится множество ортогонализованных условий _I_. I. 

 *Шаг 3* 
 Предыдущий шаг повторяется для всех условий, содержащих переменные состояния. В результате строится множество ортогонализованных условий _C_. 

 *Шаг 4* 
 Собственно, построение EFSM по дереву T, и множествам C и I. 

 *Шаг 5* 
 Стабилизация переходов EFSM-модели. 
 При построении допускаются так называемые _частично стабильные переходы_ (semi-stable transitions). В таких переходах 1) действия (update functions) имеют вид x := x + c, где c - константа, а x - переменная состояния; 2) мощность множества конечных вершин равна 2; 3) одной из конечных вершин является начальная вершина, т.е. имеется цикл. В статье показывается, что для таких вершин в процессе обхода можно вычислить количество итераций, которое потребуется, чтобы выйти из цикла. Утверждается, что это допущение сокращает потребление вычислительных ресурсов (времени и памяти), по сравнению с алгоритмом _стабилизации_. C.