====== ASYNC 2024 Summer School ====== Welcome to the ASYNC 2024 Summer School! This is the second summer school on asynchronous design. We will be following the format of the [[summer2022:start|ASYNC 2022 Summer School]], with videos and slides posted online. (If the video is not visible when you click on the link, try downloading the file and viewing it locally. The videos play on the open-source VLC player, for example.) ===== Design tools ===== We have pre-installed tools in a multi-platform Docker image (linux/arm64 and linux/amd64) using Ubuntu Linux that is accessible through docker hub. The standard way we use this image is [[summer2024:dockersetup|detailed here]]. You can also install the ACT tools from source using the instructions on [[https://github.com/asyncvlsi/actflow/|Github]].((In addition to the ACT tools, the docker image includes binaries for ''magic'', ''irsim'', ''yosys'', and ''Xyce'' (Xyce installed using a [[https://github.com/asyncvlsi/xyce_build/|Github repo that includes dependencies]]), and SPICE models and an irsim parameter file for the Skywater 130 open-source PDK.)) An additional tool used in Week 3 is Workcraft. Packages for Workcraft are available on [[https://github.com/workcraft/workcraft/releases/|Github]], with additional [[https://workcraft.org|documentation]] available as well. ===== Week 1 : Behavioral design ===== **Monday, July 1, 9:00AM to 1:00PM Eastern Time** ^ Time ^ Topic ^ Speaker(s) ^ Video ^ | 9:00 AM | Welcome | Ivan Sutherland | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/welcome.mp4|mp4]] | | 9:10 AM | Overview of summer school + {{ :summer2024:01_intro.pdf |introduction to async}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/logistics.mp4|mp4]] [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/intro.mp4|mp4]]| | 9:40 AM | //break// ||| | 9:45 AM | {{ :summer2024:02_behavior.pdf |Message-passing behavioral description}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/chp.mp4|mp4]] | | 10:45 AM | {{ :summer2024:eg1.tgz|Examples: CHP simulation }} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/chp_demo.mp4|mp4]] | | 11:00 AM | {{ :summer2024:montek-async2024-dataflow.pdf |Dataflow design: pipelined circuits and performance estimation}} | Montek Singh | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/dataflow.mp4|mp4]] | | 11:45 AM | {{ :summer2024:eg2.tgz |Examples: simulating dataflow models }} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/dataflow_demo.mp4|mp4]] | | 12:00 PM | {{ :summer2024:montek-async2024-mousetrap.pdf |From dataflow to circuits}} | Montek Singh | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/dataflow_circuits.mp4|mp4]] | | 1:00 PM | //End of day// ||| ==== Additional resources ==== Some additional links to resources that are relevant for the first day: * [[language:start|ACT language documentation]] * [[language:langs:chp|The chp and chp-txt sublanguage]] * [[language:langs:dflow|The dataflow sublanguage]] * [[tools:actsim|''actsim'' documentation]] Reference materials: * [[https://orbit.dtu.dk/en/publications/introduction-to-asynchronous-circuit-design|Introduction to Asynchronous Design]], by [[http://www.imm.dtu.dk/~jspa/|Jens Sparsø]]. A freely available textbook. ===== Week 2: Gate-level design ===== **Monday, July 8, 9:00AM to 1:00PM Eastern Time** ^ Time ^ Topic ^ Speaker(s) ^ Video ^ | 9:00 AM | {{ :summer2024:10_recap_protocols.pdf |Recap of models; handshake protocols}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/handshake.mp4|mp4]] | | 9:50 AM | //break// ||| | 10:00 AM | {{ :summer2024:11_gates.pdf |Gates and gate-level simulation}} {{ :summer2024:gates.tgz |examples}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/gates.mp4|mp4]] | | 10:25 AM | //break// ||| | 10:30 AM | {{ :summer2024:12_upipe.pdf |Pipeline example}} {{ :summer2024:pipe.tgz |examples}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/pipeline_eg.mp4|mp4]] | | 11:00 AM | //break// ||| | 11:10 AM | {{ :summer2024:13_syntaxdirected.pdf |Syntax-directed translation to cells}} {{ :summer2024:sdt.tgz |examples}}| Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/sdt.mp4|mp4]] | | 12:15 PM |{{ :summer2024:14_nondet.pdf |Non-determinism and a simple clocked interface}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/nondet.mp4|mp4]] | | 1:00 PM | //End of day// ||| ==== Additional resources ==== * [[http://www.ivorcatt.co.uk/DJKinniment-He-Who-Hesitates-is-Lost.pdf|Book on metastability]] by D. Kinniment * [[https://csl.yale.edu/~rajit/ps/cyclone.pdf|Static timing analysis]] ===== Week 3: Custom Circuits and Physical Design ===== **Monday, July 15, 9:00AM to 1:00PM Eastern Time** ^ Time ^ Topic ^ Speaker ^ Video ^ | 9:00 AM | {{ :summer2024:20_intro.pdf |Recap}} | Rajit Manohar | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/20_intro.mp4|mp4]] | | 9:05 AM | Petri Net Primer: {{ :summer2024:petri_intro.pdf |intro}}, {{ :summer2024:petri_nets_primer_-_async_summer_school_2024_-_yakovlev_1.0.pdf |primer}} | Alex Yakovlev | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/21_petri_intro.mp4|mp4]] | | 10:00 AM | {{ :summer2024:async_school_2024_-_petri_nets_-_yakovlev_1.0.pdf |Controller design using Petri Nets}} | Alex Yakovlev | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/22_petri_controller.mp4|mp4]] | | 10:55 AM | //break// ||| | 11:00 AM | {{ :summer2024:customdesign2024.pdf |Custom circuit design}} {{ :summer2024:custom_design.tgz |examples}} | Benjamin Hill | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/23_custom_ckts.mp4|mp4]] | | 11:55 AM | //break// ||| | 12:00 PM | {{ :summer2024:async_lib.pdf |Using commercial tools: standard cell flow}} | Ole Richter | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/24_stdcell.mp4|mp4]] | | 12:30 PM | {{ :summer2024:asynchronous_design_methodology_using_act_with_commercial_tools.pdf |Integration with a mixed-signal flow}} | Filip Hormot | [[https://avlsi.csl.yale.edu/act/lib/videos/summer2024/20240715-Infineon-Async.mp4|mp4]] | | 12:45 PM | Q&A | all | |