2005
DOI: 10.1109/te.2004.832880
|View full text |Cite
|
Sign up to set email alerts
|

Integrating Formal Verification into an Advanced Computer Architecture Course

Abstract: Abstract. The paper presents a sequence of three projects on design and formal verification of pipelined and superscalar processors. The projects were integrated-by means of lectures and preparatory homework exercises-into an existing advanced computer architecture course taught to both undergraduate and graduate students in a way that required them to have no prior knowledge of formal methods. The first project was on design and formal verification of a 5-stage pipelined DLX processor, implementing the six ba… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
10
0

Year Published

2005
2005
2011
2011

Publication Types

Select...
5
2

Relationship

2
5

Authors

Journals

citations
Cited by 12 publications
(10 citation statements)
references
References 135 publications
0
10
0
Order By: Relevance
“…The tool flow was applied to formally verify a version of the M • CORE processor at Motorola, and detected two bugs in the forwarding logic, one bug in the issue logic, and corner cases that were not fully implemented (Lahiri et al, 2001). The tool flow was also used in two editions of an advanced computer architecture course (Velev, 2005a;2003b), where undergraduate and graduate students without prior knowledge of formal methods designed and formally verified single-issue pipelined DLX processors, as well as extensions with exceptions and branch prediction, and dual-issue superscalar implementations.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…The tool flow was applied to formally verify a version of the M • CORE processor at Motorola, and detected two bugs in the forwarding logic, one bug in the issue logic, and corner cases that were not fully implemented (Lahiri et al, 2001). The tool flow was also used in two editions of an advanced computer architecture course (Velev, 2005a;2003b), where undergraduate and graduate students without prior knowledge of formal methods designed and formally verified single-issue pipelined DLX processors, as well as extensions with exceptions and branch prediction, and dual-issue superscalar implementations.…”
Section: Related Workmentioning
confidence: 99%
“…These restrictions, together with techniques to model multicycle functional units, exceptions and branch prediction (Velev and Bryant, 2000), allowed our tool flow (see Section 3) to be used to formally verify a model of the M • CORE processor at Motorola (Lahiri et al, 2001), and detected three bugs, as well as corner cases that were not fully implemented. The tool flow was also used in two editions of an advanced computer architecture course (Velev, 2005a(Velev, , 2003b, where undergraduate and graduate students without prior knowledge of formal methods designed and formally verified single-issue pipelined DLX processors (Hennessy and Patterson, 2002), as well as extensions with exceptions and branch prediction, and dual-issue superscalar implementations.…”
Section: Introductionmentioning
confidence: 99%
“…Number of formulas in this suite: 23 (17 tautologies, and 6 non-tautologies) Suite 9: Student Buggy Designs 1. These formulas are from student implementations of single-issue, 5-stage pipelined DLX processors [29], designed as a project in an advanced computer architecture course [65]. The models were created by 52 students (40 graduate and 12 undergraduate), working in 24 groups.…”
Section: Suite 7: Liveness Of Superscalar and Vliw Processorsmentioning
confidence: 99%
“…These formulas were generated with a tool flow [62] that was used at Motorola [37] to formally verify a model of the M•CORE processor, and detected 3 bugs as well as corner cases that were not fully implemented. The tool flow was also used in an advanced computer architecture course [65], where students-having no prior knowledge of formal methods-designed and formally verified single-issue pipelined processors, as well as extensions with exceptions and branch prediction, and dualissue superscalar implementations; a detailed description of the student bugs can be found in [67].…”
Section: Introductionmentioning
confidence: 99%
“…This tool flow was used at Motorola [14] to formally verify a model of the M•CORE processor, and detected bugs. The tool flow was also used in an advanced computer architecture course [34] [36], where students designed and formally verified pipelined processors.…”
Section: Introductionmentioning
confidence: 99%