LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 510.84 Ijt'6r no. 715-721 cop. Z Digitized by the Internet Archive in 2013 http://archive.org/details/networktransduct719hohu Kb, 7/^ uiucDcs-R-75-719 'yjt&sCjf 1 NETWORK TRANSDUCTION PROGRAMS BASED ON CONNECTABLE AND DISCONNECTABLE CONDITIONS WITH FAN-IN AND PAN-OUT RESTRICTIONS (A description of NETTRA-G1-FIFO and NETTRA-G2-FIF0) KEITH R. HOHUIIN April, 1975 DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS IHE LIBRARY OF THE JUN 3 1975 UNIVERSITY OF ILLINOIS UIUCDCS-R-T5-719 NETWORK TRANSDUCTION PROGRAMS BASED ON CONNECTABLE AND DISCONNECTABLE CONDITIONS WITH FAN-IN AND FAN-OUT RESTRICTIONS (A description of NETTRA-G1-FIFO and NETTRA-G2-FIF0) KEITH R. HOHULIN April, 1975 Department of Computer Science University of Illinois at Urban a -Champaign Urbana, Illinois This work was supported in part by the National Science Foundation under Grant No. NSF-GJ-40221. 11 ACKNOWLEDGEMENT The author would like to express his gratitude to Professor Saburo Muroga for his guidance during the preparation of this paper as well as his careful reading and constructive criticism which helped to improve the original manuscript. The author also expresses his gratitude to J. Culliney, Y. Kambayashi, J. Legge and H.C. Lai who developed the basic algorithms and programs used in the study described in this paper. Ill TABLE OF CONTENTS Page 1. INTRODUCTION 1 2. THE PROGRAMS 3 2.1 NETTRA-G1-FIFO 3 2. 2 NETTRA-G2-FIF0 9 3. EXPERIMENTAL RESULTS 12 3.1 An Outline of Subroutine MAIN for NETTRA-G1-FIF0 and NETTRA-G2-FIF0 12 3.2 The Input Data Cards 15 3. 3 Results of Computer Experiments 21 REFERENCES 36 APPENDIX: AN EXAMPLE WITH INCOMPLETELY SPECIFIED OUTPUT FUNCTIONS 38 CHAPTER 1 INTRODUCTION Recently, network "transduction" procedures for the synthesis of networks with many NOR (NAND) gates have been studied extensively [l]~[lO]. One such procedure uses the concept of compatible sets of permissible functions as a basis for the development of conditions for the connectability and disconnectability of the connections in a network. (The connections in a network include both the connections from the external variables to the gates and the interconnections among the gates.) The theoretical development of this procedure (which is known as PROCIl) is given in [k] and two computer programs based on PROCIl (known as NETTRA-G1 and NETTRA-G2) are presented in [5]. One application of the network transduction approach to logical design is the synthesis of networks whose gates have fan-in and/or fan- out restrictions. Several procedures which, when given a network, solve its fan-in and fan-out problems have been developed and programmed by J. Legge at the University of Illinois [13]. The program which implements these procedures will be referred to in this paper by the name "FIFO". The existance of FIFO allows the following approach to be used to imple- ment fan-in and fan-out restrictions into NETTRA-G1 and NETTRA-G2: obtain an initial network, use FIFO to solve the fan-in and/ or fan-out t Refer to [l] [h] for the definitions of terminology. tt The program called FIFO in this paper consists of subroutine JEFF and all subroutines controlled by JEFF in [13]. problems of the initial network, and, finally, apply a modified version of PROCII (known as PRIIFF) which maintains the fan-in and fan-out restrictions during the computation. Networks synthesized using a com- bination of FIFO and PRIIFF generally contain fewer gates than networks synthesized by FIFO alone. The results of experiments run on the com- puter using PRIIFF and FIFO in NETTRA-G1 and NETTRA-G2 are given in Chapter 3. The versions of NETTRA-G1 and NETTRA-G2 which include PRIIFF and FIFO (i.e., fan-in and/or fan-out restrictions) will be referred to by the names NETTRA-G1-FIF0 and NETTRA-G2-FIF0, respectively. Chapter 2 documents the changes which were made to PROCII so that the fan-in fan-out restrictions of the networks being transduced are not exceeded (i.e., the changes needed to obtain PRIIFF from PROCII). The changes made to a subroutine of NETTRA-^ called PROCIV are also discussed in chapter 2. Another application of the network transduction approach is the synthesis of networks whose output functions have "don't care" conditions (i.e., networks with incompletely specified output functions). The results of using NETTRA-G1-FIF0 and NETTRA-G2-FIF0 for an example with incom- pletely specified output functions are given in the Appendix. CHAPTER 2 THE PROGRAMS Both NETTRA-G1 and NETTRA-G2 use subroutine PROCII as a basis for implementing their respective transduction procedures. The primary dif- ference between NETTRA-G1 and NETTRA-G2 is that NETTRA-G2 through its subroutine PROCIV concentrates on removing specific gates from the network under consideration while NETTRA-G1 does not attempt to remove specific gates. The incorporation of FIFO and PRITFF into NETTRA-G1 and NETTRA-G2 allows networks with fan-in and fan-out restrictions to be synthesized using the network transduction approach. The discussion in this chapter assumes that the reader has a general knowledge of the information con- tained in [1] [k] [5]. Sections 2.1 and 2.2 discuss NETTRA-G1-FIF0 and NETTRA-G2-FIF0, respectively. 2.1 NETTRA-G1-FIF0 The program NETTRA-G1-FIF0 consists of the following subroutines: MAIN, CONCCO, ELANDO, MINI2, RNONES, SUBNET, OUTPUT, PROCII, FIFO and PRIIFF. The general organization of NETTRA-G1-FIF0 is shown in Fig. 2. 1.1. An arrow from block i to block j indicates that the subroutine represented by block i calls the subroutine represented by block j . The functions of subroutines MAIN, CONCCO, ELANDO, MINI2, RNONES, SUBNET, OUTPUT and PROCII are discussed in [5]. FIFO is presented in [13]. The definitions given below will facilitate the discussion of the flowchart of PRIIFF which appears in Figs. 2.1.2 and 2.1.3. ■* >fc FIFu >* MAIim f OUTPUT w PROCII SUBNET PRIIFF «S» K. c ) i MOH2 "n C t v ^ CONCCO J >h. ^ RNONES / \ ■^ EIAKT DU k. Fig. 2.1.1 General Organization of the Program NETTRA-G1-FIF0. 1. FI is the maximum fan-in for each gate in the network. 2. FO is the maximum fan-out for each gate which is not an output gate. 3. F00 is the maximum fan -out for each output gate. k. FOX is the maximum fan -out for each external variable. 5. GCO is the gate in the network which is currently being considered by PRIIFF. 6. LIST L is a list of the essential inputs to gate GCO, where an input to GCO is defined to be essential if the output function of GCO is not in the compatible set of permissible functions for GCO when that input is disconnected from GCO (see [h], [5] for details). The elements of the list are ordered by the decreasing number of essential l's they contain. 7. LIST C is a list of gates and external variables which are connectable to gate GCO. The elements of LIST C are ordered by the decreasing number of O's of GCO they cover. 8. The array LI PREP contains the number of immediate predecessors both gates and external variables of each gate and external variable in the network (of course external variables do not have any immediate predecessors). Thus, LIPRED(l)=J if gate or external variable I has J inputs (LIPRED(l)=0 for all external variables ) . Array LIPRED has entries for the external variables to make it uniform with LISUCC (defined below). 9. The array LISUCC contains the number of immediate successors of each gate and external variable in the network. Thus, LISUCC ( I )=J if gate or external variable I is connected to J gates. Arrays LI.PRED and LISUCC are updated each time the network configuration changes. Blocks numbered 1 through 10 and 12 through 23 in Figs. 2.1.2 and 2.1.3 are identical to the blocks numbered 1 through 10 and 12 through 23 in Figs. 2.1.1.1 and 2.1.1.2 of [5]. That is, it was not necessary to make any changes to these blocks in order to convert PROCII to PRIIFF. Since a complete discussion of blocks numbered 1 through 23 is given in [5], only block 2k and the changes made to block 11 will be discussed below. In block 11 a search is made for all gates and external variables, which are effectively connectable to gate GCO. A list of all such gates and external variables is stored in LIST C as described in the discussion of block 11 given in [5 ] . In addition to the conditions of effective connectability given in [k] , the following conditions must also be imposed: if the value of LISUCC for any output gate, non-output gate or external variable is equal to F00, F0 or FOX, respectively, then that gate or external variable is not effectively connectable to GCO and can- not be listed in LIST C. This condition prevents any element P of LIST C which is connected to GCO in block 15 from exceeding its fan-out limit. Also, EFFCON is chosen from LEST C in block 19 so that no fan-out problems occur when EFFCON is connected to GCO in block 21. Block 19 searches LIST C for a gate or external variable called EFFCON to connect to GCO. To prevent gate GCO from exceeding its fan-in limit, the value of LIPRED(GCO) is checked in block 2k. If GCO already has FI inputs, the program goes to block 23 rather than block 19« It should also be noted that no fan-in probelms occur for GCO in block 15 since input TH is disconnected before input P is connected. ( START V FORM GORDER TRY TO REMOVE REDUNDANT CONNECTIONS UPDATE ARRAYS C GCO = GORDER (GCOUNT) INITIALIZE COUNTER: CGOUNT= RETURN ; FUNCTIONS, REMOVE ANY UNNECESSARY INPUTS, AND UPDATE GSMALL OF ALL GATES FEEDING GCO Fig. 2.1.2 Generalized Flowchart of PRIIFF. 10 f START V -► ELIMINATE NON-ESSENTIAL INPUTS, ORDER OTHERS (IN A "LIST L") BY DECREASING NUMBERS OF ESSENTIAL l's 11 LIST ALL CONNECTABLE FUNCTIONS (IN A "LIST C") BY DECREASING NUMBERS OF O's ' (IN GCO) COVERED. ELIMINATE ANY SMALLER THAN OTHERS . DO NOT PUT I IN LIST C IF FAN-OUT FOR I EQUALS LISUCC (i). TRY TO REPLACE AN ELEMENT, TH, FROM LIST L WITH AN ELEMENT, P, FROM LIST C DISCONNECT TH FROM GCO CONNECT P RE-EVALUATE LIST L AND REMOVE EFFCON FROM LIST C I CONNECT EFFCON TO GCO SEARCH LIST C FOR AN APPROPRIATE EFFECTIVE- LY CONNECTABLE GATE OR EXTERNAL VARIABLE, EFFCON 23 — m UPDATE GSMALL FOR THOSE GATES STILL FEEDING GCO LTN Ph H in H OJ OJ H H OJ OJ OJ OJ OJ OO OJ H o H O o O o o O O o o o o O O o O ft H 3 H o t- [>- PI H OO [-- LT\ NO U"N H CO ON Ph H H H H H H H H H H OJ H 1 OJ crs ^^ i eh o OO G\ H CO o- C-^ 00 O lt\ O LT\ VO 1 -=t" LTN w o H H H OO OJ H H OJ oo OJ oo 0J OO oo H s (in O O O 8, o O O a o o o o o o O H H OJ H ON H H o VO o NO -=1- OJ ON pH H H H H H H H H OJ H OJ H OJ OJ pH pH O t— LT\ -=h M3 C- r- OO H OO -=1- oo -=i- o ir\ o H PO H OJ OO OJ H H OJ oo 0J OJ OJ OJ or H ft H o O o O O O O o o o o o o O O g^ ON H LT\ H LT\ 3 H -=}- ON LT\ ltn -=h ir\ O On Ph Pm H H H OJ H H H H H H H H 0J H 1 1 EH O OO VO O VD t> H OO OJ LTN ir\ CO O- OJ LTN W O en H OJ -=f OJ H OJ OJ OO OJ OJ OJ OJ 0O H S Ph O O o O O O O o O o o o o o O H O^ OJ VO VO LT\ i-j -=f- LT\ H VO NO oo CO H ON Ph H H H OJ H H H H OJ H H H H OJ *~ v O o H O 00 H On OO t- H ON OJ OO CvJ OO ON ON H Ph OO H CO -H- oo H OJ OO -=t- OJ oo oo OO -3- OJ H O O O O O O O o o o o o o o O Ph o OJ O -Hr OJ H -j- VO CO LT\ H LT\ VO oo -=r H H OJ OO OJ H H OJ 0J H OJ OJ OJ oo H •INA.L ! 'EH LO O -d- M3 -Hr LT\ OO 00 o\ OO -Hr LT\ l>- LOv -d- o O O O O O O o O' o O o o o O H H H H H H H H H H H H H H H o e i Ph b- t- 1^- t- b- [>- t>- t- t- t- C- C- c- t- l>- g 6 O H H H H H H H H H H H H H H H ^ s g| o H H H Ph V0 LT\ OJ -Hr O 00 PQ ltn S O ON Ph H Ph Ph VO OO < H Ph OO -=J- ON Ph VO OO O Eh pc} < VO O n o Ph H 00 O <^ CO vo OO H O O J- Ph - NO CO -=f t- g o H CM CM CM H CM CM CM CM CM CM CM H H H fa O O O O O O O O O O O O O O O g H 3 LTN no CM ON H OO CO CM NO t- t- a CO O fa H H H H H H H H H H H fa fa LTN LTN on t- -d" -3- On t- NO b- OO NO CO CO NO o H H CM CM CM H CM H CM H CM oo CM H H H ft H O O o O ft O O O O O o O O O O gS ON LTN -* NO -tf CM lr- O t- H c- H H O fa Fm H H H H H H H H CM H H H H 1 H C5 g ir\ LTN -* ON J- J- O O VO O C- NO CO ON t- O H CM CM CM H CM CM OO H OO oo CM H H H g fa O O O O S< O O O O & O O O O O H on ir\ LTN CO J" OO o O UN C- H CM H fa H H H H H CM H H CM H H H H FIFO (alone) c- NO ON CO -* O oo ON O CM CO ON CO ON t- H oo CM oo H on CM -cf CM 2t -=F H H H H o O R O & o O O O O o O O O O H -5j" LTN ON -3- J- 9 CO CM OO r-H CM O H CM H CM H H OO CM OO H r-l H H ORIGINAL NETWORK (NORNET) O o 81 LTN O CM O s LTN o OO o OO o o ITN o OO o O NO o O H H H H H H H H pi H H F± H H H t- fr- C- t> fc«- t- b- t- t- fc» t- t- t- H H H H H H H H H H H H H H H i-q <; 5 M O - it On fa PQ p NO U NO Q < < pq ON LTN NO ON g 1 ^7. NO fr- CO ON O H CM OO J- LTN NO C- CO ON O H H H H CM CM 1 " CM CM CM CM CM CM CM OO 2k & pH I CM Eh EH O & Ph I H i EH EH O pH H Ph Ph Em H H O Ph H Ph Ph Ph H H Ph o H Ph o H o3 CM o o -d- H O 00 OJ J- J- J- rn H cvj H OJ H H OJ H OJ OJ OJ H c- H S O o O O o O O o O O o O O o O S t- CM C^ on t*- CO VO OJ MD OJ LTN o CO VO V0 H H H H H H O ft F-H H H -rt" LT\ OJ UA J- J- H OJ H OJ H H H OJ H OJ OJ OJ H H H o O O o O O O o O O o O O O o ir- CM c o> t>- CO VO H t- on O" o CO VO VO H H H rH H o H F^ on LT\ o VO 3 -3- t- lta ltn o OJ OJ vo ^t _^- C H OJ OJ OJ OJ H on H on -3- OJ H H H O O o o o o o O o O o o O R O o H o3 fr- a o H on H t- fl VO H ^O -3- H en OJ H H MD VD ^ !* _ ^ p H ^ -d- OO OJ LT\ OJ cS UA on on t- u> on o VO e»- H £ 1— ) t- ) H o o o o o o o O O o o o O o * £j H H H H H H H H H H H H H H H t> t- 0- t- t- b- b- b» t^ [>- t- b- t- C~- O- Ph g H H H H H H H H H H H H H H H o p i ^ 1— ) ^ s s ■3 1 bj- 3 F-H O ON 0- H ON C^ s O H on on on o fH o OO O 1 S H O on H CO s m t- -=f o> o w Ft) PP O VO O MD P 5 33 G\ UA vo o> g 1 VO fc*- CO ON O H OJ en J- LT\ VO t~- CO o^ o H H H H OJ OJ Ol| OJ OJ OJ OJ 0J OJ OJ on 0) c •H -P C o o on 8 o o F^ o II .£ -p •H ^ CO C O •H +3 O H ■a •H p> •H 0J on on (U H ■§ 26 pq _H o H LP VC Oi -H -=t" o CM i— CC fr- H CM pq 3 _d- _Hr 00 or cv Of oo -4" on -d o -4; -d- OO 1—1 o O o O c C o O o c c O O O o H a o> CM fr- t> or VC fr- CO VO o cr i -=t" H -dr ft 1 OJ Ph cv H CM H H r- H H H r ~ "" OJ CM H C5 1 • i VO o CM OO CT o -=J LP H OJ a O oo CM CM Eh o J- -4- -=f OO or OJ o OO -=r oo -d cr J- -d or pq c O o o O o c O o o o O o O o \p* H J ON m o H O" t- CO CO ^9 r- LT LP OJ -=f Pq OJ H CM CM CM H I - H H H OJ r— OJ OJ H Pq Pq H cr t- o fr- o- H o ON OO CO LP cr o H CM oo li O ft cv oo 3" oo or or or PO -=f oo -=)" cr LP -=J" 2? o H r? O C7\ o ON o O OO O -3" C O o o o o b< o -d O fr- o 8 O -=1- Pq II O o pq Pq H H H H H H i — OJ CM H OJ H OJ H H, 1 H II ?i O pq II EH H fr- H fr- OO or r- H o ON IS cr -dr O CM W o J- on _3- oo or or -3 -dr LP oo -=f en LP J- OO S pq 1— I % ON O o o 00 O OO o LP o H O H o O o O VO O fr- o O CM O H pq Pq H H CM H H H CM OJ OJ OJ OJ H CM OJ H -p •H ^~"v o h* cr OO ro OO rv or or OO cr oo cr or oo cr 00 N cr cr en en OO OO oo OO or cr or or rr or OO OO cr cr oo oo cr cr or cr oo oo cr cr OO CO i LP Ph t O ' rS >> u O H EH O P? H O VO Pq LP cr pq oo H Pq Pi O o vo < oo s c3 o CM LP IS p>q H pq fr- Ph PQ a~ SP O" or O H CO CO CO P ! C or ' VC or P^ O p pq ON o CO LP PQ 00 vo o VO i oo o H vo o H fr- ee L^ pq CT pq vo LP O 9 i CT -d fr- m CO CO H oo o oo H o ON -d- •r\ en en 00 pq M H w H CM OO -=*■ i ^ vo fc- OO a N O H H •- CM H cr H 3 LP H EH 27 fa OJ lt> -=J- o O on -cf cr I : O \ cr p- OJ vc VO VO fa -=J- on on on -3- on 3- cr or ) cr J cr O" en cn o H o o o o o o o O s O c O o o o ft fa H o> in CO _ht o 00 o VO > CO c VO 0C t~ oo K H H H H 0J H OJ H H o H 1- H H H J- OJ VO VO VO o € or on on -=f- on J- on .-3 on 5 on (X on on fa O o o O o o o C & c o s o o H o C- CO -=f OJ CO OJ C- r-i c VO t~- CO fa OJ H H H OJ H OJ H 0J H o H H H H fa fa O H 00 VO on O r- on o * cr on IT VC -3- VO ir- & H o~ on on on J- on LT\ -=J- c- 00 Jf V0 CO (*" on on on -d- on ir\ on on on cr cr en cn on H § O o o o o o o 8 O o O o o o fa 00 j- CO 0J CO ON i> 00 fc- 0O in C-- CO H H H H OJ H OJ H OJ H H H H H H FIFO alone) tr- O -d- OJ C-- lf\ H VO cn -=f -3- a O lf> o ip* O o € on o o € 8 € O on O VO O 0^" o -Hr O 8 8 o t- OJ t» H j- -=f OJ o oo VO o H L^ H or OJ 0J H on OJ on OJ on H cr cu OJ on on ^ ^ § o Eh 8 o ir\ O 8 00 o o H OA o fl CO o oo o 00 O o o H o^ o O 8 g 95 5 ^ on on on on on on on cn on on cr or on on on g 0O on on on OO on on on on on cr cr on on on on on on on on on on on on on cr cr on on on o s FUNCTION KADECIMAX) ft on VO 8 vo 00 OJ o CO vo q OJ vo vO S 0O < fl H H fa o vO on r- H O 1 OJ 8 OJ o » ir\ & fa o> PQ LT\ OJ OJ OJ o on W OJ fa o w i a <; VO 00 t- PQ vo OJ CO 3 on o J- CO OO H a ltn s OO vO PQ ir\ CO 3 tt 9 VO - ON O H OJ cn -4- LTN vO t- CO OA o H H dJ H OJ OJ OJ CVI OJ OJ OJ CVJ OJ OJ cn 28 fr -H- H — -4- | LTN VO or -=t o o 0> O VO J- 00 H o p>4 -£ -4" cr 0O| Of or -H- oo -=f ; 00 _=i- or J- or OO ft H o O O o o O o o o o O o o O o H CO t>- O" U"N| -O- vo H LTN VO 00 cr. O^ VO CM 1 E H H H H H £ I- H H H H H H H H OJ i EH w -H- OJ -H- CO VO or -3- O o O H VO | 00 it - S o -4" -4" CO OO or or -H- OO -3" -H- _H- OO a~ or p-4 o O O o O O o o O O o o O o c H OO t- O" CO VO H VO 3 LO VO CO TO o> VO Cv N H H H H H H H H H H H H R O Pq P-H C- CO -=T oo VO OO or ON oo O LTN VO CO vo r- & H -H- OO oo oo or or -=t- ro -3- -Hr -3- oo -H- oo or H O O O O O O o O O O Sn o o o o P-4 F 1 ON LTN 00 °9 cr H c- VO CO VO oo H vo a 1 Ph H H H H H H H H H H H H OJ H i — H i 3 EH EH O t- CO J- OO VO OO OO ON oo O LT\ VO CO VO H £5 P"H J- oo oo oo or OO -H- oo -4- -=f _H- oo _=r oo a~ E O o O O O O o O O O ON o o o o ON LT\ OO oo cr H r- VO CO vo oo H VO OJ H H H H H H H H H H H H OJ H H FIFO (alone) t- OJ 0> CO CO oo -H- VO 3 O OO VO OJ OO H -cj- LTN oo oo or oo -=t" OO -H- LT\ OO LTN LT\ Or & O o O O O o o O o O o o O o OJ -3- CO LTN H c- LT\ CO vo OO oo OO LTN OJ H OJ H H H H H H H H OJ H OJ OJ H p ^ - CO OJ n o H o O O H O H o H o O o O o o H H ti S oo OO oo OO OO OO OO oo OO OO oo OO oo oo or o p « oo OO oo OO oo oo OO oo oo 00 oo oo 00 OO or o ^ O oo OO oo oo en oo oo oo oo oo oo oo oo oo or p" VO CO 00 o Pq oo p p < pq H P-4 OJ _H- H P-h £ pq 51 OJ £ o o OO pq ON p VO oo O & ON PR & pq ON on o 2 H ON e LT\ pq CO vo o o H H pq vo -dr on H o 1 P"4 p CO oo 00 oo CO vo E- o- r- LT\ C- H o g o VO « E CO < on LTN PQ g VO 00 ^ ON 9 pq 00 o 0> B ^ -H- - J- VO d t- VO CM t- t- -=r ON -cl- t~ o t- H H H H H H CM H H H H in H CM H P-4 1 Ph CM C5' 1 II -=J- On on MD H t- LTN LTN OO OO CO t- OO CO O H o -H/ ro no CM J- oo LT\ OO -=h oo J- oo -H/ J" -=t- ^ Ph o o o O O O o o O o o o O o o H CO -=f- fr- H t- VO CM t- ON -3- ON -=1- t- o t- Ph H H H H H H CM H H H H H H CM H fe E fr- O 00 O VO O O OO O oo ITS CO -* t- MD o H -=f -=t OO OO -H/ -=f LTN -3- -=f oo J- CO J" -H/ -=t- Pn H o O O o o O a O o o O O o o O H # CO VO CO 0O o t*- E- t- oo ON LTN t- CO ON fo Ph H H H H CM H H H H H H H H H H 1 H C5 I EH EH CO H CO O ON O H oo CM CO fr- O J" t- VO p£] e 3 -d- ro OO -=f -* m -* -3- OO -H/ -Hr 3- _=f -=t ^ Q O O O o O O O O o o O o O &^ H On ^P oo OO H c- O C*- 00 oo o LTN c- CO pH H H H H CM H CM H H H CM H H H H QJ 3 on ON H ON O O ON oo OO O c- VO O ON g H o LfN OO OO -H/ -3- LTN -* _H/ oo LTN oo J- LTN CO g CM o o oo o H o o oo o o C?, o oo O H O LT\ 8, o o o Ph H OJ H H CM H CM CM H H CM H H CM H ^ !*! CO LTN LTN CO GO O ON H 00 8 00 t- O ON t> St C£ Eh o o o o O H O H O O O H o O n c H co on OO OO OO oo OO OO OO OO OO oo OO oo OO H « S CO ro 00 oo oo oo oo oo oo oo OO oo oo oo oo c5 e Ph ro oo oo oo OO OO oo oo OO oo OO oo OO OO oo H C o Ph g a o s LTN fe OO pq \o CM CO p VO fl OO H J- ti p _q < H v£> o OO O MD CM VD < H H o § ' _ I VO m o p OO H CM CM LTN CM O O ft o LfN ON Si ON <; UA CM CO CM CM tj "3 PQ VO CM CO -Hr OO o -=T oo CO H I 1 LfN Eh p g 8 CO PQ LTN co UN P H H ^ 9 VO < OO <: PQ LTN P ■^ 3 ON OO vO t- 00 ON O H CM CO Jdr LTN cm| VO c*- 00 ON o H H H H CM CM CM w] CM CM CM CM CM CO 30 NETTRA-G1-FIF0 or NETTRA-G2-FIF0. The costs in the column labeled FIFO (alone) are the lowest costs found by Legge [13]. A flowchart of subrou- tine MAIN for FIFO (alone) is given in Fig. 3.3.1. The single asterisk (•*) and the double asterisk (**) have the same meaning in Fig. 3.3.1 as they did in Fig. 3.1.1. Three general observations can be made from the results in Tables 3.3.1 through 3.3.^. First, the networks derived by PRIIFF generally contain considerably fewer gates than the networks derived by FIFO (alone). Second the networks derived by FIFO generally contain fewer gates than the networks derived by FIFO (alone). This phenomenon can be completely attributed to the effectiveness of PRIIFF in removing gates from the networks derived by FIFO. The final observation is that PRIIFF can usually derive a network with lower cost than the network derived by FIFO. These three observations lend strong support to the statement that PRIIFF as used in NETTRA.-G1-FIF0 and NETTRA-G2-FIF0 pro- vides an effective means for reducing the cost of a network while main- taining the required fan-in fan-out restrictions. It should be noted, however, that ITER =5 was used in NETTRA- G1-FIF0 and NETTRA-G2-FIF0 while ITER =2 was used in FIFO (alone). If ITER =5 had been used in FIFO (alone), the network cost for some functions may have been further reduced. Table 3.3.5 shows an example of a function for which ITER =5 is necessary to obtain the lowest cost network by PRIIFF in NETTRA-G1-FIF0. However, for the 2^0 problems solved using NETTRA-G1- FIFO and NETTRA-G2-FIF0, ITER = 1 would have been sufficient to obtain the lowest cost network in 210 problems, ITER =3 would have been suffi- cient in 13 problems, and ITER=^ would have been sufficient in 12 problems. ITER =5' was necessary in only 5 problems in order to obtain 31 NORNET I PROCII I FIFO ** I STOP J Fig. 3.3.1 The order in which subroutines are called by subroutine MAIN of FIFO (alone). * Thus loop is followed until PROCII can not further reduce the cost of the network. ** This loop is followed at least once (ITER =2) or until FIFO can not further reduce the cost of the network. 32 COST BY COST BY COST BY ITERATION 1 " PROCII FIFO PRIIFF 1. 9025 21+037 15025 2. 10020 17027 1502U 3. 12022 17027 15025 k. 9019 18028 16025 5. 9019 15023 1^023 6. 10021 18028 18028 Table 3.3.5 An example by NETTRA-G1-FIF0 (U-variable function #8 in Table 3.3.1 with FI = F0= F00= FOX= 2) shewing the necessity of ITER= 5. t An iteration is defined to be each call to FIFO, 33 the lowest cost network. Because of this it does not matter whether ITER =5 or 2 is used although a value such as 2 would have given similar results and would have resulted in a reduction in the computation time. Thus we compare the results by NETTRA-G1-FIF0 and NETTRA-G2-FIF0 (with ITER=5)with the results by FIFO (alone) (with ITER=2). One final comparison that can be made from the results in Table 3.3.1 through 3.3.^ is between the effectiveness of NETTRA-G1-FIF0 and NETTRA-G2 -FIFO . One measure of effectiveness is the percentage of times each program derives the lowest cost network. Such figures for NETTRA- G1-FIF0 and NETTRA-G2-FIF0 are given in Table 3.3.6. These figures demonstrate that NETTRA-G2-FIF0 is more powerful on the average than NETTRA-G1-FIF0 in terms of ability to remove redundant gates. Table 3.3.7 shows the average computation time per function in seconds for NETTRA-G1-FIF0 and NETTRA-G2-FIF0. All time values printed by the programs are provided using system timing routines. These figures show that NETTRA-G2-FIF0 requires slightly more than twice the amount of computation time per function than NETTRA-G1-FIF0. It is also inter- esting to note that in NETTRA-G1-FIF0 PROCII requires more time than PRIIFF while in NETTRA-G2-FIF0 exactly the opposite is true. FIFO uses about the same amount of time per function in both programs. The results given in this chapter indicate that NETTRA-G1-FIF0 and NETTRA-G2-FIF0 are effective programs for synthesizing fan-in fan-out restricted networks within a reasonably short computation time. NETTRA- G2-FIF0 appears to be somewhat more effective than NETTRA-G1-FIF0 in synthesizing networks with a smaller number of gates but at the expense of an increase in computation time. 3"+ PROBLEM PERCENTAGE* 1 " OF TIMES PERCENTAGE 1 " OF TIMES SPECIFICATIONS NETTRA-G1-FIFO DERIVES LOWEST COST ++ NETWORK NETTRA-G2-FIF0 DERIVES LOWEST COST 1 "" 1 " NETWORK 1. 4-VAR. FUNCTIONS FI = FO = FOO = FOX = 2 56.7 % 76.6 i 2. k-VAR. FUNCTIONS FI = FO = FOO = FOX = 3 83.3 i 86.7 1o 3. 5-VAR. FUNCTIONS FI = FO = FOO = FOX = 3 50.0 % 73.3 % | k. 5-VAR. FUNCTIONS FI = FO = FOO = FOX = k 56.7 % 76.6 % Table 3.3.6 A measure of the effectiveness of NETTRA-G1-FIF0 and NETTRA-G2-FIF0. t The sum of the percentages in each row is greater than 100$ since both NETTRA-G1-FIF0 and NETTRA-G2-FIF0 derive the lowest cost network for some functions. tt For purposes of this table, the cost of a network is defined as the number of gates (i.e., A=l and B=0). 35 o Eh LTN 00 ON H oo o 00 C\J CO Ph H H CM o o 3 H o 00 VO oo H CM E 00 o oo H -3- 00 M O I PL, Ph o pH H o Ph O C- VO CO CM 0O O H CM -3- CM Ph 8 Ph 1 5 LTN OO CM OO OO o oo CM O CM OO II o Ph II O O Ph Ph ON CM ON 00* CM CO ON -3- oo • H O CM • H CM OO LTN ON ITN C- H 00 £ a .=*• £2 K a o O Ph o o Ph • O I H 36 REFERENCES [l] Y. Kambayashi and S. Muroga, "Network transduction by permissible functions (General principles of NOR network transduction NETTRA programs)," to appear as Report. Department of Computer Science, Univ. of Illinois, Urbana, 111. [2] J.N. Culliney, H.C. Lai, and Y. Kambayashi, "Pruning procedures for NOR networks using permissible functions (Principles of NOR network transduction programs NETTRA- PG1, NETTRA- PI, and NETTRA-P2).. Report UIUCDCS-R-7i4--690, Department of Computer Science, Univ. of Illinois, Urbana, 111., Nov. 197^. [3] H.C. Lai and J.N. Culliney, "Program manual: NOR network pruning procedures using permissible functions (Reference manual of NOR network transduction programs NETTRA-PG1, NETTRA- PI, and NETTRA-P2). Report UIUCDCS-R-7^-686, Department of Computer Science, Univ. of Illinois, Urbana, 111., Nov. 197^. [k] Y. Kambayashi and J.N. Culliney, "NOR network transduction procedures based on connectable and disconnectable conditions (Principles of NOR network transduction programs NETTRA-G1 and NETTRA-G2)," to appear as Report. Department of Computer Science, Univ. of Illinois, Urbana, 111. [5] J.N. Culliney, "Program manual: NOR network transduction based on connectable and disconnectable conditions (Reference manual of NOR network transduction programs NETTRA-G1 and NETTRA-G2)," Report UIUCDCS- R-75-698, Department of Computer Science, Univ. of Illinois, Urbana, 111., Feb. 1975. [6] H.C. Lai and Y. Kambayashi, "Generalized gate merging and substitution for NOR network transduction (Principles of NOR network transduction programs NETTRA-G3 and NETTRA-GU)," to appear as Report, Department of Computer Science, Univ. of Illinois, Urbana, 111. [7] H.C. Lai, "Program manual: NOR network transduction by generalized gate merging and substitution (Reference manual of NOR network transduction programs NETTRA-G3 and NETTRA-G4)," Report UIUCDCS-R-75-71 1 ^ Department of Computer Science, Univ. of Illinois, Urbana, 111., April 1975. [8] Y. Kambayashi, H.C. Lai, J.N. Culliney, and S. Muroga, "NOR network transduction based on error- compensation (Principles of NOR network trans duction programs NETTRA- El, NETTRA-E2, and NETTRA- E3)," to appear as Report. Department of Computer Science, Univ. of Illinois, Urbana, 111. 37 [9] H. C. Lai and J.N. Culliney, "Program manual: NOR network transduction based on error compensation (Reference manual of NOR network transduction programs NETTRA-E1, NETTRA-E2, and NETTRA-E3)," to appear as Report. Department of Computer Science, Univ. of Illinois, Urbana, 111. [lO] B. Plangsiri, "NOR network transduction procedures: "Merging of gates" and "Substitution of gates" for fan- in and fan-out restriceted networks (NETTRA-G3-FLF0 and NETTRA-PGl-FIFO)," Report UTUCDCS-R-7^-688, Department of Computer Science, Univ. of Illinois, Urbana, 111., Dec. 197^» [ll] James F. Gimpel, "The Minimization of TANT Networks," IEEE Transactions on Electronic Computers , Vol. EC-16, No. 1, pp. 18-38, Feb. 1967. [12] K. R. Hohulin and S. Muroga, "Alternative methods for solving the cc-table in Gimpel' s algorithm for synthesizing optimal three level NAND networks," to appear as Report, Department of Computer Science, Univ. of Illinois, Urbana, 111. [13] J.G. Legge, "The design of NOR networks under fan-in and fan-out constraints (A programming manual for FLFOTRAN-Gl)," Master's thesis, Electrical Engineering Dept., Report UIUCDCS-R- 7^-661, Department of Computer Science, Univ. of Illinois, Urbana, 111., June 197^« [lk] S.Y.H. Su and C.W. Nam, "Computer-Aided Synthesis of Multiple -Output Multilevel NAND Networks with Fan- In and Fan-Out Constraints," IEEE Transactions on Computers , Vol. C-20, No. 12, pp. lM+5-1^55, Dec. 1971. 38 APPENDIX AN EXAMPLE WITH INCOMPLETELY SPECIFIED OUTPUT FUNCTIONS In the December 1971 issue of IEEE Transactions on Computers , Su and Nam presented an algorithm for synthesizing multiple -output networks using NAND gates with fan-in and fan-out restrictions which realize incompletely specified switching functions llkl. One set of ^--variable output functions used as an example by Su and Nam is given in Table Al. These same functions were used to further test NETTRA-3- FIFO and NETTRA-U-FIFO. However, NETTRA-G1-FIF0 and NETTRA-G2-FIF0 synthesize NOR networks, and thus it was necessary to use the duals of the functions in Table Al as the input functions to NETTRA-G1-FIF0 and NETTPA-G2-FIF0. These dual functions are listed in Table A2. That is, NETTPA-Gl-FIFO and NETTRA-G2-FIF0 were used to synthezise NAND networks realizing the functions in Table Al by specifying the functions in Table A2 on the function cards and then interpreting the networks printed by the programs as NAND networks rather than NOR networks. The results of using the functions in Table A2 as inputs to NETTPA-Gl-FIFO and NETTRA-G2-FIF0 with ITER =5 are shown in Table 3. Since the network synthesized by Su and Nam's algorithm (shown in Fig. Al) has a cost of 250^+2 (twenty five gates and forty two connections), the results in Table A3 further establish the effectiveness of NETTRA-G1-FIF0 and NETTRA-G2-FIF0. It is interesting to note that the computation times for the multiple-output case are considerably longer than for the single output case (see section 3.3). 39 OUTPUT FUNCTIONS NAND TRUTH TABLES Z2 Z 3 00000*0100*0*111 1111001100*0*001 111**01111*0*011 0000000101*0*011 . Table Al. Su and Nam's ^-variable incompletely specified output functions, OUTPUT FUNCTIONS NOR TRUTH TABLES Zl z 2 Z 3 000*1*1101*11111 011*1*1100110000 001*1*00001**000 001*1*0101111111 Table A2. The duals of the functions in Table Al. 4o PROGRAM (FI, FO, FOO, FOX) PRIIFF NETWORK COST TOTAL COMPUTATION TIME (SEC.) NETTRA-G1- FIFO (2. 2. 0. 2) 17030 47.42 (2, 2, 1, 2) 18032 35.50 (2, 2, 2, 2) 17031 35.27 NETTRA-G2- FIFO (2, 2, 0, 2) 20036 64.83 (2, 2, 1, 2) 17031 61.24 (2, 2, 2, 2) 17031 54.94 Table A3. Results by NETTRA-G1-FIF0 and NETTRA-G2-FIF0 for the functions in Table 4.1. • 1 — ITERATION NAND OUTPUTS BY PRIIFF (HEXADECIMAL REPRESENTATION) PRIIFF NETWORK COST Z l z 2 V z 4 1 2 3 4 5 6 05 OF 050F 0527 0507 010F 050F F301 F301 F301 F301 F301 F301 E3E3 FBEB FBEB FBEB FBEB FBEB 0143 oi4b 0163 0143 0143 0143 21038 20034 19033 19034 17030 21036 Table A4. Output functions and network cost by PRIIFF at each iteration of NETTRA-G1-FIF0 with FI = F0=F0X=2 and FOO = (in Table A3). kl CM II -P •H H -P Pi O s CM II -P CM 0) H EH •H w C O •H +3 O C CD & -P fn O «H ^i O CD £5 •H fa h2 Table Ak shews the output functions and cost of the network derived by PRIIFF at each iteration of NETTRA-G1-FIF0 with PI = FO = FOX = 2 and F00=0 (in Table A3). It is interesting to observe that the PRIIFF network realizes a different set of output functions at each iteration. The network of cost 17030 in Tables A3 and A4 is shown in Fig. A2. This network has eight fewer gates than Su and Nam's network but requires only one more level. NETTRA-G1-FIF0 and NETTRA-G2-FIF0 may be able to obtain better results for some completions (i.e., assignments of O's and l's to the "don't cares" ("*'s)) of imcompletely specified functions since the pro- grams do not treat all possible completions of incompletely specified functions. Thus NETTRA-G1-FIF0 and NETTRA-G2-FIF0 were used to obtain networks for nine different completions of the functions in Table Al. The truth tables for these completions are shown in Table A5. As before the NOR truth tables are used as inputs so that the networks by NETTRA- G1-FIF0 and NETTRA-G2-FIF0 can be used as NAND networks realizing the NAND truth tables. The results of these nine completions are shown in Table A6. All of the network costs are less than the 250^2 of Su and Nam's network. The times are comparable with those in Table A3. The network of cost 16029 in Table A6 is shown in Fig. A3. This network has nine levels, i.e., one more level than Fig. Al. The results in this appendix as well as those in chapter 3 firmly establish the effectiveness of NETTRA-G1-FIF0 and NETTRA-G2-FIF0 for synthesizing networks with fan-in and fan-out restrictions and/or incompletely specified output functions. Using a reasonably short computation time, these programs can generally derive networks with a lower cost than the networks derived by other procedures. ^3 -p -p O & -P M CD N •H H a CD !m ^i !m O CD J- < a m < CD H a EH ■H O on o r- -p w o o O ^ • Sh r-j o < 3 . cd bO R £ CD Si W 2! •H kk or or on or cr OC on on on J- -=f -=t -=J- -=f -=|- -=J" _=t- -=f -3" N H H H H H H H H H o O o O O O o O O 9T o p fe on £ s i '1 o- O 8 8 on o TAB RESE N £ @ @ O" Ph 0T B e on Fh K Ph P § PS 1 EH P > H (1) P H I O a •rt d pi - ON O t- [^ b- ON t- EH OJ H H H H H rH H H vo % Pq OJ II O pq O II II ON OJ -=f H on MD on 0> V0 & on no m on on on en on on O o o o o o O o o o o • Pq O OJ 0O ON OO ON H CO OJ ON o II ^ OJ H H H H OJ H OJ H CO H « Pq CO II 8 pq II OJ OJ H rH H O LT\ H on 0O on on on on on OJ on on on CO O OJ o o o o O o o o o • ^ II II x M O c— OO vo o- c- VD o CO 00 VO H H H H H rH OJ H H OJ O Pq Pq P>4 II H X l o Pq H H II II OJ H on H o 0- OJ OJ U"N 00 O on OO on on on o~ on on on LTN 1 o o o O o o o o o o o • <3^ pq o 0- C- ,v c~- t- H 00 0O o V£> E II ^ H H <-\ H H OJ H H OJ OJ F-H M « g Pq OJ II « o pq o UA -3" VO -4" IT\ OJ en LTN fc- LTN II II no OO m on on pr on o~ on OJ o O o o o i o o o o o O O o o o t>- co o H H Pq O II * OJ OJ OJ OJ OJ rH i ! OJ OJ -=J- H ~ Pq OJ — — — — i n — — 1 1 pq <; r-H" ^ f^J s ■- c ■ il o v i §^ H OJ on -^t LTN ^O C"- 0O ON o w o I '! w n co O H^ '• ■ c > AVER TION TION >5 ^ c o •H -P CI) H Ph g O o Sh • cd LTN ft <; OJ CI) s H •H fl -P crt IH H O C •H •H +3 cd W +3 H o B •H 5 +3 o O o c p cu (ft t>0 3 OJ iH ^ CD +3 t> «J !h O CD *■ * V