UNIVERSITY OF WESTERN AUSTRALIA COMPUTING CENTRE PROGRAM INFORMATION SHEET BARTEE DATE: MAY 1970 AUTHORS: R.PERRY AND A.CANTONI DEVICES: CDR:,UNLESS OTHERWISE ASSIGNED WHEN INPUT FILE MUST BE BARTI.DAT . LPT:, UNLESS OTHERWISE ASSIGNED WHEN OUTPUT FILE WILL BE BARTO.DAT . A VERSION IS AVAILABLE WHICH USES TTY FOR ALL INPUT AND OUTPUT SOURCE LANGUAGE: MACRO 6 DESCRIPTION: MULTIPLE INPUT/OUTPUT MINIMIZATION OF LOGIC NETWORKS BY THE BARTEE,MC CLUSKEY ,QUINE , METHOD. THE METHOD IS DESCRIBED IN THE FOLLOWING REFERENCES: (1) "THEORY AND DESIGN OF DIGITAL MACHINES", BARTEE,LEBOW,REED LINCOLN LABORATORY PUBLICATION 1962.(REF U.WA.LIB. 510.7834) (11)" COMPUTER DESIGN OF MULTIPLE OUTPUT,T.C.BARTEE IRE TRANS. E.C. VOL E.C.10 NO1 MARCH 1959 (III) ' MINIMISATION OF BOOLEAN FUNCTIONS ' E.J. MC CLUSKEY , BELL SYS. TECH. J., VOL 35,P1417-P1444. NOV. 1956 THIS PROGRAM ACCEPTS ,INY, THE NUMBER OF INPUT LITERALS ,OUTY, THE NUMBER OF OUTPUT LITERALS . THEN 2**INY INPUT TERMS AS IN A DISJUNCTIVE NORMAL FORM ARE GENERATED SYSTEMATICALLY 0 TO (2**INY)-1 AND THE CORRESPONDING OUTPUT TERMS ARE ACCEPTED. THE PROGRAM THEN PRODUCES A TABLE OF PRIME IMPLICANTS ,A COVERAGE TABLE AND A POSSIBLE CORE SELECTION FROM THE COVERAGE TABLE. THE PROGRAM MAY PROCEED TO MINIMIZE THE ASSOCIATED CONJUNCTIVE NORMAL EXPRESSION . THE OUTPUT OF THE PRIME IMPLICANT AND COVERAGE TABLE IS OPTIONAL . THE PROGRAM WILL LOAD IN 2 K OF CORE BUT WILL EXPAND AUTOMATICALLY IF MORE CORE IS REQUIRED . IT WILL RESET ITS CORE ALLOCATION WHEN WHEN IT EXITS AND ALSO PRINT OUT THE AMOUNT OF CORE USED. ALL ERROR MESSAGES ARE PUT OUT ON THE OUTPUT FILE , EXCEPT THOSE THAT INDICATE THAT A DEVICE IS NOT AVAILABLE . THE ONLY RESTRICTION IS THAT INY+OUTY CANNOT EXCEED SEVENTEEN. INPUT CARDS: ALL CARDS ARE FORMAT FREE . ( THAT IS BLANKS ARE IGNORED AND LOCATION OF DATA CAN BE ANYWHERE ON A CARD). CARD1: NUMBER OF INPUT LITERALS . CARD2: NUMBER OF OUTPUT LITERALS . CARD3: OUTPUT TERM EXPRESSION IN BINARY . A BLANK CARD INDICATES A DON'T CARE TERM ( SEE REFERENCES) . NORMALLY THE TERM IS COMPOSED OF OUTY BINARY DIGITS . CARD4 TO CARD (2**INY)+2 : THE REMAINING OUT PUT TERMS , ONE PER CARD . NEXT CARD: Y TO INDICATE PRIME IMPLICANT TABLE PRINTOUT IS REQUIRED. BLANK OR N TO SUPPRESS. NEXT CARD: Y TO INDICATE COVERAGE TABLE PRINTOUT IS REQUIRED. BLANK OR N TO SUPPRESS. NEXT CARD: Y TO ENABLE PROGRAM TO PROCEED TO EVALUATE THE CONJUNCTIVE MINIMAL EXPRESSION AND ASSOCIATED TABLES . BLANK OR N WILL CAUSE THE PROGRAM TO EXIT . THE FOLLOWING CARDS ARE REQUIRED ONLY IF THE PRESENT CARD CONTAINS A Y . THUS THE FOLLOWING CARDS CONTROL THE PRINTOUT OF THE RESULTS FOR A CONJUNCTIVE NORMAL FORM DESCRIPTION OF THE PROBLEM. NEXT CARD: Y TO INDICATE PRIME IMPLICANT TABLE PRINTOUT . BLANK OR N TO SUPPRESS. NEXT CARD: Y TO INDICATE COVERAGE TABLE PRINTOUT. BLANK OR N TO SUPPRESS. ******************************************************************************** EXAMPLE :- CARDS OUTPUT NUMBER OF INPUT LITERALS ? CARD1: 3 *3 NUMBER OF OUTPUT LITERALS ? CARD2: 3 *3 CARD3: 000 000 000 CARD4: 011 001 011 CARD5: 110 010 110 CARD6: 010 011 010 CARD7: 101 100 101 CARD8: 001 101 001 CARD9: 100 110 100 CARD10: BLANK 111 PRIME IMPLICANT PRINTOUT ? CARD11: Y *Y [NEW PAGE] PRIME IMPLICANTS 1 001 0-- 2 010 --0 3 100 -0- 4 111 --- 5 0-1 0-0 6 -01 00- 7 01- 0-0 8 -10 -00 9 10- 00- 10 1-0 -00 11 -11 0-0 12 1-1 00- 13 11- -00 [NEW PAGE] A POSSIBLE CORE SELECTION IS :- 10 1-0 -00 9 10- 00- 7 01- 0-0 1 001 0-- 8 -10 -00 EQIVALENT BOOLEAN EXPRESSION Z1 = BC' + AC' Z2 = A'B'C + A'B Z3 = A'B'C + AB' COVERAGE TABLE PRINTOUT ? CARD12: Y *Y [NEW PAGE] COVERAGE TABLE 001 010 1,5, 001 001 1,6, 010 100 2,8, 010 010 2,7, 011 010 5,7,11, 100 100 3,10, 100 001 3,9, 101 001 6,9,12, 110 100 8,10,13, PRODUCT OF SUMS AS WELL ? CARD13: Y *Y PRIME IMPLICANT PRINTOUT ? CARD14: Y *Y [NEW PAGE] PRIME IMPLICANTS 1 000 --- 2 111 --- 3 00- -00 4 0-0 00- 5 -00 0-0 6 -11 -0- 7 1-1 --0 8 11- 0-- 9 --1 -00 10 -1- 00- 11 1-- 0-0 [NEW PAGE] A POSSIBLE CORE SELECTION IS :- 11 1-- 0-0 10 -1- 00- 9 --1 -00 1 000 --- EQIVALENT BOOLEAN EXPRESSION Z1 = (A+B+C)*(C') Z2 = (A+B+C)*(A') Z3 = (A+B+C)*(B') COVERAGE TABLE PRINTOUT ? CARD15: Y *Y [NEW PAGE] COVERAGE TABLE 000 100 1,3, 000 010 1,5, 000 001 1,4, 001 100 3,9, 010 001 4,10, 011 100 6,9, 011 001 6,10, 100 010 5,11, 101 100 7,9, 101 010 7,11, 110 010 8,11, 110 001 8,10, 2K OF CORE USED