Bug #5595
closed[efsm] [transition] Переход с несовместимостью между действием и конечным состоянием в b10
100%
Description
Из b10 извлекается такой переход: {source state: (AND (AND (AND (AND (AND (NOT (EQ STATO 0)) (NOT (EQ STATO 1))) (NOT (EQ STATO 2))) (NOT (EQ STATO 3))) (NOT (EQ STATO 4))) (EQ STATO 5)); destination state: (EQ STATO 0); guarded action: {{posedge of CLOCK}: {predicate: (AND (AND (NOT (EQ RESET 1)) (EQ RTS 0)) (EQ BLOCK_STATO_1 0))}->{{assignment: BLOCK_CTR_0 := 1; assignment: BLOCK_STATO_1 := 6; assignment: CTR := BLOCK_CTR_0; assignment: STATO := BLOCK_STATO_1}}}}
Его конечное состояние описывается условием (EQ STATO 0), однако его действие присваивает переменной STATO значение 6: {assignment: BLOCK_STATO_1 := 6; assignment: STATO := BLOCK_STATO_1}
Также у меня вопрос по предикату. Это нормально, что он включает в себя (EQ BLOCK_STATO_1 0)? Я думал, переменные вроде BLOCK_STATO_1 используются только в качестве буфера при присваиваниях.
Updated by Sergey Smolov almost 10 years ago
- Status changed from New to Open
Ошибка в реализации метода обратных подстановок.
Updated by Sergey Smolov almost 10 years ago
- % Done changed from 0 to 50
"Часть ошибки" присутствовала также и в бэкэнде для базовых блоков - они объединялись независимо от значений флага isConcurrent.
Это исправлено в r1514.
Updated by Sergey Smolov almost 10 years ago
- % Done changed from 50 to 80
r1519 - поправлена обработка переменных LOGIC-типов (кроме MAP) и битово-векторных в реализации метода обратных подстановок.
Updated by Sergey Smolov almost 10 years ago
- Status changed from Open to Resolved
- % Done changed from 80 to 100
- Published in build set to r1524
Updated by Igor Melnichenko almost 10 years ago
- Status changed from Resolved to Verified
Updated by Sergey Smolov almost 10 years ago
- Status changed from Verified to Closed
- Published in build changed from r1524 to 20150307