Реферат: ПОСТРОЕНИЕ VERILOG-МОДЕЛИ BER-ТЕСТЕРА ДЛЯ ПРОВЕРКИ КАНАЛОВ СВЯЗИ ТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМ
//Главный модуль (верхний уровень иерархии модулей)
module ber_tester (ERROR); // ber_tester - наименование модуля,
// в скобках заключен перечень выходов
// и входов (входов нет, имеется один выход)
output ERROR; // дается определение ERROR как выхода (а не входа)
wire RxDgood, RxCgood, RxDbad, RxCbad; // список проводов главного модуля
DTE DTE1(ERROR, RxCbad, RxDbad); // Структурная модель BER-тестера
Line Line1 (RxCbad, RxDbad, RxCgood, RxDgood); // на основе трех модулей:
DCE DCE1(RxCgood, RxDgood); // DTE, Line и DCE (DTE1, Line1 и //DCE1)
endmodule // стандартное оформление конца модуля
4.2.2. Файл BER-DTE_module.v
module DTE(out1, in1, in2); // Наименование модуля, список выходов и входов
input in1, in2; // Входы
output out1; // Выход
parameter M=5, N=3; // М - длина регистра, N - точка подключения
// обратной связи. Возможные сочетания М и N:
// 3 2, 4 3, 5 3, 6 5, 7 6, 9 5, 10 7, 11 9, 15 14, 17 14,
// 18 11, 20 17, 21 19, 22 21, 23 18, 25 22, 28 25, 29 27,
// 31 28, 33 20, 35 33, 36 25, 39 35
reg [1:M] B; // Описание М-разрядного регистра В
reg TT; // Описание D-триггера как одноразрядного регистра
wire D_input_TT; // Описание провода
assign out1 = TT, // Утверждается, что состояние выхода out1
// отображает состояние D-триггера
D_input_TT = B[N] ^ B[M] ^ in2; // Утверждается, что состояние провода
// D_input_TT определяется суммированием
// по модулю два трех переменных: B[N], // B[M] и in2
always begin: analyzer // BER-анализатор работает "всегда" следующим образом:
@(negedge in1) begin: prediction_and_check // по отрицательному фронту сигнала in1