Table Of ContentArun Chandrasekharan · Daniel Große
Rolf Drechsler
Design Automation
Techniques for
Approximation
Circuits
Verifi cation, Synthesis and Test
Design Automation Techniques for Approximation
Circuits
Arun Chandrasekharan • Daniel Große
Rolf Drechsler
Design Automation
Techniques for
Approximation Circuits
Verification, Synthesis and Test
123
ArunChandrasekharan DanielGroße
OneSpinSolutionsGmbH UniversityofBremenandDFKIGmbH
Munich,Germany Bremen,Germany
RolfDrechsler
UniversityofBremenandDFKIGmbH
Bremen,Germany
ISBN978-3-319-98964-8 ISBN978-3-319-98965-5 (eBook)
https://doi.org/10.1007/978-3-319-98965-5
LibraryofCongressControlNumber:2018952911
©SpringerNatureSwitzerlandAG2019
Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof
thematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation,
broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation
storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology
nowknownorhereafterdeveloped.
Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication
doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant
protectivelawsandregulationsandthereforefreeforgeneraluse.
Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceandinformationinthisbook
arebelievedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsor
theeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinorforany
errorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregardtojurisdictional
claimsinpublishedmapsandinstitutionalaffiliations.
ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG
Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland
To Keerthana,
Nanno
and
Zehra
Preface
APPROXIMATECOMPUTINGisanoveldesignparadigmtoaddresstheperformance
and energy efficiency needed for future computing systems. It is based on the
observation that many applications compute their results more accurately than
needed, wasting precious computational resources. Compounded to this problem,
dark silicon and device scaling limits in the hardware design severely undermine
thegrowingdemandforcomputationalpower.Approximatecomputingtacklesthis
bydeliberatelyintroducingcontrolledinaccuraciesinthehardwareandsoftwareto
improve performance. There is a huge set of applications from multi-media, data
analytics,deeplearning,etc.thatcanmakeasignificantdifferenceinperformance
andenergyefficiencyusingapproximatecomputing.However,despiteitspotential,
thisnovelcomputationalparadigmisinitsinfancy.Thisisduetothelackofefficient
design automation techniques that are synergetic to approximate computing. Our
book bridgesthis gap. We explain algorithmsand methodologiesfrom automated
synthesis to verification and test of an approximate computing system. All the
algorithmsexplainedin this bookare implementedand thoroughlyevaluatedon a
widerangeofbenchmarksandusecases.Ourmethodologiesareefficient,scalable,
andsignificantlyadvancethestateoftheartoftheapproximatesystemdesign.
vii
Acknowledgments
First andforemost,we would like to thankthemembersof the researchgroupfor
computerarchitectureattheUniversityofBremen.Wedeeplyappreciatethecontin-
uoussupport,theinspiringdiscussions,andthestimulatingenvironmentprovided.
Next,wewouldliketothankallcoauthorsofthepaperswhichformedthestarting
pointforthisbook:MathiasSoeken,UlrichKühne,andStephanEggersglüß.This
bookwouldnothavebeenpossiblewithouttheiracademicknowledgeandvaluable
insight. Our sincere thanks also go to Kenneth Schmitz, Saman Fröhlich, and
ArighnaDebfornumerousdiscussionsandsuccessfulcollaborations.
Munich,Germany ArunChandrasekharan
Bremen,Germany DanielGroße
Bremen,Germany RolfDrechsler
July2018
ix
Contents
1 Introduction .................................................................. 1
1.1 ApproximateComputingICDesignFlow............................. 4
1.2 Outline................................................................... 7
1.3 AxCSoftwareFrameworkandRelatedTools ......................... 8
2 Preliminaries ................................................................. 11
2.1 GeneralNotationandConventions..................................... 11
2.2 DataStructures:BooleanNetworks.................................... 12
2.2.1 BinaryDecisionDiagrams ..................................... 14
2.2.2 And-InverterGraphs............................................ 16
2.3 BooleanSatisfiability ................................................... 17
2.3.1 CNFandTseitinEncoding..................................... 19
2.3.2 LexicographicSAT ............................................. 19
2.3.3 ModelCounting................................................. 20
2.3.4 BoundedModelChecking...................................... 21
2.4 Post-productionTest,Faults,andATPG............................... 21
2.5 QuantifyingApproximations:ErrorMetrics........................... 22
2.5.1 Error-Rate....................................................... 23
2.5.2 Worst-CaseError ............................................... 24
2.5.3 Average-CaseError............................................. 24
2.5.4 Bit-FlipError ................................................... 24
3 ErrorMetricComputationforApproximate
CombinationalCircuits ..................................................... 27
3.1 Overview ................................................................ 28
3.2 BDD-BasedMethods................................................... 29
3.2.1 Error-RateUsingBDDs........................................ 29
3.2.2 Worst-CaseErrorandBit-FlipErrorUsingBDDs............ 30
3.2.3 AlgorithmsformaxFunction .................................. 31
3.2.4 Algorithm3.2toFindmax..................................... 33
3.2.5 Average-CaseErrorUsingBDDs.............................. 34
xi
xii Contents
3.3 SAT-BasedMethods .................................................... 38
3.3.1 Error-RateUsingSAT.......................................... 38
3.3.2 Worst-CaseErrorUsingSAT .................................. 39
3.3.3 Bit-FlipErrorUsingSAT....................................... 41
3.3.4 Average-CaseErrorUsingSAT................................ 41
3.4 AlgorithmicComplexityofErrorMetricComputations.............. 43
3.5 Implementation.......................................................... 43
3.5.1 ExperimentalResults........................................... 44
3.6 ConcludingRemarks.................................................... 50
4 FormalVerificationofApproximateSequentialCircuits................ 51
4.1 Overview ................................................................ 52
4.2 GeneralIdea............................................................. 53
4.2.1 SequentialApproximationMiter............................... 54
4.3 ApproximationQuestions .............................................. 55
4.3.1 Question1:WhatIstheEarliestTimeThatOneCan
ExceedanAccumulatedWorst-CaseErrorofX?............. 55
4.3.2 Question2:WhatIstheMaximumWorst-CaseError?....... 56
4.3.3 Question3:WhatIstheEarliestTimeThatOneCan
ReachanAccumulatedBit-FlipErrorofX?.................. 57
4.3.4 Question4:WhatIstheMaximumBit-FlipError?........... 57
4.3.5 Question5:CanOneGuaranteeThattheAverage-Case
ErrorDoesNotExceedX?..................................... 57
4.4 ExperimentalResults ................................................... 57
4.4.1 ApproximatedSequentialMultiplier........................... 58
4.4.2 GeneralityandScalability...................................... 61
4.5 ConcludingRemarks.................................................... 64
5 SynthesisTechniquesforApproximationCircuits ....................... 65
5.1 Overview ................................................................ 65
5.2 ApproximateBDDMinimization...................................... 67
5.2.1 BDDApproximationOperators................................ 68
5.2.2 ExperimentalEvaluation ....................................... 70
5.3 AIG-BasedApproximationSynthesis.................................. 73
5.3.1 And-InverterGraphRewriting ................................. 73
5.3.2 Approximation-AwareRewriting.............................. 75
5.3.3 Implementation ................................................. 76
5.3.4 ExperimentalResults........................................... 78
5.4 ConcludingRemarks.................................................... 86
6 Post-ProductionTestStrategiesforApproximationCircuits ........... 87
6.1 Overview ................................................................ 87
6.2 Approximation-AwareTestMethodology ............................. 90
6.2.1 GeneralIdeaandMotivatingExample ........................ 90
6.2.2 Approximation-AwareFaultClassification.................... 92
Contents xiii
6.3 ExperimentalResults ................................................... 96
6.3.1 ResultsfortheWorst-CaseErrorMetric ...................... 97
6.3.2 ResultsfortheBit-FlipErrorMetric........................... 100
6.4 ConcludingRemarks.................................................... 102
7 ProACt:HardwareArchitectureforCross-LayerApproximate
Computing.................................................................... 103
7.1 Overview ................................................................ 103
7.1.1 LiteratureReviewonApproximationArchitectures.......... 106
7.2 ProACtSystemArchitecture ........................................... 107
7.2.1 ApproximateFloatingPointUnit(AFPU) .................... 109
7.2.2 InstructionSetArchitecture(ISA)Extension ................. 110
7.2.3 ProACtProcessorArchitecture ................................ 111
7.2.4 CompilerFrameworkandSystemLibraries................... 112
7.3 ProACtEvaluation...................................................... 112
7.3.1 FPGAImplementationDetails................................. 113
7.3.2 ExperimentalResults........................................... 114
7.4 ConcludingRemarks.................................................... 118
8 ConclusionsandOutlook ................................................... 119
8.1 Outlook.................................................................. 120
References......................................................................... 123
Index............................................................................... 129