<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2019-3-332-350</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1227</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Software</subject></subj-group></article-categories><title-group><article-title>Формальная верификация диаграмм троичных цифровых сигналов</article-title><trans-title-group xml:lang="en"><trans-title>Formal Verification of Three-Valued Digital Waveforms</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-0832-3635</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Куцак</surname><given-names>Нина Юрьевна</given-names></name><name name-style="western" xml:lang="en"><surname>Kutsak</surname><given-names>Nina Yu.</given-names></name></name-alternatives><bio xml:lang="ru"><p>студент бакалавриата, факультет ВМК</p></bio><bio xml:lang="en"><p>bachelor student, Faculty of Computational Mathematics and Cybernetics</p></bio><email xlink:type="simple">nina_svetik@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-2041-7634</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Подымов</surname><given-names>Владислав Васильевич</given-names></name><name name-style="western" xml:lang="en"><surname>Podymov</surname><given-names>Vladislav V.</given-names></name></name-alternatives><bio xml:lang="ru"><p>канд. физ.-мат. наук, научный сотрудник, факультет ВМК</p></bio><bio xml:lang="en"><p>PhD in Mathematics, researcher, Faculty of Computational Mathematics and Cybernetics</p></bio><email xlink:type="simple">valdus@yandex.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Московский государственный университет имени М.В. Ломоносова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Lomonosov Moscow State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2019</year></pub-date><pub-date pub-type="epub"><day>28</day><month>09</month><year>2019</year></pub-date><volume>26</volume><issue>3</issue><fpage>332</fpage><lpage>350</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Куцак Н.Ю., Подымов В.В., 2019</copyright-statement><copyright-year>2019</copyright-year><copyright-holder xml:lang="ru">Куцак Н.Ю., Подымов В.В.</copyright-holder><copyright-holder xml:lang="en">Kutsak N.Y., Podymov V.V.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/1227">https://www.mais-journal.ru/jour/article/view/1227</self-uri><abstract><p>В работе исследуется задача формальной верификации (математически строгой проверки правильности) диаграмм цифровых сигналов, используемых на практике на ранних стадиях разработки микроэлектронных цифровых устройств (цифровых схем). Отправной точкой разработки схемы, согласно современным методам проектирования, является её описание на каком-либо высокоабстрактном языке описания аппаратуры (hardware description language, HDL). Обязательным этапом разработки HDL-кода схемы является отладка этого кода, схожая по устройству и важности с отладкой программ. Один из популярных способов отладки HDL-кода основан на получении и проверке правильности диаграммы сигналов, то есть совокупности графиков сигналов: функций, описывающих изменение значений в выделенных местах схемы в реальном времени. В работе предлагаются математические средства автоматизации проверки правильности таких диаграмм, основанные на понятиях и методах верификации систем относительно формул темпоральных логик и учитывающие такие характерные особенности сигналов в HDL и соответствующих свойств правильности диаграмм в неформальном смысле, как реальное время, троичность и наличие точек фронтов. Троичность сигнала означает, что наряду с основными логическими значениями 0 и 1 сигнал может принимать и неопределённое значение: одно из значений 0 и 1, но неизвестно или неважно, какое именно. Точкой фронта называется момент изменения значения сигнала. В работе предлагаются понятия, утверждения и алгоритмы, предназначенные для формализации и решения задачи верификации диаграмм сигналов: определения сигналов и диаграмм, учитывающие упомянутые характерные особенности сигналов; темпоральная логика, предназначенная для описания свойств диаграмм сигналов, и соответствующая постановка задачи верификации диаграмм; метод решения предлагаемой задачи верификации, основанный на сведении к задачам преобразования и анализа сигналов; соответствующий алгоритм верификации диаграмм с обоснованием корректности и “приемлемой” оценкой сложности.</p></abstract><trans-abstract xml:lang="en"><p>We investigate a formal verification problem (mathematically rigorous correctness checking) for digital waveforms used in practical development of digital microelectronic devices (digital circuits) at early design stages. According to modern methodologies, a digital circuit design starts at high abstraction levels provided by hardware description languages (HDLs). One of essential steps of an HDLbased circuit design is an HDL code debug, similar to the same step of program development in means and importance. A popular way of an HDL code debug is based on extraction and analysis of a waveform, which is a collection of plots for digital signals: functional descriptions of value changes related to selected circuit places in real time. We propose mathematical means for automation of correctness checking for such waveforms based on notions and methods of formal verification against temporal logic formulae, and focus on such typical featues of HDL-related digital signals and corresponding (informal) properties, such as real time, three-valuededness, and presence of signal edges. The three-valuededness means that at any given time, besides basic logical values 0 and 1, a signal may have a special undefined value: one of the values 0 and 1, but which one of them is either not known, or not important. An edge point of a signal is a time point at which the signal changes its value. The main results are mathematical notions, propositions, and algorithms which allow to formalize and solve a formal verification problem for considered waveforms, including: definitions for signals and waveforms which the mentioned typical digital signal features; a temporal logic suitable for formalization of waveform correctness properties, and a related verification problem statement; a solution technique for the verification problem, which is based on reduction to signal transfromation and analysis; a corresponding verification algorithm together with its correctness proof and “reasonable” complexity bounds.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>формальная верификация</kwd><kwd>цифровой сигнал</kwd><kwd>темпоральная логика</kwd><kwd>троичная логика</kwd></kwd-group><kwd-group xml:lang="en"><kwd>formal verification</kwd><kwd>digital signal</kwd><kwd>temporal logic</kwd><kwd>three-valued logic</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 18-01-00854</funding-statement><funding-statement xml:lang="en">The reported study was funded by RFBR according to the research project № 18-01-00854.</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Baier C., Katoen, J. P., Principles of model checking, The MIT Press, Cambridge, USA, 2008.</mixed-citation><mixed-citation xml:lang="en">Baier C., Katoen, J. P., Principles of model checking, The MIT Press, Cambridge, USA, 2008.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Harris S., Harris D., Digital design and computer architecture, second edition, Morgan Kaufmann Publishers Inc., San Francisco, USA, 2012.</mixed-citation><mixed-citation xml:lang="en">Harris S., Harris D., Digital design and computer architecture, second edition, Morgan Kaufmann Publishers Inc., San Francisco, USA, 2012.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Meinel C., Theobald T., Algorithms and data structures in VLSI design: OBDD — foundations and applications, Springer-Verlag, Berlin, Germany, 1998.</mixed-citation><mixed-citation xml:lang="en">Meinel C., Theobald T., Algorithms and data structures in VLSI design: OBDD — foundations and applications, Springer-Verlag, Berlin, Germany, 1998.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Kern C., Greenstreet M. R., “Formal veriﬁcation in hardware design: a survey”, ACM Transactions on Design Automation of Electronic Systems, 4:2 (1999), 123–193.</mixed-citation><mixed-citation xml:lang="en">Kern C., Greenstreet M. R., “Formal veriﬁcation in hardware design: a survey”, ACM Transactions on Design Automation of Electronic Systems, 4:2 (1999), 123–193.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Kropf T., Introduction to formal hardware veriﬁcation, Springer-Verlag, Berlin, Germany, 1999.</mixed-citation><mixed-citation xml:lang="en">Kropf T., Introduction to formal hardware veriﬁcation, Springer-Verlag, Berlin, Germany, 1999.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Bryant R. E., Seger C.J. H., “Formal veriﬁcation of digital circuits using symbolic ternary system models”, Computer-Aided Veriﬁcation, CAV 1990, Lecture Notes in Computer Science, 531, Springer-Verlag, Berlin, Germany, 1991, 33–43.</mixed-citation><mixed-citation xml:lang="en">Bryant R. E., Seger C.J. H., “Formal veriﬁcation of digital circuits using symbolic ternary system models”, Computer-Aided Veriﬁcation, CAV 1990, Lecture Notes in Computer Science, 531, Springer-Verlag, Berlin, Germany, 1991, 33–43.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Baldor K., Niu J., “Monitoring dense-time, continuous-semantics, metric temporal logic”, Runtime Veriﬁcation, RV 2012, Lecture Notes in Computer Science, 7687, Springer-Verlag, Berlin, Germany, 2013, 245–259.</mixed-citation><mixed-citation xml:lang="en">Baldor K., Niu J., “Monitoring dense-time, continuous-semantics, metric temporal logic”, Runtime Veriﬁcation, RV 2012, Lecture Notes in Computer Science, 7687, Springer-Verlag, Berlin, Germany, 2013, 245–259.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Basin D., Klaedtke F., Z˘alinescu E., “Algorithms for monitoring real-time properties”, Acta Informatica, 55:4 (2018), 309–338.</mixed-citation><mixed-citation xml:lang="en">Basin D., Klaedtke F., Z˘alinescu E., “Algorithms for monitoring real-time properties”, Acta Informatica, 55:4 (2018), 309–338.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Яблонский С. В., Введение в дискретную математику, Наука, Москва, 1986; [Yablonsky S. V., Vvedenie v diskretnuju matematiku, Nauka, Moscow, Russia, 1986, (in Russian).]</mixed-citation><mixed-citation xml:lang="en">Яблонский С. В., Введение в дискретную математику, Наука, Москва, 1986; [Yablonsky S. V., Vvedenie v diskretnuju matematiku, Nauka, Moscow, Russia, 1986, (in Russian).]</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Kleene S. C., “On notation for ordinal numbers”, The Journal of Symbolic Logic, 3:4 (1938), 150–155.</mixed-citation><mixed-citation xml:lang="en">Kleene S. C., “On notation for ordinal numbers”, The Journal of Symbolic Logic, 3:4 (1938), 150–155.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Kleene S. C., Introduction to metamathematics, North-Holland Pub. Co., Amsterdam, Netherlands, 1952.</mixed-citation><mixed-citation xml:lang="en">Kleene S. C., Introduction to metamathematics, North-Holland Pub. Co., Amsterdam, Netherlands, 1952.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Bruns G., Godefroid P., “Model checking partial state spaces with 3-valued temporal logics”, Computer-Aided Veriﬁcation, CAV 1999, Lecture Notes in Computer Science, 1633, Springer-Verlag, Berlin, Germany, 1991, 274–287.</mixed-citation><mixed-citation xml:lang="en">Bruns G., Godefroid P., “Model checking partial state spaces with 3-valued temporal logics”, Computer-Aided Veriﬁcation, CAV 1999, Lecture Notes in Computer Science, 1633, Springer-Verlag, Berlin, Germany, 1991, 274–287.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Chechik M., Devereux B., Gurﬁnkel A., “Model-checking inﬁnite state-space systems with ﬁne-grained abstractions using SPIN”, Model Checking Software, SPIN 2001, Lecture Notes in Computer Science, 2057, Springer-Verlag, Berlin, Germany, 2001, 16–36.</mixed-citation><mixed-citation xml:lang="en">Chechik M., Devereux B., Gurﬁnkel A., “Model-checking inﬁnite state-space systems with ﬁne-grained abstractions using SPIN”, Model Checking Software, SPIN 2001, Lecture Notes in Computer Science, 2057, Springer-Verlag, Berlin, Germany, 2001, 16–36.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Laroussinie F., Markey N., Schnoebelen P., “Temporal logic with forgettable past”, Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society, Washington, DC, USA, 2002, 383–392.</mixed-citation><mixed-citation xml:lang="en">Laroussinie F., Markey N., Schnoebelen P., “Temporal logic with forgettable past”, Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society, Washington, DC, USA, 2002, 383–392.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
