Size: px
Start display at page:

Download ""

Transcription

1 GateLevelDescriptionofSynchronous ThesisfortheDegreeofDoctorofPhilosophy AutomaticVericationBasedon Hardware TheoremProving and PerBjesse ChalmersUniversityofTechnologyandGoteborgUniversity DepartmentofComputingScience SE-41296Goteborg,Sweden Goteborg,May2001

2 GateLevelDescriptionofSynchronousHardwareand ISBN AutomaticVericationBasedonTheoremProving Nyserienr1702 DoktorsavhandlingarvidChalmersTekniskaHogskola, ISSN x cperbjesse,2001 ComputingScience ChalmersUniversityofTechnologyandGoteborgUniversity SE-41296Goteborg,Sweden PrintedatChalmers,Goteborg,2001

3 PerBjesse ComputingScience ChalmersUniversityofTechnologyandGoteborgUniversity AutomaticVericationBasedonTheoremProving GateLevelDescriptionofSynchronousHardwareand Today'shardwaredevelopmentindustryfacesenormousproblems.Theprimaryreason forthisisthatthecomplexityofstate-of-the-arthardwaredevicesisgrowingfaster thanthecapacityofthetoolsthatareusedtocheckthattheyarecorrect.this Abstract productsarecorrect. developmenttimeasshortaspossible.asaconsequence,componentsunderdesign problematicsituationisfurtheraggravatedbyanincreasingpressuretomakethe Inthisthesis,wecontributetoimprovedhardwaredesignmethodsintwoways. aremorelikelytocontainerrors,whilelesstimecanbespentmakingsurethatnished dedinthefunctionallanguagehaskell.lavausesthecapabilitiesofthehostlanguage toexpresssynchronouscircuitsinamathematicallypreciseway,andallowseasyconnectiontoexternalvericationtools.lavaalsousesthecapabilitiesofhaskellto First,wepresentLava,ahardwaredescriptionandvericationplatformthatisembed- allowthedesignertodeviseinterconnectionpatterns,andtowriteparametrisedcircuitdescriptions.weillustratethepoweroflavabydescribingandverifyinghardware Second,wepresentanumberoftechniquesandcasestudiesthatdemonstratehowautomatictheoremprovingcanbeusedtoprovecorrectnessandndbugsinsynchronous hardware.weshowhowvericationcanbedonebothatthelevelofcomplexarith- componentsforcomputingthefastfouriertransform(fft). logictheoremprovers.theresultingconvertedmethodsareshowntogiveorderof metic,andatthebooleanlevel.inthecaseofthevericationatthearithmeticlevel, magnitudespeedupscomparedtocurrentstate-of-theartvericationtechniques. orderlogictheoremprover.inthecaseofthevericationatthebooleanlevel,we convertanumberofstandardnitestatevericationmethodstousepropositional weuselavatoconstructspecialpurposeproofstrategiesthatinterfacewitharst Keywords:hardwaredescription,hardwareverication,modelchecking,reachabilityanalysis,symbolictrajectoryevaluation,theoremproving,satisability,induction, signalprocessing,functionallanguages.

4

5 Thisthesiscollectstogethervearticlesthatarepublishedoracceptedfor publication,whichappearaschapters2,3,5,6,and7: Lava:HardwareDesigninHaskell,writtentogetherwithKoenClaessen, AutomaticVericationofCombinationalandPipelinedFFTCircuits,publishedin1999[25] MarySheeranandSatnamSingh,publishedin1998[11] SymbolicReachabilityAnalysisBasedonSAT-Solvers,writtentogether SAT-basedVericationwithoutStateSpaceTraversal,writtentogether withkoenclaessen,publishedin2000[10] withparoshazizabdullaandniklaseen,publishedin2000[2] FindingBugsinanAlphaMicroprocessorUsingSatisabilitySolvers, Thethesisalsocontainsatechnicalreport,Chapter4,andajournalpaper writtentogetherwithtimleonardandabdelmokkedem,acceptedfor submittedforpublication,chapter8: publicationin2001[12] SAT-basedModelChecking:ATutorialandOverview,writtenduring2000 SymbolicModelCheckingwithSetsofStatesRepresentedasFormulas, publishedin1999[9] togetherwithmarysheeranandgunnarstalmarck[13] 5

6 morethanoneauthor: Thefollowingoutlinesmyparticipationonthearticlesinthisthesisthathave Lava:HardwareDesigninHaskell,writtentogetherwithClaessen,Sheeran, SymbolicReachabilityAnalysisBasedonSAT-Solvers,writtentogetherwith andsingh:iparticipatedindiscussions,didthefftmodellingandverication,andwrotesection4ofthepaper. AbdullaandEen:Iparticipatedindiscussions,didsomeoftheexperimentalwork,andwroteSections1-3and6-8ofthepaper. SAT-basedVericationwithoutStateSpaceTraversal,writtentogetherwith FindingBugsinanAlphaMicroprocessorUsingSatisabilitySolvers,writtentogetherwithLeonardandMokkedem:Iparticipatedindiscussions, Claessen:Iparticipatedindiscussions,implementedthecorealgorithms, andwrotehalfthepaper. SAT-basedModelChecking:ATutorialandOverview,writtentogetherwith implementedthesat-basedvericationalgorithms,andwrotethewhole exceptionofsection3andsection4.3. Sheeran:Iparticipatedindiscussionsandwrotethewholepaperwiththe paper.

7 Contents 1Introduction 1.1TheHardwareDevelopmentCrisis FormalMethods ABriefHistoryofFormalMethods FormalMethods Whatarethey? AimoftheThesis FormalHardwareVericationMethods Lava:HardwareDesigninHaskell 1.4Synopsis Introduction OverviewoftheSystem Monads TypeClasses Interpretations Combinators PrimitiveDataTypes UsingaSymbolicCircuit SymbolicInterpretation StandardInterpretation AnExample:FFT OtherInterpretations Verication ComplexNumbers...24 i

8 2.4.2DiscreteFourierTransform TwoFFTCircuits Components TheCircuitDescriptionsinLava RelatedWork RunningInterpretations Conclusions RelatedWorkonFFTDescriptionandVerication AutomaticVericationofCombinationalandPipelinedFFT Circuits 2.7FutureWork Introduction TheLavaHardwareDevelopmentPlatform VericationofComponents FFTLow-levelDescriptions TheFastFourierTransforms CombinationalFFTVerication TheoreticalBasisoftheVerications LessonsLearned ManualPreparation PipelinedFFTVerication RelatedWork Conclusions FutureWork SymbolicModelCheckingwithSetsofStatesRepresentedas 3.10Appendix...50 Formulas TheRadix-2FFTdescription Introduction Overview CTLModelChecking Conventions...54 ii

9 4.5RequirementsonaRepresentationforSetsofStates ComputingModelsofCTLFormulas SyntaxandSemantics EncodingsSetsofStatesinPropositionalLogic ModelCheckingusingStalmarck'sMethod FormulaRepresentation EquivalenceChecking FormulaMinimisation Discussion BooleanQuanticationformAX,mEX TheConnectiveOperatorsm#,m: OtherLogics ASimpleUseofFirstOrderLogic QuantiedBooleanFormulas SymbolicReachabilityAnalysisBasedonSAT-Solvers 4.9Conclusions AndMore Introduction Preliminaries Quantication ReachabilityAnalysis Satisability RepresentationofFormulas SAT-basedVericationwithoutStateSpaceTraversal 5.8ConclusionsandFutureWork ExperimentalResults Introduction VanEijk'sMethod Stalmarck'sMethodInsteadofBDDs Induction StrongerInductioninvanEijk'sMethod...96 iii

10 6.6Approximations ConclusionsandFutureWork RelatedWork ExperimentalResults FindingBugsinanAlphaMicroprocessorUsingSatisability Solvers 7.1Introduction Preliminaries TheMergeBuer SymbolicTrajectoryEvaluation BoundedModelChecking Verication AnalysisCycle BDD-basedSymbolicModelChecking AProposalforaMethodology SAT-basedSymbolicTrajectoryEvaluation BoundedModelChecking SAT-basedModelChecking:ATutorialandOverview 7.9Conclusions Introduction Preliminaries UsingSAT-solverstoVerifyReachableStateInvariants ModellingSystemsinPropositionalLogic ExpressingPropertiesofSystemsinPropositionalLogic ReachabilityAnalysis ImplementingtheAnalyses Induction BoundedModelChecking Analysis FormulaRepresentation ComparisonBetweentheSAT-basedMethods QBFTranslation iv

11 Bibliography 8.7InterestingFutureQuestions AComparisontoBDD-basedModelChecking v

12 vi

13 Chapter1 Introduction In1965,GordonMooregaveatalkwherehepredictedthatthecomplexity ofhardwaredeviceswoulddoubleevery18months.moore'spredictionhas 1.1 TheHardwareDevelopmentCrisis bythefactthattoday'sindustry-standardhardwaredescriptionlanguagesare ofhardwareisstaggering. Theresultingconstantlyincreasingpressureondesignersisfurtheraggravated turnedouttobeveryaccurate,andasaconsequence,thecurrentcomplexity meansthattheinterpretationofagivenlanguagedierssignicantlybetween verboseandcomplexlanguagesthatdonothaveawell-denedsemantics.this usabledesignswithalanguageisalsoverylong,andecientuseofalanguage resultinnonsenseafteranupgrade.thelearningtimetobeabletoproduce ferentversionsofthesametool;whatworkedtwoweeksagomayverywell reliesheavilyonintimateknowledgeofthequirksofaparticulartoolsuite. toolsfromdierentvendors.theinterpretationmightevendierbetweendif- Moreover,today'sdesignersmustnotonlycopewithverycomplexdesignsusing lessthanperfectlanguages;thedevelopmenttimeforagivendevicemustalso bekepttoanabsoluteminimumtoreducethetime-to-market.thishasled toaparadoxicalsituation,wherethefrequencyoferrorsconstantlygoesupas largerdesignshavetobeproducedinshortertime,whilelesstimecanbespent design,oramodelofit,onasetoftestvectors.thisisasimple,natural, onvalidation makingsurethatwhathasbeenbuiltindeedcorrespondstothe wayofmakingsurethatthecorrectdesignhasbeenbuilt.unfortunatelythis Thestandardwayofmakingsurethathardwareiscorrectistorunanished intendeddesign. validationmethodhasamajordrawback:onlyextremelysimpledesignscan realisethis,considerthatasimplecombinationalgatewithninputshastobe besimulatedexhaustivelysothatthefullfunctionalityofthechipistested.to 1

14 morethanhalfamillionyearstotestthefullfunctionalityofthemultiplier. Exhaustivetestingofrealisticcombinationalcircuitsishenceintractable,and testedon2ninputpatterns.thismeansthatinordertocheckthataninteger thegeneralcaseoftestingsequentialcircuitsisharderbyfar. multipliercorrectlymultipliestwo32-bitwords,wehavetotestiton264input vectors.assumingthatwecantestamillionpatternsasecond,wewouldneed ahandfulofoatingpointnumbers.thecostofrecallingthefaultychipswas astrous,asillustratedbythefailureofintel'spentiumchiptocorrectlydivide Unfortunately,failingbehaviourevenonasmallnumberofvectorscanbedis- Today'shardwaredevelopmentindustryisthusinabothersomesituation,which 475milliondollars. needstobeaddressedinatleasttwoways.first,itisvitalthathardware descriptionlanguagesareimprovedsothattheydonothinderthedesigner. Themosturgentofthenecessaryimprovementsistoconstructlanguagesthat haveamathematicallyprecisemeaning.second,thesupportforverifyingthat whathasbeendesignediscorrectmustbeimprovedsignicantly.itisimportant engineeringtogetherwithsimulation.thequestionishowthiscanbedone. tondalternativewaysofincreasingthecondenceindesignsotherthancareful industry-standarddevelopmentmethods. Inthisthesis,wewillconsiderformalmethodsasacomplementtotoday's 1.2 FormalMethods Aformalmethodideallyconsistsofthreecomponents:(1)Aformallanguage; 1.2.1FormalMethods Whatarethey? bepresent. aboutstatementsintheformallanguage.inpractice,notalloftheseneedto thatis,alanguagewhereeverywell-formedstatementhasamathematically denedmeaning;(2)toolsthathelptheuserdescribesystemsandrequirements Thepurposeofthethreecomponentsoftheformalmethodareasfollows:The intheformallanguage;and(3)aproofsystemthatallowstheusertoreason modelofthesystem,andoptionallyalsoconstructaspecication.whenthis language,togetherwiththetools,shouldletthedesignerwriteortranslatea isdone,theproofsystemshouldbeusedtodoasystemanalysis.hopefully, thisprocesswillallowthedesignertopredictwhethertheunderlyingsystem hasunintendedpropertiesthatwillcostmoney,orputhumansatrisk. ciselanguagethatisusedtowritedownaspecicationforagivensystem.the Aspecicationorientedformalmethodprovidesarichandmathematicallypre- Therearetwomainapproachestoformalmethods:(1)specicationoriented, and(2)vericationoriented. 2

15 thathasaformallydenedmeaning,itispossibletoreasonaboutthespecication.thepurposeofthisistovalidatethespecication tomakesurethe precisedescription.furthermore,asthespecicationiswritteninalanguage itforcesthespeciertothinkthroughthesystemcarefullyinordertomakea specicationmatchestheintentionofthedesigner.thiscanforexamplebe donebysimulatingthespecication,byprovingthatthespecicationiscon- processofwritingdownformalspecicationscanbringbenetstoaproject,as animplementationconformstosomespecication.inordertodothis,the theirreasonableness. Avericationorientedmethod,incontrast,hasthegoalofmakingsurethat sistent,orbyderivingconsequencesofthespecicationthatcanbecheckedfor atalowerlevelofabstraction.vericationtoolsarethenusedtotrytoestablish designerwritesaspecicationofthesystem,andamodelofanimplementation conformance.thiscanbedoneinanumberofways,afewofwhichwewill considerinsection1.2.3.ifnecessary,theprocesscanthenbereiteratedby writinganewspecicationatanevenlowerlevelandestablishingconformance ispost-hoc,meaningthatthesystemalreadyhasbeenbuilt,thegoalistoreach notbeenbuiltyet,thelowestlevelofspecicationcanbeusedasatemplate betweentheoldimplementation-levelandthenewlowerlevel.iftheverication theleveloftheexistingsystemmodel.ontheotherhand,ifthesystemhas systems.theanalysistoolscanonlybeappliedtothesemodels,nottothe realsystemsthemselves.thismeans,forexample,thataproofthatthemodel Itisimportanttorealisethatformalmethodsareconcernedwithmodelsof forautomaticormanualimplementation. specicationthatisdierentfromourintendedspecication,thentheproofis conformstothespecicationimpliespreciselythis,andnothingelse.ifthe modeldoesnotadequatelydescribetherealsystem,orifwehavewrittena worthless.ifwemodelacircuitatthelevelofbooleangates,wecanclearlynot 1.2.2ABriefHistoryofFormalMethods accountforerrorsatthetransistorlevel. Formalmethodsareintimatelyconnectedwithlogic,aslogicsareparticular recordedthoughtsaboutlogicdatebacktoaristotle'stime.aristotlemodelled situationsasacollectionofinformalstatements,andappliedwhatisknownas syllogisticreasoningtoanalysetheproblemathand. formallanguagesthatareusedtomodelandreasonaboutproblems.therst dreamtofconstructingalanguagerichenoughtomodelanykindofphenomena: TherstmodernproponentofformalmethodswasLeibnitz( ),who thecharacteristicauniversalis.anykindofquestionthatahumancouldenquire aboutshouldbepossibletoformulateinthislanguage.agivenquestionshould thenbedecidedusingadeviceleibnitzcalledthecalculusratiocinator.in thiswayeverydayquestionswouldbedecidedinascienticmannerbythe applicationofalgorithmictechniques.3

16 betherstcharacterisationofageneralpurposeformallanguagerichenough Leibnitz'dreamwasneverappreciatedbyhiscontemporaries;itwouldtake todeviseatheoryofsetsandelementaryarithmetic[37].thatfregewas ForemostoftheseearlypioneerswasGottlobFrege,whomadewhatwould ofthe19thcentury,manylogiciansstartedtothinkalongthelinesofleibnitz. almosttwohundredyearsbeforesimilarideasresurfaced.however,attheend interestedinthiswasnotverysurprising;hisoverallgoalwastoshowthat KurtGodeldeliveredacrushingblowtothishopebyprovingthatnonite allmathematicalreasoningcouldbereducedtologic.unfortunately,in1931 systemofaxiomsandinferencerulescouldbedevisedthatwouldgenerateall Godel'sresultsparkedalotofresearchintothelimitsofautomatedprocedures thetheoremsofelementaryarithmetic,andnonon-theorems[39]. non-trivial(inaprecise,technicalsense)propertyofprogramsisimpossibleto decidebyautomatedanalyses[80].muchofthecomputation-orientedresearch procedureswasseverelyrestricted.forexample,in1953riceprovedthatevery sequenceofsimilarresultsshowedthatthepowerofcompletelyautomated fordecidingwhetherformallanguagestatementsweretheoremsornot.awhole results",andfewresearcherswereinterestedinpursuingleibnitz'dream. duringthe1950sand1960swashencecenteredaroundderiving\impossibility Itwasnotuntilthelate1960sandearly1970sthatresearchersonceagaingot newupsurgeofinterestinrigour;manyresearchlanguagesweregivenmathematicallydenedsemantics,andthisallowedproofsaboutthelanguages,and aboutindividualprograms. seriouslyinterestedinapplyingformaltechniquestoreasoningandtheresearch comeinterestingtoindustry,andmanyresearcherswereinvolvedincreating tooko.itwasaboutthistimethatprogrammablecomputersstartedtobe- dierentkindsofformallanguages:programminglanguages.withthiscamea andhardwaresystems,andthedomainofcomputeraidedreasoningaboutthe models. methodswerelaid,bothinthedomainofmathematicalmodelsofsoftware Thenewfoundinterestinrigourledtotheestablishmentofmanynewresearch elds,anditwasduringthistimethefoundationsformuchoftoday'sformal byfloyd,hoare,anddijkstra[36,52,31].theseresearcherswereinterestedin Someoftherstattemptstoreasonformallyaboutprogramswereundertaken ofaprogramfragmentguaranteedtheassertedstateaftertheexecution. informalreasoninginrstorderlogictoprovethatthestatebeforetheexecution programannotationswithassertionsabouttheprogramstate.theythenused correctnessproofsforimperativeprograms,anddevelopedmethodsbasedon andchandy,whoinventedtheunitylogic[71];andlamport,whoinvented ThetechniquesforimperativeprogramvericationwereextendedbyOwicki thetemporallogicofactions[61].4 andgriestothemoregeneralcaseofparallelprograms[73].totallydierent calculiforspecifyingandreasoningaboutconcurrentprocesses[53,70];misra approachesweretakenbyhoareandmilner,whodevelopedspecialpurpose

17 velopingpowerfulspecicationmethodslikez,vdm,andlarch[91,58,44]. Whilesomeresearcherswerefocusingonprogramverication,otherswerede- Theeortsonprogramspecicationandvericationalsoinspiredresearchinto programminglanguagealgol60[19]. softwaresystems.earlysuccessstoriesincludeibm'suseofvdmtodenethe Thesemethodswereusedsuccessfullytospecifyandperformanalysisonlarge themodellingandvericationofhardware.someresearchersattemptedtouse extensionsofthetechniquesdevisedforprogramverication[30,88],whileothersdevelopednewformalismsaimedspecicallyathardwareandhardware-like vericationtechniqueswerestartingtobeappliedtosystemsofindustrialrelevanceandsize.examplesincludeshunt'smodellingandvericationofthefm 8501microprocessor[55]andCohns'correspondenceproofbetweendierent circuits[98],andmilne'sworkoncircal[69].inthemid-eighties,hardware workonveritas[49],wagner'sworkontransformationalcorrectnessproofsfor workonfp[83],johnson'sworkoncircuitderivation[57],daecheandhanna's system.earlyattemptstomodelandreasonaboutcircuitsincludesheeran's levelsofdescriptionsofthevipermicroprocessor[23]. tomaticmethods. Today'shardwarevericationmethodscanbedividedintointeractive,andau FormalHardwareVericationMethods Ininteractivemethods,theuserguidesthevericationprocess.Oftenthespecicationlanguageisrichenoughtobeundecidable;fullyautomaticverication provinginhigherorderlogic[40].inthisapproach,themodelofthecircuit,and isthereforenotevenattainableintheory. Aprimeexampleofaninteractivemethodishardwarevericationbytheorem bystartingfromaxiomsofthelogic,andapplyinginferencerulestogenerate theprocessistoestablishthatthecompoundstatementthatexpressesthatthe modelimplementsthespecicationisalogicaltruthinthesystem.thisisdone thespecicationisexpressedasstatementsinaverypowerfullogic.thegoalof new,logicallytrue,statements.thenatureoftheinferencerulesguaranteesthat ifthecorrectnessstatementisderivablebyanitechainofapplicationsofrules, startingfromaxiomsonly,thenthemodelmustimplementthespecication. Evenbetweendierentinteractivemethods,thelevelofinteractivenesscanvary substantially.forexample,certainhigherorderlogictheoremprovers,such aspvs[29],containsautomaticdecisionproceduresthatcanbeappliedto statementsofparticularforms.suchautomateddecisionproceduresexistfor onlyaxiomsareusedasstartingpointsforproofs. exampleforpresburgerarithmetic[76](arithmeticstatementsusingaddition butnotmultiplication).otherinteractivetheoremprovers,suchasisabelle[75], bymakingsurethateveryapplicationofaninferenceruleisvalid,andthat providemuchlessautomation;theymainlyhelptheuserwiththebookkeeping 5

18 Automaticmethods,incontrast,attempttoseparatetheuserfromtheindividualvericationsteps.Thismeansthatdesigners,whoseareaofexpertiseisthe workstouseit.however,tocontinuetheanalogywithcircuitsynthesis,the usermuststillknowsomethingaboutthetooltogetsucientlygoodresults. constructionofthecircuitsthemselves,candotheirownvericationwithout muchlikedesignersdonotneedtofullyunderstandhowahardwaresynthesiser spendingalongperiodoftimelearningaboutthetheoryunderlyingthemethod, relativelyweakproperties.forexample,fullhigherorderlogicwillprobably Inordertoachievefullautomation,itisnecessarytorestrictthecheckingto neverbeusedsuccessfullyasaspecicationlanguageaimedatautomaticproofs, thatcanbeachieved.forexample,duetorice'stheorem,ifthemodellingand asitistoocomplex.thereexistsacleartradeobetweenthecomplexityofthe modellinglanguageandthepropertiestocheck,andthedegreeofautomation Oneofthemostwidelyusedautomaticmethodsofverifyinghardwareismodel programs,thentherearemanyquestionsthatcannotbedecidedautomatically. checking[21,79].theaimofthisvericationmethodistotakeadescriptionofa specicationlanguageisstrongenoughtomodelprogramsandpropertiesof expressedinaweaklogicholdbyexhaustivelysearchingthroughthestatespace hardwarecomponentasanitestatemachine,andestablishwhetherproperties beexpressedarestillsolimitedthatthelogicitselfcanbedecided(thereexists propertiesofsystemsthatchangeovertime.however,thepropertiesthatcan oftime".thespecicationlanguageiscalledatemporallogic,asitcanexpress xistrue",\ifsignalxistrue,thensignalymustbefalseaftersomeniteperiod ofthemodel.examplesofpropertiesthatcanbecheckedare\atalltimes,signal aprocedurethatalwaysisabletotellwhetherastatementisalogicaltruthor not). isimportanttorealisethatthisalsoistrueonthedesignsideofhardwaredevelopment.whenindividualcomponentsaredesignedfromtransistors,idealised technology,asthemathematicsthatisinvolvedistoocomplicated.however,it entlevels.thelevelofelectronowisbeyondthereachoftoday'sverication Independentofthevericationmethoditself,circuitscanbemodelledatdier- modelsareusedforthetransistorsinordertofacilitatespeedyanalysis. accordingtoa\truthtable",withoutconsideringanyotherpossibilities.vericationatthislevelmayconsistinestablishingthatsimpletemporalproperties Thelowestlevelofmodellingthatisroutinelyprocessedtodayistransistorlevel transistorsasdevicesthatpropagateeitherofthevalues0,1,orx(unknown) hold. descriptions.modelsatthislevelarestilloftensimpliedbydescribingthe individualbuildingblocksarelogicalgatessuchasand-gatesandor-gates.at thislevel,vericationmayconsistofestablishingthatatransistorlevelimplementationimplementsagatenetwork,orcheckingthatatemporalspecication holds. Thenextlevelupinthehierarchyisthelevelofgateleveldesigns.Herethe 6

19 Fromthegatelevelup,thereexistsamultitudeoflevelsthatcircuitscanbe modelledat.forexample,atthelevelofarithmetic,anadditionoftwonumbers fromaninnitedomainisamonolithicoperation.justasgodel'stheorem predicts,thisisthelevelwhereautomationstartstobecometroublesome,and usersoftenturntomethodssuchasinteractivetheoremproving. Inthisthesis,wecontributetobettermethodsfordesigninghardwareintwo ways. 1.3 AimoftheThesis thatfunctionallanguagesoeracleanwayofdescribingsynchronoushardware, precisedescriptionsofsynchronoushardware,andallowstheusertointerfaceto vericationtoolsthroughaprogrammableinterface.thethesisofthisworkis First,wepresentahardwaredescriptionandvericationplatform,Lava,embeddedinthefunctionallanguageHaskell.Thisplatformsupportsmathematically andthatmodernprogramminglanguagefeaturesareusefultoolsalsoforhardwaredesigners.wealsoshowhowusefulitisthatlavaisaprogrammablevericationplatform,whichallowsustodevisespecialpurposevericationstrategies forparticularfamiliesofhardwarecomponents. hardware.weillustratethisbypresentingcasestudiesandnewtechniques canbeusedasanecientvehicleforprovingcorrectnessandndingbugsin Themajorthesisofthispartoftheworkisthatautomatictheoremproving forthevericationofsequentialhardwareatdierentlevelsonabstraction. Second,wefocusonhowautomatictheoremprovingcanbeusedasatool vericationmethods. thatgiveorderofmagnitudespeedupscomparedtostate-of-the-artautomatic 1.4 PaperASynopsis ThepapercontainsanoverviewoftheLavahardwaredescriptionandveri- 1998,andisjointworkwithKoenClaessen,MarySheeran,andSatnamSingh. paperappearedintheinternationalconferenceonfunctionalprogramming Therstpaperinthisthesisiscalled\Lava:HardwaredesigninHaskell".The cationplatform,whichisspeciallydesignedfordescribing,andanalysingsyn- chronoushardwareatthegatelevel. allowsthedesignertoeasilyconstructparametrisedcircuits,anddeneinterateanewcircuitbypluggingthebuildingblockstogether.acrucialfeatureof KeyelementsoftheLavaapproachisacleanwayofdescribingcircuitsthat connectionpatterns meta-circuitsthatgivenanumberofothercircuitsgener- 7

20 besentotoexternaltheoremprovers. andveriedbyinterpretingitinanotherwaythatproducesformulasthatcan example,thesamedescriptioncanbesimulatedbyinterpretingitinoneway, Lavaisthepossibilitytointerprethardwaredescriptionsinmultipleways.For (FFT).TheFFTisaparticularweightedsumofcomplexnumbersthatfor Thepresentationincludesacasestudy:Thespecicationandvericationofa frequencyinformationfromsampledsignals.thefactthatthecircuitoperates parametrisedcombinationalcircuitforperformingthefastfouriertransform instancecanbeusedtodoquickmultiplicationofpolynomials,andtoextract Lavacouldbeusedtomodelandverifythekindsofcomponentstheywere ThecasestudyisjointworkwithEricssonCadlab,whowantedtostudyhow some,asmanystandardtechniquesareunabletocopewitharithmetic. onthelevelofcomplexnumbersmeansthatautomaticvericationistrouble- interestedin InthispaperwecontinuetheworkondescribingandverifyingFFTcircuitry, anditappearedintheinternationalconferenceoncomputeraidedverication PaperBiscalled\AutomaticVericationofCombinationalandPipelinedFFTs", Inordertoverifythepipelinedimplementation,wedeviseaspecialpurpose FFTweprovedcorrectinpaperA. byusinglavatoimplementasequential,pipelined,versionofthecombinational simulationandinduction,inadditiontothetheoremprovingtechniqueswe apipelinedcircuitimplementation.thisprooftechniquereliesonsymbolic appliedinordertoverifythecombinationalfftcomponent. prooftechniqueforestablishingcorrespondencebetweenacombinationaland analyses,andimplementtheprooftechniqueasananalysisparametrisedbya WetakeadvantageoftheeasewithwhichLavacanbeextendedwithcustom sequentialandacombinationalcircuit. PaperCiscalled\SymbolicModelCheckingwithSetsofStatesRepresented asformulas".thispaperisarevisedversionoftechnicalreportcs99903, ChalmersUniversityofTechnology. Here,inspiredbytheworkwedidonverifyingsequentialcircuitsbytheorem ingcanbeconvertedtousepropositionallogictheoremprovingratherthanthe provinginpaperb,wepresentanideaforhowstandardsymbolicmodelcheck- morestandardchoiceofbinarydecisiondiagrams(bdds). 8

21 gorithmstouseformulasasasymbolicrepresentationforthesystemthatis analysed.weremovebooleanquantiersthatariseduringstatespacetraversal byapplyinganaiveunfoldingrule.inordertomakesurethattherepresentationsdonotgrowtoomuch,wesuggestanalgorithmforminimisingformulas Thepaperpresentsaconversionofthestandardsymbolicmodelcheckingalformulas. Weconcludethepaperbydiscussinghowtheideatousepropositionalformulas thatusesstalmarck'smethodofpropositionalprooftodetectequivalentsub- asarepresentation,andtheoremprovingtoimplementoperationsontherepresentationcanbeextendedtostrongerlogics,andthepossiblebenetsthereof. Thispaperiscalled\SymbolicReachabilityAnalysisbasedonSAT-solvers".It PaperD appearedintheinternationalconferenceontoolsandalgorithmsfortheconstructionandanalysisofsystems2000,andisjointworkwithparoshabdullvertingstandardmodelcheckingalgorithmstouseformulasandpropositional logictheoremproving.here,werestrictthepresentationtothecaseofsymbolic InthispaperwepresentFIXIT,apracticalimplementationoftheideaofcon- andniklaseen. inpaperc),butourimplementationhandlesthefulllogic. reachabilityanalysis(asingleoperatorfromthetemporallogicthatwascovered Keyelementsofourapproacharetouseaspecialpurposerepresentationfor formulasthatdoessimplereductionsautomatically,andtousesomeextrarules inthequantiertranslatorinsteadofthesinglerulewesuggestedinpaperc. PaperE someexamplesthatareveryhardfortwomaturebdd-basedmodelcheckers. Weillustratethattheresulting,fairlynaive,modelcheckercanstillcopewith Thispaper,\SAT-basedVericationwithoutStateSpaceTraversal",isjoint workwithkoenclaessen.itappearedintheinternationalconferenceonformalmethodsincomputeraideddesign2000. Algorithmsthatavoidthebooleanquantication,butstillusepropositional algorithmswepresentedinpaperdworksverypoorlyforcertainexamples. Thetranslationofbooleanquantiersnecessaryforstatespacetraversalinthe logictheoremproving,arethereforeveryinteresting. sothatitcanndmoreinformation,andmakeitcomplete.furthermore,by Stalmarck'salgorithmratherthanBDDs.Wealsostrengthenthealgorithm fordoingsequentialequivalencecheckingwithoutstatespacetraversal,touse InthispaperweconvertVanEijk'salgorithm,apreviouslypresentedmethod 9

22 examiningtheconnectionbetweenthealgorithmandoverapproximativesymbolicreachabilityanalysis,wedeviseananalogousdualalgorithmandamutual compareresultswithtworelatedmethodsbasedonpropositionallogictheorem proving,andamaturebdd-basedmodelchecker. Weillustratethepoweroftheresultinganalysesonsomebenchmarks,and improvementalgorithm. PaperF,\FindingBugsinanAlphaMicroprocessorusingSatisabilitySolvers", isjointworkwithtimleonardandabdelmokkedem.itisacceptedforpublicationattheinternationalconferenceoncomputeraidedverication2001. Herewepresenttheresultsofusingacombinationoftwomodelcheckingtechniquesbasedonsatisabilitysolverstondbugsinthememorysubsystemof anext-generationmicroprocessor. Therstofthesetechniquesiscalledboundedmodelchecking.Wecompare theperformanceofboundedmodelcheckingtobdd-basedmodelchecking, anddemonstratethatitcanbeusedtoreducetheruntimenecessaryfornding Thisanalysisisaversionofmodelcheckingthatconsistsofablendofabstract certainbugsinrealdesignsfromdaystominutes. ThesecondtechniqueissymbolictrajectoryevaluationbasedonSAT-solving. developingspecications. ocomparedtoboundedmodelcheckingisthatwehavetospendmoretime ofthelengthofminimumfailuretraces,usingnegligibleruntimes.thetradebolictrajectoryevaluationcanbeusedtondverycomplexbugs,interms interpretationandsymbolicsimulation.wedemonstratethatsat-basedsym- Weconcludethepaperbypresentingsomeadviceonusingacombinationofthe twomodelcheckingtechniquesforindustrial-strengthverication. PaperG Thispaperiscalled\SymbolicModelCheckingbasedonSAT-solvers:An logictheoremprovingbypresentingthreedierentapproachesthathaveappearedintheliterature. overviewandtutorial".itisjointworkwithmarysheeranandgunnarstalmarck, Herewegiveanoverviewoftheeldofmodelcheckingbasedonpropositional andissubmittedforpublication. PaperD,andsomeconclusionswehavecometowhileworkingwiththethree toimplementtheanalysesintheresearchmodelcheckerfixitwepresentedin Ourpresentationisgiveninatutorialstyle,andweputemphasisondemonstratinghowthemethodsarerelated.Wepresentsometechniquesthatareused 10

Gates, Circuits, and Boolean Algebra

Gates, Circuits, and Boolean Algebra Gates, Circuits, and Boolean Algebra Computers and Electricity A gate is a device that performs a basic operation on electrical signals Gates are combined into circuits to perform more complicated tasks

More information

Basics of Digital Logic Design

Basics of Digital Logic Design CSE 675.2: Introduction to Computer Architecture Basics of Digital Logic Design Presentation D Study: B., B2, B.3 Slides by Gojko Babi From transistors to chips Chips from the bottom up: Basic building

More information

1. Digital Logic Circuits

1. Digital Logic Circuits 1 Digital Logic ircuits 1. Digital Logic ircuits Many scientific, industrial and commercial advances have been made possible by the advent of computers. Digital Logic ircuits form the basis of any digital

More information

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one

More information

8.7 Mathematical Induction

8.7 Mathematical Induction 8.7. MATHEMATICAL INDUCTION 8-135 8.7 Mathematical Induction Objective Prove a statement by mathematical induction Many mathematical facts are established by first observing a pattern, then making a conjecture

More information

Tutorial on Using Excel Solver to Analyze Spin-Lattice Relaxation Time Data

Tutorial on Using Excel Solver to Analyze Spin-Lattice Relaxation Time Data Tutorial on Using Excel Solver to Analyze Spin-Lattice Relaxation Time Data In the measurement of the Spin-Lattice Relaxation time T 1, a 180 o pulse is followed after a delay time of t with a 90 o pulse,

More information

2Proofbymathematicalinductionplaysacrucialroleinthevericationofprogramtrans-

2Proofbymathematicalinductionplaysacrucialroleinthevericationofprogramtrans- SubmissiontoJ.FunctionalProgrammingSpecialIssueonTheoremProving&FunctionalProgramming AutomaticVericationofFunctionswith DepartmentofComputing&ElectricalEngineering, AccumulatingParameters UniversityofEdinburgh,80SouthBridge,

More information

PERSONAL LEADERSHIP DEVELOPMENT PLAN ACTION PLAN

PERSONAL LEADERSHIP DEVELOPMENT PLAN ACTION PLAN (ACTION PLAN COVER PAGE EXAMPLE) PERSONAL LEADERSHIP DEVELOPMENT PLAN ACTION PLAN FOR RANK FIRST NAME LAST NAME [ENTER NAME] NONCOMMISSIONED OFFICER ACADEMY DAY MONTH, YEAR INSTRUCTOR: Rank Last Name Part

More information

Binary Adders: Half Adders and Full Adders

Binary Adders: Half Adders and Full Adders Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order

More information

#1-12: Write the first 4 terms of the sequence. (Assume n begins with 1.)

#1-12: Write the first 4 terms of the sequence. (Assume n begins with 1.) Section 9.1: Sequences #1-12: Write the first 4 terms of the sequence. (Assume n begins with 1.) 1) a n = 3n a 1 = 3*1 = 3 a 2 = 3*2 = 6 a 3 = 3*3 = 9 a 4 = 3*4 = 12 3) a n = 3n 5 Answer: 3,6,9,12 a 1

More information

Almost all spreadsheet programs are based on a simple concept: the malleable matrix.

Almost all spreadsheet programs are based on a simple concept: the malleable matrix. MS EXCEL 2000 Spreadsheet Use, Formulas, Functions, References More than any other type of personal computer software, the spreadsheet has changed the way people do business. Spreadsheet software allows

More information

Let s put together a Manual Processor

Let s put together a Manual Processor Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

More information

Notes on Excel Forecasting Tools. Data Table, Scenario Manager, Goal Seek, & Solver

Notes on Excel Forecasting Tools. Data Table, Scenario Manager, Goal Seek, & Solver Notes on Excel Forecasting Tools Data Table, Scenario Manager, Goal Seek, & Solver 2001-2002 1 Contents Overview...1 Data Table Scenario Manager Goal Seek Solver Examples Data Table...2 Scenario Manager...8

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

Computer Science. 19. Combinational Circuits. Computer Science. Building blocks Boolean algebra Digital circuits Adder circuit. Arithmetic/logic unit

Computer Science. 19. Combinational Circuits. Computer Science. Building blocks Boolean algebra Digital circuits Adder circuit. Arithmetic/logic unit PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science 9. Combinational Circuits Computer Science 9.

More information

FORDHAM UNIVERSITY CISC 3593. Dept. of Computer and Info. Science Spring, 2011. Lab 2. The Full-Adder

FORDHAM UNIVERSITY CISC 3593. Dept. of Computer and Info. Science Spring, 2011. Lab 2. The Full-Adder FORDHAM UNIVERSITY CISC 3593 Fordham College Lincoln Center Computer Organization Dept. of Computer and Info. Science Spring, 2011 Lab 2 The Full-Adder 1 Introduction In this lab, the student will construct

More information

By: Peter K. Mulwa MSc (UoN), PGDE (KU), BSc (KU) Email: Peter.kyalo@uonbi.ac.ke

By: Peter K. Mulwa MSc (UoN), PGDE (KU), BSc (KU) Email: Peter.kyalo@uonbi.ac.ke SPREADSHEETS FOR MARKETING & SALES TRACKING - DATA ANALYSIS TOOLS USING MS EXCEL By: Peter K. Mulwa MSc (UoN), PGDE (KU), BSc (KU) Email: Peter.kyalo@uonbi.ac.ke Objectives By the end of the session, participants

More information

Chapter 4. Gates and Circuits. Chapter Goals. Chapter Goals. Computers and Electricity. Computers and Electricity. Gates

Chapter 4. Gates and Circuits. Chapter Goals. Chapter Goals. Computers and Electricity. Computers and Electricity. Gates Chapter Goals Chapter 4 Gates and Circuits Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors Combine basic gates into circuits Describe the

More information

"!! # $%, #,, &,, ) & 2015

!! # $%, #,, &,, ) & 2015 .. (! "!! # $%, #,, &,, ) & 2015 ' (.. ) *+,-.*/. «*-,» (! "!! # $%, #,, &,, ) &., 2015. 196. *(:,.. «)$$0 1 # #$ «"1» # # " -!, #22! # $3! #1 '- 2! $!.. "( #$' # #$3! "!! "$023 $0 $ " ( #$, #(), #$0 #

More information

Understanding Logic Design

Understanding Logic Design Understanding Logic Design ppendix of your Textbook does not have the needed background information. This document supplements it. When you write add DD R0, R1, R2, you imagine something like this: R1

More information

The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices

The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created:

More information

Working With Direct Deposit Accounts and Your Payment Elections

Working With Direct Deposit Accounts and Your Payment Elections Working With Direct Deposit Accounts and This document contains instructions in the following areas for working with your direct deposit accounts and payment elections: Overview Working with Your Direct

More information

SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D.

SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D. SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D. legend 2. If you want all of the white cats grouped together

More information

Comp 150 Booleans and Digital Logic

Comp 150 Booleans and Digital Logic Comp 150 Booleans and Digital Logic Recall the bool date type in Python has the two literals True and False and the three operations: not, and, or. The operations are defined by truth tables (see page

More information

Circuits and Boolean Expressions

Circuits and Boolean Expressions Circuits and Boolean Expressions Provided by TryEngineering - Lesson Focus Boolean logic is essential to understanding computer architecture. It is also useful in program construction and Artificial Intelligence.

More information

Heuristic Methods. Part #1. João Luiz Kohl Moreira. Observatório Nacional - MCT COAA. Observatório Nacional - MCT 1 / 14

Heuristic Methods. Part #1. João Luiz Kohl Moreira. Observatório Nacional - MCT COAA. Observatório Nacional - MCT 1 / 14 Heuristic Methods Part #1 João Luiz Kohl Moreira COAA Observatório Nacional - MCT Observatório Nacional - MCT 1 / Outline 1 Introduction Aims Course's target Adviced Bibliography 2 Problem Introduction

More information

This Unit may form part of a National Qualification Group Award or may be offered on a free standing basis.

This Unit may form part of a National Qualification Group Award or may be offered on a free standing basis. National Unit Specification: general information CODE F5HA 11 SUMMARY The Unit provides an introduction to the devices, circuits and techniques of digital electronics. Candidates investigate the logical

More information

3.3 MATHEMATICAL INDUCTION

3.3 MATHEMATICAL INDUCTION Section 3.3 Mathematical Induction 3.3.1 3.3 MATHEMATICAL INDUCTION From modus ponens: p p q q basis assertion conditional assertion conclusion we can easily derive double modus ponens : p 0 p 0 p 1 p

More information

EXCEL 2010: PAGE LAYOUT

EXCEL 2010: PAGE LAYOUT EXCEL 2010: PAGE LAYOUT PAGE SET UP Options to change the page layout of a spreadsheet are available from the PAGE LAYOUT tab. Most of these options are available from the PAGE SETUP group on this tab.

More information

Basic Logic Gates Richard E. Haskell

Basic Logic Gates Richard E. Haskell BASIC LOGIC GATES 1 E Basic Logic Gates Richard E. Haskell All digital systems are made from a few basic digital circuits that we call logic gates. These circuits perform the basic logic functions that

More information

Module 1: Propositional Logic. CPSC 121: Models of Computation. Module 1: Coming up... Module 1: Coming up...

Module 1: Propositional Logic. CPSC 121: Models of Computation. Module 1: Coming up... Module 1: Coming up... CPSC 121: Models of Computation By the start of the class, you should be able to: Translate back and forth between simple natural language statements and propositional logic. Evaluate the truth of propositional

More information

4. Factor polynomials over complex numbers, describe geometrically, and apply to real-world situations. 5. Determine and apply relationships among syn

4. Factor polynomials over complex numbers, describe geometrically, and apply to real-world situations. 5. Determine and apply relationships among syn I The Real and Complex Number Systems 1. Identify subsets of complex numbers, and compare their structural characteristics. 2. Compare and contrast the properties of real numbers with the properties of

More information

Online Quotes Our 6 Top Tips

Online Quotes Our 6 Top Tips Online Quotes Our 6 Top Tips While we hope you ll find our online quotes system simple and easy to use, to help you along the way, we ve gathered the 6 most common queries users have, with the answers!

More information

Math 315: Linear Algebra Solutions to Midterm Exam I

Math 315: Linear Algebra Solutions to Midterm Exam I Math 35: Linear Algebra s to Midterm Exam I # Consider the following two systems of linear equations (I) ax + by = k cx + dy = l (II) ax + by = 0 cx + dy = 0 (a) Prove: If x = x, y = y and x = x 2, y =

More information

Complexity and Completeness of Finding Another Solution and Its Application to Puzzles

Complexity and Completeness of Finding Another Solution and Its Application to Puzzles yato@is.s.u-tokyo.ac.jp seta@is.s.u-tokyo.ac.jp Π (ASP) Π x s x s ASP Ueda Nagao n n-asp parsimonious ASP ASP NP Complexity and Completeness of Finding Another Solution and Its Application to Puzzles Takayuki

More information

PHYSICS 176. Experiment 3. Kirchhoff's Laws. Three resistors (Nominally: 1 Kilohm, 2 Kilohm, 3 Kilohm).

PHYSICS 176. Experiment 3. Kirchhoff's Laws. Three resistors (Nominally: 1 Kilohm, 2 Kilohm, 3 Kilohm). PHYSICS 176 Experiment 3 Kirchhoff's Laws Equipment: Supplies: Digital Multimeter, Power Supply (0-20 V.). Three resistors (Nominally: 1 Kilohm, 2 Kilohm, 3 Kilohm). A. Kirchhoff's Loop Law Suppose that

More information

Lecture 13 of 41. More Propositional and Predicate Logic

Lecture 13 of 41. More Propositional and Predicate Logic Lecture 13 of 41 More Propositional and Predicate Logic Monday, 20 September 2004 William H. Hsu, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Sections 8.1-8.3, Russell and Norvig

More information

Cofactor Expansion: Cramer s Rule

Cofactor Expansion: Cramer s Rule Cofactor Expansion: Cramer s Rule MATH 322, Linear Algebra I J. Robert Buchanan Department of Mathematics Spring 2015 Introduction Today we will focus on developing: an efficient method for calculating

More information

Excel Lab. Figure 1.1: Adding two numbers together in Excel

Excel Lab. Figure 1.1: Adding two numbers together in Excel Excel Lab This document serves as an introduction to Microsoft Excel. Example 1: Excel is very useful for performing arithmetic operations. Suppose we want to add 2 + 3. We begin by entering the number

More information

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction

More information

Foundations of Logic and Mathematics

Foundations of Logic and Mathematics Yves Nievergelt Foundations of Logic and Mathematics Applications to Computer Science and Cryptography Birkhäuser Boston Basel Berlin Contents Preface Outline xiii xv A Theory 1 0 Boolean Algebraic Logic

More information

programsitproduces.finally,weshowhowtoproduceecient,optimizingprogramgeneratorsby

programsitproduces.finally,weshowhowtoproduceecient,optimizingprogramgeneratorsby TopicsinOnlinePartialEvaluation TechnicalReport:CSL-TR-93-563 (alsofusememo93-14) March,1993 ErikRuf DepartmentsofElectricalEngineering&ComputerScience ComputerSystemsLaboratory Partialevaluationisaperformanceoptimizationtechniqueforcomputerprograms.Whenaprogram

More information

INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS

INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS STEVEN HEILMAN Contents 1. Homework 1 1 2. Homework 2 6 3. Homework 3 10 4. Homework 4 16 5. Homework 5 19 6. Homework 6 21 7. Homework 7 25 8. Homework 8 28

More information

EXPLOITING A SHA1 WEAKNESS IN PASSWORD CRACKING

EXPLOITING A SHA1 WEAKNESS IN PASSWORD CRACKING EXPLOITING A SHA1 WEAKNESS IN PASSWORD CRACKING A b o u t m e 2 Name: Jens Steube Nick: atom Coding Projects: hashcat / oclhashcat Security Research: Searching for exploitable security holes in OSS and

More information

Appendix F: Mathematical Induction

Appendix F: Mathematical Induction Appendix F: Mathematical Induction Introduction In this appendix, you will study a form of mathematical proof called mathematical induction. To see the logical need for mathematical induction, take another

More information

Chapter 28A - Direct Current Circuits. A PowerPoint Presentation by Paul E. Tippens, Professor of Physics Southern Polytechnic State University

Chapter 28A - Direct Current Circuits. A PowerPoint Presentation by Paul E. Tippens, Professor of Physics Southern Polytechnic State University Chapter 28A - Direct Current Circuits A PowerPoint Presentation by Paul E. Tippens, Professor of Physics Southern Polytechnic State University 2007 Objectives: After completing this module, you should

More information

threads threads threads

threads threads threads AHybridMultithreading/Message-PassingApproachforSolving IrregularProblemsonSMPClusters Jan-JanWu InstituteofInformationScience AcademiaSinica Taipei,Taiwan,R.O.C. Chia-LienChiang Nai-WeiLin Dept.ComputerScience

More information

RIFIS Ad Hoc Reports

RIFIS Ad Hoc Reports RIFIS Ad Hoc Reports To retrieve the entire list of all Ad Hoc Reports, including the Base reports and any additional reports published to your Role, select Ad Hoc for the Type under Filter Report By and

More information

SOLUTIONS, Homework 6

SOLUTIONS, Homework 6 SOLUTIONS, Homework 6 1. Testing out the identities from Section 6.4. (a) Write out the numbers in the first nine rows of Pascal s triangle. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1

More information

COMBINATIONAL LOGIC CIRCUITS

COMBINATIONAL LOGIC CIRCUITS COMBINATIONAL LOGIC CIRCUITS 4.1 INTRODUCTION The digital system consists of two types of circuits, namely: (i) Combinational circuits and (ii) Sequential circuits A combinational circuit consists of logic

More information

WUCT121. Discrete Mathematics. Logic

WUCT121. Discrete Mathematics. Logic WUCT121 Discrete Mathematics Logic 1. Logic 2. Predicate Logic 3. Proofs 4. Set Theory 5. Relations and Functions WUCT121 Logic 1 Section 1. Logic 1.1. Introduction. In developing a mathematical theory,

More information

COMPUTER SKILLS PLACEMENT TEST QUESTIONS MS OFFICE 2010/WINDOWS 7

COMPUTER SKILLS PLACEMENT TEST QUESTIONS MS OFFICE 2010/WINDOWS 7 COMPUTER SKILLS PLACEMENT TEST QUESTIONS MS OFFICE 2010/WINDOWS 7 CPS Assessment Test Questions/Answers DCCCD Spring 2014 The Computer Skills Placement Test (CSP) is designed to assess the computer literacy

More information

Introduction to Design of a Tiny Computer

Introduction to Design of a Tiny Computer Introduction to Design of a Tiny Computer (Background of LAB#4) Objective In this lab, we will build a tiny computer in Verilog. The execution results will be displayed in the HEX[3:0] of your board. Unlike

More information

Experiment 4: Sensor Bridge Circuits (tbc 1/11/2007, revised 2/20/2007, 2/28/2007) I. Introduction. From Voltage Dividers to Wheatstone Bridges

Experiment 4: Sensor Bridge Circuits (tbc 1/11/2007, revised 2/20/2007, 2/28/2007) I. Introduction. From Voltage Dividers to Wheatstone Bridges Experiment 4: Sensor Bridge Circuits (tbc //2007, revised 2/20/2007, 2/28/2007) Objective: To implement Wheatstone bridge circuits for temperature measurements using thermistors. I. Introduction. From

More information

Higher National Unit Specification. General information for centres. Unit title: Digital Electronics. Unit code: DN4E 34

Higher National Unit Specification. General information for centres. Unit title: Digital Electronics. Unit code: DN4E 34 Higher National Unit Specification General information for centres Unit code: DN4E 34 Unit purpose: The Unit is designed to enable candidates to know, understand and apply the basic concepts of digital

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Notes on Matrix Multiplication and the Transitive Closure

Notes on Matrix Multiplication and the Transitive Closure ICS 6D Due: Wednesday, February 25, 2015 Instructor: Sandy Irani Notes on Matrix Multiplication and the Transitive Closure An n m matrix over a set S is an array of elements from S with n rows and m columns.

More information

Solving Linear Programs in Excel

Solving Linear Programs in Excel Notes for AGEC 622 Bruce McCarl Regents Professor of Agricultural Economics Texas A&M University Thanks to Michael Lau for his efforts to prepare the earlier copies of this. 1 http://ageco.tamu.edu/faculty/mccarl/622class/

More information

CHAPTER 14 ORDINAL MEASURES OF CORRELATION: SPEARMAN'S RHO AND GAMMA

CHAPTER 14 ORDINAL MEASURES OF CORRELATION: SPEARMAN'S RHO AND GAMMA CHAPTER 14 ORDINAL MEASURES OF CORRELATION: SPEARMAN'S RHO AND GAMMA Chapter 13 introduced the concept of correlation statistics and explained the use of Pearson's Correlation Coefficient when working

More information

Chapter 18 Combined Values Chart

Chapter 18 Combined Values Chart Chapter 18 Combined Values Chart INTRODUCTION After impairment ratings have been obtained for all accepted conditions they must be combined to a single value known as the combined impairment rating. The

More information

Programmable Logic Devices (PLDs)

Programmable Logic Devices (PLDs) Programmable Logic Devices (PLDs) Lesson Objectives: In this lesson you will be introduced to some types of Programmable Logic Devices (PLDs): PROM, PAL, PLA, CPLDs, FPGAs, etc. How to implement digital

More information

Checks and Controls in spreadsheets

Checks and Controls in spreadsheets Checks and Controls in spreadsheets Patrick O'Beirne Systems Modelling Ltd Tara Hill, Gorey, Co. Wexford, Ireland Tel +353-53-942-2294 Email pob@sysmod.com 4 June 2009 Abstract Spreadsheets that are informally

More information

Further Topics in Actuarial Mathematics: Premium Reserves. Matthew Mikola

Further Topics in Actuarial Mathematics: Premium Reserves. Matthew Mikola Further Topics in Actuarial Mathematics: Premium Reserves Matthew Mikola April 26, 2007 Contents 1 Introduction 1 1.1 Expected Loss...................................... 2 1.2 An Overview of the Project...............................

More information

Mathematical induction & Recursion

Mathematical induction & Recursion CS 441 Discrete Mathematics for CS Lecture 15 Mathematical induction & Recursion Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Proofs Basic proof methods: Direct, Indirect, Contradiction, By Cases,

More information

To Evaluate an Algebraic Expression

To Evaluate an Algebraic Expression 1.5 Evaluating Algebraic Expressions 1.5 OBJECTIVES 1. Evaluate algebraic expressions given any signed number value for the variables 2. Use a calculator to evaluate algebraic expressions 3. Find the sum

More information

Department of Chemical Engineering ChE-101: Approaches to Chemical Engineering Problem Solving MATLAB Tutorial VI

Department of Chemical Engineering ChE-101: Approaches to Chemical Engineering Problem Solving MATLAB Tutorial VI Department of Chemical Engineering ChE-101: Approaches to Chemical Engineering Problem Solving MATLAB Tutorial VI Solving a System of Linear Algebraic Equations (last updated 5/19/05 by GGB) Objectives:

More information

Lecture 8: Synchronous Digital Systems

Lecture 8: Synchronous Digital Systems Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered

More information

Algorithm & Flowchart. Credit: Mr Ainullotfi

Algorithm & Flowchart. Credit: Mr Ainullotfi Algorithm & Flowchart Credit: Mr Ainullotfi Common Flowchart Symbols Start/Stop Process Input/Output Refers to a separate flowchart Decision Connector Off-page Connector Comments Preparation (for loops

More information

Mathematical Induction

Mathematical Induction Chapter 2 Mathematical Induction 2.1 First Examples Suppose we want to find a simple formula for the sum of the first n odd numbers: 1 + 3 + 5 +... + (2n 1) = n (2k 1). How might we proceed? The most natural

More information

Chapter 5: Sequential Circuits (LATCHES)

Chapter 5: Sequential Circuits (LATCHES) Chapter 5: Sequential Circuits (LATCHES) Latches We focuses on sequential circuits, where we add memory to the hardware that we ve already seen Our schedule will be very similar to before: We first show

More information

Irwin, Basic Engineering Circuit Analysis, 9/E 1 3.1 P3.1. Figure P3.1. Chapter 3: Loop and Nodal Techniques for Circuit Analysis Problem 3.

Irwin, Basic Engineering Circuit Analysis, 9/E 1 3.1 P3.1. Figure P3.1. Chapter 3: Loop and Nodal Techniques for Circuit Analysis Problem 3. Irwin, Basic Engineering Circuit Analysis, 9/E 1 3.1 P3.1 Figure P3.1 3k Chapter 3: Loop and Nodal Techniques for Circuit Analysis Problem 3.1 Ch03.indd 1 12/22/08 4:40:33 PM Irwin, Basic Engineering Circuit

More information

FTS Real Time System Project: Portfolio Diversification Note: this project requires use of Excel s Solver

FTS Real Time System Project: Portfolio Diversification Note: this project requires use of Excel s Solver FTS Real Time System Project: Portfolio Diversification Note: this project requires use of Excel s Solver Question: How do you create a diversified stock portfolio? Advice given by most financial advisors

More information

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015 CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential

More information

Two's Complement Adder/Subtractor Lab L03

Two's Complement Adder/Subtractor Lab L03 Two's Complement Adder/Subtractor Lab L03 Introduction Computers are usually designed to perform indirect subtraction instead of direct subtraction. Adding -B to A is equivalent to subtracting B from A,

More information

VI. The Feasibility Study. The Feasibility Study Phase

VI. The Feasibility Study. The Feasibility Study Phase VI. The Feasibility Study What is a feasibility study? What to study and conclude? Benefits and costs Cost/Benefit analysis Accounting methods Comparing alternatives Do it! 2002 Jaelson Castro and John

More information

1.4 Factors and Prime Factorization

1.4 Factors and Prime Factorization 1.4 Factors and Prime Factorization Recall from Section 1.2 that the word factor refers to a number which divides into another number. For example, 3 and 6 are factors of 18 since 3 6 = 18. Note also that

More information

Advanced Functional Programming TDA342/DIT260

Advanced Functional Programming TDA342/DIT260 Chalmers Göteborgs Universitet Alejandro Russo, Computer Science and Engineering Advanced Functional Programming TDA342/DIT260 Tuesday, March 15, 2016, Hörsalsvägen (yellow brick building), 8:30-12:30.

More information

ML for the Working Programmer

ML for the Working Programmer ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

More information

ECE3281 Electronics Laboratory

ECE3281 Electronics Laboratory ECE328 Electronics Laboratory Experiment #4 TITLE: EXCLUSIVE-OR FUNCTIONS and INRY RITHMETIC OJECTIVE: Synthesize exclusive-or and the basic logic functions necessary for execution of binary arithmetic.

More information

Microsoft Office Word 2010: Level 1

Microsoft Office Word 2010: Level 1 Microsoft Office Word 2010: Level 1 Workshop Objectives: In this workshop, you will learn fundamental Word 2010 skills. You will start by getting acquainted with the Word user interface, creating a new

More information

Basic Pivot Tables. To begin your pivot table, choose Data, Pivot Table and Pivot Chart Report. 1 of 18

Basic Pivot Tables. To begin your pivot table, choose Data, Pivot Table and Pivot Chart Report. 1 of 18 Basic Pivot Tables Pivot tables summarize data in a quick and easy way. In your job, you could use pivot tables to summarize actual expenses by fund type by object or total amounts. Make sure you do not

More information

The University of Queensland. Classification Guidelines for. Research-Related General Staff Positions. (HEW Levels 1-9).

The University of Queensland. Classification Guidelines for. Research-Related General Staff Positions. (HEW Levels 1-9). The University of Queensland Classification Guidelines for Research-Related General Staff Positions (HEW Levels 1-9). Appendix 2 Revised & updated October 2003 PART 1 - Definitions The qualification levels

More information

Analytics with Excel and ARQUERY for Oracle OLAP

Analytics with Excel and ARQUERY for Oracle OLAP Analytics with Excel and ARQUERY for Oracle OLAP Data analytics gives you a powerful advantage in the business industry. Companies use expensive and complex Business Intelligence tools to analyze their

More information

INTRODUCTION TO HARDWARE DESIGNING SEQUENTIAL CIRCUITS.

INTRODUCTION TO HARDWARE DESIGNING SEQUENTIAL CIRCUITS. Exercises, set 6. INTODUCTION TO HADWAE DEIGNING EUENTIAL CICUIT.. Lathes and flip-flops. In the same way that gates are basic building blocks of combinational (combinatorial) circuits, latches and flip-flops

More information

NURSING 1241 NURSING INFORMATICS TUTORIAL PORTFOLIO DEVELOPMENT (SPREADSHEET APPLICATION)

NURSING 1241 NURSING INFORMATICS TUTORIAL PORTFOLIO DEVELOPMENT (SPREADSHEET APPLICATION) NURSING 1241 NURSING INFORMATICS TUTORIAL PORTFOLIO DEVELOPMENT (SPREADSHEET APPLICATION) Nursing Informatics Integration Page 1 of 6 You are encouraged to create a comprehensive portfolio which normally

More information

MBA Jump Start Program

MBA Jump Start Program MBA Jump Start Program Module 2: Mathematics Thomas Gilbert Mathematics Module Online Appendix: Basic Mathematical Concepts 2 1 The Number Spectrum Generally we depict numbers increasing from left to right

More information

Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks

Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks J. M. BAHI, C. GUYEUX, and A. MAKHOUL Computer Science Laboratory LIFC University of Franche-Comté Journée thématique

More information

EC312 Lesson 2: Computational Logic

EC312 Lesson 2: Computational Logic EC312 Lesson 2: Computational Logic Objectives: a) Identify the logic circuit gates and reproduce the truth tables for NOT, AND, NAND, OR, and NOR gates. b) Given a schematic of a logic circuit, determine

More information

K-12 Mathematics Framework

K-12 Mathematics Framework DRAFT IN PROCESS San Diego City Schools Institute for Learning MATHEMATICS DEPARTMENT K-12 Mathematics Framework Introduction Mathematics Content Mathematics Processes Note: The content in this document

More information

Introducing C to Pascal Programmers

Introducing C to Pascal Programmers II E X T E N S I O N is not a very high level language... and is not specialized to any particular area of application. But its absence of restrictions and its generality make it more convenient and effective

More information

4 Operations On Data

4 Operations On Data 4 Operations On Data 4.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, students should be able to: List the three categories of operations performed on

More information

Excel Lesson 4 Entering Worksheet Formulas

Excel Lesson 4 Entering Worksheet Formulas Excel Lesson 4 Entering Worksheet Formulas Microsoft Office 2007: Introductory t 1 Objectives Enter and edit formulas. Distinguish between relative, absolute, and mixed cell references. Use the point-and-click

More information

Review Your Thesis or Dissertation

Review Your Thesis or Dissertation Review Your Thesis or Dissertation This document shows the formatting requirements for UBC theses. Theses must follow these guidelines in order to be accepted at the Faculty of Graduate and Postdoctoral

More information

Reading and construction of logic gates

Reading and construction of logic gates Reading and construction of logic gates A Boolean function is an expression formed with binary variables, a binary variable can take a value of 1 or 0. Boolean function may be represented as an algebraic

More information

Table of Contents. Summary of Changes

Table of Contents. Summary of Changes SECTION 54 RENTAL PAYMENTS FOR SPACE AND LAND Table of Contents 54.1 Do I need to report on rental payments? 54.2 What materials must I provide? 54.3 What terms do I need to know? 54.4 How do I prepare

More information

Non-Redundant (RAID Level 0)

Non-Redundant (RAID Level 0) There are many types of RAID and some of the important ones are introduced below: Non-Redundant (RAID Level 0) A non-redundant disk array, or RAID level 0, has the lowest cost of any RAID organization

More information

Elementary Statistics. Summarizing Raw Data. In Frequency Distribution Table

Elementary Statistics. Summarizing Raw Data. In Frequency Distribution Table Summarizing Raw Data In Frequency Distribution Table 1 / 37 What is a Raw Data? Raw Data (sometimes called source data) is data that has not been processed for meaningful use. What is a Frequency Distribution

More information

General Excel Instructions. Excel Instructions

General Excel Instructions. Excel Instructions Excel Instructions This is a general document designed to assist you with understanding the Excel functions (formulas) and how they work. The contents are: Entering Excel Formulas... 2 How Formulas Work...

More information

Basic AC Reactive Components IMPEDANCE

Basic AC Reactive Components IMPEDANCE Basic AC Reactive Components Whenever inductive and capacitive components are used in an AC circuit, the calculation of their effects on the flow of current is important. EO 1.9 EO 1.10 EO 1.11 EO 1.12

More information

Chapter 2: Formulas, Functions, and Formatting Microsoft Excel 2010 OBJECTIVE We will practice using formulas and functions in Microsoft Excel 2010.

Chapter 2: Formulas, Functions, and Formatting Microsoft Excel 2010 OBJECTIVE We will practice using formulas and functions in Microsoft Excel 2010. OBJECTIVE We will practice using formulas and functions in. ESSENTIAL SKILLS Enter formulas by typing Enter formulas by Point mode Apply the AVERAGE, MAX, and MIN functions Verify a formula using Range

More information