(Created page with " == Abstract == We have developed a formal definition of correctness for pipelines that ensures that transactions terminate and satisfy a functional specification. This defin...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 3: | Line 3: | ||
We have developed a formal definition of correctness for pipelines that ensures that transactions terminate and satisfy a functional specification. This definition separates the correctness criteria associated with the pipelining aspects of a design from the functional relationship between input and output transactions. Using this definition, we developed and formally verified a technique that divides the verification of a pipeline into two separate tasks: proving that the pipelining circuitry meets the pipelining correctness criteria and that the datapath and control circuitry meet the functional specification. The first proof is data independent (except for pipelines that use data-dependent control). The second proof is purely combinational: there is no notion of time and each possible input transaction can be dealt with independently. In addition, we have created a framework that structures and simplifies the proof of the pipelining circuitry. | We have developed a formal definition of correctness for pipelines that ensures that transactions terminate and satisfy a functional specification. This definition separates the correctness criteria associated with the pipelining aspects of a design from the functional relationship between input and output transactions. Using this definition, we developed and formally verified a technique that divides the verification of a pipeline into two separate tasks: proving that the pipelining circuitry meets the pipelining correctness criteria and that the datapath and control circuitry meet the functional specification. The first proof is data independent (except for pipelines that use data-dependent control). The second proof is purely combinational: there is no notion of time and each possible input transaction can be dealt with independently. In addition, we have created a framework that structures and simplifies the proof of the pipelining circuitry. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 16: | Line 11: | ||
* [https://link.springer.com/content/pdf/10.1007%2F3-540-59047-1_40.pdf https://link.springer.com/content/pdf/10.1007%2F3-540-59047-1_40.pdf] | * [https://link.springer.com/content/pdf/10.1007%2F3-540-59047-1_40.pdf https://link.springer.com/content/pdf/10.1007%2F3-540-59047-1_40.pdf] | ||
− | * [http:// | + | * [http://link.springer.com/content/pdf/10.1007/3-540-59047-1_40.pdf http://link.springer.com/content/pdf/10.1007/3-540-59047-1_40.pdf], |
+ | : [http://dx.doi.org/10.1007/3-540-59047-1_40 http://dx.doi.org/10.1007/3-540-59047-1_40] | ||
− | * [https://link.springer.com/chapter/10.1007/3-540-59047-1_40 https://link.springer.com/chapter/10.1007/3-540-59047-1_40],[https://academic.microsoft.com/#/detail/1493191709 https://academic.microsoft.com/#/detail/1493191709] | + | * [https://link.springer.com/chapter/10.1007/3-540-59047-1_40 https://link.springer.com/chapter/10.1007/3-540-59047-1_40], |
+ | : [https://dblp.uni-trier.de/db/conf/tpcd/tpcd1994.html#AagaardL94 https://dblp.uni-trier.de/db/conf/tpcd/tpcd1994.html#AagaardL94], | ||
+ | : [https://www.scipedia.com/public/Aagaard_Leeser_2012a https://www.scipedia.com/public/Aagaard_Leeser_2012a], | ||
+ | : [https://academic.microsoft.com/#/detail/1493191709 https://academic.microsoft.com/#/detail/1493191709] |
We have developed a formal definition of correctness for pipelines that ensures that transactions terminate and satisfy a functional specification. This definition separates the correctness criteria associated with the pipelining aspects of a design from the functional relationship between input and output transactions. Using this definition, we developed and formally verified a technique that divides the verification of a pipeline into two separate tasks: proving that the pipelining circuitry meets the pipelining correctness criteria and that the datapath and control circuitry meet the functional specification. The first proof is data independent (except for pipelines that use data-dependent control). The second proof is purely combinational: there is no notion of time and each possible input transaction can be dealt with independently. In addition, we have created a framework that structures and simplifies the proof of the pipelining circuitry.
The different versions of the original document can be found in:
Published on 01/01/2012
Volume 2012, 2012
DOI: 10.1007/3-540-59047-1_40
Licence: CC BY-NC-SA license
Are you one of the authors of this document?