OS-VVM (Диплом)/Описание тестовой программы — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м (→Архитектура тестбенча) |
ANA (обсуждение | вклад) м (→Ant1) |
||
Строка 61: | Строка 61: | ||
* signal bit_num : out integer - количество бит; | * signal bit_num : out integer - количество бит; | ||
− | === | + | === Anticollision === |
− | + | Anticollision — Антиколлизия и select 1/2 каскадного уровня | |
+ | * Подаёт соответствующую команду на драйвер (в команде вычисляет код команды, добавляет 0x88 для 1 уровня, добавляет BCC и CRC) | ||
+ | * контролирует паузу между запросом и ответом | ||
+ | * принимает ответ и сравнивает его с ожидаемым ответом (используя UID) | ||
+ | * выдаёт ошибку (Error=true), если | ||
+ | ** пауза не соответствует спеку | ||
+ | ** ошибка в данных ответа | ||
+ | |||
Интерфейс: | Интерфейс: | ||
− | * | + | *Входы |
− | * | + | ** Level : in bit — каскадный уровень 1/2 (0=0х93, 1=0х95) |
− | * | + | ** Arg : in natural - аргумент (0х20-0х67) |
− | * | + | ** UID : in integer_vector(6 downto 0) — UID (байта, 6-MSB, 0-LSB) |
− | * signal | + | *Выходы |
− | * signal | + | ** <s> OutData : out std_logic_vector(1 to 164)</s> - данные полученные от респондера; |
+ | *** OutData : out std_logic_vector - данные полученные от респондера; | ||
+ | ** <s> BitNum : out natural</s> - количество бит; | ||
+ | ** <s> clk_num : out natural - количество периодов;</s> — контролировать задержку между запросом и ответом внутри процедуры Anticollision. | ||
+ | ** Error : out boolean — true - ошибка, false= всё Ок. | ||
+ | * Сигналы | ||
+ | ** signal tdata_mod : in std_logic - сигнал, идущий с выхода DUT; | ||
+ | ** signal CoilModulation : out std_logic - огибающая; |
Версия 17:22, 5 марта 2013
Проект Диплом
- Спецификация ИМС
- Тестовый план
- Описание тестовой программы
Литература
- Метрики и процессы покрытия (en)
- Coverage Examples (Practice) (en)
- Requirements Writing Guidelines (en)
* OS-VVM *
Содержание |
Архитектура тестбенча
|
---|
Рисунок — Архитектура тестбенча (edit) |
Описание процедур/функций
Driver
Драйвер преобразует последовательность бит, передаваемых ему командой в огибающую.
Интерфейс:
- data_size : in natural - размер передаваемых данных;
- data : in bit_vector - входной сигнал;
- signal output : out std_logic - выходной сигнал (огибающая);
Responder
Респондер преобразует выходной сигнал DUT в последовательность бит. Запускается при получении стартового бита ответа.
Интерфейс:
- signal tdata_mod : in std_logic - сигнал из DUT;
- signal out_data : out std_logic_vector(1 to 164) - выходной сигнал респондера;
- signal bit_num : out integer - количество бит, полученных респондером;
Pause
Pause ждет ответ DUT и считает периоды.
Интерфейс:
- signal tdata_mod : in std_logic - сигнал из DUT;
- signal clk_num : out integer - количество периодов;
Reset
Reset останавливает clock генератор на указанное время.
Интерфейс:
- wait_time : in time - время сброса(при 0 - бесконечно);
- signal stop : out bit - сигнал остановки clock генератора;
WUPA
WUPA - запрос всех карт;
Интерфейс:
- signal out_data : inout std_logic_vector(1 to 164) - данные полученные от респондера;
- signal tdata_mod : in std_logic - сигнал, идущий с выхода DUT;
- signal clk_num : inout integer - количество периодов;
- signal og : out std_logic - огибающая;
- signal bit_num : out integer - количество бит;
REQA
REQA - запрос карты;
Интерфейс:
- signal out_data : inout std_logic_vector(1 to 164) - данные полученные от респондера;
- signal tdata_mod : in std_logic - сигнал, идущий с выхода DUT;
- signal clk_num : inout integer - количество периодов;
- signal og : out std_logic - огибающая;
- signal bit_num : out integer - количество бит;
Anticollision
Anticollision — Антиколлизия и select 1/2 каскадного уровня
- Подаёт соответствующую команду на драйвер (в команде вычисляет код команды, добавляет 0x88 для 1 уровня, добавляет BCC и CRC)
- контролирует паузу между запросом и ответом
- принимает ответ и сравнивает его с ожидаемым ответом (используя UID)
- выдаёт ошибку (Error=true), если
- пауза не соответствует спеку
- ошибка в данных ответа
Интерфейс:
- Входы
- Level : in bit — каскадный уровень 1/2 (0=0х93, 1=0х95)
- Arg : in natural - аргумент (0х20-0х67)
- UID : in integer_vector(6 downto 0) — UID (байта, 6-MSB, 0-LSB)
- Выходы
-
OutData : out std_logic_vector(1 to 164)- данные полученные от респондера;- OutData : out std_logic_vector - данные полученные от респондера;
-
BitNum : out natural- количество бит; -
clk_num : out natural - количество периодов;— контролировать задержку между запросом и ответом внутри процедуры Anticollision. - Error : out boolean — true - ошибка, false= всё Ок.
-
- Сигналы
- signal tdata_mod : in std_logic - сигнал, идущий с выхода DUT;
- signal CoilModulation : out std_logic - огибающая;