Как показал предыдущий пример, объект модели обеспечивает взаимосвязь между остальными объектами, включая объекты других моделей. Модель можно использовать, в сочетании с gate(компонентом) и функциями, для описания схемы.
Модель оглавляется как аргумент model и далее идут блоки, описывающие объекты, в соответствии с иерархией. Формат приведен ниже:
Format:
model name(signal1, signal2, signal3, ... signalN)
Example:
model dff(d, ck, set, reset, q, q_bar)
model shift_reg(input, ck, q3, q2, q1, q0)
Ссылка на экземпляры примитивов объекта (gate и функция) и на модели нижестоящего уровня используется для описания симулятору топологии новой модели. Формат ниже:
Format:
instance : model ( signal1, signal2, signal3, ... signalN )
Example:
gate1: subgate(input, en, mix)
node5: inverter(mix, out_bar)
Отметьте, кажда ссылка на инстанцию в моде происходит по уникальному имени инстанции. Пример ниже:
model latch(input, en, en_bar, out)
gate1: xgate(input, en, mix)
gate2: xgate(out, en_bar, mix)
gate3: inverter(mix, out_bar)
gate4: inverter(out_bar, out)
gate xgate(in, ctl, out)
t: delta=8.0e-9
t: delta=8.0e-9
i: ctl=L o: out=X@0
i: ctl=H in=L o: out=L
i: ctl=H in=H o: out=H
i: o: out=X@2
gate inverter(in, out)
t: delta=5.0e-9
i: in=L o: out=H
i: in=H o: out=L
i: o: out=X@2
Этот пример содержит описание простой защелки. Когда (en=H, en_bar=L) входная информация проходит первый gate и через инверторы проходит к выходу. Если же (en=L, en_bar=H) то сигнал не проходит защелку. Состояние защелки не изменяется.
Установка первоначального параметра(set)
Установка set нужна если нужно установить какой-то сигнал до проведения моделирования. Например, это могут быть сигналы ground и power.