Вызов программы PCMODEL

Текстовой PML-файл, содержащий функциональное описание цифровой схемы, должен быть преобразован в двоичный файл с помощью программы PCMODEL. Как и любая другая программа системы PCAD, она может быть вызвана двояко: с помощью управляющей оболочки Shell (режим Simulation/Behavioral Modeling) или непосредственно командой:

>pcmodel.

В любом случае после вызова программы на экране дисплея появятся запросы на ввод имени текстового PML-файла и объектного выходного файла:

PML Model Filename:      (Filename) .PML

Object Model Filename: (Filename) .MDL.

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

В заключение в качестве примера приведем описание двоично-десятичного четырехразрядного счетчика 133ИЕ2, графическое изображение которого показано на рис. 4.4:

133IЕ2( )

INPUT S1, S2, R1, R2, C1, C2;

OUTPUT Q1 (100, 100, «D», «D»), Q2 (100, 100, «D», «D»),

                 Q3 (100, 100, «D», «D»), Q4 (100, 100, «D», «D»);

{IF (R1 = = «1»&&R2= = «1») & (S1 = = «0») ¦ ¦ S2 = = «0»)

{Q1=«0»; Q2 = «0»; Q3 = «0»; Q4=«0»;};

IF(S1 = =«1»&&S2= = «1»)

   {Q1 = «l»; Q2 = «0»; Q3 = «0»; Q4 = «1»;};

IF (R1 = = «0» ¦ ¦ R2 = = «0»)&(S1 = = «0» ¦ ¦ S2 = = «0»)

{IF(C1 = = « »)

     {IF(Q1 = =«0»)

           {Q1=«l»;}

       IF(Q1 = = «1»)

           {Q1 = «0»;}};

IF(C2 == « »)

     {IF([Q2, Q3, Q4] = = «0b000»)

          {Q2 = «1»; Q3 = «0»; Q4 = «0»;}

        IF([Q2, Q3, Q4] = = «0b100»)

          {Q2 = «0»; Q3 = «1»; Q4 = «0»;}

        IF([Q2, Q3, Q4] = «0b010»)

          {Q2 = «l»; Q3 = «l»; Q4 = «0»;}

        IF([Q2, Q3, Q4] = = «0b110»)

          {Q2 = «0»; Q3 = «0»; Q4=«1»;}

        IF([Q2, Q3, Q4] = = «0b001»)

        {Q2 = «0»; Q3 = «0»; Q4 = «0»;}}};}.

Двоично-десятичный счетчик состоит из делителя на 2 (вход С1, выход Q1) и делителя на 5 (вход С2, выходы Q2, Q3, Q4). Для образования десятичного счетчика выводы Q1 и С2 соединяются. Нетактируемая установка нуля осуществляется подачей сигнала «1» на оба входа R1, R2 и «0» на один из входов S1, S2, а установка значения девять – подачей «1» на оба входа S1, S2. Во время счета хотя бы на один из каждой пары входов R1, R2 и S1, S2 должен быть подан «0».