Кіріспе

Компьютерлік жабдықтарды жобалаудағы симуляция әдісі. Статикалық уақыт талдау (СТА) – толық схеманы симуляциялауды қажет етпей, синхронды цифрлық схеманың күтілетін уақытын есептеудің симуляциялық әдісі. Жоғары өнімді интегралды схемалар дәстүрлі түрде олардың жұмыс істейтін сағат жиілігімен сипатталады. Схеманың белгіленген жылдамдықпен жұмыс істеу қабілетін өлшеу үшін жобалау процесінде оның көптеген сатылардағы кешігуін өлшеу қабілеті қажет. Сонымен қатар, кешігуді есептеуді жобалаудың әртүрлі кезеңдерінде, мысалы, логикалық синтез, орналастыру (орналасу және маршрутизациялау), және жобалау циклының соңында жүзеге асырылатын оптимизациялар сияқты уақытты оңтайландырушылардың ішкі циклына енгізу керек. Мұндай уақыт өлшемдерін теориялық тұрғыда нақты схемалық симуляция арқылы жүргізуге болады, бірақ мұндай тәсіл практикалық тұрғыдан тым баяу болуы мүмкін. Статикалық уақыт талдау схемалық уақытты жылдам және жеткілікті дәлдікпен өлшеуді жеңілдетуде маңызды рөл атқарады. Жылдамдыққа қол жеткізу жеңілдетілген уақыт модельдерін пайдалану және схемалардағы логикалық өзара әрекеттесулерді көптеген жағдайларда елемеу арқылы жүзеге асырылады. Бұл соңғы онжылдықтарда жобалаудың маңызды құралына айналды. Статикалық уақыт тәсілінің ең алғашқы сипаттамаларының бірі 1966 жылы Бағдарламаны бағалау және шолу техникасына (PERT) негізделген. Одан кейінгі заманауи нұсқалары мен алгоритмдер 1980-ші жылдардың басында пайда болды.

Мақсаты

Синхронды цифрлық жүйеде деректер "бірге-бірге" (lockstep) қозғалады, сағат сигналының әрбір импульсінде бір сатыға жылжиды. Бұл, сағаттың командасы бойынша кірісін шығысына көшіретін триггерлер (flip-flops) немесе құлыптағыштар (latches) сияқты элементтерді синхрондау арқылы қамтамасыз етіледі. Мұндай жүйеде екі түрлі уақыт қатесі болуы мүмкін: Максималды уақыт бұзуы – сигнал тым кеш келгенде және алға жылжу керек уақытын өткізіп алады. Бұлар көбінесе орналасу (setup) бұзуы/тексеруі деп аталады, ал шындығында синхронды жолдарда циклдық ығысуды (cycle shift) қамтитын максималды уақыт бұзуының бір бөлігі болып табылады. Минималды уақыт бұзуы – кіріс сигналы сағаттың белсенді өтуінен кейін тым ерте өзгергенде. Бұлар көбінесе ұстап тұру (hold) бұзуы/тексеруі деп аталады, ал шындығында синхронды жолдағы минималды уақыт бұзуының бір бөлігі болып табылады. Сигналдың келу уақыты көптеген себептерге байланысты өзгеруі мүмкін. Кіріс деректері өзгерсе, тізбек басқа операцияларды орындаса, температура мен кернеу өзгерсе, сондай-ақ әрбір бөліктің нақты құрастырылуында өндірістік айырмашылықтар болуы мүмкін. Статикалық уақыт талдауының (STA) басты мақсаты – осы мүмкін болатын өзгерістерге қарамастан, барлық сигналдар тым ерте немесе тым кеш келмейтінін тексеру арқылы тізбектің дұрыс жұмыс істеуін қамтамасыз ету болып табылады. STA барлық жолдарды тексеруге қабілетті болғандықтан, ақаулар (glitches), баяу жолдар және сағаттың бұрмалануы (clock skew) сияқты басқа да мәселелерді анықтай алады.

Анықтамалар

Критикалық жол – максималды кешігумен кіріс пен шығыс арасындағы жол. Тізбектің уақытын төменде көрсетілген әдістердің бірімен есептегеннен кейін, кері іздеу әдісін қолдану арқылы сын жолды оңай табуға болады. Сигналдың келу уақыты – бұл сигналдың белгілі бір нүктеге жетуіне кеткен уақыт. Бастапқы нүкте немесе 0.0 уақыты көбінесе сағат сигналының келу уақыты ретінде алынады. Келу уақытын есептеу үшін жолдың барлық компоненттерінің кешігуін есептеу қажет. Келу уақыты, және шын мәнінде уақыт талдауындағы барлық уақыт, әдетте сигналдың өзгеруі мүмкін ең ерте уақыт және ең соңғы уақыт ретінде сақталатын екі мәннен тұрады. Тағы бір пайдалы түсінік – қажетті уақыт. Бұл сигнал сағат циклын қалағаннан ұзақтатпай, келіп жететін соңғы уақыт. Қажетті уақытты есептеу келесідей жүргізіледі: әрбір негізгі шығыста өсу/түсу үшін қажетті уақыт тізбекке берілген талаптарға сәйкес белгіленеді. Содан кейін кері топологиялық өту жүзеге асырылады, әрбір қақпа оның барлық шығыстарындағы қажетті уақыт белгілі болған кезде өңделеді. Әрбір қосылыммен байланысты резерв – қажетті уақыт пен келу уақытының арасындағы айырмашылық. Оң резерв s белгілі бір түйінде келу уақытын s-қа ұлғайтуға болатынын білдіреді, бұл тізбектің жалпы кешігуіне әсер етпейді. Керісінше, теріс резерв жолдың тым баяу екенін білдіреді, және егер бүкіл тізбек қажетті жылдамдықпен жұмыс істесе, жолды жылдамдату керек (немесе бастапқы сигналды кешіктіру керек).

Бұрыштар мен STA

Көбінесе, дизайнерлер өз жобаларының әртүрлі жағдайларда жұмыс істеуін тексеруге тырысады. Электрондық схеманың жұмысы көбінесе температура немесе жергілікті кернеудің өзгеруі сияқты қоршаған ортаның әртүрлі факторларына байланысты болады. Мұндай жағдайда, STA бірнеше жағдайлар бойынша орындалуы керек немесе STA әр компонент үшін жеке мәнге емес, мүмкін болатын кешігулер диапазонымен жұмыс істеуге дайын болуы керек. Тиісті әдістерді қолдану арқылы, жағдайдың өзгеру үлгілері анықталады және олардың шекті мәндері тіркеледі. Әрбір шекті жағдай «бұрыш» деп аталады. Ұяшықтардың сипаттамаларының шекті мәндері «процесс, кернеу және температура (PVT) бұрыштары» деп қарастырылады, ал желінің сипаттамаларының шекті мәндері «экстракция бұрыштары» деп қарастырылады. Содан кейін, PVT және экстракция бұрыштарының әрбір комбинациясы «уақыт бұрышы» деп аталады, себебі ол уақыттың шекті мәніне жеткен нүктені көрсетеді. Егер жоба әрбір шекті жағдайда жұмыс істесе, монотонды мінез-құлық болжамы бойынша, жоба барлық аралық нүктелерде де жұмыс істейтініне кепілдік беріледі. Статикалық уақыт талдауында бұрыштарды пайдаланудың бірнеше шектеулері бар. Ол тым оптимистік болуы мүмкін, себебі ол толық сәйкестікті болжайды: егер бір қақпа жылдам болса, барлық қақпалар жылдам деп есептеледі, немесе егер бір қақпаның кернеуі төмен болса, ол басқаларының барлығында да төмен болады деп есептеледі. Бұрыштар тым пессимистік болуы мүмкін, өйткені ең нашар жағдай сирек кездеседі. Мысалы, интегралдық схемада (IC) рұқсат етілген диапазонының жұқа немесе қалың шетінде бір металл қабатының болуы сирек емес, бірақ барлық 10 қабаттың бірдей шекте болуы өте сирек, себебі олар тәуелсіз өндіріледі. Статистикалық STA, кешігулерді үлестірумен және сәйкестікті корреляциямен алмастырады, бұл мәселеге көбірек күрделікті тәсіл ұсынады.

STA үшін ең танымал әдістер

Статикалық уақыт талдауында "статикалық" термині осы талдаудың кіріс деректеріне тәуелсіз жүргізілетінін көрсетеді және барлық мүмкін кіріс комбинациялары бойынша тізбектің ең нашар жағдайғы кешігуін анықтауға бағытталған. Мұндай тәсілдің есептеу тиімділігі (графтағы қабырғалар санына пропорционалды сызықтық) оның кеңінен қолданылуына себеп болды, тіпті оның кейбір шектеулері бар болса да. Статикалық уақыт талдауында (STA) PERT деп белгілі бір әдіс жиі қолданылады. Дегенмен, PERT – бұл қате атау, және уақыт талдауы туралы көптеген әдебиеттерде талқыланған PERT әдісі жоба басқаруда кеңінен қолданылатын сындық жол әдісіне (CPM) сілтеме жасайды. CPM негізіндегі әдістер қазіргі таңдағы басым әдістер болып табылады, бірақ әртүрлі уақыт талдағыштар тізбек графиктерін аралау үшін тереңдікке бірінші іздеу сияқты басқа әдістерді де қолданды.

Интерфейстің уақыт талдау

Чиптерді жобалаудағы көптеген мәселелер дизайнның әртүрлі компоненттері арасындағы интерфейс уақытына байланысты туындайды. Бұған толық емес симуляциялық модельдер, интерфейс уақытын тиісті түрде тексеруге жеткілікті тест жағдайларының болмауы, синхронизация талаптары, дұрыс емес интерфейс сипаттамалары және "қара қорап" түрінде ұсынылған компоненттің дизайнердің толық түсінбеуі сияқты көптеген факторлар себеп болуы мүмкін. Интерфейс уақытын талдауға арналған арнайы CAD құралдары бар, әдетте функционалдық сипаттамаға сәйкестігін тексеру үшін интерфейстің іске асырылуын растауға арналған CAD құралдары да бар (мысалы, модельді тексеру әдістерін қолдану арқылы).

Статистикалық статикалық уақыт талдау (SSTA)

Статистикалық статикалық уақыт талдауы (ССТА) – интегралды тізбектердегі процестер мен қоршаған ортаның өзгерістерінің күрделігін басқару үшін маңыздылығы артып келе жатқан процедура.