Глава 1

1.1 Средства за намаляване сложността на проекта

Ефективното проектиране на всяка сложна система, състояща се от множество компоненти, не е възможно без декомпозицията на по-малки подсистеми. Този процес на разделяне позволява всяка от подсистемите да се проектира независимо и едновременно с другите, което значително съкращава времето за разработка.

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

Обикновено разделянето на системата се осъществява по начин, който обособява функционално независими блокове като се цели да се минимизират връзките между тях. Електрически свързаните изводи на отделните блокове се специфицират в списък на връзките (netlist), който еднозначно задава свързаността на елементите в схемата.

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

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

Фиг. 1.1 Декомпозиция на система за обработка на изображения

Примерна декомпозиция на система за обработка на изображения е показана на фиг. 1.1. Както се вижда от фигурата, за реализация на системата се използват печатни платки, специализирани интегрални схеми, схеми по поръчка, сигнален процесор - DSP (Digital Signal Processor), специализиран програмно за решаване на конкретните изчислителни задачи, многопроцесорна система за паралелна обработка, програмируеми схеми.

Проектирането на такива сложни системи обхваща няколко етапа, показани с вертикални области на фиг. 1.2.

Фиг. 1.2 Етапи при проектирането на изделия в електрониката

От голямо значение за ускоряване на процеса на проектирането е възможността за съвместно проектиране на апаратната и програмна част с използване на автоматизирани средства от най-високото системно до най-ниското ниво на физическа реализация на всяка подсхема. Последователността от дейности и тяхното съвместяване в процеса на проектиране, с оглед съкращаване на сроковете за излизане на пазара, са визуализирани с хоризонталните полета на фиг. 1.2.

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

1.2 Представяне на схемите и системите

В процеса на проектиране се използват три типа описания на проекта: поведенческо, структурно и физическо.

Поведенческото описание третира системата като "черна кутия" и специфицира какво извършва тя без да е известно от какви блокове ще се реализира, за да изпълни тези функции. На този етап се използват езици за описание на хардуера (Hardware Description Languages) - VHDL, Verilog и др.

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

Физическото описание показва точно как трябва да се реализира структурата, за да се обезпечи изискваното поведение на схемата.

Всяка област на описание може да се раздели на различни нива на йерархия, което може да се наблюдава от Y-диаграмата на Гайски (фиг. 1.3). Колкото по-отдалечено е нивото от центъра, толкова по-абстрактно става описанието.

Фиг. 1.3 Диаграма на Гайски, показваща трите области за описание на проекта: поведенческо, структурно и физическо

Концентричните окръжности съответстват на различните нива на абстракция и показват каква информация се изисква за проекта в отделните области в определения момент от процеса на проектиране. От най-високото към най-ниското отделните нива могат да се дефинират като: системно, функционално, логическо и схемно.

Ако за пример разгледаме логическото ниво на абстракция, се вижда че в клона за повденческо описание се използват Булеви уравнения, на които съответстват логически елементи (И-НЕ, ИЛИ-НЕ, тригери и др.) при структурното описание и клетки топология - от клона за физично / геометрично описание.

1.3 Процес на проектиране

Процесът на проектиране е свързан с трансформиране на описанията на системата от поведенческо през структурно до физическо, при което съществена роля играе синтезът и последователното детайлизиране на описанието.

На всяка стъпка в процеса на проектиране се използва и анализът, за да се провери съответствието на синтезираната схема на даденото ниво на абстракция с изискванията на предшестващото.

Фиг. 1.4 Процес на проектиране

Последователността при анализиране на резултатите от всяка стъпка е показана на фиг. 1.4. Първоначално на базата на спецификацията на изделието, се разработва еталонен набор от тестови вектори, състоящи се от входни въздействия и очаквани реакции. След съставяне на поведенчески модел, той се верифицира посредством симулация с еталонните тестови вектори за съответствие със зададената спецификация. Впоследствие от поведенческия модел се синтезира (автоматично или ръчно) структурно описание, което най-често представлява съставена от логически елементи схема. Чрез логическа симулация и еталонните тестови вектори се проверява дали структурното описание удовлетворява изискванията на изходната спецификация.

На основа на коректното структурно описание се генерира топологията на схемата. Тъй като тя не може да се симулира директно, от нея се извлича еквивалентната ¦ електрическа схема, която се верифицира с помощта на схемен симулатор (SPICE) и еталонния набор тестови вектори. На това ниво се проверява бързодействието и консумираната мощност. По този начин се осъществява пълно трансформиране от поведенческо към физическо описание, което гарантира работеща схема след производството ¦ , защото всички открити при анализа несъответствия се отстраняват още в процеса на проектиране.

1.4 Последователност при проектиране на ИС

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

Спецификация на системата: В резултат от този етап се създава описание на поведението на системата на високо абстрактно ниво. При това се разглеждат фактори като специфични параметри, характеристики и др. Дискутират се избор на технология, методология при проектирането, ограничения към консумация и площ, за да се дефинират конкретните изисквания към бързодействие, разсейвана мощност и функциите, които трябва да изпълнява схемата.

Функционално проектиране: на тази стъпка се разглеждат поведенческите аспекти на системата, за да се намали сложността ¦ и се раздели на подходящи функционално обособени подсистеми. В резултат се получават времедиаграми и други взаимовръзки между подсистемите, които спомагат за снижаване размерността на задачите в следващите стадии от процеса на проектиране.

Логическо проектиране: разработва се логическа структура, коята реализира конкретния функционален блок. Обикновено логическото проектиране се представя с Булеви уравнения, които се минимизират, за да се постигне най-малката схема, която изпълнява зададената логическа функция.Правилното функциониране на схемата се проверява с логическа симулация като се отчитат и закъсненията от разпространение на сигналите.

Схемно проектиране: синтезира се принципната електрическа схема

 

Фиг. 1. 5. Последователност при проектиране на интегрални схеми

на база на логическото проектиране. Булевите уравнения се трансформират в електрическа схема като се вземат в предвид изискванията за бързодействие и консумация.

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

Проверка на проекта: Изследва се разработената топология за съответствие с правилата за проектиране и с изискванията на производството. След като се отстранят всички грешки, от топологията се извлича електрическата схема заедно с паразитните елементи и чрез ресимулация се проверява съответствието на физическата реализация със зададените изисквания за правилно функциониране.

Производство и тестване: След проверките топологията е готова за производство, затваряне в корпус и тестване.

Цикълът на проектиране на интегралните схеми обхваща множество итерации във всеки стадий и между отделните стадии. На всяка стъпка се създава ново представяне на системата, което се анализира и подобрява итеративно докато се изпълнят изискванията на спецификацията.

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

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

Контролни въпроси

  1. Обяснете термините: йерархичност, описание на проекта, нива на абстракция.
  2. Дефинирайте типовете описания, използвани при проектиране.
  3. Обяснете ролята на синтеза в процеса на проектиране.
  4. Посочете етапите при проектиране на интегрални схеми и задачите, които се решават на всеки един от тях.
  5. Каква е ролята на средствата за автоматизация при проектирането?
  6. Начертайте диаграмата на Гайски като със стрелки посочите преходите за трансформация между отделните описания при синтеза.