моделиране на вериги

Урок 8

проект

Така CAD OrCAD използва не един универсален, а два специализирани моделира. Естествено възниква въпросът кога и какво да прилагаме? За да отговорим, нека разгледаме възможните типове проекти в този пакет. На фиг. Фигура 2 показва диалоговия прозорец Нов проект, който вече познаваме. Да напомня, че се извиква с командата File/New/Project (урок 1). Можем да изберем всеки от четирите вида.

проект

Вторият тип проект се нарича PC Board Wizard. Изглежда, че изобщо не ни подхожда, защото (съдейки по името) става въпрос за дизайна на печатни платки. Това обаче е „капан“. Този тип проекти трябва да бъдат избрани, ако ще разработваме чипове с малка и средна степен на интеграция и впоследствие да ги симулираме. Що се отнася до името, то само подчертава възможността за извършване на оформление на печатни платки след моделиране (или вместо него). Важно е да се отбележи, че в този режим имаме алтернатива: PCB PSpice или PCB Simulate проекти.

    PSpice PCB проекти се създават, ако в диалоговия панел PCB Project Wizard (фиг. 3) поставите отметка в полето Enable project simulation и изберете горния ред: Добавяне на ресурси за симулация на аналогов или смесен сигнал. Този проект ще бъде моделиран от OrCAD PSpice A/D.

вериги

  • Проектите за PCB Simulate се създават, ако изберете най-долния ред с отметнато квадратче: Добавете ресурси за цифрова симулация, базирани на VHDL (фиг. 3). Такъв проект се обработва от "родния" OrCAD Simulate modeler.
  • Третият тип проект - програмируема логика - ви позволява да синтезирате и симулирате прости програмируеми логически устройства. Това става с програми.OrCAD Capture и OrCAD Simulate. По-сложните проекти се изпълняват с помощта на специализирани софтуерни инструменти от производители на FPGA, като Altera, Xilinx и др. Например Altera предлага системата за проектиране Max+Plus II за тези цели [1].

    Четвъртият тип проект се използва само за създаване и документиране на електрически схеми. В него не е възможно моделиране и разработка на печатни платки.

    По този начин, за дигитално моделиране, изборът всъщност се стеснява до дизайни тип PCB. Помислете за технологията за проектиране и моделиране на вериги в тези режими.

      Създайте нов проект, като напишете File/New/Project….

    1.1. Въведете името му, например test_dc (декодер 2 > 4).

    1.2. Посочете местоположението му на диска, например E:\OrCAD_9\dc. Ако посочената папка не съществува, тя ще бъде създадена автоматично.

    1.3. Задаваме типа на проекта, в нашия случай трябва да изберем опцията: PC Board Wizard - моделиране и трасиране на печатни платки за стандартна логика на по-ниско и средно ниво на интеграция.

  • В панела PCB Project Wizard поставете отметка в квадратчето Enable Project Simulation и изберете горния бутон: Добавете ресурси за симулация на аналогов или смесен сигнал. С други думи, ние ще извършим симулации с помощта на SPICE модели и PSpice A/D симулатора.
  • Добавяме към списъка с библиотеки, използвани в проекта (по подразбиране са четири) още една - 7400.olb. Той съдържа цифрови елементи и по-специално необходимите ни компоненти 7404 и 7408 с логически функции NOT и съответно 2I.
  • Правим прозореца СХЕМА1:СТРАНИЦА активен (и двете имена са зададени по подразбиране и могат да бъдат заменени от потребителя). В този прозорец рисуваме верига, която в нашия пример съдържа шест елемента - два инвертора7404 и четири клапана 7408 (фиг. 4).
  • проект
    4 използване на двубитова шина" border="0">

    4.1. Поставяме елементите (команда Place / Part ...).

    4.2. Свързваме ги с проводници (команда Place/Wire).

    4.3. Задаваме проводниците с персонализирани имена - псевдоними (команда Place / Net Alias ​​​​...). Не забравяйте, че веригата с името трябва да бъде "облегната" на проводника, който назовавате, така че да докосва веригата.

    4.4. Поставяме маркери в точките, които искаме да наблюдаваме на екрана при показване на резултатите (команда PSpice/Markers/Voltage Level).

    4.5. Въвеждаме генератори на външни въздействия за входни сигнали А0 и А1. Ако ги разглеждаме като елементи на двубитовата шина A[1..0], тогава ни трябва само един двубитов DigStim2 стимул (команда Place/Part, библиотека SOURCSTM). Дайте му име, например Implementation = A_bus1. По-точно, това дори не е името на стимула, а името на времевата диаграма, която той ще генерира. Използвайки командата Place/Bus, нарисувайте автобус и му дайте име A[1..0]. Към него свързваме изхода на генератора на стимул DigStim2 и проводниците A0 и A1 (фиг. 4).

    Важно е да запомните, че автобусът трябва да носи същото име като имената на мрежите, включени в него. Що се отнася до атрибута Implementation, неговата стойност може да бъде произволна, но не може да бъде указана във формата на името на шината (квадратните скоби обикновено се игнорират).

    моделиране

    Създаваме профил за симулация, например test_dc.sim, в който въвеждаме параметрите за симулация на нашия проект (команда PSpice / New Simulation Profile). Докато не създадете този файл, системата няма да ви позволи да изпълнявате команди за симулация. Вероятно не без причина последователността от команди в менюто на PSpice и иконите на лентата с инструменти е подредена в правилния ред.

    В раздела Анализ (активен по подразбиране)задайте желания тип анализ - Time Domain (Transient) и крайното време на симулация, например Run to time = 1000 ns, а в раздела Option (фиг. 6) - Gate-level Simulation метод на симулация и режим на забавяне, например Typical.

    PSpice

    Можете да създадете повече от един симулационен профил, като test_dc_typ.sim и test_dc_max.sim, и да симулирате вашата верига при номинални или максимални закъснения. За да изберете конкретна опция, трябва да активирате съответния профил. Изберете го (фиг. 7), след което щракнете с десния бутон, за да отворите изскачащото меню и изпълнете командата Направи активен. Активният профил ще бъде маркиран с "!".

    вериги

    С помощта на командата PSpice/Run стартираме нашия проект за моделиране. След известно време на екрана на монитора се появява работният панел на симулатора OrCAD PSpice A/D с резултатите от симулацията (фиг. 8).

    вериги

    Ако сте работили с пакета DesignLab 8, то ви предстои още една среща със стария „познат“ – моделиращият постпроцесор Probe. Обаче не съвсем така. В пакета OrCAD 9 симулаторът PSpice A/D и постпроцесорът Probe (продукти на MicroSim) са обединени в една програма, която запазва старото име PSpice A/D. Потребителите, които не са запознати с тези приложения, се съветват да се обърнат към литературата [2].

      Създайте нов проект, като напишете File/New/Project…

    1.1. Въведете името му, например test_mux4 (мултиплексор 4 > 1).

    1.2. Посочете местоположението му на диска, например E:\OrCAD_9\mux4. Ако посочената папка не съществува, тя ще бъде създадена автоматично.

    1.3. Задайте типа на проекта (в нашия случай изберете опцията PC Board Wizard - моделиране и трасиране на печатни платки за стандартна логика на по-ниско и средно ниво на интеграция).

  • В панела PCB Project Wizard поставете отметка в квадратчето Enable Project Simulation и изберете долния бутон: Add VHDL-базирани ресурси за цифрова симулация. С други думи, ще извършим симулация с помощта на VHDL модели и симулатора OrCAD Simulate.
  • Добавяме две библиотеки към проекта: ttl.olb и ttl.vhd. Първата съдържа графични изображения на цифрови елементи и по-специално компонентите, от които се нуждаем 7404 (инвертор), 7432 (2OR) и 7411 (3I). Във втория – техните математически VHDL модели.
  • Правим прозореца СХЕМА1: СТРАНИЦА активен (и двете имена са зададени по подразбиране и могат да бъдат заменени от потребителя). В този прозорец начертаваме верига, която в нашия пример съдържа девет елемента: два инвертора 7404, четири вентила 7411 и три вентила 7432 (фиг. 9).
  • моделиране

    4.1. Поставяме елементите (команда Place / Part ...).

    4.2. Свързваме ги с проводници (команда Place/Wire).

    4.3. Задаваме проводниците с персонализирани имена - псевдоними (команда Place / Net Alias ​​​​...). Не забравяйте, че веригата с името трябва да бъде "облегната" на проводника, който назовавате, така че да докосва веригата.

    Следователно, след като завършите чертежа, е необходимо да извършите автоматично опаковане на елементи в кутии. Извършвайки тази работа, не забравяйте да поставите отметка в квадратчето Безусловна референтна актуализация в диалоговия прозорец Анотиране в прозореца Действие - актуализиране на референтните обозначения и информацията за опаковане на всички елементи на веригата.

    вериги

    Разбира се, положителният резултат радва, но ние толкова бързахме да го получим, че пренебрегнахме някои много важни операции. Те не са задължителни за изпълнение, но за сложни проекти няма да са излишни.

    Командата вече е достъпна за изпълнение. Щраквайки върху него с мишката, ще видим диалогов панел със съответното име (фиг. 11). Ниеискаме да контролираме не само грешките, но и предупрежденията, затова поставяме отметка в квадратчето Създаване на DRC маркери за предупреждения. Освен това, за да видите резултатите от проверката на екрана, поставете отметка в квадратчето Преглед на изхода. В този случай те ще бъдат записани във файла *.drc (в този пример във файла mux4.drc) и съдържанието му ще се покаже на екрана.

    PSpice

    В него не са регистрирани грешки. Разбираемо е, защото резултатите от симулацията са очевидни. Но вижте колко много предупреждения. Така че не сме подобрили нищо. По принцип коментарите се свеждат до два вида:

    • Мрежата няма източник на задвижване A1 - веригата няма източници на стартиране;
    • Мрежата има по-малко от две връзки Q - мрежата има по-малко от две връзки.

    Ако погледнете електрическата схема, ще видите DRC маркери (малки зелени пръстени) върху нея. Двойното щракване върху маркер отваря панел, обясняващ естеството на грешката или предупреждението. След като се справихме с естеството на предупрежденията, ще се опитаме да ги елиминираме. Оказва се, че цялата работа е, че не сме „закачили“ йерархични портове на входните и изходните вериги.

    Активирайте командата Place/Hierarchical Port… или щракнете върху иконата. Нека поставим входните (PORTRIGHT-L) и изходните (PORTLEFT-L) портове на диаграмата, като ги наименуваме със същите имена като мрежите, към които са свързани. След като повторихме проверката на веригата, ще открием със задоволство, че сега има не само грешки, но и предупреждения (фиг. 12).

    като

    Позволете ми да ви напомня, че йерархичните портове също са необходими, за да генерирате автоматично обвивка на тестов стенд, в която по-късно можете да въведете VHDL тестови набори от входни сигнали. Технологията за създаване на такива VHDL тестове беше обсъдена в предишния урок.

    1. Steshenko V. B. ALTERA FPGA: дизайнустройства за обработка на сигнали. М. ДОДЕКА. 2000 г.
    2. Шалагинов А. В. Цифрово моделиране в CAD DesignLab 8. Уроци за начинаещи: Proc. надбавка. Новосибирско издателство на NSTU. 2000 г.