Giter Club home page Giter Club logo

superconducting-temporal-logic's Introduction

A Computational Temporal Logic for Superconducting Accelerators

Superconducting logic offers the potential to perform computation at tremendous speeds and energy savings but a “semantic gap” lies between the level-driven logic traditional hardware designs accept as a foundation and the pulse-driven logic naturally supported by the most compelling superconducting technologies. A pulse, unlike a level signal, will fire through a channel for only an instant. Arranging the network of superconducting components so that input pulses always arrive simultaneously to "logic gates" so one can maintain the illusion of Boolean-only evaluation is a significant engineering hurdle.

Our goal in this work is to explore computing in a new and more native tongue for superconducting logic: time of arrival. Building on recent work in delay-based computations, we show that:

  • superconducting logic can naturally compute directly over temporal relationships between pulse arrivals,
  • the computational relationships between those pulse arrivals can be formalized through a functional extension to a temporal predicate logic used in the verification community,
  • the resulting architectures can operate asynchronously and describe real and useful computations.

To verify and evaluate our idea we built and simulated RSFQ circuits for all our primitive operators as well as for various temporal accelerators found in literature.

For more information and a detailed description of this work please read our paper presented at ASPLOS2020.

Package Contents

  • Primitives/ RSFQ implementations of (and testbench files for) our primary temporal operators.
  • Accelerators/ RSFQ implementations of (and testbench files for) our proof-of-concept accelerators.
  • Scripts/ scripts to easily run our experiments.

Example Usage

Install WRCAD xictools package (http://www.wrcad.com/).

Run WRSPICE with -m flag:

$wrspice -m /usr/local/xictools/wrspice.current/devkit/examples/jj/module_dist/jj.so

or, for a particular circuit (for example, primitives/delay.cir), run the command

$wrspice -m /usr/local/xictools/wrspice.current/devkit/examples/jj/module_dist/jj.so ~/primitives/delay.cir

followed by the commands listed in scripts/command_list.txt under the respective circuit; for delay.cir, the following commands are pertinent and should be typed in succession within the WRSPICE command terminal:

run

plot v(JTL1) v(JTL2) v(JTL3) v(JTL4)

References:

[1] G. Tzimpragos, D. Vasudevan, N. Tsiskaridze, G. Michelogiannakis, A. Madhavan, J. Volk, J. Shalf, and T. Sherwood, "A Computational Temporal Logic for Superconducting Accelerators", in the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Lausanne, Switzerland, 2020.

Others:

Link to the Race Logic Github: https://github.com/UCSBarchlab/RaceLogic

Contact:

For general questions feel free to reach out to Archlab @ UCSB.

For immediate help with Race Logic and PyRTL, contact George ([email protected]) and Jennifer ([email protected]).

superconducting-temporal-logic's People

Contributors

jennifer-volk avatar gtzimpragos avatar timsherwood avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.