Pull to refresh

Comments 12

Всегда хотел задать вопрос создателям языка Verilog: почему после module() ставится ";", а после endmodule — нет?
Хотя с точки зрения здравого смысла module начинает конструкцию описания модуля, далее следует внутренняя часть и потом по завершении словом endmodule ее было бы поставить наиболее уместно.
Не зная синтаксиса verilog могу предложить, что если после ";" не обязательно ставить перенос строки, то символ служит разделителем, а если endmodule это последняя строка в файле, то после неё ничего уже не может быть и нет смысла в использовании разделителя. Например в pascal после end ставится ";", а после последнего end в файле ставится просто точка.
После endmodule может идти новый module или еще какая хрень. Там везде так:
package mti_fli;
бла-бла-бла
endpackage

package mti_cstdlib;
бла-бла-бла
endpackage

А в Veriog после end не ставится точка с запятой никогда. Видимо, эти слова сами по себе являются закрывающими.
Предположу. В VHDL код можно поделить на три части: карта портов (port map(), после которого ставится ";"), объявление сигналов и компонентов (между «architecture Behavioral of ХХХ is» и «begin»), описание логики схемы (между «begin» и "«begin»"). В верилоге «module();» будет соответствовать карте портов в VHDL. Т.е. ";" в данном случае является концептуальным разделителем между картой портов и описанием схемы (сигналы же объявлять в verilog не обязательно все заранее — можно перед каждым процессом отдельно).
Если module() считать отдельной законченной конструкцией, то все прочие части (описывающие логическую схему) остаются как бы висящими в воздухе, в то время как они обязательно должны следовать между module и endmodule.
Понятно, что можно притянуть разные доводы, но мне было бы интересно услышать именно оригинальную трактовку… Может Юрий, как наиболее близко сидящий от создателей верилога, сможет пролить свет…
Я спрошу при случае — мне это тоже казалось странным в свое время.
Мы разрабатывали библиотеку цифровых элементов для компьютера, которй делался в ЭЛАС. Кстати, система команд этого компьютера была подмножеством команд ЕС ЭВМ.
Интересно. А вы с Ярославом Петричковичем (президентом ЭЛВИСа) знакомы?
Пересекался несколько раз, но сказать что знаком не могу.
В SILVACO работает несколько русских
Русских там довольно мало, а вот белорусов — достаточно.
Sign up to leave a comment.

Articles