Часть 10: СИМУЛЯЦИЯ


plug

10-4: Поведенческие модели (ALS)

plug



Когда VHDL для цепи скомпилирован в netlist, включены и связность и поведение. Это происходит потому, что формат netlist иерархический, а внизу иерархии располагаются примитивы поведения. Electric распознает поведенческие примитивы для MOS транзисторов, AND, OR, NAND, NOR, Inverter и XOR вентилей. Другие примитивы могут быть определены пользователем, а все существующие примитивы могут быть переопределены.

Для создания (или переопределения) поведения примитивов просто создайте "netlist" образ ячейки с именем примитива. Используйте команду Edit Facet... меню Facets и выберите вид "netlist-als-format". Например, для определения поведения фасета ALU отредактируйте "alu{net-als}", и переопределите поведение двух-входового вентиля And, отредактируйте "and2{net-als}". Компилятор скопирует эти текстовые фасеты в описание netlist, когда бы на этот узел не было ссылок в VHDL. 

Библиотека, которая содержит только поведенческие модели, может быть построена и храниться отдельно от текущей библиотеки. Для идентификации этой библиотеки, как места поведенческих моделей, используйте субкоманду Select Behavioral Library... команды VHDL Compiler меню Tools.

Формат netlist обеспечивает три разных типа определяемых сущностей: модель, вентиль и функция (model, gate, и function). Модель описывает внутреннюю связность между другими сущностями. Она описывает иерархию и топологию. Вентиль и функция находятся на уровне примитива. Вентиль использует таблицу истинности, а функция делает ссылки на C-кодированное поведение (которое должно быть скомпилировано в Electric, см модуль "simalsuser.c"). Обе примитивные сущности также разрешают спецификацию операционных параметров, таких как скорость переключения, емкость нагрузки и задержка распространения (сигнала). Симулятор определяет емкость нагрузки, и, следовательно, задержку переключения каждого узла системы, рассматривая емкость нагрузки каждого примитива, соединенного с узлом, и внося ее в рассчет элементов обратной связи узла.

Пример netlist, описывающего модель RS защелки, показан ниже:

Figure 10.3

Декларация модели для рисунка следующая:

      model main(set, reset, q, q_bar)
      inst1: nor2(reset, q_bar, q)
      inst2: nor2(q, set, q_bar)

Описание вентиля nor2 следующее:

      gate nor2(in1, in2, out)
      t: delta=4.5e-9 + linear=5.0e-10
      i: in1=L in2=L   o: out=H@2
      i: in1=H         o: out=L@2
      i: in2=H         o: out=L@2
      i:               o: out=X@2

После комбинирования эти объекты представят полное описание цепи. Заметьте, что когда вентиль, функция или другая модель имеют ссылки из описания модели, есть однозначное соответствие между именами сигналов, выводимых из места вызова, и именами сигналов, содержащихся в заголовке вызванного объекта.


Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next