This book proposes a methodology for implementing digital circuits and systems using asynchronous scheme called as self-timing. A methodology which results in average case performance vs. worst-case performance of the digital system without the global clocking overhead. The primary objective of the book is to give the readers an overview of the self-timing methodology, how to build smaller to medium scale digital circuits, modeling for HDL simulation and fast prototyping on Field Programmable Gate Arrays. This book is suggested to readers who are doing their master's degree in electronics engineering with specialization in VLSI/Embedded Systems.