Назначение | Управление формированием и проверкой тестовой последовательности |
Модификация | 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 приводится на верхнем уровне ПЛИС.
Бит | Название | Описание |
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 слова.
Бит | Название | Описание |
63..0 | D | Данные |
Бит | Название | Описание |
3..0 | MUX | Источник для выходной
последовательности: 0000 - входная последовательность 0001 - TEST_GEN - узел формирования тестовой последовательности |
Бит | Название | Описание |
0 | RESET | 1 - сброс узла |
3..1 | - | |
4 | - | |
5 | START | 1 - разрешение работы |
6 | - | |
7 | FIX_MODE | 1 - фиксированный тип блока |
11..8 | BLOCK_MODE | Номер типа блока при FIX_MODE=1 |
15..12 | - |
Бит | Название | Описание |
15..0 | SIZE | Размер блока |
Бит | Название | Описание |
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 |
Бит | Название | Описание |
15..0 | SIZE | Размер блока |
Бит | Название | Описание |
15..0 | CNT | Число тактов разрешения работы |
Бит | Название | Описание |
15..0 | CNT | Число тактов паузы в работе TEST_GEN |
Бит | Название | Описание |
15..0 | CNT | Число принятых блоков |
Бит | Название | Описание |
15..0 | CNT | Число правильно принятых блоков |
Бит | Название | Описание |
15..0 | CNT | Число принятых блоков с ошибками |
Бит | Название | Описание |
15..0 | CNT | Число принятых блоков с ошибками |
Бит | Название | Описание |
3..0 | ADR_WORD | Номер слова |
7..4 | NUM_ERROR | Номер ошибки |
15..8 | - |
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] |
Бит | Название | Описание |
15..0 | DATA | Слово из памяти результата |
Бит | Название | Описание |
15..0 | CNT | Число переданныз блоков |
Бит | Название | Описание |
15..0 | FREQ | Значение тактовой частоты |
1.0 | 12.09.2007 | Базовая версия |
1.3 | 11.06.2008 | Добавлены регистры измерения частоты FREQ0 - FREQ2 |