Project

General

Profile

Task #4466

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

Added by Sergey Smolov about 7 years ago. Updated over 5 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

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

Actions

History

#1

Updated by Sergey Smolov almost 7 years ago

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

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

#2

Updated by Alexander Kamkin over 6 years ago

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

Updated by Alexander Kamkin over 6 years ago

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

Updated by Alexander Kamkin about 6 years ago

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

Updated by Sergey Smolov about 6 years ago

  • Target version changed from 0.1 to 0.2

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

#6

Updated by Sergey Smolov over 5 years ago

  • Status changed from New to Open
#7

Updated by Sergey Smolov over 5 years ago

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

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

#8

Updated by Sergey Smolov over 5 years ago

  • Status changed from Resolved to Verified
#9

Updated by Sergey Smolov over 5 years ago

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

Also available in: Atom PDF