Цитата Сообщение от deathsoft
Стандарта Verilog 2001 для циклов и условных конструкций достаточно, а вообще я бы советовал использовать VHDL (он похож на паскаль и ада, вам я думаю это привычнее будет) и поддерживает if/generate и for/generate с самой первой версии. Плюс к тому поддерживает типы данных, как обычный язык программирования, что позволяет при моделировании автомата видень состояние автомата в виде осмысленного текста (s_idle, s_rx и т.п.). Кроме того VHDL поддерживает 9ти значную логику, кроме состояний '0', '1' есть еще 'X', 'Z' и различные уровни нагрузки, от weak до strong (что необхдимо для выявления гонок при моделировании).

Верилог изначально предполагался совсем для других целей (это был внутренний язык для синтеза фирмы Cadence) и поддерживает всего 2 типа "провод" и "регистр", поэтому при симуляции видны только нули и единицы.
Там двухмерный массив, и поэтому нужен System. Мне вообще-то глубоко до лампочки, в каком из стандартов поддерживаются макросы, но как я узнал про их существование, я окончательно выбрал верилог.

Когда-то Паскаль был сложнее С, и я не любил Паскаль, и писал на С. В С было всего 7 конструкций, зная которые (и кучу функций библиотеки, но это всех касается) можно было писать код. Сейчас ситуация изменилась: Паскаль проще чем Ansi C. В нем 11 конструкций, которые надо знать, и это неизмеримо меньше, чем в С. VHDL vs Verilog HDL мне не понравился именно этим: в нем слишком много слов надо помнить. Это не к Паскалю ближе, а к Коболу. Который я так в молодости и не осилил. Хотя для изучения того же PL/1 мне хватило недели. Слишком много слов. А еще мне непонятно, зачем 3 раза писать одно и то же. В Entity, в Architecture, и еще (не помню уже как называется) в реализации. Читать я его могу. Ну, почти могу. Но писать - ну его.