Вот пример файла тестового вектора:
# мой тестовый вектор для add32 A[8] B[8] C[8] Cin Cout 0000_0000 0000_0000 0000_0000 0 0 -2 0x05 3 0 0 0 0o3 3 0 0
Прежде всего, формат файла простой. Заголовки соответствуют входным/выходным контактам схемы. Под ними находятся значения для проверки.
Первая непустая строка без комментариев перечисляет имя каждого входного контакта схемы и его разрядность (если > 1), разделённые пробелами.
Одна вещь, которая часто сбивает с толку начинающих, заключается в том, что разрядность должна быть указана в заголовке всякий раз, когда она не равна 1 биту.
ПРИМЕЧАНИЕ: Разрядность не обязательно совпадает с количеством символов в значении. Например, 4-битное значение 13 может быть представлено как 1101, 00001101, 0x0d, 0o15, 15 или 0b1101 и т.д.
Пустые строки игнорируются. Всё, что следует за символом '#', является комментарием. Первая непустая строка без комментариев перечисляет имя каждого входного контакта схемы и его разрядность (если > 1), разделённые пробелами.
Остальные строки перечисляют каждое значение, разделённое пробелами. Значения могут быть в шестнадцатеричном, восьмеричном, двоичном или знаковом десятичном формате. Шестнадцатеричные значения должны иметь префикс '0x'. Восьмеричные значения должны иметь префикс '0o'. Двоичные и десятичные различаются по количеству цифр: двоичные значения должны всегда иметь ровно столько цифр, сколько разрядность столбца; десятичные значения должны всегда иметь меньше цифр, не должны иметь ведущих нулей и могут иметь знак минус.
Для улучшения читаемости вы можете использовать подчёркивания (_) в любом месте
в числовых значениях. Подчёркивания игнорируются при разборе. Примеры:
0x0000_1111, 0o1234_5670, 1111_0000,
1_234 или -5_000.
Для шестнадцатеричных, восьмеричных и двоичных значений цифра 'x' указывает четыре, три или один "безразличный" бит. Таким образом, значение 101xx — это пятибитное двоичное значение с двумя последними неопределёнными битами, а 0x1ax5 — это шестнадцатеричное значение с четырьмя неопределёнными битами. Такие "безразличные" значения нельзя использовать в десятичной нотации.
Предыдущий: Окно тестовых векторов | Следующий: Специальные значения.