JSFoo 2017

JSFoo is a conference about JavaScript and everything related.

Hardware Description and Emulation using JavaScript

Submitted by Mayank Badola (@mbad0la) on Monday, 9 January 2017

videocam
Preview video

Technical level

Intermediate

Section

Full Talk

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +26

Abstract

Gone are the days when you had to rely on the likes of VHDL or Verilog, when you wanted to get involved in hardware description or craved a bit of Hardware Engineering.

What if JavaScript, a language for the web, can be used to derive meaningful hardware descriptions, altogether bridging the gap between software and hardware by exposing frameworks easily extensible and understandable by majority of the JavaScript community …

Outline

The talk will be based off my experimental project Architect (https://github.com/mbad0la/Architect) which tries to hack upon the Events API in NodeJS to build a reactive interface suitable for doing hardware description and emulation.

I am also very much intrigued by Reactive Programming at the moment and will try to fit in Observables for the purposes of this talk, although the Events API implementation is interesting too.

A tentative outline may be :

  • Inspiration
  • What is Reactive Programming
  • Let’s build some Basic Gates
  • How to transmit state changes (i.e how to make things reactive)
  • Composing higher level hardware abstraction (Building a half-adder using gates)
  • Abstracting even further (Building a full-adder using half-adders)
  • Final abstraction (n-bit PIPO Adder)

This outline is tentative and will be open to modifications and suggestions to improve the engagement of community during the talk.

Requirements

  • Idea about combinational circuits
  • Familiarity with NodeJS

Speaker bio

I was curious about the capabilities of JavaScript in Reactive Programming and what better way to hack on that than to try hardware description and emulation. My experiment hence originates from the Computer Architecture course wherein I studied VHDL and my love for JavaScript.

As this is a fun experimental project demostrating a cool hack using JavaScript, my credentials as a Computer Engineering student graduating in 2017 aligns with how the JS Community operates. Unhindered, agile and always eager to extend and experiment.

Links

Slides

https://docs.google.com/presentation/d/1OQE_7UxMORox1hdoGVWo1x8mPzJ1Fnhw2C5Lv5CuGR0/edit?usp=sharing

Preview video

https://drive.google.com/open?id=0B_R-62AL2NS_NjEtT2lMOWh4c0U

Comments

Login with Twitter or Google to leave a comment