В текстовом описании на языке Verilog представлены два процедурных блока. Для каждого процедурного блока определите сколько будет синтезировано триггеров и нарисуйте синтезированную структуру
module labT (di1, di2, clk, do1, do2);
input clk, di1, di2;
output reg do1, do2;
reg tmp1, tmp2;
always @(posedge clk)
begin
tmp1 = di1;
do1 = tmp1;
end
always @(posedge clk)
begin
tmp2 <= di2;
do2 <= tmp2;
end
endmodule
Другие предметыУниверситетСинтез цифровых устройств на языке Verilogдискретные устройстваVerilogсинтез триггеровпроцедурные блокисинтезированная структурамодуль labTclkdo1do2tmp1tmp2входные сигналывыходные сигналы
В данном вопросе мы рассматриваем код на языке Verilog, который описывает модуль с двумя процедурными блоками. Давайте подробно разберем, сколько триггеров будет синтезировано и как будет выглядеть синтезированная структура.
Модуль называется labT и имеет следующие порты:
Теперь давайте проанализируем каждый из блоков always в этом модуле.
always @(posedge clk) begin tmp1 = di1; do1 = tmp1; end
Этот блок срабатывает на положительном фронте сигнала clk. Он присваивает значение di1 переменной tmp1, а затем значение tmp1 присваивается выходу do1. Поскольку do1 является регистром, этот блок фактически будет синтезировать триггер, который хранит значение di1.
always @(posedge clk) begin tmp2 <= di2; do2 <= tmp2; end
Этот блок также срабатывает на положительном фронте сигнала clk. Он использует оператор <=, что означает, что присваивание происходит с задержкой (неблокирующее присваивание). Значение di2 присваивается tmp2, а затем значение tmp2 присваивается выходу do2. Этот блок также будет синтезировать триггер, который хранит значение di2.
Таким образом, у нас есть:
В итоге, в данном модуле будет синтезировано два триггера.
Теперь давайте представим синтезированную структуру. Она будет представлять собой два D-триггера, которые принимают сигнал clk и имеют входы di1 и di2, а также выходы do1 и do2.
Синтезированная структура может быть представлена следующим образом:
Таким образом, структура будет состоять из двух D-триггеров, каждый из которых будет связан с соответствующими входами и выходами.