Реферат: Построение verilog-модели ber-тестера для проверки каналов связи телекоммуникационных систем
Министерствообразования Российской Федерации
Московскийгосударственный институт электронной техники
(Техническийуниверситет)
Кафедрателекоммуникационных систем (ТКС)
Дисциплина: Сетисвязи и системы коммутации
Техническое задание (cвариантом решения)на курсовойпроектПОСТРОЕНИЕ VERILOG-МОДЕЛИ BER-ТЕСТЕРА ДЛЯ ПРОВЕРКИ КАНАЛОВ СВЯЗИТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМ
Москва 2002
1. Цель работы
1.1.Ознакомление с методикой тестирования каналов связи телекоммуникационных системс помощью BER-тестера (Bit-Error-Rate – интенсивность поступления ошибочных битовот объекта проверки; определение дано в международном стандарте ITU-TO.153).
1.2. Разработка логической модели BER-тестера и анализ ее поведения в отсутствие и при наличиимоделируемых ошибок в канале связи.
2. Основные сведения о BER-тестерах
<span Times New Roman",«serif»">
<span Times New Roman",«serif»">2.1.Генераторы псевдослучайных битовых последовательностей
<span Times New Roman",«serif»"><span Times New Roman",«serif»">
<img src="/cache/referats/11800/image002.gif" align=«left» hspace=«12» v:shapes="_x0000_s1095"> Исключающее ИЛИ (XOR) в цепиобратной связи. Если в исходномсостоянии в регистре присутствует любой ненулевой код, то под действием синхросигнала CLK этот код будет непрерывно циркулировать в регистре и одновременновидоизменяться. В качестве выхода генератора можно также использовать выходлюбого разряда
регистра.
<span Times New Roman",«serif»;layout-grid-mode:line;font-weight:normal;mso-bidi-font-weight: bold">Рис. 2.1.
<span Times New Roman",«serif»; font-weight:normal;mso-bidi-font-weight:bold"> Обобщенная схема генераторапсевдослучайной битовойпоследовательности максимальной длины и таблица для выбора
промежуточной точкиподключения обратной связи
В общемслучае в М-разрядном регистре обратная связьподключается к разрядам с номерами М и N
(М > N). Приведенная на рис. 2.1таблица описывает структуру генераторов различной разрядности. Каждый генераторформирует последовательность битов с максимальным периодом повторения,равным 2М – 1. В такойпоследовательности встречаются все М-разрядные коды,за исключением нулевого. Этот код представляет собой своеобразную “ловушку” дляданной схемы: если бы нулевой код появился в регистре, дальнейшая последовательностьбитов была бы также нулевой. Но при нормальной работе генератора попадания вловушку не происходит. Последовательность максимальной длины обладает следующимисвойствами.
1. Вполном цикле (2М – 1 тактов) число лог. 1 на единицу больше, чемчисло лог. 0. Добавочная лог. 1 появляется за счет исключения состояния, прикотором в регистре присутствовал бы нулевой код. Это можно интерпретироватьтак, что вероятности появления на выходе регистра лог. 0 и лог. 1 практически одинаковы.
2. Вполном цикле (2М – 1 тактов) половина серий из последовательных лог.1 имеет длину 1, одна четвертая серий – длину 2, одна восьмая – длину 3 и т. д.
Такимиже свойствами обладают и серии из лог. 0 с учетом пропущенного лог. 0. Этоговорит о том, что вероятности появления “орлов” и “решек” не зависят отисходов предыдущих “подбрасываний”. Поэтому вероятность того, что серия из последовательныхлог. 1 или лог. 0 закончится при следующем подбрасывании, равна 1/2 вопреки обывательскому пониманию “закона о среднем”.
3. Еслипоследовательность полного цикла (2М – 1 тактов) сравнивать с этойже последовательностью, но циклически сдвинутой на любое число тактов W (W неявляется нулем или числом, кратным 2М– 1), то число несовпадений будет на единицу больше, чем число совпадений.
Идеютестирования канала связи с помощью прогона через него псевдослучайных битовыхпоследовательностей удобно рассмотреть на примере использования пары устройств– скремблера и дескремблера.
<span Times New Roman",«serif»">2.2. Скремблер –
<span Times New Roman",«serif»">дескремблер<span Times New Roman",«serif»">с неизолированными генераторамипсевдослучайных битовых последовательностей<span Times New Roman",«serif»">
<span Times New Roman",«serif»">
Скремблер(шифратор) и дескремблер (дешифратор) подключаются кпротивоположным сторонам канала связи, как показано на рис. 2.2. Скремблер и дескремблер выполнены на основе рассмотренных генераторовпсевдослучайных битовых последовательностей. Оба генератора имеют одинаковуюразрядность и однотипную структуру обратных связей. Все процессы, протекающие всистеме передачи данных, синхронизируются от тактового генератора (на рисункене показан). Этот генератор размещен на передающей стороне системы и можетпринадлежать источнику данных либо скремблеру. В каждом такте на вход скремблераподается очередной бит передаваемых данных SD, а в сдвиговом регистре RG1 накопленный код продвигается вправо наодин разряд.
<img src="/cache/referats/11800/image004.gif" v:shapes="_x0000_i1025"><span Times New Roman",«serif»; layout-grid-mode:line;font-weight:normal;mso-bidi-font-weight:bold">
<span Times New Roman",«serif»;letter-spacing:-.2pt;layout-grid-mode:line; font-weight:normal;mso-bidi-font-weight:bold">Рис. 2.2.
<span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal;mso-bidi-font-weight: bold"> <span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal; mso-bidi-font-weight:bold">Система передачи данных, в которой скремблер и дескремблер содержат неизолированныегенераторы псевдослучайных битовых последовательностей
Еслипредположить, что источник данных посылает в скремблер длинную последовательностьлог. 0, то элемент XOR1 можно рассматривать как повторитель сигнала Y1 с выхода элемента XOR2. В этой ситуации регистр RG1 замкнут в кольцо и генерирует точно такую же псевдослучайнуюпоследовательность битов, как и в рассмотренной ранее схеме (см. рис. 2.1).Если от источника данных поступает произвольная битовая последовательность, тоона взаимодействует с последовательностью битов с выхода элемента XOR2. В результате формируется новая(скремблированная) последовательность битов SCRD, по структуре близкая случайной. Эта последовательность, в своюочередь, продвигается по регистру RG1,формирует поток битов на выходе элемента XOR2 и т. д.
Скремблированнаяпоследовательность битов SCRD передается по линии (каналу связи) ипоступает в дескремблер. С помощью генератора сфазовой автоподстройкой частоты (этот генератор на рисунке не показан) извходного сигнала выделяется тактовый сигнал. Под управлением тактового сигналабиты SCRD продвигаются в регистре RG2, а в приемник данных поступают дескремблированные данные RD.
Потокиданных RD и SDсовпадают с точностью до задержки передачи по линии. Действительно, вустановившемся режиме в сдвиговых регистрах RG1 и RG2 присутствуют одинаковые коды, так как на входы этих регистров поданыодни и те же данные SCRD, а тактоваячастота, по сути, общая. Поэтому Y2 =Y1, и, с учетом этого,
RD = SCRD ÅY2 = SD ÅY1 ÅY2 = SD ÅY1 ÅY1 = SD Å0 = SD.
Рассмотреннаясистема передачи данных не требует применения какой-либо специальной процедурыначальной синхронизации. После заполнения сдвигового регистра RG2, как было показано, генераторыпсевдослучайных битовых последовательностей работают синхронно (их состояниявсегда одинаковы). При появлении одиночной ошибки в линии синхронизациявременно нарушается, но затем автоматически восстанавливается, как толькоправильные данные вновь заполнят регистр RG2. Однако в процессе продвижения ошибочного бита по сдвиговомурегистру RG2, а именно, в периоды его попадания сначала напервый, а затем на второй вход элемента XOR3 сигнал Y2 дважды принимает неправильное значение. Это приводит к размножениюодиночной ошибки – она впервые появляется в сигнале RD вмомент поступления из линии и затем возникает еще два раза при последующемдвукратном искажении сигнала Y.
Притестировании линии источник данных выдает постоянный нулевой сигнал
SD = 0. Скремблергенерирует псевдослучайную последовательность битов. Дескремблервосстанавливает прообраз принятого псевдослучайного сигнала. При отсутствииошибок передачи в приемник данных поступает постоянный нулевой сигнал RD = 0. Обнаружение пачки из трех импульсов (из-за размноженияошибки в регистре RG2) расценивается приемником данных как одиночная ошибкапередачи данных по линии связи.
<span Times New Roman",«serif»">2.3. Вариант практическойреализации тестера – объект моделирования
<span Times New Roman",«serif»">
Какпоказано на рис. 2.3, для тестирования цепей передачи синхросигналов RxC и данных RхD канала связи между устройствами DTE и DCE использованы генератори анализатор псевдослучайных последовательностей битов. По существу, генератори анализатор представляют собой рассмотренные ранее скремблер и дескремблер, причем скремблируется сигнал “Постоянныйнуль”, т. е. последовательность нулевых битов
(SD = 0, см. рис. 2.2).В отсутствие ошибок передачи сигналов RxC и RxD сигнал на выходе триггера TT также должен быть нулевым.
Дляимитации помех в канале связи использованы генераторы G2 и G3. Генератор G2 в определенном такте (тактах) формируетсигнал лог. 1. Этот сигнал воздействует на логический элемент Исключающее ИЛИ,в результате элемент временно переводится в режим инвертирования передаваемогочерез него бита (битов) данных. Таким образом, вместо истинного нулевого битапередается ложный единичный или наоборот. Для имитации канала связи без помех влинии передачи данных на выходе генератора G2 должен постоянно присутствовать сигнал лог.0.
Аналогичноимитируется сигнал помехи, действующей на линию передачи синхросигнала. Вотсутствие помех на выходе генератора G3 постоянно присутствует сигнал лог. 0.Появление в некотором такте на выходе генератора G3 сигнала лог. 1 приводитк временному искажению синхросетки передаваемыхданных, так как при этом теряется одинсинхроимпульс.
<img src="/cache/referats/11800/image006.gif" v:shapes="_x0000_i1026">
<span Times New Roman",«serif»;letter-spacing:-.2pt;layout-grid-mode:line; font-weight:normal;mso-bidi-font-weight:bold">Рис. 2.3.
<span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal;mso-bidi-font-weight: bold"> <span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal; mso-bidi-font-weight:bold">Система контроля передачи данных и синхросигналамежду устройствами типа <span Times New Roman",«serif»; letter-spacing:-.2pt;mso-ansi-language:EN-US;font-weight:normal;mso-bidi-font-weight: bold">DCE<span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal; mso-bidi-font-weight:bold"> и <span Times New Roman",«serif»; letter-spacing:-.2pt;mso-ansi-language:EN-US;font-weight:normal;mso-bidi-font-weight: bold">DTE<span Times New Roman",«serif»;letter-spacing:-.2pt;font-weight:normal; mso-bidi-font-weight:bold">В отсутствиеошибок под управлением сигнала RxC с генератора G1 в линию данных RxD из регистра А поступает псевдослучайнаяпоследовательность битов (см.
рис. 2.4). Положительные фронты сигнала RxC задают границы битовых интервалов сигнала RxD. Положительные фронтыинвертированного сигнала RxC задают смещенную на половину такта синхросетку приема данных в регистр В и в D-триггер ТТ. Такты работыгенератора псевдослучайной последовательности битов обозначены символами Т1 с соответствующими индексами в скобках(например Т1(L + 4)). Аналогично такты работы анализатора обозначены символами Т2.
Втактах T1(J) … T1(J + 3) состояние регистра А изменяется в такой последовательности: S(J), S(J +1), S(J +2), S(J +3). Соответствующие биты выходныхданных: D(J), D(J + 1), D(J +2), D(J +3). Как отмечалось при описании системы“скремблер – дескремблер”, в установившемся режимепри отсутствии ошибок содержимое передающего и приемного регистров (в данномслучае, регистров А и В) одинаково. Поэтому, какпоказано на временных диаграммах, коды в регистре В совпадают с кодами в регистре А с учетом взаимного смещения синхросеток на половину такта.
<img src="/cache/referats/11800/image008.gif" align=«left» hspace=«12» v:shapes="_x0000_s1100">
Рис. 2.4.Временные диаграммы передачи и приема тестовых битовых последовательностей
Интересноотметить, что код в приемном регистре (В) формируется на половину такта раньше,чем тот же код в передающем регистре (А)! Такое поведение анализатора можнорассматривать как предсказание очередного правильного бита (0 или 1) в ожидании его поступления по линии RxD.Как следует из временных диаграмм, в отсутствие ошибок предсказания полностьюоправдываются. Это проявляется в том, что сигнал Z на входе данных D-триггера принимает устойчивое нулевое значение в моменты записи,поэтому триггер остается в состоянии лог. 0.
Предположим,что в такте Т1(J + 4) в результате воздействия на линию RxD импульса помехи передаваемый бит исказился:вместо истинного лог. 0 передаетсяложная лог. 1 или наоборот. В этой ситуации во второй половине такта Т2(J + 4) обнаруживаетсянесоответствие предсказанного и фактически принятого битов (сигнал Z принимает стабильноезначение, равное лог. 1). Поэтому в следующем такте Т2(J + 5) триггер переходит всостояние лог. 1. Таким образом, первое проявление ошибки зафиксировано с задержкойв половину такта после ее возникновения в линии.
Начинаяс такта Т1(J + 5) по линии RxD вновь передаются правильные биты. Сравнениепредсказанных и фактически принятых битов вновь дают положительные результаты,но ранее принятый в регистр В ошибочный бит начинает продвижение кразряду N. Код в регистре В искажен (что отражено на диаграмме символами “ERR”), но искажения пока внешне непроявляются.
Втакте Т2(К + 2) ошибочный бит попадает в разряд N. Вследствие этого происходитнеправильное предсказание ожидаемого бита, т. е. во второй половине тактапредсказанный бит Y противоположен правильному биту D(K + 2), полученному по линии RxD. Поэтому триггер повторно регистрирует ошибку.После этого ошибочный бит продолжает продвижение по регистру В в направлении разряда М. В такте T2(L + 1) ошибочный битдостигает разряда М. Неправильноепредсказание повторяется, триггер в третий раз регистрирует ошибку. После этогоошибочный бит выталкивается из сдвигового регистра В и,следовательно, более не влияет на работу системы контроля. Таким образом,одиночная ошибка в линии приводит к формированию пачки из трех импульсов навыходе триггера.
3. Формулировка задания
3.1.Изучите работу схемы, приведенной на рис. 2.3.
3.2.Изучите предложенную Вам версию системы моделирования.
3.3.Разработайте модель схемы, приведенной на рис. 2.3. Параметры схемы определяютсявариантом задания в соответствии с табл. 3.1. Моделирование выполняется науровне gatelevel.
3.4.Протестируйте модель в условиях выключенных и включенных генераторов помех.Число и положение импульсов помех определяются вариантом задания в соответствиис табл. 3.1. Глубина тестирования – 1000 тактов. Начальное состояние регистра А– произвольное, но не нулевое.
3.5.Распечатайте временные диаграммы сигналов на начальном этапе работы системыпередачи данных (в течение первых 20 – 40 тактов). Убедитесь в правильностиэтих диаграмм.
3.6.Распечатайте временные диаграммы сигналов на этапе обработки импульсов помех(вплоть до выхода ошибочного бита за пределы регистра В с запасом в несколько тактов). Убедитесь вправильности этих диаграмм.
3.7.Подготовьте пояснительную записку и файлы моделей в двух вариантах: электронном(помещается в архив локальной сети кафедры ТКС) и обычном – в виде распечатки.
В табл.3.1. приняты следующие обозначения:
№ п/п – порядковый номер вариантакурсового проекта;
М –разрядность регистра А(В), см. рис. 2.1;
N – номер разряда, к которомуподключается цепь обратной связи, см. рис. 2.1;
T(DATA) – номера тактов, считая отнулевого, в которых генерируется помеха в линии передачи данных, см. рис. 2.3;
T(SYNC) – номера тактов,считая от нулевого, в которых генерируется помеха в линии передачи синхросигнала,см. рис. 2.3.
Таблица 3.1.
Параметры моделирования системыпередачи данных
№ п/п
М
N
T(DATA)
T(SYNC)
1
39
35
756, 759
759, 989
2
36
25
41, 126
41, 42, 43,44
3
35
33
88, 89, 90
860 –867
4
33
20
903–915
34, 44, 54
5
31
28
56, 65 – 69
68, 895
6
29
27
55, 57, 59, 67
757 – 763
7
28
25
85, 847
85, 88, 93
8
25
22
49 – 54
51 – 56, 129
9
7
6
47, 61
84, 99 – 105
10
9
5
55, 78, 88
80, 90
11
10
7
759, 989
55, 57, 59, 67
12
11
9
41, 42, 43,44
85, 847
13
15
14
860 –867
49 – 54
14
17
14
34, 44, 54
47, 61
15
18
11
68, 895
55, 78, 88
16
20
17
757 – 763
85, 847
17
21
19
759, 989
49 – 54
18
22
21
41, 42, 43,44
47, 61
19
23
18
860 –867
55, 78, 88
20
36
25
34, 44, 54
759, 989
21
35
33
68, 895
41, 42, 43,44
22
33
20
757 – 763
860 –867
23
31
28
85, 88, 93
34, 44, 54
24
21
19
51 – 56, 129
68, 895
25
22
21
41, 42, 43,44
757 – 763
26
23
18
860 –867
85, 88, 93
27
36
25
34, 44, 54
51 – 56, 129
28
35
33
759, 989
756, 759
29
31
28
41, 42, 43,44
41, 126
30
29
27
860 –867
88, 89, 90
31
28
25
34, 44, 54
903–915
32
25
22
68, 895
56, 65 – 69
33
7
6
757 – 763
55, 57, 59, 67
34
9
5
85, 88, 93
85, 847
35
10
7
51 – 56, 129
49 – 54
36
11
9
84, 99 – 105
47, 61
37
15
14
80, 90
55, 78, 88
38
25
22
55, 57, 59, 67
759, 989
39
7
6
85, 847
41, 42, 43,44
40
9
5
49 – 54
860 –867
41
10
7
47, 61
34, 44, 54
42
11
9
55, 78, 88
68, 895
43
15
14
85, 847
757 – 763
44
17
14
49 – 54
759, 989
45
18
11
47, 61
41, 42, 43,44
46
25
22
55, 78, 88
860 –867
47
7
6
759, 989
34, 44, 54
48
9
5
41, 42, 43,44
68, 895
49
10
7
860 –867
757 – 763
50
11
9
34, 44, 54
85, 88, 93
51
15
14
68, 895
51 – 56, 129
52
17
14
757 – 763
41, 42, 43,44
53
18
11
85, 88, 93
860 –867
54
28
25
51 – 56, 129
34, 44, 54
55
25
22
41, 42, 43,44
759, 989
56
7
6
860 –867
41, 42, 43,44
57
9
5
34, 44, 54
860 –867
58
10
7
68, 895
34, 44, 54
59
11
9
34, 44, 54
35, 46, 56
60
15
14
759, 989
68, 895
61
17
14
41, 42, 43,44
757 – 763
62
18
11
860 –867
85, 88, 93
63
20
17
34, 44, 54
51 – 56, 129
64
21
19
68, 895
41, 42, 43,44
65
22
21
757 – 763
860 –867
66
23
18
85, 88, 93
34, 44, 54
67
36
25
51 – 56, 129
759, 989
68
35
33
84, 99 – 105
34, 44, 54
69
33
20
80, 90
68, 895
70
31
28
55, 57, 59, 67
757 – 763
71
21
19
85, 847
85, 88, 93
72
22
21
49 – 54
51 – 56, 129
73
23
18
85, 88, 93
41, 42, 43,44
74
36
25
51 – 56, 129
860 –867
75
35
33
41, 42, 43,44
34, 44, 54
76
31
28
860 –867
68, 895
77
29
27
34, 44, 54
34, 44, 54
78
28
25
759, 989
759, 989
79
25
22
34, 44, 54
41, 42, 43,44
80
7
6
68, 895
860 –867
4.Рекомендации по построению модели
4.1.Подготовка схемы к моделированию
Преждечем начать моделирование схемы, следует представить ее в терминах системы VerilogHDL.Для этого нужно выделить в схеме функционально-законченные модули
(module), обозначитьрегистры (reg),провода (wire), входы, выходы (input,output) и т. п.
На рис.4.1 представлен результат подготовки рассмотренной ранее схемы (см.
рис. 2.3) к моделированию. Отметим, что для упрощения примера в явном видемоделируются не все элементы схемы, а только ее регистры. Это означает, чтовместо требуемого в техническом задании gate-уровня проектирования примененболее высокий RTL-уровень(RegisterTransferLevel).В результате, например, вместо обозначения в явном виде элементов Исключающее ИЛИ в модели использованы их “формульные”эквиваленты. Это несколько увеличивает дистанцию между моделью и ее реальнымпрототипом, так как формульный эквивалент не учитывает задержку срабатываниясоответствующего логического элемента или группы элементов. В примере нет такжеявных моделей усилителей, инвертора, триггера. Поэтому в Вашем курсовом проектеследует разработать более подробную модель, в полной мере соответствующую gate-уровню.
Схема(рис. 4.1) представлена четырьмя модулями. Первый модуль (moduleber_tester) описывает структуруустройства в целом. Остальные модули (moduleDCE, moduleLine,moduleDTE) описываютструктуру соответствующих составных частей устройства. Для удобства составлениямодели введены два “фиктивных” D-триггера (показаны на рисунке штриховыми линиями),хотя возможны и иные решения.
Далееприведены примеры реализации четырех упомянутых модулей. Каждый из нихтрадиционно оформлен в виде отдельного файла. При компоновке проекта эти файлысобираются в одну группу и “исполняются” после выполнения Вами цепи команд экранногоменю: Project<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Wingdings">à
New<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Wingdings">à<имя нового проекта> <span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol; mso-symbol-font-family:Wingdings">à Add (добавить в проект четыре файла – описания четырех модулей) <span Times