Сила сигнала
Сила сигнала используется для более точного моделирования электрического соединения проводов. В случае, если несколько проводов объединяются в один, то сила сигнала на выходе определяется на основе силы сигналов на объединяющихся проводах, и результирующая сила сигнала будет определяться согласно приоритету, представленному ниже. Комбинация силы (highz1
, highz0
) недопустима.
7
Supply drive
supply0
, supply1
Проводов, соединённых с заземлением и питанием соответственно
6
Strong drive
strong0
, strong1
Всех остальных сигналов
5
Pull drive
pull0
, pull1
Подтягивающих резисторов
4
Large capacitive
large
3
Weak drive
weak0
, weak1
2
Medium capacitive
medium
1
Small capacitive
small
0
High impedance
highz0
, highz1
Представления высокоимпедансного состояния
Пример
module strength_example1(output out, input i1, i2);
or(supply1, strong0) o1(out, i1, i2);
and(strong1, supply0) a1(out, i1, i2);
endmodule
module strength_example2(output out, input i1, i2);
assign(supply1, pull0) out = (i1 | i2);
assign(strong1, supply0) out = i1 & i2;
endmodule
module strength_tb;
reg i1, i2;
wire out;
strength_example1 st(out, i1, i2);
//strength_example2 st(out, i1, i2);
initial begin
$monitor("%0t: i1 = %b, i2 = %b -> out = %b", $time, i1, i2, out);
i1 = 0; i2 = 0;
#1 i1 = 0; i2 = 1;
#1 i1 = 1; i2 = 0;
#1 i1 = 1; i2 = 1;
end
endmodule
Результат исполнения
Time [0]: i1 = 0, i2 = 0 -> out = 0
Time [1]: i1 = 0, i2 = 1 -> out = x
Time [2]: i1 = 1, i2 = 0 -> out = x
Time [3]: i1 = 1, i2 = 1 -> out = 1
Last updated