Тетрада TEST_CTRL

Индекс документа: RG040078  Версия документа: 1.3

Общие сведения

Назначение Управление формированием и проверкой тестовой последовательности
Модификация 1
Версия 1.3
ID 0x4F
ID_MOD 1
 

Состав регистров

Прямые регистры

Название Разрядность Описание
STATUS 16  Регистр состояния
DATA 64  Регистр данных
CMD_ADR 10  Регистр косвенного адреса
CMD_DATA 16  Регистр косвенных данных

Адреса и способ доступа к прямым регистрам определяется базовым модулем.

 Командные регистры

Номер Название  Описание

     Общие регистры

0 MODE0  Регистр управления
1 IRQ_MASK  Разрешение прерываний
2 IRQ_INV  Инверсия условия прерывания
3 FMODE  Не используется
4 FDIV  Не используется
5 STMODE  Не используется
6 CNT0  Не используется
7 CNT1  Не используется
8 CNT2  Не используется
   Индивидуальные регистры
9 MODE1 Используются на верхнем уровне ПЛИС
0x0A MODE2
0x0B MODE3
0x0C    
0x0D    
0x0E    
0x0F MUX_CTRL Управление мультиплексором
0x10    
0x11    
0x12    
0x13    
0x14    
0x15    
0x16    
0x17    
0x18    
0x19    
0x1A TEST_GEN_CNT1 Счётчик разрешения работы TEST_GEN
0x1B TEST_GEN_CNT2 Счётчик паузы TEST_GEN
0x1C TEST_CHECK_CTRL Управление узлом TEST_CHECK
0x1D TEST_CHECK_SIZE Размер блока для узла TEST_CHECK
0x1E TEST_GEN_CTRL Управление узлом TEST_GEN
0x1F TEST_GEN_SIZE Размер блока для узла TEST_GEN

Константы

Номер Название  Значение  Описание
0x100 ID  0x4F  Идентификатор тетрады 
0x101 ID_MOD 1  Модификатор тетрады
0x102 VER  0x0100  Версия тетрады
0x103 TRES  0x10  Ресурсы тетрады
0x104 FSIZE  0  Размер FIFO
0x105 FTYPE  0  Тип FIFO
0x106 PATH  *  Подключение тетрады
0x107 ID_NUM  *  Номер экземпляра
0x108 TEST_RES    Наличие узлов
0x109 FFT_SIZE    Размер БПФ
0x108
0x11F
- -  Резерв

* - Значения определяются в конкретной прошивке ПЛИС.

Непосредственные регистры

Номер Название  Описание
0x210 TEST_CHECK_BL_RD_L Число принятых блоков
0x211 TEST_CHECK_BL_RD_H
0x212 TEST_CHECK_BL_OK_L Число правильных блоков
0x213 TEST_CHECK_BL_OK_H
0x214 TEST_CHECK_BL_ERROR_L Число ошибочных блоков
0x215 TEST_CHECK_BL_ERROR_H
0x216 TEST_CHECK_TOTAL_ERROR_L Общее число ошибок
0x217 TEST_CHECK_TOTAL_ERROR_H
0x218 TEST_CHECK_ERROR_ADR Адрес слова в памяти результата
0x219 TEST_CHECK_ERROR_DATA Слово данных из памяти результата
0x21A TEST_GEN_BL_WR_L Число переданных блоков
0x21B TEST_GEN_BL_WR_H
0x21C    
0x21D    
0x21E    
0x21F    
0x220 FREQ0  Измеряемая частота 0
0x221 FREQ1  Измеряемая частота 1
0x222 FREQ2  Измеряемая частота 2

 

Описание

Тетрада TEST_CTRL  предназначена для формирования и проверки тестовой последовательности. Структурная схема тетрады представлена на рисунке.

В состав тетрады входят следующие узлы:

Тестовая последовательность представляет собой набор блоков.
Размер блока задаётся кратным размеру 4 килобайта
(512 слов по 64 бита)
Первое 64-х разрядное слово в блоке содержит сигнатуру и порядковый номер.
31..0 - сигнатура 0xA5A50123
63..32 - порядковый номер блока

Содержимое блока зависит от его порядкового номера в последовательности.

Содержимое блока:
 0 - Бегущая единица по 64-м разрядам
 1 - Бегущий ноль по 64-м разрядам
 2 - Бегущая единица с инверсией по 64-м разрядам
     - Чётные номера слов - бегущая единица по 64-м разрядам
     - Нечётные номера - инверсия предыдущего слова
 3 - Бегущий ноль с инверсией по 64-м разрядам
      - Чётные номера - бегущий ноль по 64-м разрядам
      - Нечётные номера - инверсия предыдущего слова
 4 - Бегущая единица в блоке
      Номер слова сравнивается с номером блока (сравниваются восемь младших разрядов)
      При совпадении - в слово записывается бегущая 1.
     Остальные слова - значение ноль.
 5 - Бегущий ноль а в блоке
       Номер слова сравнивается с номером блока (сравниваются восемь младших разрядов)
       При совпадении - в слово записывается бегущий 0.
       Остальные слова - значение 0xFFFFFFFFFFFFFFFF.
 6,7 - Счётчик по 64-м разрядам
       - Чётные номера - значение счётчика
       - Нечётные номера - инверсия предыдущего слова
 8,9 - Псевдослучайная последовательность
         Формируется М-последовательность по 64 разрядам.
         Начальное значение - 1
         Слово формируется сдвигом на один разряд влево.
         В младший разряд слова записывается значение x[63] xor x[62]


Для режима счётчика и псевдослучайной последовательности начальное значение
формируется при инициализации тестовой последовательности.
Для остальных режимов - при инициализации проверки блока.
 

    Узел TEST_CHECK проверяет входную тестовую последовательность на соответствие ожидаемым значениям. Узел сохраняет информацию о первых шестнадцати ошибках. Проверка последовательности может осуществляться одновременно с передачей последовательности на выход.

    Узел TEST_GEN формирует тестовую последовательность.

    Узел MUX позволяет выбрать один из источников для выходной тестовой последовательности.

    Регистр TEST_RES указывает на наличие узлов в тетраде.

     Тетрада позволяет опеределить значения трёх частот. Для измерения используются регистры FREQ0, FREQ1, FREQ2. Сигналы, подключённые к входам измерения частоты определяются на верхнем уровне ПЛИС. Регистр MODE1 может использоваться для выбора измеряемой тактовой частоты. Описание регистра MODE1 приводится на верхнем уровне ПЛИС.

 

 

Описание регистров тетрады TEST_CTRL

Описание общих регистров управления приводится в документе RG040006 reg_common.htm

Регистры STATUS, IRQ_MASK, IRQ_INV

 Бит  Название  Описание
0 CMD_RDY  1 - готовность к выполнению команды
1 RDY  1 - готовность FIFO
2 EF  0 - FIFO пустое
3 PAE  0 - FIFO почти пустое
4 HF  0 - FIFO заполнено наполовину
5 PAF  0 - FIFO почти полное
6 FF  0 - FIFO полное
7 OVR  1 - запись в полное FIFO
8 UND  1 - чтение из пустого FIFO
15..9 -  Не используются

Регистр STATUS показывает текущее значение флагов.
Регистр IRQ_MASK показывает  разряды регистра STATUS, по которым будет формироваться прерывание. Значение 1 в разряде регистра IRQ_MASK разрешает формирование прерывания от соответствующего разряда регистра STATUS.
Регистр IRQ_INV определяет инверсию условия прерывания. Значение 0 в разряде регистра IRQ_INV определяет формирование прерывания по значению 1 в разряде регистре STATUS.
Значение 1 в разряде регистра IRQ_INV определяет формирование прерывания по значению 0 в разряде регистра STATUS.
Уровни срабатывания флагов PAE и PAF устанавлены на 32 слова.

Регистр DATA

Бит Название  Описание
63..0 D  Данные

Формат слова и расположение слов в регистре зависят от источника данных.

 

Регистр MUX_CTRL

Бит Название  Описание
3..0 MUX Источник для выходной последовательности:
 0
000 - входная последовательность
 0001 -
TEST_GEN - узел формирования тестовой последовательности

Управление выходным мультиплексором.

 

Регистр TEST_CHECK_CTRL

Бит Название  Описание
0 RESET 1 - сброс узла
3..1 -
4 -
5 START 1 - разрешение работы
6 -
7 FIX_MODE 1 - фиксированный тип блока
11..8 BLOCK_MODE Номер типа блока при FIX_MODE=1
15..12 -

Управление узлом TEST_CHECK - проверка тестовой последовательности.

 

Регистр TEST_CHECK_SIZE

Бит Название  Описание
15..0 SIZE Размер блока

Размер проверяемого блока указывается в блоках по 4 килобайта. Значение 1 соответствует блоку размером 4 килобайта.

 

Регистр TEST_GEN_CTRL

Бит Название  Описание
0 RESET 1 - сброс узла
3..1 -
4 -
5 START 1 - разрешение работы
6 CNT_MODE 1 - разрешение работы счётчиков TEST_GEN_CNT1, TEST_GEN_CNT2
7 FIX_MODE 1 - фиксированный тип блока
11..8 BLOCK_MODE Номер тип блока при FIX_MODE=1
14..12 -
15 RDY 1 - принудительная установка готовности FIFO

Управление узлом TEST_GEN - формирование тестовой последовательности.

 

Регистр TEST_GEN_SIZE

Бит Название  Описание
15..0 SIZE Размер блока

Размер формируемого  блока указывается в блоках по 4 килобайта. Значение 1 соответствует блоку размером 4 килобайта.

 

Регистр TEST_GEN_CNT1

Бит Название  Описание
15..0 CNT Число тактов разрешения работы

 

Регистр TEST_GEN_CNT2

Бит Название  Описание
15..0 CNT Число тактов паузы в работе TEST_GEN

 

 

 

Регистры TEST_CHECK_BL_RD_L, TEST_CHECK_BL_RD_H

Бит Название  Описание
15..0 CNT  Число принятых блоков

Регистры содержат число принятых блоков. Регистр TEST_CHECK_BL_RD_L содержит младшее слово, регистр TEST_CHECK_BL_RD_H содержит старшее слово.

 

Регистры TEST_CHECK_BL_OK_L, TEST_CHECK_BL_OK_H

Бит Название  Описание
15..0 CNT  Число правильно принятых блоков

Регистры содержат число правильно принятых блоков. Регистр TEST_CHECK_BL_OK_L содержит младшее слово, регистр TEST_CHECK_BL_OK_H содержит старшее слово.

Регистры TEST_CHECK_BL_ERROR_L, TEST_CHECK_BL_ERROR_H

Бит Название  Описание
15..0 CNT  Число принятых блоков с ошибками

Регистры содержат число принятых блоков с ошибками. Регистр TEST_CHECK_BL_ERROR_L содержит младшее слово, регистр TEST_CHECK_BL_ERROR_H содержит старшее слово.

 

Регистры TEST_CHECK_TOTAL_ERROR_L, TEST_CHECK_TOTAL_ERROR_H

Бит Название  Описание
15..0 CNT  Число принятых блоков с ошибками

Регистры содержат общее число ошибок. Регистр TEST_CHECK_TOTAL_ERROR_L содержит младшее слово, регистр TEST_CHECK_TOTAL_ERROR_H содержит старшее слово.

 

Регистры TEST_CHECK_ERROR_ADR

Бит Название  Описание
3..0 ADR_WORD Номер слова
7..4 NUM_ERROR Номер ошибки
15..8 -

Регистр содержит адрес для доступа к памяти результата. Поле NUM_ERROR содержит номер ошибки. Поле ADR_WORD содержит адрес 16-ти разрядного слова в памяти результата.

 

Формат слова в памяти результата

ADR_WORD Название  Описание
0 DATA_IN[15..0]  Принятое слово из тестовой последовательности
1 DATA_IN[31..16]
2 DATA_IN[47..32]
3 DATA_IN[63..48]
4 DATA_EXPECT[15..0]  Ожидаемое слово в тестовой последовательности
5 DATA_EXPECT[31..16]
6 DATA_EXPECT[47..32]
7 DATA_EXPECT[63..48]
8 ADR[15..0]  Адрес внутри блока
9 ADR[31..16]
10 BLOCK[15..0]  Номер блока
11 BLOCK[31..16]

Регистр содержит адрес для доступа к памяти результата. Поле NUM_ERROR содержит номер ошибки. Поле ADR_WORD содержит адрес 16-ти разрядного слова в памяти результата.

 

Регистры TEST_CHECK_ERROR_DATA

Бит Название  Описание
15..0 DATA  Слово из памяти результата

Регистр содержит слово из памяти результата соответствующее адресу из регистра TEST_CHECK_ERROR_ADR.

 

Регистры TEST_GEN_BL_WR_L, TEST_GEN_BL_WR_H

Бит Название  Описание
15..0 CNT  Число переданныз блоков

Регистры содержат число переданных блоков. Регистр TEST_GEN_BL_WR_L содержит младшее слово, регистр TEST_GEN_BL_WR_H содержит старшее слово.

 

Регистры FREQ0, FREQ1, FREQ2

Бит Название  Описание
15..0 FREQ  Значение тактовой частоты

Значение младшего разряда поля FREQ равно 100 кГц. Значение тактовой частоты определяется как FREQ * 100 кГц.

 

Список версий

1.0 12.09.2007 Базовая версия
1.3 11.06.2008 Добавлены регистры измерения частоты FREQ0 - FREQ2