4,575 research outputs found
Systematic Model-based Design Assurance and Property-based Fault Injection for Safety Critical Digital Systems
With advances in sensing, wireless communications, computing, control, and automation technologies, we are witnessing the rapid uptake of Cyber-Physical Systems across many applications including connected vehicles, healthcare, energy, manufacturing, smart homes etc. Many of these applications are safety-critical in nature and they depend on the correct and safe execution of software and hardware that are intrinsically subject to faults. These faults can be design faults (Software Faults, Specification faults, etc.) or physically occurring faults (hardware failures, Single-event-upsets, etc.). Both types of faults must be addressed during the design and development of these critical systems. Several safety-critical industries have widely adopted Model-Based Engineering paradigms to manage the design assurance processes of these complex CPSs. This thesis studies the application of IEC 61508 compliant model-based design assurance methodology on a representative safety-critical digital architecture targeted for the Nuclear power generation facilities. The study presents detailed experiences and results to demonstrate the benefits of Model testing in finding design flaws and its relevance to subsequent verification steps in the workflow. Additionally, to study the impact of physical faults on the digital architecture we develop a novel property-based fault injection method that overcomes few deficiencies of traditional fault injection methods. The model-based fault injection approach presented here guarantees high efficiency and near-exhaustive input/state/fault space coverage, by utilizing formal model checking principles to identify fault activation conditions and prove the fault tolerance features. The fault injection framework facilitates automated integration of fault saboteurs throughout the model to enable exhaustive fault location coverage in the model
Testing a Quantum Computer
The problem of quantum test is formally addressed. The presented method
attempts the quantum role of classical test generation and test set reduction
methods known from standard binary and analog circuits. QuFault, the authors
software package generates test plans for arbitrary quantum circuits using the
very efficient simulator QuIDDPro[1]. The quantum fault table is introduced and
mathematically formalized, and the test generation method explained.Comment: 15 pages, 17 equations, 27 tables, 8 figure
Recommended from our members
Scalable algorithms for software based self test using formal methods
textTransistor scaling has kept up with Moore's law with a doubling of the number of transistors on a chip. More logic on a chip means more opportunities for manufacturing defects to slip in. This, in turn, has made processor testing after manufacturing a significant challenge. At-speed functional testing, being completely non-intrusive, has been seen as the ideal way of testing chips. However for processor testing, generating instruction level tests for covering all faults is a challenge given the issue of scalability. Data-path faults are relatively easier to control and observe compared to control-path faults. In this research we present a novel method to generate instruction level tests for hard to detect control-path faults in a processor. We initially map the gate level stuck-at fault to the Register Transfer Level (RTL) and build an equivalent faulty RTL model. The fault activation and propagation constraints are captured using Control and Data Flow Graphs of the RTL as a Liner Temporal Logic (LTL) property. This LTL property is then negated and given to a Bounded Model Checker based on a Bit-Vector Satisfiability Module Theories (SMT) solver. From the counter-example to the property we can extract a sequence of instructions that activates the gate level fault and propagates the fault effect to one of the observable points in the design. Other than the user supplying instruction constraints, this approach is completely automatic and does not require any manual intervention. Not all the design behaviors are required to generate a test for a fault. We use this insight to scale our previous methodology further. Underapproximations are design abstractions that only capture a subset of the original design behaviors. The use of RTL for test generation affords us two types of under-approximations: bit-width reduction and operator approximation. These are abstractions that perform reductions based on semantics of the RTL design. We also explore structural reductions of the RTL, called path based search, where we search through error propagation paths incrementally. This approach increases the size of the test generation problem step by step. In this way the SMT solver searches through the state space piecewise rather than doing the entire search at once. Experimental results show that our methods are robust and scalable for generating functional tests for hard to detect faults.Electrical and Computer Engineerin
Recommended from our members
Testability considerations for implementing an embedded memory subsystem
textThere are a number of testability considerations for VLSI design,
but test coverage, test time, accuracy of test patterns and
correctness of design information for DFD (Design for debug) are
the most important ones in design with embedded memories. The goal
of DFT (Design-for-Test) is to achieve zero defects. When it comes
to the memory subsystem in SOCs (system on chips), many flavors of
memory BIST (built-in self test) are able to get high test
coverage in a memory, but often, no proper attention is given to
the memory interface logic (shadow logic). Functional testing and
BIST are the most prevalent tests for this logic, but functional
testing is impractical for complicated SOC designs. As a result,
industry has widely used at-speed scan testing to detect delay
induced defects. Compared with functional testing, scan-based
testing for delay faults reduces overall pattern generation
complexity and cost by enhancing both controllability and
observability of flip-flops. However, without proper modeling of
memory, Xs are generated from memories. Also, when the design has
chip compression logic, the number of ATPG patterns is increased
significantly due to Xs from memories. In this dissertation, a
register based testing method and X prevention logic are presented
to tackle these problems.
An important design stage for scan based testing with memory
subsystems is the step to create a gate level model and verify
with this model. The flow needs to provide a robust ATPG netlist
model. Most industry standard CAD tools used to analyze fault
coverage and generate test vectors require gate level models.
However, custom embedded memories are typically designed using a
transistor-level flow, there is a need for an abstraction step to
generate the gate models, which must be equivalent to the actual
design (transistor level). The contribution of the research is a
framework to verify that the gate level representation of custom
designs is equivalent to the transistor-level design.
Compared to basic stuck-at fault testing, the number of patterns
for at-speed testing is much larger than for basic stuck-at fault
testing. So reducing test and data volume are important. In this
desertion, a new scan reordering method is introduced to reduce
test data with an optimal routing solution. With in depth
understanding of embedded memories and flows developed during the
study of custom memory DFT, a custom embedded memory Bit Mapping
method using a symbolic simulator is presented in the last chapter
to achieve high yield for memories.Electrical and Computer Engineerin
VeriSFQ - A Semi-formal Verification Framework and Benchmark for Single Flux Quantum Technology
In this paper, we propose a semi-formal verification framework for
single-flux quantum (SFQ) circuits called VeriSFQ, using the Universal
Verification Methodology (UVM) standard. The considered SFQ technology is
superconducting digital electronic devices that operate at cryogenic
temperatures with active circuit elements called the Josephson junction, which
operate at high switching speeds and low switching energy - allowing SFQ
circuits to operate at frequencies over 300 gigahertz. Due to key differences
between SFQ and CMOS logic, verification techniques for the former are not as
advanced as the latter. Thus, it is crucial to develop efficient verification
techniques as the complexity of SFQ circuits scales. The VeriSFQ framework
focuses on verifying the key circuit and gate-level properties of SFQ logic:
fanout, gate-level pipeline, path balancing, and input-to-output latency. The
combinational circuits considered in analyzing the performance of VeriSFQ are:
Kogge-Stone adders (KSA), array multipliers, integer dividers, and select
ISCAS'85 combinational benchmark circuits. Methods of introducing bugs into SFQ
circuit designs for verification detection were experimented with - including
stuck-at faults, fanout errors, unbalanced paths, and functional bugs like
incorrect logic gates. In addition, we propose an SFQ verification benchmark
consisting of combinational SFQ circuits that exemplify SFQ logic properties
and present the performance of the VeriSFQ framework on these benchmark
circuits. The portability and reusability of the UVM standard allows the
VeriSFQ framework to serve as a foundation for future SFQ semi-formal
verification techniques.Comment: 7 pages, 6 figures, 4 tables; submitted, accepted, and presented at
ISQED 2019 (20th International Symposium on Quality Electronic Design) on
March 7th, 2019 in Santa Clara, CA, US
Exploring the Mysteries of System-Level Test
System-level test, or SLT, is an increasingly important process step in
today's integrated circuit testing flows. Broadly speaking, SLT aims at
executing functional workloads in operational modes. In this paper, we
consolidate available knowledge about what SLT is precisely and why it is used
despite its considerable costs and complexities. We discuss the types or
failures covered by SLT, and outline approaches to quality assessment, test
generation and root-cause diagnosis in the context of SLT. Observing that the
theoretical understanding for all these questions has not yet reached the level
of maturity of the more conventional structural and functional test methods, we
outline new and promising directions for methodical developments leveraging on
recent findings from software engineering.Comment: 7 pages, 2 figure
Multilevel Runtime Verification for Safety and Security Critical Cyber Physical Systems from a Model Based Engineering Perspective
Advanced embedded system technology is one of the key driving forces behind the rapid growth of Cyber-Physical System (CPS) applications. CPS consists of multiple coordinating and cooperating components, which are often software-intensive and interact with each other to achieve unprecedented tasks. Such highly integrated CPSs have complex interaction failures, attack surfaces, and attack vectors that we have to protect and secure against. This dissertation advances the state-of-the-art by developing a multilevel runtime monitoring approach for safety and security critical CPSs where there are monitors at each level of processing and integration. Given that computation and data processing vulnerabilities may exist at multiple levels in an embedded CPS, it follows that solutions present at the levels where the faults or vulnerabilities originate are beneficial in timely detection of anomalies.
Further, increasing functional and architectural complexity of critical CPSs have significant safety and security operational implications. These challenges are leading to a need for new methods where there is a continuum between design time assurance and runtime or operational assurance. Towards this end, this dissertation explores Model Based Engineering methods by which design assurance can be carried forward to the runtime domain, creating a shared responsibility for reducing the overall risk associated with the system at operation. Therefore, a synergistic combination of Verification & Validation at design time and runtime monitoring at multiple levels is beneficial in assuring safety and security of critical CPS. Furthermore, we realize our multilevel runtime monitor framework on hardware using a stream-based runtime verification language
- …