Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
history:start [2021/10/19 06:09]
rajit
history:start [2024/03/26 06:14] (current)
rajit
Line 1: Line 1:
 ====== Language history ====== ====== Language history ======
  
-This is a rough chronology of the development/evolution of ACT. +This is a rough chronology of the development/evolution of ACT and influences from the literature
 +  
 +   * 1975 E.W. Dijkstra's paper on a guarded command language appears in CACM 
 +   * 1978 C.A.R. Hoare's paper on CSP appears in CACM 
 +   * 1986 A.J. Martin describes an approach to translating communicating processes into asynchronous circuits in a [[https://link.springer.com/article/10.1007/BF01660034|paper]] in //Distributed Computing//.
    * 1988-89: The [[https://authors.library.caltech.edu/26709/2/postscript.pdf|first asynchronous microprocessor]] was designed and fabricated at Caltech.    * 1988-89: The [[https://authors.library.caltech.edu/26709/2/postscript.pdf|first asynchronous microprocessor]] was designed and fabricated at Caltech.
-   * ~1991 (?), a language for hierarchical production rules was developed at Caltech (A.J. Martin's group). This was dubbed "CAST" for Caltech Asynchronous Synthesis Tools. + 
-   * 1995, a new CAST language ({{ :history:cast.pdf |docs}}) was developed from scratch and implemented by [[http://csl.yale.edu/~rajit|Rajit Manohar]] (at the time a graduate student in A.J. Martin's group).+Language development: 
 + 
 +   * ~1991 (?), a language for hierarchical production rules was developed at Caltech (A.J. Martin's group) based on their experience with designing the first asynchronous microprocessor. This was dubbed "CAST" for Caltech Asynchronous Synthesis Tools. A snippet of a circuit in this language is shown below: 
 +<code> 
 +define prs (a)f() 
 + { p -> q+ 
 +   connect a p 
 + } 
 + 
 +cell (_)f() 
 +</code> 
 +   * 1995, a new CAST language ({{ :history:cast.pdf |docs}}) was developed from scratch and implemented by [[http://csl.yale.edu/~rajit|Rajit Manohar]] (at the time a graduate student in A.J. Martin's group). The same example as above would be written as follows in the new CAST syntax 
 +<code> 
 +define f (node a) 
 +{  node p, q; 
 +   prs { 
 +       p -> q+ 
 +    } 
 +   a = p; 
 + } 
 +f(); 
 +</code>
    * 1995-1998 CAST was used to implement the [[https://csl.yale.edu/~rajit/ps/minimips.pdf|first high-performance asynchronous microprocessor]].    * 1995-1998 CAST was used to implement the [[https://csl.yale.edu/~rajit/ps/minimips.pdf|first high-performance asynchronous microprocessor]].
    * ~1998 Andrew Lines and Uri Cummings from Martin's group at Caltech launch startup Asynchronous Digital Design (later renamed to Fulcrum Microsystems), which licenses the tools developed at Caltech. Over the years, Fulcrum develops more CAST tools for internal commercial use, including proprietary language extensions.    * ~1998 Andrew Lines and Uri Cummings from Martin's group at Caltech launch startup Asynchronous Digital Design (later renamed to Fulcrum Microsystems), which licenses the tools developed at Caltech. Over the years, Fulcrum develops more CAST tools for internal commercial use, including proprietary language extensions.
-   * 1998-2003 CAST used at Cornell (Rajit Manohar's group) to implement the [[https://csl.yale.edu/~rajit/ps/fpga.pdf|first pipelined asynchronous FPGA architecture]], as well as the SNAP low power microcontroller for sensor networks.+   * 1998-2003 CAST used at Cornell (Rajit Manohar's group) to implement the [[https://csl.yale.edu/~rajit/ps/fpga.pdf|first pipelined asynchronous FPGA architecture]], as well as [[https://csl.yale.edu/~rajit/ps/snap.pdf|SNAP]], the first low power microcontroller for sensor networks.
    * 1998-2003 Development continued at Caltech, including embedding CAST-like syntax within the Modula-3 language. This version was used to design the Lutonium processor.    * 1998-2003 Development continued at Caltech, including embedding CAST-like syntax within the Modula-3 language. This version was used to design the Lutonium processor.
    * 2004 A language that provided the same functionality as CAST but with syntax for new features (not implemented) was developed at Cornell by Rajit Manohar, based on lessons from using CAST for chip design. This was called ACT (version 0; 0 because the new features were not supported yet)    * 2004 A language that provided the same functionality as CAST but with syntax for new features (not implemented) was developed at Cornell by Rajit Manohar, based on lessons from using CAST for chip design. This was called ACT (version 0; 0 because the new features were not supported yet)
Line 17: Line 41:
    * 2011, initial template for the core language based on ACT v0 developed    * 2011, initial template for the core language based on ACT v0 developed
    * 2012, Intel acquires Fulcrum Microsystems, as well as the version of the CAST tools developed by Fulcrum.    * 2012, Intel acquires Fulcrum Microsystems, as well as the version of the CAST tools developed by Fulcrum.
-   * 2017, actual implementation of the new features started+   * 2017, actual implementation of the new features started at Yale with a fresh implementation of the entire system.
    * 2018, Most features of ACT v1 ready    * 2018, Most features of ACT v1 ready
-   * 1/2019, first open-source release+   * 1/2019, first [[http://github.com/asyncvlsi/act|open-source release]]
    * 4/2019, documentation effort initiated    * 4/2019, documentation effort initiated