Actions
Task #5061
closed[verilog][parser][cfg] Обработка конструкции непрерывного присваивания assign
Start date:
07/14/2014
Due date:
07/18/2014
% Done:
0%
Estimated time:
Detected in build:
svn
Published in build:
Description
Для записи assign x = expr(x1, x2, ..., xn)
нужно создавать процесс:
always @(x1, x2, ..., xn)
begin
x <= expr(x1, x2, ..., xn);
end
Updated by Mikhail Chupilko over 10 years ago
- Status changed from New to Open
Процесс отдельный создавался и создается. Есть технический вопрос по получению переменных из assignStatement.
Updated by Alexander Kamkin over 10 years ago
final Assignment assignment = assignStatement.getAssignment();
// Множество переменных, входящих в правую часть присваивания.
final Set<NodeVariable> useVars = assignment.getUsedVariables();
// Множество переменных, входящих в левую часть присваивания.
final Set<NodeVaraible> defVars = assignment.getDefinedVariables();
Updated by Mikhail Chupilko over 10 years ago
В методе getUsedVariables не учитывается, что значения, возвращаемые getMinExpression(), getTypExpression(), getMaxExpression() могут быть null и у них нельзя брать getVariables(). Соответственно, при вызове getUsedVariables падаем с nullPointerException. Сейчас использую получение переменных только у getMinExpression().
Updated by Alexander Kamkin over 10 years ago
- Status changed from Resolved to Closed
Actions