Обзор методов описания встраиваемой аппаратуры

             

Verilog - часть 2


Процедурные блоки аналогичны процессам VHDL. Конструкции языка в рамках процедурного блока выполняются последовательно, в то время как все процедурные блоки выполняются параллельно. Интересно отметить наличие оператора неблокирующего присваивания <=, который может использоваться для присваивания новых значений в рамках процедурного блока. В отличие от обычного присваивания =, изменение значения, присвоенного оператором <=, происходит только в конце текущего кванта времени.

Важным отличием Verilog от VHDL является подверженность недетерминированному поведению (race conditions) модели на основе описания Verilog и отсутствие таких эффектов в VHDL. Более подробный сравнительный обзор VHDL и Verilog можно найти в [34].

Пример 3 иллюстрирует реализацию простого мультиплексора (см. рис. 4) на языке Verilog. module mux (c, d, e, f, s, mux_out); input c, d, e, f; input [1:0] s; output mux_out; reg mux_out;

always @ (c or d or e or f or s) begin case (s) 2’b00: mux_out = c; 2’b01: mux_out = d; 2’b10: mux_out = e; default: mux_out = f; endcase end endmodule

Пример 3. Простой мультиплексор на Verilog.




Содержание  Назад  Вперед