1,875 research outputs found

    A correctness criterion for asynchronous circuit validation and optimization

    Get PDF
    technical reportIn order to reason about the correctness of asynchronous circuit implementations and specifications, Dill has developed a variant of trace theory [1]. Trace theory describes the behavior of an asynchronous circuit by representing its possible executions as strings called "traces" A useful relation defined in this theory is called conformance which holds when one trace specification can be safely substituted for another. We propose a new relation in the context of Dill's trace theory called strong conformance. We show that this relation is capable of detecting certain errors in asynchronous circuits that cannot be detected through conformance, Strong conformance also helps to justify circuit optimization rules where a component is replaced by another component having extra capabilities (e.g., it can accept more inputs). The structural operators of Dill's trace theory compose rename and hide - are shown to be monotonic with respect to strong conformance. Experiments are presented using a modified version of Dill's trace theory verifier which implements the check for strong conformance

    A correctness criterion for asynchronous circuit validation and optimization

    Get PDF
    technical reportWe propose a new relation C. called strong conformance in the context of Dill's trace theory, and define B Q A to be true exactly when B conforms to A and the success set of B contains the success set of A. When B C. A, module B operated in module A's maximal environment AM (i.e. B || AM) exhibits all the traces that A \\ AM exhibits. In addition, if A has a success trace x, B can have additional success traces of the form xi?* where i is an input and a is the alphabet of the trace structure. This means that B can have additional capabilities that A does not. We show that strong conformance is more useful than conformance (defined by Dill) in detecting certain errors in asynchronous circuits. Strong conformance also helps justify circuit optimization rules that replace a component A by another component B that may have extra capabilities (e.g. can accept more inputs). The structural operators compose, rename, and hide of Dill's trace theory are monotonic with respect to strong conformance. Experiments using a modified version of Dill's trace theory verifier are presented

    Verifying and Testing Asynchronous Circuits using LOTOS (extended version)

    Get PDF
    It is shown howDILL (Digital Logic in LOTOS) can be used to specify,verify and test asynchronous hardware designs. Asynchronous (unclocked) circuits are a topic of active research in the hardware community. It is illustrated how DILL can address some of the key challenges. New relations for (strong) conformance are defined for assessing a circuit implementation against its specification. An algorithm is also presented for generating and applying implementation tests based on a specification. Tools have been developed for automated verification of conformance and generation of tests. The approach is illustrated with three case studies that explore speed independence, delay sensitivity and testing of sample asynchronous circuit designs

    Formally-Based Design Evaluation (extended version)

    Get PDF
    This paper investigates specification, verification and test generation for synchronous and asynchronous circuits. The approach is called DILL (Digital Logic in LOTOS). DILL models are discussed for synchronous and asynchronous circuits. Relations for (strong) conformance are defined for verifying a design specification against a high-level specification. An algorithm is also outlined for generating and applying implementation tests based on a specification. Tools have been developed for automated test generation and verification of conformance between an implementation and its specification. The approach is illustrated with various benchmark circuits as case studies

    Optimizing compilation with preservation of structural code coverage metrics to support software testing

    Get PDF
    Code-coverage-based testing is a widely-used testing strategy with the aim of providing a meaningful decision criterion for the adequacy of a test suite. Code-coverage-based testing is also mandated for the development of safety-critical applications; for example, the DO178b document requires the application of the modified condition/decision coverage. One critical issue of code-coverage testing is that structural code coverage criteria are typically applied to source code whereas the generated machine code may result in a different code structure because of code optimizations performed by a compiler. In this work, we present the automatic calculation of coverage profiles describing which structural code-coverage criteria are preserved by which code optimization, independently of the concrete test suite. These coverage profiles allow to easily extend compilers with the feature of preserving any given code-coverage criteria by enabling only those code optimizations that preserve it. Furthermore, we describe the integration of these coverage profile into the compiler GCC. With these coverage profiles, we answer the question of how much code optimization is possible without compromising the error-detection likelihood of a given test suite. Experimental results conclude that the performance cost to achieve preservation of structural code coverage in GCC is rather low.Peer reviewedSubmitted Versio

    Custom Cell Placement Automation for Asynchronous VLSI

    Get PDF
    Asynchronous Very-Large-Scale-Integration (VLSI) integrated circuits have demonstrated many advantages over their synchronous counterparts, including low power consumption, elastic pipelining, robustness against manufacturing and temperature variations, etc. However, the lack of dedicated electronic design automation (EDA) tools, especially physical layout automation tools, largely limits the adoption of asynchronous circuits. Existing commercial placement tools are optimized for synchronous circuits, and require a standard cell library provided by semiconductor foundries to complete the physical design. The physical layouts of cells in this library have the same height to simplify the placement problem and the power distribution network. Although the standard cell methodology also works for asynchronous designs, the performance is inferior compared with counterparts designed using the full-custom design methodology. To tackle this challenge, we propose a gridded cell layout methodology for asynchronous circuits, in which the cell height and cell width can be any integer multiple of two grid values. The gridded cell approach combines the shape regularity of standard cells with the size flexibility of full-custom layouts. Therefore, this approach can achieve a better space utilization ratio and lower wire length for asynchronous designs. Experiments have shown that the gridded cell placement approach reduces area without impacting the routability. We have also used this placer to tape out a chip in a 65nm process technology, demonstrating that our placer generates design-rule clean results

    Peephole optimization of asynchronous networks through process composition and burst-mode machine generation

    Get PDF
    Journal ArticleIn this paper, we discuss the problem of improving the efficiency of macromodule networks generated through asynchronous high level synthesis. We compose the behaviors of the modules in the sub-network being optimized using Dill's trace-theoretic operators to get a single behavioral description for the whole sub-network. From the composite trace structures so obtained, we obtain interface state graphs (ISG) (as described by Sutherland, Sproull, and Molnar), encode the ISGs to obtain encoded ISGs (EISGs), and then apply a procedure we have developed called Burst-mode machine reduction (BM-reduction) to obtain burstmode machines from EISGs. We then synthesize burst-mode machine circuits (currently) using the tool of Ken Yun (Stanford). We can report significant area- and time-improvements on a number of examples, as a result of our optimization method

    Hierarchical Optimization of Asynchronous Circuits

    Full text link

    둜직 및 피지컬 ν•©μ„±μ—μ„œμ˜ 타이밍 뢄석과 μ΅œμ ν™”

    Get PDF
    ν•™μœ„λ…Όλ¬Έ (박사) -- μ„œμšΈλŒ€ν•™κ΅ λŒ€ν•™μ› : κ³΅κ³ΌλŒ€ν•™ 전기·정보곡학뢀, 2020. 8. κΉ€νƒœν™˜.Timing analysis is one of the necessary steps in the development of a semiconductor circuit. In addition, it is increasingly important in the advanced process technologies due to various factors, including the increase of process–voltage–temperature variation. This dissertation addresses three problems related to timing analysis and optimization in logic and physical synthesis. Firstly, most static timing analysis today are based on conventional fixed flip-flop timing models, in which every flip-flop is assumed to have a fixed clock-to-Q delay. However, setup and hold skews affect the clock-to-Q delay in reality. In this dissertation, I propose a mathematical formulation to solve the problem and apply it to the clock skew scheduling problems as well as to the analysis of a given circuit, with a scalable speedup technique. Secondly, near-threshold computing is one of the promising concepts for energy-efficient operation of VLSI systems, but wide performance variation and nonlinearity to process variations block the proliferation. To cope with this, I propose a holistic hardware performance monitoring methodology for accurate timing prediction in a near-threshold voltage regime and advanced process technology. Lastly, an asynchronous circuit is one of the alternatives to the conventional synchronous style, and asynchronous pipeline circuit especially attractive because of its small design effort. This dissertation addresses the synthesis problem of lightening two-phase bundled-data asynchronous pipeline controllers, in which delay buffers are essential for guaranteeing the correct handshaking operation but incurs considerable area increase.타이밍 뢄석은 λ°˜λ„μ²΄ 회둜 개발 ν•„μˆ˜ κ³Όμ • 쀑 ν•˜λ‚˜λ‘œ, μ΅œμ‹  κ³΅μ •μΌμˆ˜λ‘ 곡정-μ „μ••-μ˜¨λ„ 변이 증가λ₯Ό ν¬ν•¨ν•œ λ‹€μ–‘ν•œ μš”μΈμœΌλ‘œ ν•˜μ—¬κΈˆ κ·Έ μ€‘μš”μ„±μ΄ 컀지고 μžˆλ‹€. λ³Έ λ…Όλ¬Έμ—μ„œλŠ” 둜직 및 피지컬 ν•©μ„±κ³Ό κ΄€λ ¨ν•˜μ—¬ μ„Έ 가지 타이밍 뢄석 및 μ΅œμ ν™” λ¬Έμ œμ— λŒ€ν•΄ 닀룬닀. 첫째둜, μ˜€λŠ˜λ‚  λŒ€λΆ€λΆ„μ˜ 정적 타이밍 뢄석은 λͺ¨λ“  ν”Œλ¦½-ν”Œλ‘­μ˜ 클럭-좜λ ₯ λ”œλ ˆμ΄κ°€ κ³ μ •λœ κ°’μ΄λΌλŠ” 가정을 λ°”νƒ•μœΌλ‘œ μ΄λ£¨μ–΄μ‘Œλ‹€. ν•˜μ§€λ§Œ μ‹€μ œ 클럭-좜λ ₯ λ”œλ ˆμ΄λŠ” ν•΄λ‹Ή ν”Œλ¦½-ν”Œλ‘­μ˜ μ…‹μ—… 및 ν™€λ“œ μŠ€νμ— 영ν–₯을 λ°›λŠ”λ‹€. λ³Έ λ…Όλ¬Έμ—μ„œλŠ” μ΄λŸ¬ν•œ νŠΉμ„±μ„ μˆ˜ν•™μ μœΌλ‘œ μ •λ¦¬ν•˜μ˜€μœΌλ©°, 이λ₯Ό ν™•μž₯ κ°€λŠ₯ν•œ 속도 ν–₯상 기법과 λ”λΆˆμ–΄ 주어진 회둜의 타이밍 뢄석 및 클럭 슀큐 μŠ€μΌ€μ₯΄λ§ λ¬Έμ œμ— μ μš©ν•˜μ˜€λ‹€. λ‘˜μ§Έλ‘œ, μœ μ‚¬ λ¬Έν„± 연산은 μ΄ˆκ³ μ§‘μ  회둜 λ™μž‘μ˜ μ—λ„ˆμ§€ νš¨μœ¨μ„ λŒμ–΄ 올릴 수 μžˆλ‹€λŠ” μ μ—μ„œ κ°κ΄‘λ°›μ§€λ§Œ, 큰 폭의 μ„±λŠ₯ 변이 및 λΉ„μ„ ν˜•μ„± λ•Œλ¬Έμ— 널리 ν™œμš©λ˜κ³  μžˆμ§€ μ•Šλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μœ μ‚¬ λ¬Έν„± μ „μ•• μ˜μ—­ 및 μ΅œμ‹  곡정 λ…Έλ“œμ—μ„œ 보닀 μ •ν™•ν•œ 타이밍 μ˜ˆμΈ‘μ„ μœ„ν•œ ν•˜λ“œμ›¨μ–΄ μ„±λŠ₯ λͺ¨λ‹ˆν„°λ§ 방법둠 μ „λ°˜μ„ μ œμ•ˆν•˜μ˜€λ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ, 비동기 νšŒλ‘œλŠ” κΈ°μ‘΄ 동기 회둜의 λŒ€μ•ˆ 쀑 ν•˜λ‚˜λ‘œ, κ·Έ μ€‘μ—μ„œλ„ 비동기 νŒŒμ΄ν”„λΌμΈ νšŒλ‘œλŠ” 비ꡐ적 적은 섀계 λ…Έλ ₯λ§ŒμœΌλ‘œλ„ κ΅¬ν˜„ κ°€λŠ₯ν•˜λ‹€λŠ” μž₯점이 μžˆλ‹€. λ³Έ λ…Όλ¬Έμ—μ„œλŠ” 2μœ„μƒ 묢음 데이터 ν”„λ‘œν† μ½œ 기반 비동기 νŒŒμ΄ν”„λΌμΈ 컨트둀러 μƒμ—μ„œ, μ •ν™•ν•œ ν•Έλ“œμ…°μ΄ν‚Ή 톡신을 μœ„ν•΄ μ‚½μž…λœ λ”œλ ˆμ΄ 버퍼에 μ˜ν•œ 면적 증가λ₯Ό μ™„ν™”ν•  수 μžˆλŠ” ν•©μ„± 기법을 μ œμ‹œν•˜μ˜€λ‹€.1 INTRODUCTION 1 1.1 Flexible Flip-Flop Timing Model 1 1.2 Hardware Performance Monitoring Methodology 4 1.3 Asynchronous Pipeline Controller 10 1.4 Contributions of this Dissertation 15 2 ANALYSIS AND OPTIMIZATION CONSIDERING FLEXIBLE FLIP-FLOP TIMING MODEL 17 2.1 Preliminaries 17 2.1.1 Terminologies 17 2.1.2 Timing Analysis 20 2.1.3 Clock-to-Q Delay Surface Modeling 21 2.2 Clock-to-Q Delay Interval Analysis 22 2.2.1 Derivation 23 2.2.2 Additional Constraints 26 2.2.3 Analysis: Finding Minimum Clock Period 28 2.2.4 Optimization: Clock Skew Scheduling 30 2.2.5 Scalable Speedup Technique 33 2.3 Experimental Results 37 2.3.1 Application to Minimum Clock Period Finding 37 2.3.2 Application to Clock Skew Scheduling 39 2.3.3 Efficacy of Scalable Speedup Technique 43 2.4 Summary 44 3 HARDWARE PERFORMANCE MONITORING METHODOLOGY AT NTC AND ADVANCED TECHNOLOGY NODE 45 3.1 Overall Flow of Proposed HPM Methodology 45 3.2 Prerequisites to HPM Methodology 47 3.2.1 BEOL Process Variation Modeling 47 3.2.2 Surrogate Model Preparation 49 3.3 HPM Methodology: Design Phase 52 3.3.1 HPM2PV Model Construction 52 3.3.2 Optimization of Monitoring Circuits Configuration 54 3.3.3 PV2CPT Model Construction 58 3.4 HPM Methodology: Post-Silicon Phase 60 3.4.1 Transfer Learning in Silicon Characterization Step 60 3.4.2 Procedures in Volume Production Phase 61 3.5 Experimental Results 62 3.5.1 Experimental Setup 62 3.5.2 Exploration of Monitoring Circuits Configuration 64 3.5.3 Effectiveness of Monitoring Circuits Optimization 66 3.5.4 Considering BEOL PVs and Uncertainty Learning 68 3.5.5 Comparison among Different Prediction Flows 69 3.5.6 Effectiveness of Prediction Model Calibration 71 3.6 Summary 73 4 LIGHTENING ASYNCHRONOUS PIPELINE CONTROLLER 75 4.1 Preliminaries and State-of-the-Art Work 75 4.1.1 Bundled-data vs. Dual-rail Asynchronous Circuits 75 4.1.2 Two-phase vs. Four-phase Bundled-data Protocol 76 4.1.3 Conventional State-of-the-Art Pipeline Controller Template 77 4.2 Delay Path Sharing for Lightening Pipeline Controller Template 78 4.2.1 Synthesizing Sharable Delay Paths 78 4.2.2 Validating Logical Correctness for Sharable Delay Paths 80 4.2.3 Reformulating Timing Constraints of Controller Template 81 4.2.4 Minimally Allocating Delay Buffers 87 4.3 In-depth Pipeline Controller Template Synthesis with Delay Path Reusing 88 4.3.1 Synthesizing Delay Path Units 88 4.3.2 Validating Logical Correctness of Delay Path Units 89 4.3.3 Updating Timing Constraints for Delay Path Units 91 4.3.4 In-depth Synthesis Flow Utilizing Delay Path Units 95 4.4 Experimental Results 99 4.4.1 Environment Setup 99 4.4.2 Piecewise Linear Modeling of Delay Path Unit Area 99 4.4.3 Comparison of Power, Performance, and Area 102 4.5 Summary 107 5 CONCLUSION 109 5.1 Chapter 2 109 5.2 Chapter 3 110 5.3 Chapter 4 110 Abstract (In Korean) 127Docto

    Peephole optimization of asynchronous macromodule networks

    Get PDF
    Journal ArticleAbstract- Most high-level synthesis tools for asynchronous circuits take descriptions in concurrent hardware description languages and generate networks of macromodules or handshake components. In this paper, we propose a peephole optimizer for these networks. Our peephole optimizer first deduces an equivalent blackbox behavior for the network using Dill's tracetheoretic parallel composition operator. It then applies a new procedure called burst-mode reduction to obtain burst-mode machines from the deduced behavior. In a significant number of examples, our optimizer achieves gate-count improvements by a factor of five, and speed (cycle-time) improvements by a factor of two. Burst-mode reduction can be applied to any macromodule network that is delay insensitive as well as deterministic. A significant number of asynchronous circuits, especially those generated by asynchronous high-level synthesis tools, fall into this class, thus making our procedure widely applicable
    • …
    corecore