Open-Source Projects: Issueshttps://forge.ispras.ru/https://forge.ispras.ru/favicon.ico?16490126692015-01-22T11:55:30ZOpen-Source Projects
Redmine Verilog Translator - Bug #5567 (Closed): VerilogStaticChecker.ExpressionVisitor is not abstract a...https://forge.ispras.ru/issues/55672015-01-22T11:55:30ZSergey Smolovsmolov@ispras.ru
<p>$ ant<br />Buildfile: /home/ssedai/projects/veritrans.svn/veritrans/build.xml</p>
<p>init:</p>
<p>parser:<br /> [echo] antlr VerilogLexer.g<br /> [echo] antlr VerilogParser.g<br /> [echo] antlr VerilogTreeBuilder.g</p>
<p>build:<br /> [javac] Compiling 50 source files to /home/ssedai/projects/veritrans.svn/veritrans/bin/main<br /> [javac] /home/ssedai/projects/veritrans.svn/veritrans/src/main/java/ru/ispras/verilog/parser/processor/VerilogStaticChecker.java:68: error: VerilogStaticChecker.ExpressionVisitor is not abstract and does not override abstract method getOperandOrder() in ExprTreeVisitor<br /> [javac] private final class ExpressionVisitor implements ExprTreeVisitor {<br /> [javac] ^<br /> [javac] 1 error</p>
<p>BUILD FAILED<br />/home/ssedai/projects/veritrans.svn/veritrans/build.xml:91: Compile failed; see the compiler error output for details.</p> Retrascope - Task #5526 (Rejected): Retrascope engines configurationhttps://forge.ispras.ru/issues/55262014-12-24T14:34:26ZSergey Smolovsmolov@ispras.ru
<p>Implement a registration of external engines by addition of their class names to special configuration file.<br />Use classloader to registering them into main class.</p> Verilog Translator - Bug #5492 (Closed): retrascope + sapic.v = java.lang.IllegalStateException: ...https://forge.ispras.ru/issues/54922014-12-12T11:58:53ZSergey Smolovsmolov@ispras.ru
<p>Running the HDL Retrascope tool with the following parameters:</p>
<p>--target efsm /home/ssedai/projects/retrascope-internals.svn/tests/verilog/test_001/sapic.v</p>
<p>causes an error:</p>
<p>[log]</p>
<p>java.lang.IllegalStateException: Operand is not a constant integer value: 00000000000000000000000000000011<br /> at ru.ispras.fortress.expression.NodeOperation.getDataType(NodeOperation.java:151)<br /> at ru.ispras.fortress.expression.NodeOperation.getDataType(NodeOperation.java:141)<br /> at ru.ispras.fortress.expression.NodeOperation.getDataType(NodeOperation.java:141)<br /> at ru.ispras.fortress.expression.NodeOperation.getDataType(NodeOperation.java:141)<br /> at ru.ispras.retrascope.parser.verilog.VerilogCfgBuilder.parseAssignment(VerilogCfgBuilder.java:478)<br /> at ru.ispras.retrascope.parser.verilog.VerilogCfgBuilder.onAssignStatementBegin(VerilogCfgBuilder.java:680)<br /> at ru.ispras.verilog.parser.processor.VerilogGenerateProcessor.onAssignStatementBegin(Unknown Source)<br /> at ru.ispras.verilog.parser.walker.VerilogNodeVisitor$3.onBegin(Unknown Source)<br /> at ru.ispras.verilog.parser.walker.VerilogNodeVisitor.onBegin(Unknown Source)<br /> at ru.ispras.verilog.parser.core.TreeWalker.onBegin(Unknown Source)<br /> at ru.ispras.verilog.parser.core.TreeWalker.start(Unknown Source)<br /> at ru.ispras.verilog.parser.VerilogBackend.start(Unknown Source)<br /> at ru.ispras.verilog.parser.VerilogBackends.start(Unknown Source)<br /> at ru.ispras.verilog.parser.VerilogTranslator.start(Unknown Source)<br /> at ru.ispras.retrascope.parser.verilog.VerilogParser.parse(VerilogParser.java:88)<br /> at ru.ispras.retrascope.parser.basis.HDLParser.start(HDLParser.java:61)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:199)<br /> at ru.ispras.retrascope.basis.ToolChain.start(ToolChain.java:106)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:199)<br /> at ru.ispras.retrascope.Retrascope$Run.start(Retrascope.java:115)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:325)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:346)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br /> at java.lang.reflect.Method.invoke(Method.java:606)<br /> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)<br />2014.12.12 14:46:01.833. ERROR: The exception has been encountered: java.lang.NullPointerException<br /> at ru.ispras.retrascope.basis.Engine.runBackends(Engine.java:253)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:201)<br /> at ru.ispras.retrascope.basis.ToolChain.start(ToolChain.java:106)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:199)<br /> at ru.ispras.retrascope.Retrascope$Run.start(Retrascope.java:115)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:325)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:346)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br /> at java.lang.reflect.Method.invoke(Method.java:606)<br /> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)</p>
<p>[/log]</p> Verilog Translator - Task #5455 (Closed): устранить зависимость от ANTLRWorkshttps://forge.ispras.ru/issues/54552014-11-28T12:34:58ZSergey Smolovsmolov@ispras.ru
<p>Необходимо устранить зависимость инструмента от библиотеки ANTLRWorks. Будет правильнее, если инструмент будет зависеть от ANTLR, а не от GUI-среды, предоставляющей средства редактирования грамматик.<br />Сам jar-архив с ANTLRWorks в проекте можно оставить, если хочется его постоянно иметь под рукой.</p> Retrascope - Bug #5404 (Closed): [verilog][parser][cfg] java.lang.IllegalArgumentException: Unsup...https://forge.ispras.ru/issues/54042014-11-02T12:15:20ZSergey Smolovsmolov@ispras.ru
<p>Running: verilog-parser<br />Options: {v=[D:\Sergey\projects\retrascope.svn\trunk\retrascope\src\test\verilog\ram\ram.v], args=D:\Sergey\projects\retrascope.svn\trunk\retrascope\src\test\verilog\ram\ram.v --target efsm --engine cgaa-efsm-transformer}<br />2014.11.02 14:02:28.860. INFO: Start observing module ram.<br />2014.11.02 14:02:28.860. INFO: add variable clk [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.861. INFO: add variable rst [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.862. INFO: add variable val_rd [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.862. INFO: add variable val_wr [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.863. INFO: add variable addr_in [(BIT_VECTOR 2)] (Data[type=(BIT_VECTOR 2), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.864. INFO: add variable data_in [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.864. INFO: add variable val_out [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.865. INFO: add variable data_out [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.866. INFO: add variable is_ready [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.866. INFO: add variable mem0 [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.867. INFO: add variable mem1 [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.868. INFO: add variable mem2 [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.868. INFO: add variable mem3 [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.869. INFO: add variable result [(BIT_VECTOR 32)] (Data[type=(BIT_VECTOR 32), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.870. INFO: add variable state [(BIT_VECTOR 2)] (Data[type=(BIT_VECTOR 2), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.871. INFO: add variable RAM_IDLE [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.875. INFO: add variable RAM_READ [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.876. INFO: add variable RAM_WRITE [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />2014.11.02 14:02:28.877. INFO: add variable RAM_RESULT [(BIT_VECTOR 1)] (Data[type=(BIT_VECTOR 1), value=uninitialized]) to module ram.<br />Storing: cfg</p>
<p>Running: cfg-cgaa-transformer<br />Options: {args=D:\Sergey\projects\retrascope.svn\trunk\retrascope\src\test\verilog\ram\ram.v --target efsm --engine cgaa-efsm-transformer, cfg=<cfg>}<br />Storing: cgaa</p>
<p>Running: cgaa-efsm-transformer<br />Options: {cgaa=<cgaa>, args=D:\Sergey\projects\retrascope.svn\trunk\retrascope\src\test\verilog\ram\ram.v --target efsm --engine cgaa-efsm-transformer}<br />2014.11.02 14:02:28.888. ERROR: The exception has been encountered: java.lang.IllegalArgumentException: Unsupported data type: UNKNOWN<br /> at ru.ispras.fortress.solver.engine.z3.SMTStrings.textForData(SMTStrings.java:147)<br /> at ru.ispras.fortress.solver.engine.z3.SMTTextBuilder.onValue(SMTTextBuilder.java:303)<br /> at ru.ispras.fortress.solver.engine.z3.SMTTextBuilder.onValue(SMTTextBuilder.java:282)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitValue(ExprTreeWalker.java:209)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:152)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitOperation(ExprTreeWalker.java:192)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:160)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitOperation(ExprTreeWalker.java:192)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:160)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitOperation(ExprTreeWalker.java:192)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:160)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visit(ExprTreeWalker.java:127)<br /> at ru.ispras.fortress.expression.ExprTreeWalker.visit(ExprTreeWalker.java:100)<br /> at ru.ispras.fortress.solver.engine.z3.Z3TextSolver.solve(Z3TextSolver.java:120)<br /> at ru.ispras.fortress.expression.ExprUtils.isSAT(ExprUtils.java:350)<br /> at ru.ispras.fortress.expression.ExprUtils.areCompatible(ExprUtils.java:335)<br /> at ru.ispras.retrascope.engine.cgaa.transformer.efsm.CgaaStateExprVisitor.isSAT(CgaaStateExprVisitor.java:203)<br /> at ru.ispras.retrascope.engine.cgaa.transformer.efsm.CgaaStateExprVisitor.checkConditionsIfNot(CgaaStateExprVisitor.java:192)<br /> at ru.ispras.retrascope.engine.cgaa.transformer.efsm.CgaaStateExprVisitor.onBasicBlockBegin(CgaaStateExprVisitor.java:183)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitBasicBlock(CfgWalker.java:255)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:133)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitCase(CfgWalker.java:247)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:139)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitSwitch(CfgWalker.java:229)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:145)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitCase(CfgWalker.java:247)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:139)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitSwitch(CfgWalker.java:229)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:145)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitSource(CfgWalker.java:213)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitNode(CfgWalker.java:151)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visit(CfgWalker.java:109)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitCfg(CfgWalker.java:204)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitProcess(CfgWalker.java:195)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitModule(CfgWalker.java:179)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.visitCfgModel(CfgWalker.java:166)<br /> at ru.ispras.retrascope.model.cfg.CfgWalker.start(CfgWalker.java:86)<br /> at ru.ispras.retrascope.engine.cfg.CfgEngine.start(CfgEngine.java:126)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:191)<br /> at ru.ispras.retrascope.basis.ToolChain.start(ToolChain.java:106)<br /> at ru.ispras.retrascope.basis.Engine.start(Engine.java:191)<br /> at ru.ispras.retrascope.Retrascope$Run.start(Retrascope.java:117)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:320)<br /> at ru.ispras.retrascope.Retrascope.main(Retrascope.java:341)<br /> at ru.ispras.retrascope.util.VerilogUtilTest.runRetrascope(VerilogUtilTest.java:120)<br /> at ru.ispras.retrascope.util.VerilogUtilTest.runVerilog(VerilogUtilTest.java:69)<br /> at ru.ispras.retrascope.util.HdlUtilTest.runVerilog(HdlUtilTest.java:137)<br /> at ru.ispras.retrascope.util.HdlUtilTest.runHdl(HdlUtilTest.java:51)</p> Java SoftFloat - Bug #5385 (Closed): Странная структура директорий проектаhttps://forge.ispras.ru/issues/53852014-10-24T07:55:28ZSergey Smolovsmolov@ispras.ru
<p>В репозитории проекта замечена папка jsoftfloat, находящаяся на том же уровне вложенности, что и традиционные branches, tags, trunk.<br />Это запланированное явление, или результат ошибки?</p> Retrascope - Task #5258 (Closed): [basis] Обработка циклических зависимостей разных Enginehttps://forge.ispras.ru/issues/52582014-09-09T05:58:43ZSergey Smolovsmolov@ispras.ru
<p>В Retrascope стали появляться Engine, имеющие циклические зависимости по Entity.<br />Это означает, что можно найти пару Engine, таких, что output type одного является input type для другого и обратно.</p>
<p>Запуск инструмента, в котором зарегистрирована хотя бы одна пара таких Engine, приводит к ошибке:</p>
<p><code>java.lang.IllegalArgumentException: Addition of engine 'xml-test-parser' causes a cycle dependency</code></p>
<p>Необходимо корректно разрешать такие зависимости при построении последовательности вызовов Engine.<br />Возможный вариант такой: строить кратчайший путь между двумя вершинами в графе зависимостей Engine (проходить циклы не более чем один раз).</p> Retrascope - Task #5249 (Closed): [basis] Настройка Retrascope для работы с SMT-решателямиhttps://forge.ispras.ru/issues/52492014-09-04T10:32:33ZSergey Smolovsmolov@ispras.ru
<p>Для корректного взаимодействия с SMT-решателями через библиотеку Fortress необходимо в инструменте Retrascope определять путь к исполняемому файлу (Environment.setSolverPath(String path)).</p>
<p>Такую настройку нужно однократно проделывать при каждом запуске Retrascope.</p> Retrascope - Task #5247 (Closed): [basis] Набор идентификаторов Engine как опция командной строки...https://forge.ispras.ru/issues/52472014-09-03T05:37:09ZSergey Smolovsmolov@ispras.ru
<p>Реализовать опцию командной строки для исполняемого модуля Retrascope.<br />Опция содержит набор идентификаторов Engine. <br />На основе указанного набора значений исполняемый модуль должен построить последовательность вызовов Engine и выполнить их в указанном порядке, либо сообщить, что такой последовательности нет.<br />Необходимо сообщать о некорректных идентификаторах Engine.</p> Retrascope - Bug #5096 (Closed): [basis] FileCreator: "Can't create file" errorhttps://forge.ispras.ru/issues/50962014-07-17T13:17:22ZSergey Smolovsmolov@ispras.ru
<p>Если файл уже был когда-то создан, то попытка пересоздать его с помощью метода newFile класса FileCreator приводит к ошибке "Can't create file".</p> Retrascope IDE - Bug #4991 (Closed): Не передается путь к HDL-описаниюhttps://forge.ispras.ru/issues/49912014-06-16T10:43:45ZSergey Smolovsmolov@ispras.ru
<p>Если во вкладке Input Files в меню Retrascope Tool Launcher выбрать *.vhd-файл, то инструменту Retrascope в качестве аргумента передается только имя файла без указания пути, что приводит к ошибке "File not found" VHDL-парсера.</p> Retrascope - Task #4946 (Closed): [basis][log] Ведение лога для нескольких логгеровhttps://forge.ispras.ru/issues/49462014-05-22T06:55:44ZSergey Smolovsmolov@ispras.ru
<p>В случае, если в Engine используется <strong>стандартный</strong> логгер, то не нужно создавать для него отдельный *.lck-файл, который сохраняется даже после завершения работы Retrascope.<br />Сейчас единичный пуск инструмента порождает большое количество *.lck-файлов, не несущих никакой полезной информации.</p>
<p>Все стандартные логгеры должны помещать свои сообщения в общий log-файл, если выставлена соответствующая опция логирования.</p>
<p>Если в Engine используется <strong>нестандартный</strong> логгер, то сообщения логгера можно сохранять в отдельный файл.</p> Retrascope - Task #4945 (Closed): [basis][log] Опция логирования https://forge.ispras.ru/issues/49452014-05-22T06:49:41ZSergey Smolovsmolov@ispras.ru
<p>Предлагаю ввести специальную опцию для Retrascope, активирующую сохранение логгером сообщений в файл.<br />По умолчанию предлагаю данную опцию выключать - пусть логгер в таком случае пишет свои сообщения только в консоль.</p>
<p>Формат опции: <имя флага> <имя файла, куда будет сохранен лог></p>
<p>Если имя файла не указано, то использовать какое-нибудь стандартное (например retrascope.log)</p> Fortress - Task #4702 (Closed): [expression] Реализовать операцию BVBIThttps://forge.ispras.ru/issues/47022014-03-01T09:38:03ZSergey Smolovsmolov@ispras.ru
<p>Необходимо реализовать операцию BVBIT. <br />Аргументы операции: битовый вектор bv, целое неотрицательное число n.<br />Операция возвращает значение bv[n], т.е. n-ный бит вектора.<br />Если n >= bv.size, то бросаем Exception.</p> С++TESK Development Environment - Task #2224 (Closed): Добавить пункт со сведениями о плагинеhttps://forge.ispras.ru/issues/22242012-01-17T10:24:56ZSergey Smolovsmolov@ispras.ru
<p>Добавить в меню "Help"->"About Eclipse SDK" пункт со сведениями о плагине. Можно сделать по аналогии с плагинами для CTesK, JavaTesK.</p>