EFSM Building (Related Work) » History » Revision 6
Revision 5 (Sergey Smolov, 03/26/2017 06:50 PM) → Revision 6/40 (Sergey Smolov, 03/27/2017 07:30 PM)
h1. EFSM Building (Related Work)
Алгоритмы извлечения EFSM-моделей из исходного кода HDL-описаний.
h2. Cheng, Krishnakumar 1996
На вход алгоритму подается описание на языках VHDL или C (BESTMAP-C - см. Jou, J-Y., Rothweiler, S., Ernst, R., SUTARWALA, S., and Prabhu, A. 1989. BESTMAP: Behavioral Synthesis from C. In International Workshop on Logic Synthesis (Research Triangle Park, NC, May).)
*Шаг 1*
По синхронной части кода (synchronous section) строится _дерево операторов_ (statement tree). Листовыми вершинами дерева являются базовые блоки (последовательности присваиваний). Ветви дерева снабжены атрибутами. Атрибуты - это выражения булева типа, соответствующие ветвям условных операторов в исходном коде. Не указано, каким образом выбираются переменные состояния (state variables), однако на *Шаге 3* они считаются уже определенными.
*Шаг 2*
Строится список всех возможных комбинаций условий на входные сигналы. Условия извлекаются из дерева операторов. Извлеченные комбинации проходят процедуру _ортогонализации_, такую, что каждая исходная комбинация оказывается представимой в виде суперпозиции нескольких ортогональных условий. В результате строится множество ортогонализованных условий I.
*Шаг 3*
Предыдущий шаг повторяется для всех условий, содержащих переменные состояния. В результате строится множество ортогонализованных условий C.