Электрондық жүйе деңгейіндегі жобалау және тексеру әдістемесі
Electronic system-level design and verification
Электрондық жүйе деңгейіндегі (ESL) жобалау және тексеру – жоғары деңгейдегі электрондық жүйелерді тиімді әзірлеу әдістемесі. C, C++, SysML тілдерін қолданады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Электрондық жүйе деңгейінде (ESL) жобалау және тексеру – жоғары абстракция деңгейіне бағытталған электрондық жобалау әдістемесі. Электрондық жүйе деңгейі немесе ESL дизайны термині алғаш рет 2001 жылдың 1 ақпанында EDA индустриясын талдау фирмасы Gartner Dataquest анықтады. ESL Design and Verification-де бұл былай анықталған: «жүйе туралы түсініктілікті арттыру және функционалдылықты тиімді әрі экономикалық тұрғыдан тиімді жүзеге асыру мүмкіндігін арттыру үшін тиісті абстракцияларды пайдалану». Негізгі қағида – C, C++ сияқты төмен деңгейлі тілді немесе графикалық «модельге негізделген» жобалау құралдарын қолдана отырып, бүкіл жүйенің әрекетін модельдеу. Жоғары деңгейде абстракцияны қолдана отырып модель жасауға мүмкіндік беретін жаңа тілдер пайда болып келеді, оның ішінде SysML сияқты жалпы мақсаттағы жүйелік жобалау тілдері, сондай-ақ кіріктірілген жүйелерді жобалауға арналған SMDL және SSDL сияқты тілдер бар. Жүйені жылдам және қатесіз іске асыруды жоғары деңгейдегі синтез және кіріктірілген бағдарламалық құралдар сияқты EDA құралдарын пайдалану арқылы автоматтандыруға болады, бірақ қазіргі уақытта оның көп бөлігі қолмен орындалады. ESL сонымен қатар SystemC-ді абстрактілік модельдеу тілі ретінде пайдалану арқылы да жүзеге асырылуы мүмкін. ESL – әлемдегі көптеген жетекші «Чип жүйесінде» (SoC) жобалау компанияларында қалыптасқан тәсіл және жүйелерді жобалауда кеңінен қолданылады. Алгоритмдерді модельдеу әдістемесі ретінде пайда болғаннан бастап, ESL кіріктірілген жүйелерді жобалауға, тексеруге және жөндеуге мүмкіндік беретін толықтыратын әдістемелер жиынтығына айналып, аппараттық және бағдарламалық қамтамасыз ету арқылы SoC, FPGA жүйесіндегі жүйе, тақтадағы жүйе және көп тақталы жүйелерге дейін дамып келеді. Жобалау және тексеру осы әдістемеде екі ерекше сала. Кейбір тәжірибелер осы екі элементті бөлек ұстауды ұсынады, ал басқалары жобалау мен тексеруді тығыз байланыстыруды жақтайды.
Electronic system level (ESL) design and verification is an electronic design methodology, focused on higher abstraction level concerns. The term Electronic System Level or ESL Design was first defined by Gartner Dataquest, an EDA industry analysis firm, on February 1, 2001. It is defined in ESL Design and Verification as: "the utilization of appropriate abstractions in order to increase comprehension about a system, and to enhance the probability of a successful implementation of functionality in a cost effective manner." The basic premise is to model the behavior of the entire system using a low level language such as C, C++, or using graphical "model based" design tools. Newer languages are emerging that enable the creation of a model at a higher level of abstraction including general purpose system design languages like SysML as well as those that are specific to embedded system design like SMDL and SSDL. Rapid and correct by construction implementation of the system can be automated using EDA tools such as high level synthesis and embedded software tools, although much of it is performed manually today. ESL can also be accomplished through the use of SystemC as an abstract modeling language. ESL is an established approach at many of the world’s leading System on a chip (SoC) design companies, and is being used increasingly in system design. From its genesis as an algorithm modeling methodology with 'no links to implementation', ESL is evolving into a set of complementary methodologies that enable embedded system design, verification, and debugging through to the hardware and software implementation of custom SoC, system on FPGA, system on board, and entire multi board systems. Design and verification are two distinct disciplines within this methodology. Some practices are to keep the two elements separate, while others advocate for closer integration between design and verification.
Дизайн
ESL немесе басқа да жүйелер болсын, дизайн – электрондық өнімнің аппараттық және бағдарламалық бөліктерінің бірдей уақытта жобалануы.
Whether ESL or other systems, design refers to "the concurrent design of the hardware and software parts of an electronic product."
Құралдар
ESL жобалауда әртүрлі типтегі EDA құралдары қолданылады. Басты компонент – виртуалды платформа, ол көбінесе симулятор болып табылады. Виртуалды платформа ең көп транзакциялық деңгейдегі модельдеуді (TLM) қолдайды, онда бір компоненттің екінші компонентке қатысты операциялары әр компонентті модельдейтін объектілер арасындағы қарапайым әдіс шақыру арқылы модельделеді. Бұл абстракция циклдік дәлдіктегі модельдеуге қарағанда едәуір жылдамдыққа мүмкіндік береді, себебі нақты жүйедегі мыңдаған желілік деңгейдегі оқиғаларды жай ғана көрсеткіш арқылы бейнелеуге болады. Мысалы, Ethernet пакеті қабылданғанын модельдеу үшін SystemC жиі қолданылады. Басқа құралдар импорттау және экспорттауға немесе басқа абстракция деңгейінде модельделген компоненттермен байланысқа мүмкіндік береді. Мысалы, RTL компонентін VtoC немесе Verilator арқылы SystemC моделіне түрлендіруге болады. Ал Жоғары деңгейдегі синтез компоненттің C модельдерін RTL іске асыруға түрлендіру үшін пайдаланылады.
There are various types of EDA tool used for ESL design. The key component is the Virtual Platform which is essentially a simulator. The Virtual Platform most commonly supports Transaction level modeling (TLM), where operations of one component on another are modelled with a simple method call between the objects modelling each component. This abstraction gives a considerable speed up over cycle accurate modelling, since thousands of net level events in the real system can be represented by simply passing a pointer, e. g. to model that an Ethernet packet has been received, SystemC is often used. Other tools support import and export or intercommunication with components modelled at other levels of abstraction. For instance, an RTL component be converted into a SystemC model using VtoC or Verilator. And High Level Synthesis can be used to convert C models of a component into an RTL implementation.
Қиындықтар мен сын
ESL жобалау және тексеруге қатысты бірнеше сын айтылды. Олардың ішінде C тіліне негізделген тілдерге артық назар қарату және параллель процестерді көрсетудегі қиындықтар бар. Сондай-ақ, ESL жобалау және тексеру – тексеру мен жарамдылықты растаудың бір бөлігі деп санауға болады.
Some criticisms of ESL design and verification have been raised. These include too much focus on C based languages and challenges in representing parallel processes. It can also be argued that ESL design and verification is a subset of verification and validation.