Таблица ожидаемых строк
Страница «Тест-кейсы» позволяет описать ожидаемое поведение обычной текстовой таблицей — по столбцу на каждый вход и выход, по строке на каждую комбинацию, которую нужно проверить, используя 0, 1 или x для «неважно». Пока в таблице нет импульса такта (о нём ниже), каждая строка прогоняется через свою собственную независимую симуляцию: перечисленные входы задаются, перечисленные выходы сверяются, и любая несовпавшая строка немедленно помечается.
Это ровно та же таблица истинности, только написанная от руки
Таблица тест-кейсов — это не более чем таблица истинности, которую вы ожидаете от своей схемы, записанная заранее вместо того, чтобы генерироваться автоматически постфактум, — полезно в тот момент, когда схема становится достаточно большой, чтобы разглядывание автоматически сгенерированной таблицы истинности перестало быть надёжным способом поймать ошибку.
Тактируемые схемы и символ C
Поставьте C во входной колонке, и этот сигнал получит импульс: он идёт 0, затем 1, затем снова 0, а выходы сверяются, когда схема устоялась. Таблица с C перестаёт быть набором независимых строк и становится последовательностью. Она идёт сверху вниз от включения питания, когда все триггеры и регистры равны 0, состояние переходит из строки в строку, а x во входной колонке оставляет то значение, которое этот вход имел в предыдущей строке.
4-битный счётчик записывается как столбец C и значение, которое вы ждёте после каждого импульса: после первого Q0…Q3 равны 1 0 0 0, после второго 0 1 0 0 и так далее. Счётный триггер (D-триггер, у которого D питается от NOT Q) — это просто четыре строки C с ожиданием 1, 0, 1, 0.
Стоит знать два ограничения. Время между импульсами не моделируется: импульс — это мгновенное 0, 1, 0, а не длительность, поэтому таблица не проверяет времена предустановки и удержания. И тест работает на собственной копии состояния схемы, так что запуск таблицы никогда не сбивает счётчики, за которыми вы следите в редакторе.
Попробуйте сами
Напишите небольшую таблицу тест-кейсов для полусумматора в редакторе схем — четыре строки, покрывающие все комбинации A и B, — убедитесь, что она проходит, затем намеренно поменяйте местами два столбца выходов, чтобы увидеть, как страница сообщит о несовпадении.
Затем сделайте то же для тактируемой схемы: соедините выход Q D-триггера через вентиль NOT с его же входом D, подключите к тактовому входу INPUT с подписью CLK, а к выходу — OUTPUT с подписью Q, и напишите таблицу «CLK | Q» из четырёх строк «C | 1», «C | 0», «C | 1», «C | 0».