Цифрлық схемаларды модельдеу және симуляциялау әдістері
Logic simulation
Логикалық модельдеу – цифрлық схемалар мен аппараттық сипаттама тілдерін болжау үшін қолданылатын бағдарламалық құрал. Аппараттық дизайнды тексеруге көмектеседі.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Логикалық модельдеу – цифрлық тізбектер мен аппараттық сипаттама тілдерінің қызметін болжау үшін модельдеу бағдарламалық құралдарын қолдану. Модельдеу физикалық абстракцияның әртүрлі деңгейлерінде жүзеге асырылуы мүмкін, мысалы: транзистор деңгейінде, логикалық элемент деңгейінде, регистрлік алмасу деңгейінде (RTL), электрондық жүйе деңгейінде (ESL) немесе функционалдық деңгейде.
Logic simulation is the use of simulation software to predict the behavior of digital circuits and hardware description languages. Simulation can be performed at varying degrees of physical abstraction, such as at the transistor level, gate level, register transfer level (RTL), electronic system level (ESL), or behavioral level.
Тексеруде қолдану
Логикалық модельдеу аппараттық жобалау кезінде тексеру процесінің бір бөлігі ретінде қолданылуы мүмкін. Модельдеудің артықшылығы – пайдаланушыға таныс интерфейс пен сезім беруі, себебі ол жобалауда қолданылатын тіл мен символдардың өзінен құралады. Пайдаланушыға жобамен тікелей өзара әрекеттесуге мүмкіндік бере отырып, модельдеу дизайнер үшін жобасы туралы кері байланыс алудың ең оңай жолы болып табылады.
Logic simulation may be used as part of the verification process in designing hardware. Simulations have the advantage of providing a familiar look and feel to the user in that it is constructed from the same language and symbols used in design. By allowing the user to interact directly with the design, simulation is a natural way for the designer to get feedback on their design.
Оқиғалар симуляциясы мен циклдік симуляция
Оқиғаларды модельдеу жобаға сигналдың бір жерден екінші жерге жетуіне қажетті уақыт кешігуі туралы қарапайым ақпарат қосуға мүмкіндік береді. Модельдеу кезінде сигнал өзгерістері оқиғалар түрінде тіркеледі. Белгілі бір уақыттағы өзгеріс, белгілі бір кешігуден кейін оқиғаны тудырады. Оқиғалар олардың орын алу уақытына қарай сұрыпталады, ал нақты бір уақытқа арналған барлық оқиғалар өңделгеннен кейін, модельдеу уақыты келесі жоспарланған оқиғаның уақытына дейін жылжиды. Оқиғаларды модельдеудің жылдамдығы өңделуге тиіс оқиғалар санына (модельдегі белсенділік деңгейіне) байланысты. Оқиғаларды модельдеу сигнал уақыты туралы ақпарат беруге мүмкіндік берсе де, ол статикалық уақытты талдаудың орнын толыққанды алмастыра алмайды. Циклдік модельдеуде кешігуді көрсету мүмкін емес. Дәл циклдік модель қолданылады, және әрбір логикалық элемент әрбір циклде тексеріледі. Сондықтан циклдік модельдеу модельдегі белсенділікке қарамастан, тұрақты жылдамдықпен жұмыс істейді. Оптимизацияланған нұсқалар, кірістері өзгермеген логикалық элементтерді тексеруді өткіріп, модельдегі төмен белсенділік кезеңдерін пайдаланып, модельдеуді жылдамдата алады. Оқиғаларды модельдеумен салыстырғанда, циклдік модельдеу жылдамырақ, жақсы масштабталады және аппараттық үдетуге/эмуляцияға көбірек сәйкес келеді. Алайда, чиптерді жобалаудағы қазіргі үрдістер схемадағы белсенділік деңгейін төмендету арқасында оқиғаларды модельдеудің өнімділігі артатынын көрсетеді (мысалы, сағатты және қуатты басқару сияқты техникалар, қуатты үнемдеу мақсатында жиі қолданылады). Мұндай жағдайларда, оқиғаларды модельдеу тек қажетті оқиғаларды модельдейтіндіктен, өнімділік бойынша циклдік модельдеуден кем түспеуі мүмкін. Оқиғаларды модельдеудің тағы бір артықшылығы – жоғары икемділік, циклдік модельдеумен жұмыс істеу қиын дизайн ерекшеліктерін, мысалы, асинхронды логиканы және үйлеспейтін сағаттарды қолдау мүмкіндігі. Осы факторларды ескере отырып, барлық коммерциялық логикалық модельдеу программаларының көпшілігінде оқиғаға негізделген мүмкіндіктер бар, тіпті олар негізінен циклге негізделген әдістерді қолданса да.
Event simulation allows the design to contain simple timing information – the delay needed for a signal to travel from one place to another. During simulation, signal changes are tracked in the form of events. A change at a certain time triggers an event after a certain delay. Events are sorted by the time when they will occur, and when all events for a particular time have been handled, the simulated time is advanced to the time of the next scheduled event. How fast an event simulation runs depends on the number of events to be processed (the amount of activity in the model). While event simulation can provide some feedback regarding signal timing, it is not a replacement for static timing analysis. In cycle simulation, it is not possible to specify delays. A cycle accurate model is used, and every gate is evaluated in every cycle. Cycle simulation therefore runs at a constant speed, regardless of activity in the model. Optimized implementations may take advantage of low model activity to speed up simulation by skipping evaluation of gates whose inputs didn't change. In comparison to event simulation, cycle simulation tends to be faster, to scale better, and to be better suited for hardware acceleration / emulation. However, chip design trends point to event simulation gaining relative performance due to activity factor reduction in the circuit (due to techniques such as clock gating and power gating, which are becoming much more commonly used in an effort to reduce power dissipation). In these cases, since event simulation only simulates necessary events, performance may no longer be a disadvantage over cycle simulation. Event simulation also has the advantage of greater flexibility, handling design features difficult to handle with cycle simulation, such as asynchronous logic and incommensurate clocks. Due to these considerations, almost all commercial logic simulators have an event based capability, even if they primarily rely on cycle based techniques.