https://forge.ispras.ru/https://forge.ispras.ru/favicon.ico?16490126692014-06-21T04:51:41ZOpen-Source ProjectsVerilog Translator - Task #5002: Тип переменной в блоке условия процессаhttps://forge.ispras.ru/issues/5002?journal_id=197522014-06-21T04:51:41ZAlexander Kamkinaskamkin@gmail.com
<ul></ul><p>Не все понял. В выражении не обязательно переменная: может быть, если не ошибаюсь, конкатенация (см. стандарт).</p> Verilog Translator - Task #5002: Тип переменной в блоке условия процессаhttps://forge.ispras.ru/issues/5002?journal_id=197782014-06-25T12:10:19ZMikhail Chupilkochupilko@ispras.ru
<ul></ul><p>Собственно, рассматривались конструкции следующего типа: "always <code>(posedge rst)" - вот у этого rst как раз и не будет определен тип. Насколько я понимаю, конструкция срез_сигнала+переменная имеет тип "Event" и конкатенацию выражений под срезом_сигнала не используют (что-то вроде "always </code>(posedge {rst,clk})" в стандарте не встречал)</p> Verilog Translator - Task #5002: Тип переменной в блоке условия процессаhttps://forge.ispras.ru/issues/5002?journal_id=198982014-07-09T06:25:11ZAlexander Kamkinaskamkin@gmail.com
<ul><li><strong>Target version</strong> set to <i>0.1</i></li></ul><ul>
<li>Синтаксически после <code>posedge</code> может быть любое выражение (не обязательно переменная), поэтому некорректно делать вызов <code>event.getExpression().getVariable()</code> - см. раздел "Event control":</li>
</ul>
<pre>
event_control ::=
...
| @(event_expression)
...
event_expression ::=
...
| posedge expression
...
</pre>
<ul>
<li>Если я не ошибаюсь, сейчас у всех переменных в AST тип не определен - так как нет привязки переменных к декларациям.</li>
</ul>
<p>Для чего нужен тип?</p> Verilog Translator - Task #5002: Тип переменной в блоке условия процессаhttps://forge.ispras.ru/issues/5002?journal_id=201772014-07-23T12:33:20ZMikhail Chupilkochupilko@ispras.ru
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li><li><strong>Assignee</strong> changed from <i>Alexander Kamkin</i> to <i>Mikhail Chupilko</i></li></ul><p>Теперь вместо getVariable используется getVariables. А тип больше не нужен - он указывается при декларации переменной. r815</p> Verilog Translator - Task #5002: Тип переменной в блоке условия процессаhttps://forge.ispras.ru/issues/5002?journal_id=203222014-08-01T07:18:12ZAlexander Kamkinaskamkin@gmail.com
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Closed</i></li></ul>