@phdthesis{26746,
  abstract     = {{Previous research in proof-carrying hardware has established the feasibility and utility of the approach, and provided a concrete solution for employing it for the certification of functional equivalence checking against a specification, but fell short in connecting it to state-of-the-art formal verification insights, methods and tools. Due to the immense complexity of modern circuits, and verification challenges such as the state explosion problem for sequential circuits, this restriction of readily-available verification solutions severely limited the applicability of the approach in wider contexts.

This thesis closes the gap between the PCH approach and current advances in formal hardware verification, provides methods and tools to express and certify a wide range of circuit properties, both functional and non-functional, and presents for the first time prototypes in which circuits that are implemented on actual reconfigurable hardware are verified with PCH methods. Using these results, designers can now apply PCH to establish trust in more complex circuits, by using more diverse properties which they can express using modern, efficient property specification techniques.}},
  author       = {{Wiersema, Tobias}},
  keywords     = {{Proof-Carrying Hardware, Formal Verification, Sequential Circuits, Non-Functional Properties, Functional Properties}},
  pages        = {{293}},
  publisher    = {{Paderborn University}},
  title        = {{{Guaranteeing Properties of Reconfigurable Hardware Circuits with Proof-Carrying Hardware}}},
  year         = {{2021}},
}

@article{17358,
  abstract     = {{Approximate circuits trade-off computational accuracy against improvements in hardware area, delay, or energy consumption. IP core vendors who wish to create such circuits need to convince consumers of the resulting approximation quality. As a solution we propose proof-carrying approximate circuits: The vendor creates an approximate IP core together with a certificate that proves the approximation quality. The proof certificate is bundled with the approximate IP core and sent off to the consumer. The consumer can formally verify the approximation quality of the IP core at a fraction of the typical computational cost for formal verification. In this paper, we first make the case for proof-carrying approximate circuits and then demonstrate the feasibility of the approach by a set of synthesis experiments using an exemplary approximation framework.}},
  author       = {{Witschen, Linus Matthias and Wiersema, Tobias and Platzner, Marco}},
  issn         = {{1557-9999}},
  journal      = {{IEEE Transactions On Very Large Scale Integration Systems}},
  keywords     = {{Approximate circuit synthesis, approximate computing, error metrics, formal verification, proof-carrying hardware}},
  number       = {{9}},
  pages        = {{2084 -- 2088}},
  publisher    = {{IEEE}},
  title        = {{{Proof-carrying Approximate Circuits}}},
  doi          = {{10.1109/TVLSI.2020.3008061}},
  volume       = {{28}},
  year         = {{2020}},
}

@misc{1097,
  author       = {{Jentzsch, Felix Paul}},
  keywords     = {{Approximate Computing, Proof-Carrying Hardware, Formal Veriﬁcation}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Enforcing IP Core Connection Properties with Verifiable Security Monitors}}},
  year         = {{2018}},
}

@inproceedings{39069,
  abstract     = {{We present the syntax and semantics of a past- and future-oriented temporal extension of the Object Constraint Language (OCL). Our extension supports designers to express time-bounded properties over a state-oriented UML model of a system under development. The semantics is formally defined over the system states of a mathematical object model. Additionally, we present a mapping to Clocked Linear Temporal Logic (Clocked LTL) formulae, which is the basis for further application in verification with model checking. We demonstrate the applicability of the approach by the example of a buffer specification in the context of a production system.}},
  author       = {{Flake, Stephan and Müller, Wolfgang}},
  booktitle    = {{Proceedings of SEFM´04}},
  isbn         = {{0-7695-2222-X}},
  keywords     = {{Unified modeling language, Logic, Clocks, Boolean functions, Application software, Time factors, Real time systems, Formal verification, Buffer storage, Software packages}},
  publisher    = {{IEEE}},
  title        = {{{Past- and Future-Oriented Time-Bound Temporal Properties with OCL}}},
  doi          = {{10.1109/SEFM.2004.1347516}},
  year         = {{2004}},
}

@inproceedings{39382,
  abstract     = {{We present a rigorous but transparent semantics definition of the SpecC language that covers the execution of SpecC behaviors and their interaction with the kernel process. The semantics include wait, wait for, par, and try statements as they are introduced in SpecC. We present our definition in form of distributed abstract state machine (ASM) rules strictly following the lines of the SpecC Language Reference Manual. We mainly see our formal semantics in three application areas. First, it is a concise, unambiguous description for documentation and standardization. Second, it applies as a high-level, pseudo code-oriented specification for the implementation of a SpecC simulator. Finally, it is a first step for SpecC synthesis in order to identify similar concepts with other languages like VHDL and SystemC for the definition of common patterns and language subsets.}},
  author       = {{Müller, Wolfgang and Dömer, Rainer and Gerstlauer, Andreas}},
  booktitle    = {{Proceedings of the ISSS02}},
  isbn         = {{1-58113-576-9}},
  keywords     = {{Standardization, Kernel, Permission, Formal verification, Logic functions, Documentation, Reasoning about programs, Specification languages, Formal specifications, Software systems}},
  title        = {{{The Formal Execution Semantics of SpecC}}},
  doi          = {{10.1145/581199.581234 }},
  year         = {{2002}},
}

@inproceedings{39403,
  abstract     = {{The Unified Modeling Language (UML) has received wide acceptance as a standard language in the field of software specification by means of different diagram types. In a recent version of UML, the textual Object Constraint Language (OCL) was introduced to support specification of constraints for UML models. But OCL currently does not provide sufficient means to specify constraints over the dynamic behavior of a model. This article presents an OCL extension that is consistent with current OCL and enables modelers to specify state-related time-bounded constraints. We consider the case study of a flexible manufacturing system and identify typical real-time constraints. The constraints are presented in our temporal OCL extension as well as in temporal logic formulae. For general application, we define a semantics of our OCL extension by means of a time-bounded temporal logic based on Computational Tree Logic (CTL).}},
  author       = {{Flake, Stephan and Müller, Wolfgang}},
  booktitle    = {{Proceedings of HICSS-35}},
  isbn         = {{0-7695-1435-9}},
  keywords     = {{Unified modeling language, Logic, Formal verification, Real time systems, Programming profession, Vehicle dynamics, Software standards, Flexible manufacturing systems, Electronics industry, Protocols}},
  location     = {{Big Island, HI, USA }},
  title        = {{{Specification of Real-Time Properties for UML Models}}},
  doi          = {{10.1109/HICSS.2002.994469}},
  year         = {{2002}},
}

@inproceedings{39421,
  abstract     = {{We present a rigorous but transparent semantics definition of SystemC that covers method, thread, and clocked thread behavior as well as their interaction with the simulation kernel process. The semantics includes watching statements, signal assignment, and wait statements as they are introduced in SystemC V1.O. We present our definition in form of distributed Abstract State Machines (ASMs) rules reflecting the view given in the SystemC User's Manual and the reference implementation. We mainly see our formal semantics as a concise, unambiguous, high-level specification for SystemC-based implementations and for standardization. Additionally, it can be used as a sound basis to investigate SystemC interoperability with Verilog and VHDL.}},
  author       = {{Müller, Wolfgang and Ruf, Jürgen and Hoffmann, D. W. and Gerlach, Joachim and Kropf, Thomas and Rosenstiehl, W.}},
  booktitle    = {{Proceedings of the Design, Automation, and Test in Europe (DATE’01)}},
  isbn         = {{0-7695-0993-2}},
  keywords     = {{Yarn, Formal verification, Kernel, Hardware design languages, Electronic design automation and methodology, Algebra, Computational modeling, Logic functions, Computer languages, Clocks}},
  publisher    = {{IEEE}},
  title        = {{{The Simulation Semantics of SystemC}}},
  doi          = {{10.1109/DATE.2001.915002}},
  year         = {{2001}},
}

@inbook{34448,
  abstract     = {{We present a rigorous but transparent semantic definition for VHDL corresponding to the IEEE VHDL’ 93 standard [68, 9, 84]. Our definition covers the full behavior of signal and variable assignments as well as the behavior of the various wait statements including delta, time, and postponed cycles. We consider explicitly declared signals, ports, local variables, and shared variables. Our specification defines an abstract VHDL ’ 93 interpreter in the form of transition rules for an evolving algebra machine (EA-Machine) [60]. It faithfully reflects and supports the view of simulation given in the IEEE VHDL ’ 93 standard language reference manual. The definition can be understood without any prior formal training. We illustrate our definition by running the example VHDL program set out in the Introduction to this volume.}},
  author       = {{Börger, Egon and Glässer, Uwe and Müller, Wolfgang}},
  booktitle    = {{Semantics of VHDL}},
  editor       = {{Delgado Kloos, C. and Breuer, Peter T.}},
  isbn         = {{978-1-4615-2237-9}},
  keywords     = {{Transition Rule     Formal Verification     Variable Assignment     Kernel Process     Simulation Cycle}},
  pages        = {{107 -- 139}},
  publisher    = {{Kluwer Academic Publishers}},
  title        = {{{A Formal Definition of an Abstract VHDL'93 Simulator by EA-Machines}}},
  doi          = {{10.1007/978-1-4615-2237-9_5}},
  year         = {{1995}},
}

