JavaScript is disabled for your browser. Some features of this site may not work without it.
Certified Software for Designing Asynchronous Circuits
dc.contributor.author | Nkounkou, Brittany | |
dc.date.accessioned | 2021-03-12T17:38:55Z | |
dc.date.available | 2021-03-12T17:38:55Z | |
dc.date.issued | 2020-08 | |
dc.identifier.other | Nkounkou_cornellgrad_0058F_12173 | |
dc.identifier.other | http://dissertations.umi.com/cornellgrad:12173 | |
dc.identifier.uri | https://hdl.handle.net/1813/102911 | |
dc.description | 83 pages | |
dc.description | Supplemental file(s) description: Coq Code. | |
dc.description.abstract | Correctness and trust in a piece of software is important, especially for complex and/or critical systems like medical devices, computerized weapons, or any management of private data. Certified software aims to evidence correctness and establish trust in software by pairing executable instructions with mechanically-verifiable proofs that certain properties of the instructions are upheld. In this dissertation, we build certified software that is used to design asynchronous circuits. These circuits differ from synchronous circuits by coordinating communication via local message-passing channels rather than a global clock signal. Asynchronous circuits improve upon the time- and power-efficiency of synchronous circuits, but also introduce the complexity challenges of decentralized circuit communication. Communicating Hardware Processes (CHP) is a language used to write high-level asynchronous circuit designs. We use the Coq Proof Assistant to build a mechanical formalization of CHP language semantics and a certified CHP program simulator. The semantics formalization is novel in the combination of its mechanization, its comprehensive expression of the CHP language, and its precise abstraction of lower-level circuit design decisions. The simulator is novel in its certification, which mechanically verifies that it simulates a CHP program correctly, and it serves as a model for future Coq-built CHP software tools that can be certified against the mechanical language semantics. | |
dc.language.iso | en | |
dc.rights | Attribution-ShareAlike 4.0 International | |
dc.rights.uri | https://creativecommons.org/licenses/by-sa/4.0/ | |
dc.subject | asynchronous circuits | |
dc.subject | certified software | |
dc.subject | communicating hardware processes | |
dc.subject | coq proof assistant | |
dc.subject | formal methods | |
dc.subject | programming languages | |
dc.title | Certified Software for Designing Asynchronous Circuits | |
dc.type | dissertation or thesis | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | Cornell University | |
thesis.degree.level | Doctor of Philosophy | |
thesis.degree.name | Ph. D., Computer Science | |
dc.contributor.chair | Tate, Ross Everett | |
dc.contributor.committeeMember | Manohar, Rajit | |
dc.contributor.committeeMember | Weatherspoon, Hakim | |
dc.contributor.committeeMember | Constable, Bob | |
dcterms.license | https://hdl.handle.net/1813/59810 | |
dc.identifier.doi | https://doi.org/10.7298/c9ar-j170 |
Files in this item
This item appears in the following Collection(s)
Except where otherwise noted, this item's license is described as Attribution-ShareAlike 4.0 International