Developer Request #5079
closed
Средства обновления переменных модуля
Added by Mikhail Chupilko over 10 years ago.
Updated over 10 years ago.
Description
Если у меня в модуль добавлена переменная типа "register", а потом она встречается в коде в качестве "output", необходимо обновить ее определение в модуле. Предполагаю делать это заменой типа в определении в модуле на "output", хотя правильнее было бы делать объединение типов. Средств ни для обновления, ни для объединения типов сейчас нет, а было бы желательно их иметь.
- Subject changed from Средства обновления переменных модуля to [cfg] Средства обновления переменных модуля
- Target version set to 0.1
Не забывайте указывать тэг и номер версии.
Обновлять типы переменных - не задача CFG.
- Project changed from Retrascope to Verilog Translator
- Subject changed from [cfg] Средства обновления переменных модуля to Средства обновления переменных модуля
- Assignee changed from Sergey Smolov to Mikhail Chupilko
- Target version changed from 0.1 to 0.1
Реализована следующая схема. У каждой декларации есть множество тезок - деклараций с тем же именем. Добавлять декларацию в CFG нужно, если выполнено одно из следующих условий:
- у декларации нет тезок;
- у декларации есть тезки, но декларация имеет тип
OUTPUT
или INOUT
.
final Set<Declaration> namesakes = declaration.getNamesakes();
if (namesakes.isEmpty() || declaration.isOutput() || declaration.isInout()) {
cfg.addVariable(createVariable(declaration));
}
- Status changed from New to Resolved
- Assignee changed from Mikhail Chupilko to Alexander Kamkin
- Status changed from Resolved to Closed
Also available in: Atom
PDF