Часть 10: СИМУЛЯЦИЯ
10-5: Концепции симуляции (ALS) |
База данных внутренней симуляции
составлена из узлов симуляции
(simulation nodes). Узел симуляции - точка
соединения, которая может иметь один
или больше сигналов (signals),
ассоциированных с ней.
Узел симуляции может иметь 3 значения (L, H или X) и может иметь 4 значения интенсивности (strengths) (off, node, gate и VDD, в порядке возрастания интенсивности). Таким образом, это симулятор с 12 состояниями. При решении вопроса о состоянии узла симуляции в отдельный момент симуляции симулятор рассматривает состояния и интенсивности всех управляющих входов узла.
Управляющие входы могут быть из других узлов симуляции, в этом случае интенсивность управления - "gate" (то есть, H(gate) показывающая логическое состояние HIGH с вентильной управляющей интенсивностью); из ввода питания или земли ("VDD" strength) или из пользовательского (любая интенсивность). Если не был введен пользовательский вектор в текущее время симуляции, тогда вход определяется, как "off" интенсивность. |
В примере выше комбинация высокого и низкого управляющих входов одинаковой интенсивности из сигналов "out" и "in2" приводит к результату в алгоритме симуляции - установлению состояния X (не определено) выходного сигнала, представленного как "q". Этот пример также показывает поведение части устройства симуляции - арбитражного алгоритма (arbitration algorithm), который предписывает, чтобы осуществлялось неопределенное состояние, если узел симуляции возбуждается сигналами одинаковой интенсивности, но разного состояния, обуславливая, что интенсивность управляющих сигналов в конфликте - это самое высокое состояние управляющее узлом.
Другая важная концепция, которую следует помнить пользователю, это то, что симулятор - управляемый событиями (event-driven) симулятор. Когда узел симуляции изменяет состояние, устройство симуляции просматривает netlist в поисках других узлов, которые могут потенциально изменить состояние. Очевидно, только узлы симуляции, связанные с моделью, вентилем или функцией объектов, могут потенциально изменить состояние. Если требуется изменение состояния или событие (базируемое на определении междоузлового поведения, как задано моделью, вентилем или определением функции), событие добавляется в список событий, планируемых для осуществления в симуляции позже. Когда время события приходит, и событие возбуждается, симулятор должен вновь обратиться к базе данных в поисках других узлов симуляции, которые потенциально могут изменить состояние. Этот процесс продолжается, пока ни пройдет по всем возможным узлам и событиям.
Количество событий в симуляции ограничено 10,000. Если у вас более сложная симуляция, требующая больше событий, измените поле Maximum Events в субкоманде Simulation Options... команды Simulation (Built-in) меню Tools.
|
|