Реферат: ПОСТРОЕНИЕ VERILOG-МОДЕЛИ BER-ТЕСТЕРА ДЛЯ ПРОВЕРКИ КАНАЛОВ СВЯЗИ ТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМ
B = B >> 1; // код в регистре В сдвигается вправо на
// один разряд,
B[1] = in2; // после этого в освободившийся разряд В[1]
// помещается бит с входа in2
end // Окончание действий, вызванных отрицательным фронтом
// сигнала in1
end // Окончание конструкции "always"
endmodule
4.2.3. Файл BER-Line_module.v
module Line (out20, out10, in20, in10); // Наименование модуля, список выходов и входов
input in20, in10; // Входы
output out20, out10; // Выходы
reg errRxD, g3, errRxC; // Описание одноразрядных регистров
integer count, timing; // Описание абстрактных целочисленных переменных
initial count = 0; // Установка начального значения переменной
initial errRxD=0; // Установка начального состояния регистра
initial g3=0; // Установка начального состояния регистра
assign out10 = in10 ^errRxD; // Сигнал на выходе out10 формируется суммированием
// по модулю два сигналов in10 и errRxD
assign out20 = in20 ^errRxC; // Сигнал на выходе out20 формируется суммированием
// по модулю два сигналов in20 и errRxC
// "Всегда" по положительному фронту сигнала на входе in20:
always @(posedge in20) begin: ticking // Прибавляется единица к счетчикам тактов (такт -
count = count + 1; // период сигнала в проводе RxCgood);
timing = count - 1; // timing отстает от count на единицу
errRxC = g3; // перепись бита из регистра g3 в регистр errRxC
end
// "Всегда" с задержкой на 20 элементарных единиц времени, т. е. на один такт,
// проверяется, нужно ли формировать ошибку в линии RxD