Project

General

Profile

Actions

Task #4466

closed

[vhdl][parser][cfg] преобразование IGSequentialWait

Added by Sergey Smolov over 11 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
09/11/2013
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Published in build:
20150307

Description

Каждый объект IGSequentialWait, соответствующий wait-конструкции языка VHDL, должен быть преобразован в отдельный Process по следующему "алгоритму":

1) CFG процесса, в котором обнаружена wait-конструкция, должен быть дополнен инструкцией вида "x=1";

2) Создается новый Process, SensitivityList которого содержит Event из условия, заданного в wait-конструкции;

3) Проводится корректное "расщепление" оставшейся части кода процесса. При этом особое внимание нужно уделять циклам и внешним условным операторам. Возможно дублирование кода.
В самом простом случае весь оставшийся код помещается в CFG нового процесса.


Related issues 1 (0 open1 closed)

Related to Retrascope - Task #5173: [cfg] Поддержка WaitStatement в CFGClosedSergey Smolov07/30/2014

Actions
Actions #1

Updated by Sergey Smolov about 11 years ago

Вместо пп.1-2 вводится причинно-следственная связь между процессами. Каждый процесс содержит указатель execAfter на процесс, исполнение которого должно быть завершено перед началом исполнения данного.

В случае нахождения wait-конструкции в одной из ветвей B1 условного блока исходный процесс P расщепляется на три процесса: P1, P2, P3. P1 содержит часть ветви B1 ДО wait-конструкции, P2 - часть ветви B1 ПОСЛЕ wait-конструкции, P3 - остальную часть кода P. При этом должны быть корректно модифицированы условия для оставшихся ветвей условного блока, а также создано условие guard для P1.

Actions #2

Updated by Alexander Kamkin over 10 years ago

  • Subject changed from преобразование IGSequentialWait to [vhdl][translator] преобразование IGSequentialWait
  • Target version set to 0.1
Actions #3

Updated by Alexander Kamkin over 10 years ago

  • Subject changed from [vhdl][translator] преобразование IGSequentialWait to [vhdl][parser] преобразование IGSequentialWait
Actions #4

Updated by Alexander Kamkin over 10 years ago

  • Subject changed from [vhdl][parser] преобразование IGSequentialWait to [vhdl][parser][cfg] преобразование IGSequentialWait
Actions #5

Updated by Sergey Smolov over 10 years ago

  • Target version changed from 0.1 to 0.2

Задача связана с #5173

Actions #6

Updated by Sergey Smolov almost 10 years ago

  • Status changed from New to Open
Actions #7

Updated by Sergey Smolov almost 10 years ago

  • Status changed from Open to Resolved
  • % Done changed from 0 to 100

CfgWaitBackend реализован (r1642).

Actions #8

Updated by Sergey Smolov almost 10 years ago

  • Status changed from Resolved to Verified
Actions #9

Updated by Sergey Smolov almost 10 years ago

  • Status changed from Verified to Closed
  • Published in build set to 20150307
Actions

Also available in: Atom PDF