A General Computational Framework and Simulations of Branching Programs of Boolean Circuits Using Higher Order Logic ( HOL ) Software-An Insight into ECAD Tool Design Paradigm

Integrated optics and Optical computing are now a mature technology offering many types of devices and manufacturing techniques. Recent breakthroughs in the field of silicon photonics showed low-loss insulators, passive wave guide devices, high speed optical switches, detectors, silicon lasers, and silicon amplifiers, optical amplifiers etc. These devices have provided the possibility to construct CMOS compatible optical circuits with low power consumption, high bandwidth and low latencies. A critical component that we intend to focus is on considering Branching Programs as CAD tools for the design of future electronics. Hence, BPs as viable means to accomplish the task of propelling the R&D of Electronics, are considered and simulated using HOL software based on boolean theory. We believe our research is one of the remarkable pioneering efforts, into the promising aspects of Branching Programs as CAD Tools.


Introduction and Inspiration
Before taking the readers to the introduction of BP based CAD tool design and analysis, we are interested in beginning with a brief introduction to the concepts involved in framing our paper.
The basis of motivation for this short communication/technical note/tutorial, is based on one of the promising papers presented by Anthony Fox, Computer Laboratory, University of Cambridge, UK Titled: "ARM Formalized in HOL" (Anthony Fox, 2012).Hence in our current work, we developed a simple general computational framework and highlight HOL as the design, computational and verification tool of electronics research and development.

Higher Order Logic (HOL)
"HOL is one of a family of theorem provers that share a common design called the 'LCF architecture'.The LCF architecture is so named because its first use was in a theorem prover called LCF.Users of LCF architecture tools prove theorems in the logic supported by the tool (the object language) by writing programs to construct a proof using a programming language (the meta-language).The object language of the HOL system is a classical higher-order logic based on Church's simple theory of types.The meta-language, as with other LCF provers, is ML.The original motivation for building HOL, as a tool for assisting in the specification and verification of digital hardware, the higher-order logic supported by HOL is particularly well suited to such problems.However, the logic is a general one and HOL has now been applied to many different kinds of problems" (Al-Ruwaihi & Hindy, 1997; Phoenix optical simulation software field designer (mode solver) and optodesigner (beam propagation methods); Spice simulations Wikipedia; Beamprop product overview; Alam & Lake, 2005;Bakoglu & Meindl, 1985;Balijepalli, Sinha, & Cao, 2007;Barrington, 1986;Ben-Asher & Meisler, 2006;Ben-Asher & Rotem, 2008;Ben-Asher & Shochat, 2008;Ben-Asher, Citron, & Haber, 2004;Ben-Asher, Peleg, & Schuster, 1992;Bertacco, Minato, Verplaetse, Benini, & Micheli, 1997;Cai & Lipton, 1989;Dong, Preble, & Lipson, 2007;Feitelson, 1988).

Branching Program/s (BP)
"A branching program on the variable "x" is a finite directed acyclic graph with one source node and sink nodes partitioned into two sets, Accept and Reject.Each non-sink node is labeled by a variable x i and has two outgoing edges labeled 0 and 1 respectively.The length of the program is the maximum length of any such path.We are only going to consider layered branching programs of length.Here the nodes are partitioned into ` sets and edges only go from one layer to the next.The width of a layered branching program is the maximum number of vertices in any layer.A branching program can be thought of as a space-bounded model of computation where space=log (width); from each state, we just look at 1 bit of the input.This is a clean model of space-bounded computation which abstracts from model-dependent Turing-machine issues such as keeping track of the position of the head on the input tape.One can have similar branching programs for the parity function.It can be shown that every function on n bits can be computed by a branching program of width 3 and exponential length" (Hunsperger, 2002;Hussein, Nounou, Saada, Atef, & Khalil, 2006;Jang, Park, & Prasanna, 1992;Taki, 2000;Lattner, 2002;Mehlhorn & Nher, 1995;Moreinis, Morgenshtein, Wagner, & Kolodny, 2006;Morgenshtein, Fish, & Wagner, 2002;Morgenshtein, Friedman, Ginosar, & Kolodny, 2008;Nakano & Wada, 1998;Nishihara, Haruna, & Suhara, 1987;Okayama, Okabe, Kamijoh, & Sakamoto, 1999;Reed & Knights, 2004;Shi, Wa, Miller, Pamulapati, & Cooke, 1995;Isabelle, 2012;Anthony Fox, 2012; HOL: The Higher Order Logic Theorem Prover; Barrington's Theorem, 2009).2, a simple even/odd parity circuit for driving or processing the information is shown.We suggested the even/odd parity circuit using optical switches which hold a great promise for the futuristic tendencies in electronics and optical computing systems.In here we consider implementations of BPs, that are based on optical switches fabricated using Integrated Optics techniques.Optical switching devices (Feitelson, 1988) is an advance research area including many types of devices that can switch light between different wave-guides or directly redirect light beams in free space.Many works describe optical switching networks (prototypes and devices), e.g., (Okayama, Okabe, Kamijoh, & Sakamoto, 1999) describing a 32X32 optical banyan switching network.

Approximate Simulation of Branching Programs of Boolean Circuits Using HOL Software
In this section we briefly present our idea of BP implementation using HOL Software, first in the form of an approximate flowchart diagram and then present a simple HOL notation, to solve boolean functions using "Isabelle HOL Software system" (beam propagation methods); Spice simulations Wikipedia; Beamprop product overview; Alam & Lake, 2005;Bakoglu & Meindl, 1985;Balijepalli, Sinha, & Cao, 2007;Barrington, 1986  Note to the Readers: Since there is plenty of literature available, on the fundamentals of Boolean algebra/Theorems/Lemmas/HOL/Branching Programs, we are not discussing these issues in detail here.Readers are advised to study the references mentioned in this paper for further information, thanks for your understanding.

Discussion
Thus we could successfully analyze and perform research into Branching Programs as CAD tools for future electronics and nanotechnology.The utility of Branching programs is quite useful in the synthesis of both analog circuits and optical circuits.Though we highlighted an "Optical Circuit" for information processing and computation of even/odd parity circuit, we are not discussing in detail as such advanced topics like Photonics and Optical Computing, which deserve another research paper on an in-depth basis.Hence we are of the belief that our current research work is one of the pioneering efforts in this promising domain of Branching Programs which is interdisciplinary in nature (Mehlhorn & Nher, 1995;Moreinis, Morgenshtein, Wagner, & Kolodny, 2006;Morgenshtein, Fish, & Wagner, 2002;Morgenshtein, Friedman, Ginosar, & Kolodny, 2008;Nakano & Wada, 1998;Nishihara, Haruna, & Suhara, 1987;Okayama, Okabe, Kamijoh, & Sakamoto, 1999;Reed & Knights, 2004;Shi, Wa, Miller, Pamulapati, & Cooke, 1995;Isabelle, 2012;Anthony Fox, 2012; HOL: The Higher Order Logic Theorem Prover; Barrington's Theorem, 2009).

Conclusion and Future Perspectives
The potential impact of the above discussed issues concerning BPs to synthesis future electronics and nano-devices, show that integrated optical synthesis of BP can be automated to a similar level as that of VLSI circuits.Reveal new optimization problems involved with optimizing integrated optic synthesis of BP.Promote and expose the advantages of optical BP synthesis compared to CMOS FET circuits.This research if successful can be possibly extended to an implementation of a light based CPU, adding a new direction to the quest of techniques for building pure light based computers.It is a new direction for high level synthesis systems targeting BPs synthesis instead of Verilog.The ability to speedup these devices using large BPs circuits implemented using integrated optics, can have a profound impact on digital computer systems and their designs with clear economical implications.

Information on HOL Software Used
"Isabelle is a generic proof assistant.It allows mathematical formulas to be expressed in a formal language and provides tools for proving those formulas in a logical calculus.Isabelle is developed at University of Cambridge (Larry Paulson), Technische Universität München (Tobias Nipkow) and Université Paris-Sud (Makarius Wenzel).See the Isabelle overview for a brief introduction" (Isabelle, 2012).

Figure 1 .
Figure 1.Branching program for a Boolean circuit-even/odd parity function

Figure 2 .
Figure 2. Suggestion of optical switches based implementation of even/odd parity circuit for information processing Explanation of Figure 2:In Figure2, a simple even/odd parity circuit for driving or processing the information is shown.We suggested the even/odd parity circuit using optical switches which hold a great promise for the "a and b == cond(a,b,0)" simp,TC]: "1 \<in> bool" by (simp add: bool_defs ) lemma bool_0I [simp,TC]: "0 \<in> bool" by (simp add: bool_defs) c: bool; c=1 ==> P; c=0 ==> P |] ==> P" by (simp add: bool_defs, blast) (** cond **) (*1 means odd*) Jiangnan University, China/Ben-Gurion University, IsraelThe HOL Code mentioned below, is just to provide some guidelines for the readers.Precise implementation is possible for the above mentioned Boolean circuit or Optical circuit by defining Lemmas/Theorems and simulating them using HOL system (Isabelle, 2012) *).