3,467 research outputs found
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
Function Verification of Combinational Arithmetic Circuits
Hardware design verification is the most challenging part in overall hardware design process. It is because design size and complexity are growing very fast while the requirement for performance is ever higher. Conventional simulation-based verification method cannot keep up with the rapid increase in the design size, since it is impossible to exhaustively test all input vectors of a complex design. An important part of hardware verification is combinational arithmetic circuit verification. It draws a lot of attention because flattening the design into bit-level, known as the bit-blasting problem, hinders the efficiency of many current formal techniques. The goal of this thesis is to introduce a robust and efficient formal verification method for combinational integer arithmetic circuit based on an in-depth analysis of recent advances in computer algebra. The method proposed here solves the verification problem at bit level, while avoiding bit-blasting problem. It also avoids the expensive Groebner basis computation, typically employed by symbolic computer algebra methods. The proposed method verifies the gate-level implementation of the design by representing the design components (logic gates and arithmetic modules) by polynomials in Z2n . It then transforms the polynomial representing the output bits (called “output signature”) into a unique polynomial in input signals (called “input signature”) using gate-level information of the design. The computed input signature is then compared with the reference input signature (golden model) to determine whether the circuit behaves as anticipated. If the reference input signature is not given, our method can be used to compute (or extract) the arithmetic function of the design by computing its input signature. Additional tools, based on canonical word-level design representations (such as TED or BMD) can be used to determine the function of the computed input signature represents. We demonstrate the applicability of the proposed method to arithmetic circuit verification on a large number of designs
Overview of Hydra: a concurrent language for synchronous digital circuit design
Hydra is a computer hardware description language that integrates several kinds of software tool (simulation, netlist generation and timing analysis) within a single circuit specification. The design language is inherently concurrent, and it offers black box abstraction and general design patterns that simplify the design of circuits with regular structure. Hydra specifications are concise, allowing the complete design of a computer system as a digital circuit within a few pages. This paper discusses the motivations behind Hydra, and illustrates the system with a significant portion of the design of a basic RISC processor
Hierarchical gate-level verification of speed-independent circuits
This paper presents a method for the verification of speed-independent circuits. The main contribution is the reduction of the circuit to a set of complex gates that makes the verification time complexity depend only on the number of state signals (C elements, RS flip-flops) of the circuit. Despite the reduction to complex gates, verification is kept exact. The specification of the environment only requires to describe the transitions of the input/output signals of the circuit and is allowed to express choice and non-determinism. Experimental results obtained from circuits with more than 500 gates show that the computational cost can be drastically reduced when using hierarchical verification.Peer ReviewedPostprint (published version
Desynchronization: Synthesis of asynchronous circuits from synchronous specifications
Asynchronous implementation techniques, which measure logic delays at run time and activate registers accordingly, are inherently more robust than their synchronous counterparts, which estimate worst-case delays at design time, and constrain the clock cycle accordingly. De-synchronization is a new paradigm to automate the design of asynchronous circuits from synchronous specifications, thus permitting widespread adoption of asynchronicity, without requiring special design skills or tools. In this paper, we first of all study different protocols for de-synchronization and formally prove their correctness, using techniques originally developed for distributed deployment of synchronous language specifications. We also provide a taxonomy of existing protocols for asynchronous latch controllers, covering in particular the four-phase handshake protocols devised in the literature for micro-pipelines. We then propose a new controller which exhibits provably maximal concurrency, and analyze the performance of desynchronized circuits with respect to the original synchronous optimized implementation. We finally prove the feasibility and effectiveness of our approach, by showing its application to a set of real designs, including a complete implementation of the DLX microprocessor architectur
Verification of Sequential Circuits by Tests-As-Proofs Paradigm
We introduce an algorithm for detection of bugs in sequential circuits. This
algorithm is incomplete i.e. its failure to find a bug breaking a property P
does not imply that P holds. The appeal of incomplete algorithms is that they
scale better than their complete counterparts. However, to make an incomplete
algorithm effective one needs to guarantee that the probability of finding a
bug is reasonably high. We try to achieve such effectiveness by employing the
Test-As-Proofs (TAP) paradigm. In our TAP based approach, a counterexample is
built as a sequence of states extracted from proofs that some local variations
of property P hold. This increases the probability that a) a representative set
of states is examined and that b) the considered states are relevant to
property P.
We describe an algorithm of test generation based on the TAP paradigm and
give preliminary experimental results
- …