Size: px
Start display at page:

Download ""

Transcription

1 TheFloatingPointAdderoftheAMDAthlonTM ofregister-transferlogicwithacl2: ACaseStudyinFormalVerication DavidM.Russino Processor AdvancedMicroDevices,Inc. Abstract.Asanalternativetocommercialhardwaredescriptionlan- Austin,TX abasisforformalverication.wedescribeamechanicalproofsystem guages,amd1hasdevelopedanrtllanguageformicroprocessorde- signsthatissimpleenoughtoadmitaclearsemanticdenition,providing fordesignsrepresentedinthislanguage,consistingofatranslatortothe ACL2logicalprogramminglanguageandamethodologyforverifying propertiesoftheresultingprogramsusingtheacl2prover.asanillustration,wepresentaproofofieeecomplianceoftheoating-point 1Introduction adderoftheamdathlonprocessor. TheformalhardwarevericationeortatAMDhasemphasizedtheoremprovingusingACL2[3],andhasfocusedontheelementaryoating-pointoperations. andthecorrespondingcircuitsoftheamdathlonprocessor[7],whichwere Oneofthechallengesofourearlierworkwastoconstructaccurateformalmodels erationsoftheamd-k5processor[4,6],whichwereimplementedinmicrocode, ofthetargetedcircuitdesigns.theseincludedthedivisionandsquarerootop- understandingofthesemanticsofthesourcelanguages. totranslatethedesignsbyhandintothelogicofacl2,relyingonanunrigorous initiallymodeledincforthepurposeoftesting.inbothcases,wewererequired setofverilogwithanunderlyingcycle-basedexecutionmodel,thislanguageis developedspecicallyforthatpurpose.essentiallyasmallsynthesizablesubdatedattheregister-transferlevelinahardwaredescriptionlanguagethatwas simpleenoughtoadmitaclearsemanticdenition,providingabasisforformal Ultimately,however,theentiredesignoftheAthlonwasspeciedandvali- analysisandverication.thus,wehavedevelopedaschemeforautomatically translatingrtlcodeintotheacl2logic[8],therebyeliminatinganimportant possiblesourceoferror.usingthisscheme,wehavemechanicallyveriedanumberofoperationsoftheathlonoating-pointunitattheregister-transferlevel, 1AMD,theAMDlogoandcombinationsthereof,AMD-K5,andAMDAthlonare trademarksofadvancedmicrodevices,inc.

2 includingalladdition,subtraction,multiplication,andcomparisoninstructions. oftheathlonoating-pointadder,astate-of-the-artadderwithleadingone predictionlogic[5]. Asanillustrationofourmethods,thispaperdescribestheproofofcorrectness ACL2Version2.6.Manyoftheincludedlemmasaredocumentedin[6]and[7], opmentandformalizationofageneraltheoryofoating-pointarithmeticandits bit-levelimplementation.theresultingacl2library[9]isavailableasapartof andsomeofthedetailsoftheformalizationaredescribedin[8].insections2 Muchoftheeortinvolvedintheprojectsmentionedabovewasinthedevel- thepresentproject. and3below,wepresentseveralextensionsofthelibrarythatwererequiredfor stipulatedinstandard [1]: reportedhereisaformulationofthemainrequirementforieeecompliance,as applyingitinarigorousderivationofthecorrectnessoftheadder.thetheorem InSections4and5,wedemonstratetheutilityofouroating-pointtheory, resultcorrecttoinniteprecisionandwithunboundedrange,andthen roundedthatresult... [Addition]shallbeperformedasifitrstproducedanintermediate patibility,asdenedin[2].however,sinceourmainpurposehereistodescribe Infact,wehavealsoveriedthattheadderdesignconformstootheraspects ofthebehaviorprescribedby[1]pertainingtooverow,underow,andother exceptionalconditions,aswellastherenementsnecessaryforpentiumcom- ofacl2,basedontheacl2translationofthertlcode,andtheirproofshave avericationmethodologyratherthantopresentthedetailsofaspecicproof, thesesecondaryresultshavebeenomittedfromthisreport. wedescribeboththetranslationschemeandourproofmethodology,usingthe allbeenmechanicallycheckedwiththeacl2prover.forthispurpose,wehave developedaproofmethodologybasedonsomefeaturesofacl2.insection5, Allofourtheoremshavebeenformallyencodedaspropositionsinthelogic isstilluncommoninthecomputerindustry,mainlybecauseoftheeortthat adderasanillustration. time,whichwasdividedapproximatelyequallybetweenderivingtheinformal itentails.theworkreportedhere,includingthedevelopmentofthetranslator andotherreusablemachinery,consumedsometwentyweeksoftheauthor's Theuseofmechanicaltheoremprovinginthevalidationofhardwaredesigns proofsandcheckingthemmechanically.however,ashasbeennotedbefore, case,ouranalysisoftheadderexposedalogicalerrorthatwouldhave,under thecostofformalmethodsisfaroutweighedbyitspotentialbenets.inthis certainconditions,resultedinreversingthesignofthesumofzeroandan arbitrarynonzeronumber.thisawhadalreadysurvivedextensivetestingand wasunlikelytobedetectedbyconventionalvalidationmethods.itwaseasily repairedinthertl,butcouldhavebeenveryexpensiveifnotdiscovereduntil later.

3 lengthnwiththenaturalnumbersintherange0x<2n.accordingly,we basisofourtheoryofoating-pointarithmetic.weidentifythebitvectorsof 2BitVectorsandLogicalOperations BitvectorsarethefundamentaldatatypeofourRTLlanguageaswellasthe whilethesliceofxfromtheithbitdownthroughthejthisgivenby denethekthbitofxtobex[k]=rem(bx=2kc;2); Thestandardbinarylogicaloperations,x&y,x y,andx^y,aredened recursively,e.g., x[i:j]=brem(x;2i+1)=2jc: Ifxisabit-vectoroflengthn,thenitscomplementwithrespecttonis x&y=8<:0 2(bx=2c&by=2c)+1ifxandyarebothodd otherwise: ifx=0 Followingconventionalnotation,weshallusetheabbreviation ~x[i:j]=comp1(x[i:j];i?j+1): comp1(x;n)=2n?x?1: library[9].manyofthebasiclemmasaredocumentedin[7]and[8].hereweshall pointaddition,inordertoillustrateourmethodsofproof,especiallytheuseof presentseveralofthemorespecializedlibrarylemmasthatpertaintooating- mathematicalinduction. ThepropertiesofthesefunctionsarecollectedintheACL2oating-point whichisreadilyprovedbyinductionbasedontherecursivedenitionsofthe motivatedbytheobservationthatwhilethetimerequiredforintegeraddition tion2maybeexecutedinconstanttime.thus,forexample,thefollowingresult, increaseslogarithmicallywiththeinputs,thelogicaloperationsdenedinsec- Thedesignoftheadderinvolvesseveralcomputationaltechniquesthatare Lemma1.Forallx;y;z2N, two-inputadder: logicaloperations,providesanecientmethodforaddingthreevectorsusinga resultofasubtractiontobenormalizedeciently(intheeventofcancellation) byperformingtherequiredleftshiftinadvanceofthesubtractionitself.this Amoreinterestingoptimization,knownasleadingoneprediction,allowsthe x+y+z=(x^y^z)+2((x&y)j(x&z)j(y&z)): requiresapredictionofthehighestindexatwhicha1occursinthedierence.

4 Althoughtheprecisecomputationofthisindexappearsgenerallytobeascomplexasthesubtractionitself,ausefulapproximatesolutionmaybeobtained apositiveintegersuchthatexpo(a?b)iseitherexpo()orexpo()?1.we andexpo(a)=e.weshallcompute,inconstanttime(independentofaandb), greatestintegersatisfying2expo(x)jxj.letaandbbeintegerswith0<b<a morequickly. beginbydeningafunctionthatreturnsthedesiredexponent=expo().if Foranyx2Z,expo(x)willdenotetheindexoftheleadingoneofx,i.e.,the Ifa[m:0]=2mandb[m:0]=2m?1,then=0.Otherwise,isthelargest theremainingcase,e?1expo(b)e,maybecomputedasfollows:first, letmbethelargestindexsuchthata[m]>b[m],i.e.,a[m]=1andb[m]=0. indexsuchthatmanda[?1]b[?1]. expo(b)<e?1,thena=2<a?baandwehavethetrivialsolution=e.in Lemma2.Leta;b;n2N.Foralld2Zandk2N,letck=a[k]?b[k]and inwhichisrepresentedasarecursivefunction: Thecorrectnessofthiscomputationisestablishedbythefollowinglemma, Ifa<2n,b<2n,anda6=b,then(a;b;0;n)?1expo(a?b)(a;b;0;n). (a;b;d;k)=8><>: (a;b;d;k?1) 0 (a;b;ck?1;k?1)ifk>0andd=0 k ifk>0andd6=0andd=?ck?1 Proof:Itiseasytoshow,byinductiononk,that(a;b;d;k)=(b;a;?d;k). ifk=0 ifk>0andd6=0andd6=?ck?1: andb[k?1:0]=b0[k?1:0],then(a;b;d;k)=(a0;b0;d;k). Therefore,wemayassumethata>b.Notealsothatifa[k?1:0]=a0[k?1:0] Weproceedbyinduction,assumingn>1. Inthecasen=1,wehavea=1,b=0,and byinductivehypothesis, Supposerstthatcn?1=0.Leta0=a[n?2:0]andb0=b[n?2:0].Then expo(a?b)=0=(a;b;1;0)=(a;b;0;1): Buta?b=a0?b0,henceexpo(a?b)=expo(a0?b0),and (a;b;0;n)=(a;b;cn?1;n?1)=(a;b;0;n?1)=(a0;b0;0;n?1): (a0;b0;0;n?1)?1expo(a0?b0)(a0;b0;0;n?1): anda[n?2]=b[n?1]=0.itfollowsthat Nowsupposethatcn?1=1andcn?2=?1.Thena[n?1]=b[n?2]=1 Leta0=a?2n?2andb0=b?2n?2.Then 2n?1+2n?2>a2n?1>b2n?2: 2n?1>a02n?2>b00:

5 andexpo(a?b)=expo(a0?b0).but Onceagain,(a0;b0;0;n?1)?1expo(a0?b0)(a0;b0;0;n?1) Intheremainingcase,cn?1=1andcn?20.Now (a;b;0;n)=(a;b;1;n?1)=(a;b;1;n?2)=(a0;b0;1;n?2) 2n>aa?b2n?1?b[n?3:0]>2n?1?2n?2=2n?2; =(a0;b0;0;n?1): hencen?2expo(a?b)n?1,while expo()=(a;b;0;e+1).first,wehandletherelativelysimplecaseexpo(b)< expo(a): Thus,werequireageneralmethodforcomputinganumbersuchthat (a;b;0;n)=(a;b;1;n?1)=n?1:2 Then>0andexpo()?1expo(a?b)expo(). Lemma3.Leta;b2Nwithexpo(b)<expo(a)=e,andlet Proof:Since =2a[e?1:0]j~(2b)[e:0]: itwillsucetoshow,accordingtolemma2,that (a;b;0;e+1)=(a;b;1;e)=(a[e?1:0];b;1;e); Usinginduction,weshallprovethefollowingmoregeneralresult:Foralla;b;k2 N,ifa<2kandb<2k,then (a[e?1:0];b;1;e)=expo(): Ifk=0,thena=b=0and expo(2aj~(2b)[k:0])=expo(0j1)=0=(a;b;1;k): (a;b;1;k)=expo(2aj~(2b)[k:0]): Supposek>0.Ifa[k?1]=0andb[k?1]=1,then (a;b;1;k)=(a;b;1;k?1) =(a;b[k?2:0];1;k?1) =expo(2aj~(2b)[k:0]): =expo(2aj~(2b?2k)[k?1:0]) =(a;b?2k?1;1;k?1)

6 Sinceexpo(2aj~(2b)[k:0])=max(expo(2a);expo(~(2b)[k:0]))k; Intheremainingcase,(a;b;1;k)=kandeithera[k?1]=1orb[k?1]=0. weneedonlyshowmax(expo(2a);expo(~(2b)[k:0]))k:butifa[k?1]=1, then2a22k?1=2k,andifb[k?1]=0,thenb<2k?1,whichimplies Lemma4.Leta;b2Nsuchthata6=bandexpo(a)=expo(b)=e>1.Let ~(2b)[k:0]=2k+1?2b?1>2k?1.2 Thenextlemmacoversthemorecomplicatedcaseexpo(b)=expo(a): z=~(aj~b[e:0])[e:0]; g=a&~b[e:0]; t=a^~b[e:0]; 0=(t[e:2]&g[e?1:1]&~z[e?2:0])j (~t[e:2]&z[e?1:1]&~z[e?2:0])j and (t[e:2]&z[e?1:1]&~g[e?2:0])j (~t[e:2]&g[e?1:1]&~g[e?2:0]); Then>0andexpo()?1expo(a?b)expo(). Proof:LetckandbedenedasinLemma2.Sincece=0, =20+1?t[0]: Infact,weshallderivethefollowingmoregeneralresult:Foralln2N,ifne?1 andthereforeitwillsucetoshowthat6=0and(a;b;ce?1;e?1)=expo(). anda[n:0]6=b[n:0],then[n:0]6=0and (a;b;0;e+1)=(a;b;0;e)=(a;b;ce?1;e?1); Forthecasen=0,notethata[0]6=b[0]implies[0:0]=1,henceexpo([0: 0])=0,while(a;b;c0;0)=(a;b;?c0;0)=0. expo([n:0])=(a;b;cn;n)ifcn=0orcn+1=0 Weproceedbyinduction.Let0<ne?1.Notethatfor0ke?2, (a;b;?cn;n)otherwise: 0[k]=1,t[k+2]=1andg[k+1]=1andz[k]=0;or t[k+2]=0andg[k+1]=1andg[k]=0: t[k+2]=1andz[k+1]=1andg[k]=0;or t[k+2]=0andz[k+1]=1andz[k]=0;or

7 For0ke, Itfollowsthatfor0ke?2, t[k]=1,ck=0;g[k]=1,ck=1;andz[k]=1,ck=?1: 0[k]=1,ck+16=0;and Butsincen>0,[n]=0[n?1],andsincene?1, ifck+26=0thenck6=ck+1: ifck+2=0thenck6=?ck+1;and [n]=1,cn6=0;and Ifcn=0,then[n]=0,hence[n:0]=[n?1:0]6=0and ifcn+1=0thencn?16=?cn;and expo([n:0])=expo([n?1:0])=(a;b;cn?1;n?1)=(a;b;cn;n): ifcn+16=0thencn?16=cn: [n:0]=[n?1:0]6=0and expo([n:0])=expo([n?1:0])=(a;b;?cn?1;n?1)=(a;b;?cn?1;n) Next,supposecn6=0andcn+1=0.Ifcn?1=?cn,then[n]=0,hence Butifcn?16=?cn,then[n]=1and =(a;b;cn;n): [n?1:0]6=0,and Finally,supposecn6=0andcn+16=0.Ifcn?1=cn,then[n]=0,[n:0]= expo([n:0])=n=(a;b;cn;n): Butifcn?16=cn,then[n]=1and expo([n:0])=expo([n?1:0])=(a;b;?cn?1;n?1)=(a;b;?cn?1;n) =(a;b;?cn;n): thetrailingoneofasumordierence,i.e.,theleastindexatwhicha1occurs. Thefollowinglemmaprovidesamethodforcomputing,inconstanttime,an Finally,forthepurposeofecientrounding,itwillalsobeusefultopredict expo([n:0])=n=(a;b;?cn;n):2 incrementingthesumofoneoperandandthecomplementoftheother.thus,the twocasesc=0andc=1ofthelemmacorrespondtoadditionandsubtraction, twogivenoperands.asusual,subtractionisimplementedthroughaddition,by respectively.weomittheproof,whichissimilartothatoflemma4. integerthathaspreciselythesametrailingoneasthesumordierenceof

8 Lemma5.Leta;b;c;n;k2Nwitha<2n,b<2n,k<n,andc<2.Let =~(a^b)[n?1:0]ifc=0 =2(ajb)ifc=0 2(a&b)ifc=1, ifc=1, and Then (a+b+c)[k:0]=0,[k:0]=0: =~(^)[n:0]: 3FloatingPointNumbersandRounding Floatingpointrepresentationofrationalnumbersisbasedontheobservation thateverynonzerorationalxadmitsauniquefactorization, andexpo(x)2z(theexponentofx). wheresgn(x)2f1;?1g(thesignofx),1sig(x)<2(thesignicandofx), Aoatingpointrepresentationofxisabitvectorconsistingofthreeelds, x=sgn(x)sig(x)2expo(x); andexpo(x),respectively.ifzisabitvectoroflength++1,thenthe positiveintegers=(;),representingthenumberofbitsallocatedtosig(x) e=z[+?1:],andm=z[?1:0],respectively.therationalnumber correspondingtosgn(x),sig(x),andexpo(x).aoatingpointformatisapairof sign,exponent,andsignicandeldsofzwithrespecttoares=z[+], representedbyzisgivenby thensgn(x)=(?1)s,sig(x)=2?1m,andexpo(x)=e?(2?1?1).note Ifz[?1]=1,thenzisanormal-encoding.Inthiscase,ifx=decode(z;), thattheexponenteldisbiasedinordertoprovideforanexponentrange decode(z;)=(?1)sm2e?2?1?+2: 1?2?1expo(x)2?1. shownthatxisrepresentablewithrespectto,i.e.,thereexistsz2nsuchthat x=decode(z;),ixis-exactand?2?1+1expo(x)2?1. Letx2Qandn2N.Thenxisn-exactisig(x)2n?12Z.Itiseasily format: single,double,andextendedprecisionasspeciedbyieee,andalargerinternal TheAMDAthlonoating-pointunitsupportsfourformats,correspondingto (24;7),(53;10),(64;15),and(68;18).

9 Inourdiscussionoftheadder,oatingpointnumberswillalwaysberepresented correspondingtoanarbitraryrationalxandadegreeofprecisionn2n.the intheinternal(68;18)format.ifzisabitvectoroflength87,thenweshall mostbasicroundingmode,truncation(roundtoward0),isdenedby abbreviatedecode(z;(68;18))as^z. AroundingmodeisafunctionMthatcomputesann-exactnumberM(x;n) Thus,trunc(x;n)isthen-exactnumberythatisclosesttoxandsatises jyjjxj.similarly,roundingawayfrom0isgivenby trunc(x;n)=sgn(x)b2n?1sig(x)c2expo(x)?n+1: (roundtothenearestn-exactnumber,withambiguitiesresolvedbyselecting andthethreeothermodesdiscussedin[6]aredenedsimplyintermsofthose two:inf(x;n)(roundtoward1),minf(x;n)(roundtoward?1),andnear(x;n) away(x;n)=sgn(x)d2n?1sig(x)e2expo(x)?n+1; (n?1)-exactvalues. IfMisanyroundingmode,2N,andx2Q,thenweshallwrite minf.weshallrefertotheseasieeeroundingmodes. ThemodesthataresupportedbytheIEEEstandardaretrunc,near,inf,and Asshowedin[7],anumbercanberoundedaccordingtoanyIEEErounding rnd(x;m;)=m(x;): ifxisapositiveintegerwithexpo(x)=e,thentheroundingconstantforx modebyaddinganappropriateconstantandtruncatingthesum.inparticular, correspondingtoagivenmodemanddegreeofprecisionis Lemma6.LetMbeanIEEEroundingmode,2Z,>1,andx2Nwith C(e;M;)=8<:2e?+1?1ifM=inf 0 ifm=truncorm=minf. ifm=near expo(x).then where=?1ifm=nearandxis(+1)-exactbutnot-exact rnd(x;m;)=trunc(x+c(expo(x);m;);); pointaddition:ifx2q,n2n,andn>1,then Anadditionalroundingmodeiscriticaltotheimplementationofoating- otherwise. tobits,accordingtoanyieeeroundingmode,canalwaysberecoveredfrom sticky(x;n)=x Thesignicanceofthisoperationisthattheresultofroundinganumberx trunc(x;n?1)+sgn(x)2expo(x)+1?notherwise: ifxis(n?1)-exact sticky(x;+2):

10 n+2,then Lemma7.LetMbeanIEEEroundingmode,2N,n2N,andx2Q.If followtrivially.first,notethatsincesticky(x;n)isn-exactbutnot(n?1)-exact, Proof:Wemayassumethatx>0andxisnot(n?1)-exact;theothercases trunc(sticky(x;n);n?1)=sticky(x;n)?2expo(sticky(x;n))?(n?1) rnd(x;m;)=rnd(sticky(x;n);m;): Thus,foranym<n, =sticky(x;n)?2expo(x)+1?n trunc(sticky(x;n);m)=trunc(trunc(x;n?1);m)=trunc(x;m); =trunc(x;n?1): andthecorrespondingresultforawaymaybesimilarlyderived. showthatiftrunc(x;+1)=trunc(y;+1)andaway(x;+1)=away(y;+1), thennear(x;)=near(y;).wemayassumexy.supposenear(x;)6= near(y;).thenforsome(+1)-exacta,xay.butthisimpliesx= a,forotherwisetrunc(x;+1)x<atrunc(y;+1).similarly,y= ThisdisposesofallbutthecaseM=near.Forthislastcase,itsucesto contradiction.2 a,forotherwiseaway(x;+1)a<yaway(y;+1).thus,x=y,a k+expo(x)?expo(y),andk00=k+expo(x+y)?expo(y).ifk>1,k0>1, k00>1,andxis(k0?1)-exact,then Lemma8.Letx;y2Qsuchthaty6=0andx+y6=0.Letk2Z,k0= Thefollowingpropertyisessentialforcomputingaroundedsumordierence: Thus, Proof:Sincexis(k0?1)-exact,2k?2?expo(y)x=2(k0?1)?1?expo(x)x2Z. x+sticky(y;k)=sticky(x+y;k00): yis(k?1)-exact,2k?2?expo(y)y2z,2k?2?expo(y)y+2k?2?expo(y)x2z Ifyis(k?1)-exact,then,2k00?2?expo(x+y)(x+y)2Z x+sticky(y;k)=x+y=sticky(x+y;k00):,x+yis(k00?1)-exact: k,k0,andk00asdenedabove,andundertheweakerassumptionsthatk>0, Thus,wemayassumethatyisnot(k?1)-exact.Nowin[6]itwasproved,with k0>0,k00>0,andxisk0-exact,that x+trunc(y;k)=trunc(x+y;k00)ifsgn(x+y)=sgn(y) away(x+y;k00)ifsgn(x+y)6=sgn(y):

11 Hence,ifsgn(x+y)=sgn(y),then x+sticky(y;k)=x+trunc(y;k?1)+sgn(y)2expo(y)+1?k Ontheotherhand,ifsgn(x+y)6=sgn(y),then =trunc(x+y;k00?1)+sgn(x+y)2expo(x+y)+1?k00 x+sticky(y;k)=x+trunc(y;k?1)+sgn(y)2expo(y)+1?k =sticky(x+y;k00): =away(x+y;k00?1)?sgn(x+y)2expo(x+y)+1?k00 =trunc(x+y;k00?1)+sgn(x+y)2expo(x+y)+1?k00 4DescriptionoftheAdder =sticky(x+y;k00):2 preciselyin[8],aprograminthislanguageconsistsmainlyofinputdeclarations, combinationalassignments,andsequentialassignments,whichhavetheforms RTLlanguageasthecircuitdescriptionA,displayedinFigs.1{6.Asdened AsimpliedversionoftheAthlonoating-pointadderisrepresentedintheAMD inputs[k:0]; s[k:0]=e; (1) and s[k:0]<=e; (3) (2) thethreecontexts(1),(2),and(3),andiscalledaninput,awire,oraregister, andeisanexpressionconstructedfromsignalsandstandardlogicalconnectives. respectively,wherek2n,sisasignalrepresentingabitvectoroflengthk+1, Eachsignalsoccurringanywhereinadescriptionmustappearinexactlyoneof andisthenalsocalledanoutput.notethatthecircuitahasveinputs,a, accordingly.anysignalmayalsooccurinanoutputdeclaration, b,op,rc,pc(fig.1),andoneoutput,r(fig.2),whichhappenstobeawire (Fig.6). outputs[k:0]; (4) Acircuitdescriptionmayalsocontainconstantdenitionsoftheform ingtothedenitionoffsub0(fig.1),thevaluecomputedfortheassignment sentingasetofconstants.generalizedconstantexpression.forexample,accord- whererisanidentierandciseitheranumericalconstantorapatternrepre- `definerc

12 siscalledadirectsupporterofs.ifsisawireands0isanysignal,thensdepends statementtosub(fig.2)is1wheneverthevalueofthe11-bitvectoropmatches thestring x10x. ons0is0isadirectsupportereitherofsorofsomewireonwhichsdepends. Itisasyntacticrequirementofthelanguagethatnowiredependsonitself. AnysignalthatoccursinthedeningexpresssionEfora(non-input)signal combinationalcircuitareparticularlysimple:thebehaviorofeachoutputmay n-cyclesimplepipelineifeachofitssignalssmaybeassignedacyclenumber generalclassofcircuits,whichwedeneasfollows:acircuitdescriptionisan bedescribedasafunctionoftheinputs.infact,thesameistrueofamore Acombinationalcircuitisonethatisfreeofregisters.Thesemanticsofa (1)ifsisaninput,then (2)ifsisawire,then (3)ifsisaregister,then (s)2f1;:::;ngsuchthat (4)ifsisanoutput,then (s0)= (s)=1; (s0)=(s)foreachdirectsupporters0ofs; functionwitheachsignal.thisfunctionreturnsasequenceofvalues,interpreted In[8],wepresentageneralsemanticdenitionoftheRTLlanguage.associatinga (s)=n.(s)?1foreachdirectsupporters0ofs; oncycle1.moreover,thisfunctionaldependenceoninputsisthesameasforthe thevalueofeachsignalsoncycle sequencesofvaluesoftheinputsignals.itisshownthatforasimplepipeline, asthevaluesassumedbythesignalonsuccessivecycles,foragivensetof sequentialassignment(3)bythecorrespondingcombinationalassignment(2) combinationalcircuitthatresultsfromcollapsingthepipelinebyreplacingeach (s)isdeterminedbythevaluesoftheinputs simplepipeline.inordertosimplifyouranalysisofthecircuitaswellasthis theoriginalasfollows: presentation,thecircuitdescriptionalistedbelowwasderivedbymodifying TheactualRTLmodeloftheAMDAthlonoating-pointadderisa4-cycle (2)Allcodepertainingtofunctionsotherthanadditionandsubtraction,which (1)Allsequentialassignmentshavebeenreplacedwithcombinationalassignments,yieldinganequivalentcombinationalcircuit. (3)Allcodepertainingtothereportingofexceptionalconditions,including areperformedbythesamehardware,hasbeendeleted. (5)Signalnameshavebeenchangedtopromotereadability. (4)Theremainingcodehasbeensimpliedbyeliminatingsignalsandcombining assignmentswhenpossible. overowandunderow,hasbeendeleted. TheresultingcircuitAisshorterandsimplerthantheoriginal,andbearsless resemblancetotheintendedgate-levelimplementation,butthetwomayeasily beshowntobesemanticallyequivalentwithrespecttothecomputationofsums anddierences.infact,thisequivalencehasbeenestablishedmechanicallyas discussedinsection6.

13 //Definitions modulea; `defineinfinity //***************************************************************************** `defineunsupported `definesnan `definenormal `definezero `defineqnan //CLASSDEFINITIONS `definedenorm 3'b000 `definemmx 3'b010 3'b011 3'b100 3'b101 3'b001 //OPCODEDEFINITIONS// `definefadd11'b1100xx0x000 `definefaddu11'b `definefsub011'b x10x 3'b111 3'b110 `definefsub111'b x10x `definefsub211'b x10x `definefsubu11'b `definefaddt6411'b `definefsubt6411'b `definefaddt6811'b `definefsubt6811'b //PRECISIONDEFINITIONS// `definerc_rn2'b00//roundtonearest `definepc_642'b10//double `definepc_802'b11//extended `definepc_80r2'b01//extended(reserved) //ROUNDINGDEFINITIONS// `definepc_322'b00//single `definerc_rz2'b11//truncate `definerc_rm2'b01//roundtominusinfinity `definerc_rp2'b10//roundtoplusinfinity inputb[89:0]; inputop[10:0]; //Parameters inputrc[1:0]; //***************************************************************************** inputpc[1:0]; //INPUTS// inputa[89:0]; //firstoperand //opcode //secondoperand //roundingcontrol //precisioncontrol Fig.1.CircuitA

14 //OUTPUT// outputr[89:0]; //OPERANDFIELDS// mana[67:0]=a[67:0];manb[67:0]=b[67:0]; //sumordifference azero=(classa[2:0]==`zero);bzero=(classb[2:0]==`zero); classa[2:0]=a[89:87];classb[2:0]=b[89:87]; signa=a[86];signb=b[86]; expa[17:0]=a[85:68];expb[17:0]=b[85:68];//exponent //significand sub=casex(op[10:0]) ext_op=(op==`faddt64) (op==`fsubt64); //OPERATION// int_op=(op==`faddt68) (op==`fsubt68); //class `FSUB0,`FSUB1,`FSUB2,`FSUBU,`FSUBT68,`FSUBT64:1'b1; rc_minf=(rc[1:0]==`rc_rm)&~int_op; //ROUNDINGCONTROL// rc_near=(rc[1:0]==`rc_rn) int_op; esub=sub^signa^signb;//effectivesubtraction endcase; default:1'b0; rc_inf=(rc[1:0]==`rc_rp)&~int_op; //roundtonearest //roundtominusinfinity pc_80=(((pc==`pc_80) (pc==`pc_80r))&~int_op) ext_op;//extended pc_64=(pc==`pc_64)&~ext_op&~int_op; //PRECISIONCONTROL// pc_32=(pc==`pc_32)&~ext_op&~int_op; rc_trunc=(rc[1:0]==`rc_rz)&~int_op;//truncate //roundtoplusinfinity pc_87=int_op; //FirstCycle //internal //double //single //******************************************************************************** overshift=(swap&( diffneg[17:7])) (~swap&( diffpos[17:7])) rsa[6:0]=swap?diffneg[6:0]:diffpos[6:0]; diffneg[17:0]=expb[17:0]+~expa[17:0]+18'b1; expl[17:0]=bzero (~azero&~swap)?expa:expb; swap=~diffpos[18]; diffpos[18:0]={1'b0,expa[17:0]}+{1'b0,~expb[17:0]}+19'b1; //SELECTCLOSEORFARPATH// swap_close=~(expa[0]^expa[1]^expb[1]); shift_close=expa[0]^expb[0]; //CLOSEPATH// ina_shift_close[68:0]=shift_close?{1'b0,mana[67:0]}:{mana[67:0],1'b0}; far=~esub azero bzero overshift ( rsa[6:1]); (rsa[6]&(( rsa[5:3]) (&rsa[2:1]))); inb_shift_close[68:0]=shift_close?{1'b0,manb[67:0]}:{manb[67:0],1'b0}; Fig.2.CircuitA(continued)

15 inb_swap_close[68:0]=(shift_close&swap_close)? ina_swap_close[68:0]=(shift_close&swap_close)? lop0[68:0]={mana[66:0],2'b0} {1'b0,~manb[66:0],1'b1}; lop1_t[67:0]=mana[67:0]^~manb[67:0]; lop1_g[67:0]=mana[67:0]&~manb[67:0]; lop1_z[67:0]=~(mana[67:0] ~manb[67:0]); {manb[67:0],1'b0}:{mana[67:0],1'b0}; lop1[67:0]={1'b0, (lop1_t[67:2]&lop1_g[66:1]&~lop1_z[65:0]) ina_shift_close[68:0]:inb_shift_close[68:0]; lop2[68:0]={manb[66:0],2'b0} {1'b0,~mana[66:0],1'b1}; lop[68:0]=shift_close?(swap_close?lop2[68:0]:lop0[68:0]):{lop1[67:0],1'b0}; found=1'b0; ~lop1_t[0]}; (~lop1_t[67:2]&lop1_g[66:1]&~lop1_g[65:0]), (lop1_t[67:2]&lop1_z[66:1]&~lop1_g[65:0]) (~lop1_t[67:2]&lop1_z[66:1]&~lop1_z[65:0]) for(i=68;i>=0;i=i-1) if(lop[i]&~found) begin ina_far[67:0]=azero (swap&~bzero)?manb[67:0]:mana[67:0]; //FARPATH// rshiftin_far[67:0]=swap?mana[67:0]:manb[67:0]; end lsa[6:0]=7'h44-i[6:0]; found=1'b1; //SecondCycle //*********************************************************************************** //PREDICTEXPONENTOFRESULT// ina_add[70:0]=far?{ina_far[67:0],3'b0}:{ina_close[68:0],2'b0}; lshift[17:0]=far?(esub?18'h3ffff:18'b0):~{11'b0,lsa[6:0]}; //ALIGNOPERANDS// ina_close[68:0]=~shift_close&(mana<manb)?inb_swap_close[68:0]<<lsa[6:0]: inb_close[68:0]=~shift_close&(mana<manb)?ina_swap_close[68:0]<<lsa[6:0]: exp[17:0]=expl[17:0]+lshift[17:0]; ina_swap_close[68:0]<<lsa[6:0]; sticky_far=~(azero bzero)&(overshift ( sticky_t[124:58])); inb_far[70:0]={rshiftout_far[69:0],sticky_far}; inb_add_nocomp[70:0]=far azero bzero?inb_far[70:0]:{inb_close[68:0],2'b0}; rshiftout_far[69:0]=overshift azero bzero? sticky_t[194:0]={rshiftin_far[67:0],127'b0}>>rsa[6:0]; 70'b0:{rshiftin_far[67:0],2'b0}>>rsa[6:0]; inb_swap_close[68:0]<<lsa[6:0]; inb_add[70:0]=esub?~inb_add_nocomp[70:0]:inb_add_nocomp[70:0]; Fig.3.CircuitA(continued)

16 abequal=esub&(mana==manb)&(expa==expb); //DETERMINESIGNOFRESULT// sign_tmp=swap (~far&~shift_close&(mana<manb))?signb^sub:signa; sign_reg=((~azero&~bzero&~abequal&sign_tmp) (~azero&~bzero&abequal&rc_neg) //COMPUTEROUNDINGCONSTANT// (azero&~bzero&(signb^sub)) int_noco[70:0]={68'b0,1'b1,2'b0};//71'h4 (ainf&signa) (binf&(signb^sub)); (azero&bzero&(signa^(signb^sub))&rc_neg))&~(ainf binf) (azero&bzero&signa&(signb^sub)) (~azero&bzero&signa) ext_noco[70:0]=case(1'b1) doub_noco[70:0]=case(1'b1) endcase; rc_near:{65'b1,6'b0}; rc_trunc:71'b0; rc_inf:{64'h0,~{7{sign_reg}}}; rc_minf:{64'h0,{7{sign_reg}}}; sing_noco[70:0]=case(1'b1) endcase; rc_near:{54'b1,17'b0};rc_minf:{53'h0,{18{sign_reg}}}; rc_trunc:71'h0; rc_inf:{53'h0,~{18{sign_reg}}}; rconst_noco[70:0]=case(1'b1) endcase; rc_near:{25'b1,46'b0};rc_minf:{24'h0,{47{sign_reg}}}; pc_64:doub_noco;pc_32:sing_noco; pc_87:int_noco;pc_80:ext_noco; rc_inf:{24'h0,~{47{sign_reg}}}; //ThirdCycle //*********************************************************************************** endcase; overflow=sum[71]; ols=~sum[70]; //COMPUTESUMASSUMINGNOOVERFLOWORCANCELLATION,CHECKFORCARRYOUT// sum_noco[70:0]=rconst_noco[70:0]^ina_add[70:0]^inb_add[70:0]; sum[71:0]={1'b0,ina_add[70:0]}+{1'b0,inb_add[70:0]}+{71'b0,esub}; //CHECKFOROVERFLOWORCANCELLATION// carry_noco[71:0]={(rconst_noco[70:0]&ina_add[70:0]) sum71_noco[72:0]={2'b0,sum_noco[70:0]}+{1'b0,carry_noco[71:0]}+{72'b0,esub}; overflow_noco=sum71_noco[71]; 1'b0}; (ina_add[70:0]&inb_add[70:0]), (rconst_noco[70:0]&inb_add[70:0]) Fig.4.CircuitA(continued)

17 rconst_co[70:0]=esub?{1'b0,rconst_noco[70:1]}:{rconst_noco[69:0],rconst_noco[0]}; //COMPUTESUMASSUMINGOVERFLOWORCANCELLATION,CHECKFORCARRYOUT// sum71_co[72:0]={2'b0,sum_co[70:0]}+{1'b0,carry_co[71:0]}+{72'b0,esub}; carry_co[71:0]={(rconst_co[70:0]&ina_add[70:0]) sum_co[70:0]=rconst_co[70:0]^ina_add[70:0]^inb_add[70:0]; ols_co=~sum71_co[70]; overflow_co=sum71_co[72]; 1'b0}; (ina_add[70:0]&inb_add[70:0]), (rconst_co[70:0]&inb_add[70:0]) //COMPUTESTICKYBITOFSUMFOREACHOFTHREECASES// sticksum[47:0]=esub?ina_add[47:0]^inb_add[47:0]:~(ina_add[47:0]^inb_add[47:0]); stickcarry[47:0]=esub?{ina_add[46:0]&inb_add[46:0],1'b0}: sticky_noco=sticky_ols (stick[45]&pc_32) (stick[16]&pc_64) sticky_ols=( stick[44:16]&pc_32) ( stick[15:5]&(pc_32 pc_64)) sticky_co=sticky_noco (stick[46]&pc_32) (stick[17]&pc_64) stick[47:0]=~(sticksum[47:0]^stickcarry[47:0]); ( stick[4:1]&~pc_87) stick[0]; (stick[5]&pc_80) stick[1]; {ina_add[46:0] inb_add[46:0],1'b0}; //FourthCycle //*************************************************************************************** (stick[6]&pc_80) stick[2]; //COMPUTESIGNIFICAND// man_noco[67:0]= {sum71_noco[72] sum71_noco[71] sum71_noco[70], sum71_noco[69:48], sum71_noco[47]&~(~sum71_noco[46]&~sticky_noco&pc_32&rc_near), sum71_noco[46:19]&{28{~pc_32}}, sum71_noco[18]&~(pc_32 (~sum71_noco[17]&~sticky_noco&pc_64&rc_near)), man_co[67:0]= sum71_noco[17:8]&~{10{pc_32 pc_64}}, {sum71_co[72] sum71_co[71], }; sum71_noco[6:4]&~{3{pc_32 pc_64 pc_80}}, sum71_noco[3]&~(pc_32 pc_64 pc_80 (~sum71_noco[2]&~sticky_noco&rc_near)) sum71_noco[7]&~(pc_32 pc_64 (~sum71_noco[6]&~sticky_noco&pc_80&rc_near)), sum71_co[70:49], sum71_co[4]&~(pc_32 pc_64 pc_80 (~sum71_co[3]&~sticky_co&rc_near)) sum71_co[18:9]&~{10{pc_32 pc_64}}, sum71_co[7:5]&~{3{pc_32 pc_64 pc_80}}, sum71_co[47:20]&{28{~pc_32}}, sum71_co[19]&~(pc_32 (~sum71_co[18]&~sticky_co&pc_64&rc_near)), sum71_co[8]&~((pc_32 pc_64) (~sum71_co[7]&~sticky_co&pc_80&rc_near)), sum71_co[48]&~(~sum71_co[47]&~sticky_co&pc_32&rc_near), }; Fig.5.CircuitA(continued)

18 man_ols[67:0]= {sum71_co[70] sum71_co[69], sum71_co[45:18]&{28{~pc_32}}, sum71_co[16:7]&~{10{pc_32 pc_64}}, sum71_co[17]&~(pc_32 (~sum71_co[16]&~sticky_ols&pc_64&rc_near)), sum71_co[68:47], sum71_co[46]&~(~sum71_co[45]&~sticky_ols&pc_32&rc_near), man_reg[67:0]=case(1'b1) }; sum71_co[2]&~(pc_32 pc_64 pc_80 (~sum71_co[1]&~sticky_ols&rc_near)) sum71_co[6]&~((pc_32 pc_64) (~sum71_co[5]&~sticky_ols&pc_80&rc_near)), sum71_co[5:3]&~{3{pc_32 pc_64 pc_80}}, exp_noco[17:0]=overflow_noco?exp[17:0]+18'h1:exp[17:0]; //ADJUSTEXPONENT:// endcase; esub&ols ~esub&overflow (~esub&~overflow) (esub&~ols):man_noco[67:0]; exp_co[17:0]=overflow_co?exp[17:0]+18'h2:exp[17:0]+18'b1; :man_ols[67:0]; :man_co[67:0]; exp_noco_sub[17:0]=overflow^overflow_noco? exp_reg[17:0]=case(1'b1) exp_ols[17:0]=ols_co?exp[17:0]:exp[17:0]+18'h1; (esub&~ols) (~esub&overflow):exp_co[17:0]; (~esub&~overflow):exp_noco[17:0]; exp[17:0]+18'h2:exp[17:0]+18'h1; //DETERMINECLASS// class_reg[2:0]=case(1'b1) endcase; (azero&bzero) abequal:`zero; (esub&ols) :exp_noco_sub[17:0]; default :exp_ols[17:0]; //FINALRESULT// r[89:0]={class_reg[2:0],sign_reg,exp_reg[17:0],man_reg[67:0]}; endmodule endcase; :`NORMAL; Fig.6.CircuitA(continued)

19 structureinsofarasitssignalsaregroupedaccordingtotheircyclenumbers withrespecttotheoriginalrtlspecication,andouranalysiswillbeguided bythisorganization.asarststeptowardunderstandingthe4-cyclestructure, considerthefollowingprocedure,whichrepresentsanaiveapproachtooating Althoughitiscombinational,ourlistingofAreectstheadder's4-cycle (2)Performtherequiredrightshiftonthesignicandeldthatcorrespondsto (1)Comparetheexponenteldsofthesummandstodeterminetherightshift pointadditionandsubtraction: (3)Add(orsubtract)thealignedsignicands,togetherwiththeappropriate necessarytoalignthesignicands; (4)Determinetheleftshiftrequiredtonormalizetheresult; thelesserexponent; (6)Computethenalresultbyassemblingthesign,exponent,andsignicand (5)Performtheleftshiftandadjusttheexponentaccordingly; roundingconstant; clockrates,eachoftheaboveoperationsmightreasonablycorrespondtoasingle Undertheconstraintsimposedbycontemporarytechnologyandmicroprocessor cycle,resultinginasix-cycleimplementation.itispossible,however,toimprove elds. (iftheexponentsarevastlydierent),onlyoneofthesepossibilitieswillberealizedforanygivenpairofinputs.thus,theathlonadderincludestwodata Themostimportantoptimizationoftheabovealgorithmisbasedonthe traction,ifmassivecancellationoccurs),andalargerightshiftmightberequired observationthatwhilealargeleftshiftmightberequired(inthecaseofsub- onthiscyclecountbyexecutingsomeoftheseoperationsinparallel. (1)and(2),respectively,resultinginafour-cycleimplementation.InSection5, cuted;ontheother,calledtheclosepath,theleftshiftisperformedinstead.as paths:ononepath,calledthefarpath,therightshiftisdeterminedandexetion.consequently,steps(4)and(5)maybeexecutedconcurrentlywithsteps notedinsection2,theleftshiftmaybedeterminedinadvanceofthesubtrac- weshallexaminethecodecorrespondingtoeachcycleindetail. terminedbyagivensetofvaluescorrespondingtotheinputs.weadoptthe conventionofitalicizingthenameofeachsignaltodenoteitsvalueforthese inputs.thus,rdenotestheoutputvaluedeterminedbytheinputsa,b,op,rc, andpc. Inthesubsequentdiscussion,weshallassumeaxedexecutionofAde- recorded.whilealleightclassesarehandledbytheactualrtl,weconsiderhere signicandelds,accordingtotheamdathloninternal(68;18)format.the bits,includingathree-bitencodingofitsclass,alongwithsign,exponent,and eldsofaareassignedtoclassa,signa,expa,andmana;thoseofbaresimilarly Theinputvaluesaandbaretheoperands.Eachoperandisavectorofninety onlythecaseclassa=classb=normal,andassumethataandbarenormal thatallcomputedexponenteldsarerepresentableintheallotted18bits(see, (68;18)-encodings,i.e.,mana[67]=manb[67]=1.Further,inordertoensure

20 forexample,theproofoflemma14(a)),weassumethatexpaandexpbareboth assumetobeoneofthe11-bitopcodeslistedinfigure1.thisopcodemayindicateeitheradditionorsubtraction,asreectedbythe1-bitsignalsub(figure2). LetEdenotetheexactresultofthisoperation,i.e., Theoperationtobeperformedisencodedastheinputop,whichweshall intherangefrom69to218?3. Forsimplicity,weshallassumethatE6=0. E=^a+^bifsub=0 values,exactlyoneofthebitsrc_near,rc_minf,rc_inf,andrc_truncis1, Roundingcontrolisdeterminedbyrcalongwithop.Accordingtothesetwo ^a?^bifsub=1. pc_80,andpc_87isset.wedenetobethecorrespondingdegreeofprecision: asshowninfigure2.weshallintroduceavariablem,whichwedenetobe 24,53,64,or68,respectively. andrc=rc_rz,thenrc_trunc=1andm=trunc. correspondingroundingmode.forexample,ifopisneitherfaddt68norfsubt68 TheresultprescribedbytheIEEEstandardwillbedenotedasP,i.e., Similarly,pcandoptogetherdeterminewhichoneofthebitspc_32,pc_64, Ourgoalmaynowbestatedasfollows: Theorem1.Supposethata[89:77]andb[89:87]arebothNORMALandthat P=rnd(E;M;): NORMAL,r[86:0]isanormal(68;18)-encoding,and^r=P. a[86:0]andb[86:0]arenormal(68;18)-encodingssuchthat69a[85:68] 218?3and69b[85:68]218?3.AssumethatE6=0.Thenr[89:87]= descriptionacontainsaconstructofthertllanguagethatwasnotdescribed in[8],namely,theforloop(fig.3): BeforeproceedingwiththeproofofTheorem1,wemustnotethatthecircuit for(i=68;i>=0;i=i-1) found=1'b0; if(lop[i]&~found) begin found=1'b1; computedbyarecursivefunctiondeterminedbytheloop.inthisexample,the Ifanassignmenttoasignalsoccurswithinaforloop,thenitsvaluesis end lsa[6:0]=7'h44-i[6:0]; recursivefunctionforthesignallsaisdenedby (lsa;found;lop;i)=8<:lsa (68?i;1;i?1;lop)iflop[i]=1andfound=0 (lsa;found;i?1;lop)otherwise; ifi<0

Karnaugh Maps & Combinational Logic Design. ECE 152A Winter 2012

Karnaugh Maps & Combinational Logic Design. ECE 152A Winter 2012 Karnaugh Maps & Combinational Logic Design ECE 52A Winter 22 Reading Assignment Brown and Vranesic 4 Optimized Implementation of Logic Functions 4. Karnaugh Map 4.2 Strategy for Minimization 4.2. Terminology

More information

Ri and. i=1. S i N. and. R R i

Ri and. i=1. S i N. and. R R i The subset R of R n is a closed rectangle if there are n non-empty closed intervals {[a 1, b 1 ], [a 2, b 2 ],..., [a n, b n ]} so that R = [a 1, b 1 ] [a 2, b 2 ] [a n, b n ]. The subset R of R n is an

More information

GROUPS SUBGROUPS. Definition 1: An operation on a set G is a function : G G G.

GROUPS SUBGROUPS. Definition 1: An operation on a set G is a function : G G G. Definition 1: GROUPS An operation on a set G is a function : G G G. Definition 2: A group is a set G which is equipped with an operation and a special element e G, called the identity, such that (i) the

More information

SOLUTIONS TO ASSIGNMENT 1 MATH 576

SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS BY OLIVIER MARTIN 13 #5. Let T be the topology generated by A on X. We want to show T = J B J where B is the set of all topologies J on X with A J. This amounts

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1)

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1) Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

Class One: Degree Sequences

Class One: Degree Sequences Class One: Degree Sequences For our purposes a graph is a just a bunch of points, called vertices, together with lines or curves, called edges, joining certain pairs of vertices. Three small examples of

More information

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and Breaking The Code Ryan Lowe Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and a minor in Applied Physics. As a sophomore, he took an independent study

More information

Boolean Algebra Part 1

Boolean Algebra Part 1 Boolean Algebra Part 1 Page 1 Boolean Algebra Objectives Understand Basic Boolean Algebra Relate Boolean Algebra to Logic Networks Prove Laws using Truth Tables Understand and Use First Basic Theorems

More information

Smetanova ulica 17 2000 Maribor, Slovenia

Smetanova ulica 17 2000 Maribor, Slovenia Smetanova ulica 17 2000 Maribor, Slovenia UNIVERSITY OF MARIBOR FACULTY OF CIVIL ENGINEERING Smetanova ulica 17, 2000 Maribor Phone: 02 22 94 310, fax: 02 25 22 749 http://www.fg.um.si/ MASTER'S (2 ND

More information

Section 4.4 Inner Product Spaces

Section 4.4 Inner Product Spaces Section 4.4 Inner Product Spaces In our discussion of vector spaces the specific nature of F as a field, other than the fact that it is a field, has played virtually no role. In this section we no longer

More information

Multiplexers Two Types + Verilog

Multiplexers Two Types + Verilog Multiplexers Two Types + Verilog ENEE 245: Digital Circuits and ystems Laboratory Lab 7 Objectives The objectives of this laboratory are the following: To become familiar with continuous ments and procedural

More information

ENEE 244 (01**). Spring 2006. Homework 4. Due back in class on Friday, April 7.

ENEE 244 (01**). Spring 2006. Homework 4. Due back in class on Friday, April 7. ENEE 244 (**). Spring 26 Homework 4 Due back in class on Friday, April 7.. Implement the following Boolean expression with exclusive-or and AND gates only: F = AB'CD' + A'BCD' + AB'C'D + A'BC'D. F = AB

More information

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH 31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

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

Production Functions and Cost of Production

Production Functions and Cost of Production 1 Returns to Scale 1 14.01 Principles of Microeconomics, Fall 2007 Chia-Hui Chen October, 2007 Lecture 12 Production Functions and Cost of Production Outline 1. Chap 6: Returns to Scale 2. Chap 6: Production

More information

Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information

Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information The : Keeping Eve The Eavesdropper Away From Your Credit Card Information Department of Mathematics North Dakota State University 16 September 2010 Science Cafe Introduction Disclaimer: is not an internet

More information

First Welfare Theorem

First Welfare Theorem First Welfare Theorem Econ 2100 Fall 2015 Lecture 17, November 2 Outline 1 First Welfare Theorem 2 Preliminaries to Second Welfare Theorem Last Class Definitions A feasible allocation (x, y) is Pareto

More information

2 When is a 2-Digit Number the Sum of the Squares of its Digits?

2 When is a 2-Digit Number the Sum of the Squares of its Digits? When Does a Number Equal the Sum of the Squares or Cubes of its Digits? An Exposition and a Call for a More elegant Proof 1 Introduction We will look at theorems of the following form: by William Gasarch

More information

def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system.

def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system. Section 1.5 Methods of Proof 1.5.1 1.5 METHODS OF PROOF Some forms of argument ( valid ) never lead from correct statements to an incorrect. Some other forms of argument ( fallacies ) can lead from true

More information

CS 103X: Discrete Structures Homework Assignment 3 Solutions

CS 103X: Discrete Structures Homework Assignment 3 Solutions CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering

More information

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 5: Logic Simplication & Karnaugh Map

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 5: Logic Simplication & Karnaugh Map Points Addressed in this Lecture Lecture 5: Logic Simplication & Karnaugh Map Professor Peter Cheung Department of EEE, Imperial College London (Floyd 4.5-4.) (Tocci 4.-4.5) Standard form of Boolean Expressions

More information

12 Greatest Common Divisors. The Euclidean Algorithm

12 Greatest Common Divisors. The Euclidean Algorithm Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan 12 Greatest Common Divisors. The Euclidean Algorithm As mentioned at the end of the previous section, we would like to

More information

Solutions for Practice problems on proofs

Solutions for Practice problems on proofs Solutions for Practice problems on proofs Definition: (even) An integer n Z is even if and only if n = 2m for some number m Z. Definition: (odd) An integer n Z is odd if and only if n = 2m + 1 for some

More information

n k=1 k=0 1/k! = e. Example 6.4. The series 1/k 2 converges in R. Indeed, if s n = n then k=1 1/k, then s 2n s n = 1 n + 1 +...

n k=1 k=0 1/k! = e. Example 6.4. The series 1/k 2 converges in R. Indeed, if s n = n then k=1 1/k, then s 2n s n = 1 n + 1 +... 6 Series We call a normed space (X, ) a Banach space provided that every Cauchy sequence (x n ) in X converges. For example, R with the norm = is an example of Banach space. Now let (x n ) be a sequence

More information

4 BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION

4 BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION 4 BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.

More information

Operations with Algebraic Expressions: Multiplication of Polynomials

Operations with Algebraic Expressions: Multiplication of Polynomials Operations with Algebraic Expressions: Multiplication of Polynomials The product of a monomial x monomial To multiply a monomial times a monomial, multiply the coefficients and add the on powers with the

More information

SCORE SETS IN ORIENTED GRAPHS

SCORE SETS IN ORIENTED GRAPHS Applicable Analysis and Discrete Mathematics, 2 (2008), 107 113. Available electronically at http://pefmath.etf.bg.ac.yu SCORE SETS IN ORIENTED GRAPHS S. Pirzada, T. A. Naikoo The score of a vertex v in

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

ให p, q, r และ s เป นพห นามใดๆ จะได ว า

ให p, q, r และ s เป นพห นามใดๆ จะได ว า เศษส วนของพห นาม ให A และ B เป นพห นาม พห นามใดๆ โดยท B 0 เร ยก B A ว า เศษส วนของพห นาม การดาเน นการของเศษส วนของพห นาม ให p, q, r และ s เป นพห นามใดๆ จะได ว า Q P R Q P Q R Q P R Q P Q R R Q P S P Q

More information

Logic Design 2013/9/5. Introduction. Logic circuits operate on digital signals

Logic Design 2013/9/5. Introduction. Logic circuits operate on digital signals Introduction Logic Design Chapter 2: Introduction to Logic Circuits Logic circuits operate on digital signals Unlike continuous analog signals that have an infinite number of possible values, digital signals

More information

Points Addressed in this Lecture

Points Addressed in this Lecture Points Addressed in this Lecture Lecture 3: Basic Logic Gates & Boolean Expressions Professor Peter Cheung Department of EEE, Imperial College London (Floyd 3.1-3.5, 4.1) (Tocci 3.1-3.9) What are the basic

More information

Notes on Assembly Language

Notes on Assembly Language Notes on Assembly Language Brief introduction to assembly programming The main components of a computer that take part in the execution of a program written in assembly code are the following: A set of

More information

BOOLEAN ALGEBRA & LOGIC GATES

BOOLEAN ALGEBRA & LOGIC GATES BOOLEAN ALGEBRA & LOGIC GATES Logic gates are electronic circuits that can be used to implement the most elementary logic expressions, also known as Boolean expressions. The logic gate is the most basic

More information

Inversion. Chapter 7. 7.1 Constructing The Inverse of a Point: If P is inside the circle of inversion: (See Figure 7.1)

Inversion. Chapter 7. 7.1 Constructing The Inverse of a Point: If P is inside the circle of inversion: (See Figure 7.1) Chapter 7 Inversion Goal: In this chapter we define inversion, give constructions for inverses of points both inside and outside the circle of inversion, and show how inversion could be done using Geometer

More information

Vectors, Gradient, Divergence and Curl.

Vectors, Gradient, Divergence and Curl. Vectors, Gradient, Divergence and Curl. 1 Introduction A vector is determined by its length and direction. They are usually denoted with letters with arrows on the top a or in bold letter a. We will use

More information

This Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers

This Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers This Unit: Floating Point Arithmetic CIS 371 Computer Organization and Design Unit 7: Floating Point App App App System software Mem CPU I/O Formats Precision and range IEEE 754 standard Operations Addition

More information

A. The answer as per this document is No, it cannot exist keeping all distances rational.

A. The answer as per this document is No, it cannot exist keeping all distances rational. Rational Distance Conor.williams@gmail.com www.unsolvedproblems.org: Q. Given a unit square, can you find any point in the same plane, either inside or outside the square, that is a rational distance from

More information

ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april 2003. Master Edition

ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april 2003. Master Edition ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK 5 april 23 Master Edition CONTEXT FREE LANGUAGES & PUSH-DOWN AUTOMATA CONTEXT-FREE GRAMMARS, CFG Problems Sudkamp Problem. (3.2.) Which language generates the grammar

More information

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc Other architectures Example. Accumulator-based machines A single register, called the accumulator, stores the operand before the operation, and stores the result after the operation. Load x # into acc

More information

4. Binomial Expansions

4. Binomial Expansions 4. Binomial Expansions 4.. Pascal's Triangle The expansion of (a + x) 2 is (a + x) 2 = a 2 + 2ax + x 2 Hence, (a + x) 3 = (a + x)(a + x) 2 = (a + x)(a 2 + 2ax + x 2 ) = a 3 + ( + 2)a 2 x + (2 + )ax 2 +

More information

We will use the accumulator machine architecture to demonstrate pass1 and pass2.

We will use the accumulator machine architecture to demonstrate pass1 and pass2. Accumulator machine We will use the accumulator machine architecture to demonstrate pass1 and pass2. The accumulator machine - has one processor register: the accumulator - all other operands are in memory,

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

General syllabus for third-cycle studies in environmental science

General syllabus for third-cycle studies in environmental science Faculty of Science and Technology Umeå University, 901 87 Umeå Telephone: +46 (0) 90-786 50 00 www.teknat.umu.se Ref. No. FS 4.1.1-597-14 Date 24/04/2014 Page 1 (5) General syllabus for third-cycle studies

More information

Chapter 9 Computer Design Basics!

Chapter 9 Computer Design Basics! Logic and Computer Design Fundamentals Chapter 9 Computer Design Basics! Part 2 A Simple Computer! Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode)

More information

IRIS-Starter kit-test programl-1a

IRIS-Starter kit-test programl-1a 2004-2005 of Ideus AB This radio equipment/product satisfies the significant requirements and other relevant stipulations of the Guideline 1999/5/EG This document is copyrighted and all rights are reserved

More information

Chapter 2: Binomial Methods and the Black-Scholes Formula

Chapter 2: Binomial Methods and the Black-Scholes Formula Chapter 2: Binomial Methods and the Black-Scholes Formula 2.1 Binomial Trees We consider a financial market consisting of a bond B t = B(t), a stock S t = S(t), and a call-option C t = C(t), where the

More information

4. Prove the above theorem. 5. Prove the above theorem. 9. Prove the above corollary. 10. Prove the above theorem.

4. Prove the above theorem. 5. Prove the above theorem. 9. Prove the above corollary. 10. Prove the above theorem. 14 Perpendicularity and Angle Congruence Definition (acute angle, right angle, obtuse angle, supplementary angles, complementary angles) An acute angle is an angle whose measure is less than 90. A right

More information

Integer roots of quadratic and cubic polynomials with integer coefficients

Integer roots of quadratic and cubic polynomials with integer coefficients Integer roots of quadratic and cubic polynomials with integer coefficients Konstantine Zelator Mathematics, Computer Science and Statistics 212 Ben Franklin Hall Bloomsburg University 400 East Second Street

More information

Online Supplement for Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers by Mohammad H. Yarmand and Douglas G.

Online Supplement for Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers by Mohammad H. Yarmand and Douglas G. Online Supplement for Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers by Mohammad H Yarmand and Douglas G Down Appendix A Lemma 1 - the remaining cases In this appendix,

More information

TIMING DIAGRAM O 8085

TIMING DIAGRAM O 8085 5 TIMING DIAGRAM O 8085 5.1 INTRODUCTION Timing diagram is the display of initiation of read/write and transfer of data operations under the control of 3-status signals IO / M, S 1, and S 0. As the heartbeat

More information

FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22

FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22 FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22 RAVI VAKIL CONTENTS 1. Discrete valuation rings: Dimension 1 Noetherian regular local rings 1 Last day, we discussed the Zariski tangent space, and saw that it

More information

GUIDELINES GUIDELINES FOR EMPLOYMENT AND PROMOTION OF TEACHERS AT UNIVERSITY WEST

GUIDELINES GUIDELINES FOR EMPLOYMENT AND PROMOTION OF TEACHERS AT UNIVERSITY WEST 1 (25) decision by Vice-Chancellor, 26/03/2012 Ref. no. 2012/231 A 21 FOR EMPLOYMENT AND PROMOTION OF TEACHERS AT UNIVERSITY WEST The university's employment regulations specify the rules applied when

More information

. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9

. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9 Introduction The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive integer We say d is a

More information

2.1: MATRIX OPERATIONS

2.1: MATRIX OPERATIONS .: MATRIX OPERATIONS What are diagonal entries and the main diagonal of a matrix? What is a diagonal matrix? When are matrices equal? Scalar Multiplication 45 Matrix Addition Theorem (pg 0) Let A, B, and

More information

Applications of Fermat s Little Theorem and Congruences

Applications of Fermat s Little Theorem and Congruences Applications of Fermat s Little Theorem and Congruences Definition: Let m be a positive integer. Then integers a and b are congruent modulo m, denoted by a b mod m, if m (a b). Example: 3 1 mod 2, 6 4

More information

Review Horse Race Gambling and Side Information Dependent horse races and the entropy rate. Gambling. Besma Smida. ES250: Lecture 9.

Review Horse Race Gambling and Side Information Dependent horse races and the entropy rate. Gambling. Besma Smida. ES250: Lecture 9. Gambling Besma Smida ES250: Lecture 9 Fall 2008-09 B. Smida (ES250) Gambling Fall 2008-09 1 / 23 Today s outline Review of Huffman Code and Arithmetic Coding Horse Race Gambling and Side Information Dependent

More information

Accreditation Results, 2002

Accreditation Results, 2002 Comprehensive University Accreditation System Accreditation Results, 2002 Korean Council for University Education Center for University Accreditation Accreditation Results for Universities Undergraduate

More information

WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM

WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM EXAMPLE 1. A biased coin (with probability of obtaining a Head equal to p > 0) is tossed repeatedly and independently until the first head is observed.

More information

Theory of Logic Circuits. Laboratory manual. Exercise 3

Theory of Logic Circuits. Laboratory manual. Exercise 3 Zakład Mikroinformatyki i Teorii Automatów yfrowych Theory of Logic ircuits Laboratory manual Exercise 3 Bistable devices 2008 Krzysztof yran, Piotr zekalski (edt.) 1. lassification of bistable devices

More information

GarbageCollectioninObjectOriented DatabasesUsingTransactionalCyclic PrasanRoy1 ReferenceCounting S.Sudarshan1 S.Seshadri1S.Ashwin1 AviSilberschatz2 fprasan,seshadri,sudarshag@cse.iitb.ernet.in 1IndianInstituteofTechnology,

More information

Every Positive Integer is the Sum of Four Squares! (and other exciting problems)

Every Positive Integer is the Sum of Four Squares! (and other exciting problems) Every Positive Integer is the Sum of Four Squares! (and other exciting problems) Sophex University of Texas at Austin October 18th, 00 Matilde N. Lalín 1. Lagrange s Theorem Theorem 1 Every positive integer

More information

Chapter 1: Financial Markets and Financial Derivatives

Chapter 1: Financial Markets and Financial Derivatives Chapter 1: Financial Markets and Financial Derivatives 1.1 Financial Markets Financial markets are markets for financial instruments, in which buyers and sellers find each other and create or exchange

More information

General Syllabus for Third Cycle Studies for the Degree of Doctor in Systematic Theology

General Syllabus for Third Cycle Studies for the Degree of Doctor in Systematic Theology GENERAL SYLLABUS 15 January 2014 Reg. no U 2014/44 1 Centre for Theology and Religious Studies Systematic Theology General Syllabus for Third Cycle Studies for the Degree of Doctor in Systematic Theology

More information

MATH10040 Chapter 2: Prime and relatively prime numbers

MATH10040 Chapter 2: Prime and relatively prime numbers MATH10040 Chapter 2: Prime and relatively prime numbers Recall the basic definition: 1. Prime numbers Definition 1.1. Recall that a positive integer is said to be prime if it has precisely two positive

More information

Understanding Verilog Blocking and Non-blocking Assignments

Understanding Verilog Blocking and Non-blocking Assignments Understanding Verilog Blocking and Non-blocking Assignments International Cadence User Group Conference September 11, 1996 presented by Stuart HDL Consulting About the Presenter Stuart has over 8 years

More information

Pricing complex options using a simple Monte Carlo Simulation

Pricing complex options using a simple Monte Carlo Simulation A subsidiary of Sumitomo Mitsui Banking Corporation Pricing complex options using a simple Monte Carlo Simulation Peter Fink Among the different numerical procedures for valuing options, the Monte Carlo

More information

1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:

1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal: Exercises 1 - number representations Questions 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal: (a) 3012 (b) - 435 2. For each of

More information

1 = (a 0 + b 0 α) 2 + + (a m 1 + b m 1 α) 2. for certain elements a 0,..., a m 1, b 0,..., b m 1 of F. Multiplying out, we obtain

1 = (a 0 + b 0 α) 2 + + (a m 1 + b m 1 α) 2. for certain elements a 0,..., a m 1, b 0,..., b m 1 of F. Multiplying out, we obtain Notes on real-closed fields These notes develop the algebraic background needed to understand the model theory of real-closed fields. To understand these notes, a standard graduate course in algebra is

More information

it is easy to see that α = a

it is easy to see that α = a 21. Polynomial rings Let us now turn out attention to determining the prime elements of a polynomial ring, where the coefficient ring is a field. We already know that such a polynomial ring is a UF. Therefore

More information

Boolean Algebra and Digital Circuits Part 3: Logic Gates and Combinatorial Circuits

Boolean Algebra and Digital Circuits Part 3: Logic Gates and Combinatorial Circuits Boolean Algebra and Digital Circuits Part 3: Logic Gates and Combinatorial Circuits Logic Gates a gate implements a simple boolean function such as AND, OR or NOT constructed using a few transistors basic

More information

Integer multiplication

Integer multiplication Integer multiplication Suppose we have two unsigned integers, A and B, and we wish to compute their product. Let A be the multiplicand and B the multiplier: A n 1... A 1 A 0 multiplicand B n 1... B 1 B

More information

Recall that two vectors in are perpendicular or orthogonal provided that their dot

Recall that two vectors in are perpendicular or orthogonal provided that their dot Orthogonal Complements and Projections Recall that two vectors in are perpendicular or orthogonal provided that their dot product vanishes That is, if and only if Example 1 The vectors in are orthogonal

More information

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors. The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,

More information

What are we learning about efforts to address the nurse faculty shortage?

What are we learning about efforts to address the nurse faculty shortage? What are we learning about efforts to address the nurse faculty shortage? Michael Yedidia, EIN National Program Director Joanne Fuccello, Deputy Director January 25, 2013 Overview of Presentation What

More information

On Data Recovery in Distributed Databases

On Data Recovery in Distributed Databases On Data Recovery in Distributed Databases Sergei L. Bezrukov 1,UweLeck 1, and Victor P. Piotrowski 2 1 Dept. of Mathematics and Computer Science, University of Wisconsin-Superior {sbezruko,uleck}@uwsuper.edu

More information

Logic in general. Inference rules and theorem proving

Logic in general. Inference rules and theorem proving Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent

More information

Factoring Algorithms

Factoring Algorithms Factoring Algorithms The p 1 Method and Quadratic Sieve November 17, 2008 () Factoring Algorithms November 17, 2008 1 / 12 Fermat s factoring method Fermat made the observation that if n has two factors

More information

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

More information

User Guide Trust Safety Accounting Upload PC Law and SFTP Software Release: Final Date

User Guide Trust Safety Accounting Upload PC Law and SFTP Software Release: Final Date User Guide Trust Safety Accounting Upload PC Law and SFTP Software Release: Final Date: July 22, 2015 TABLE OF CONTENTS Page TRUST SAFETY ACCOUNTING UPLOAD USER GUIDE... 2 BACKGROUND... 2 HOW TO USE THE

More information

RECURSIVE ENUMERATION OF PYTHAGOREAN TRIPLES

RECURSIVE ENUMERATION OF PYTHAGOREAN TRIPLES RECURSIVE ENUMERATION OF PYTHAGOREAN TRIPLES DARRYL MCCULLOUGH AND ELIZABETH WADE In [9], P. W. Wade and W. R. Wade (no relation to the second author gave a recursion formula that produces Pythagorean

More information

PYTHAGOREAN TRIPLES KEITH CONRAD

PYTHAGOREAN TRIPLES KEITH CONRAD PYTHAGOREAN TRIPLES KEITH CONRAD 1. Introduction A Pythagorean triple is a triple of positive integers (a, b, c) where a + b = c. Examples include (3, 4, 5), (5, 1, 13), and (8, 15, 17). Below is an ancient

More information

TEXAS A&M UNIVERSITY. Prime Factorization. A History and Discussion. Jason R. Prince. April 4, 2011

TEXAS A&M UNIVERSITY. Prime Factorization. A History and Discussion. Jason R. Prince. April 4, 2011 TEXAS A&M UNIVERSITY Prime Factorization A History and Discussion Jason R. Prince April 4, 2011 Introduction In this paper we will discuss prime factorization, in particular we will look at some of the

More information

General Syllabus for Third Cycle Studies for the Degree of Doctor in Cognitive Science

General Syllabus for Third Cycle Studies for the Degree of Doctor in Cognitive Science GENERAL SYLLABUS 21 March 2013 Reg. no HT 2013/50 1 Department of Philosophy Cognitive Science General Syllabus for Third Cycle Studies for the Degree of Doctor in Cognitive Science This syllabus was approved

More information

FACTORING IN QUADRATIC FIELDS. 1. Introduction. This is called a quadratic field and it has degree 2 over Q. Similarly, set

FACTORING IN QUADRATIC FIELDS. 1. Introduction. This is called a quadratic field and it has degree 2 over Q. Similarly, set FACTORING IN QUADRATIC FIELDS KEITH CONRAD For a squarefree integer d other than 1, let 1. Introduction K = Q[ d] = {x + y d : x, y Q}. This is called a quadratic field and it has degree 2 over Q. Similarly,

More information

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook. Elementary Number Theory and Methods of Proof CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 1 Number theory Properties: 2 Properties of integers (whole

More information

Assignment of courses in the year 2015/16. under new Rules of Study. Marcin Engel. October 2015

Assignment of courses in the year 2015/16. under new Rules of Study. Marcin Engel. October 2015 Assignment of courses in the year 2015/16 under new Rules of Study Marcin Engel October 2015 1. Introduction Students of the University of Warsaw have an obligation to assign courses to study terms. When

More information

Just the Factors, Ma am

Just the Factors, Ma am 1 Introduction Just the Factors, Ma am The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive

More information

Memory examples. Chapter 5 Memories

Memory examples. Chapter 5 Memories Memory examples Chapter 5 Memories Portions of this work are from the book, Digital Design: An Embedded Systems Approach Using Verilog, by Peter J. Ashenden, published by Morgan Kaufmann Publishers, Copyright

More information

RN-coding of Numbers: New Insights and Some Applications

RN-coding of Numbers: New Insights and Some Applications RN-coding of Numbers: New Insights and Some Applications Peter Kornerup Dept. of Mathematics and Computer Science SDU, Odense, Denmark & Jean-Michel Muller LIP/Arénaire (CRNS-ENS Lyon-INRIA-UCBL) Lyon,

More information

SecureVault Online Backup Service Client Installation Guide

SecureVault Online Backup Service Client Installation Guide SecureVault Online Backup Service Client Installation Guide C0110 SecureVault Client Installation Guide (EN) - 1 - Rev. 19-Nov-2007 Table of Contents 1 Configuration of SecureVault Server Backup Manager...

More information

Numeraire-invariant option pricing

Numeraire-invariant option pricing Numeraire-invariant option pricing Farshid Jamshidian NIB Capital Bank N.V. FELAB, University of Twente Nov-04 Numeraire-invariant option pricing p.1/20 A conceptual definition of an option An Option can

More information

COMMUTATIVE RINGS. Definition: A domain is a commutative ring R that satisfies the cancellation law for multiplication:

COMMUTATIVE RINGS. Definition: A domain is a commutative ring R that satisfies the cancellation law for multiplication: COMMUTATIVE RINGS Definition: A commutative ring R is a set with two operations, addition and multiplication, such that: (i) R is an abelian group under addition; (ii) ab = ba for all a, b R (commutative

More information

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set. MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set. Vector space A vector space is a set V equipped with two operations, addition V V (x,y) x + y V and scalar

More information

Properties of moments of random variables

Properties of moments of random variables Properties of moments of rom variables Jean-Marie Dufour Université de Montréal First version: May 1995 Revised: January 23 This version: January 14, 23 Compiled: January 14, 23, 1:5pm This work was supported

More information

Section IV.21. The Field of Quotients of an Integral Domain

Section IV.21. The Field of Quotients of an Integral Domain IV.21 Field of Quotients 1 Section IV.21. The Field of Quotients of an Integral Domain Note. This section is a homage to the rational numbers! Just as we can start with the integers Z and then build the

More information

ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes (James.Barnes@colostate.edu)

ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes (James.Barnes@colostate.edu) ECE 451 Verilog Exercises Sept 14, 2007 James Barnes (James.Barnes@colostate.edu) Organization These slides give a series of self-paced exercises. Read the specification of each exercise and write your

More information

Section 8.8. 1. The given line has equations. x = 3 + t(13 3) = 3 + 10t, y = 2 + t(3 + 2) = 2 + 5t, z = 7 + t( 8 7) = 7 15t.

Section 8.8. 1. The given line has equations. x = 3 + t(13 3) = 3 + 10t, y = 2 + t(3 + 2) = 2 + 5t, z = 7 + t( 8 7) = 7 15t. . The given line has equations Section 8.8 x + t( ) + 0t, y + t( + ) + t, z 7 + t( 8 7) 7 t. The line meets the plane y 0 in the point (x, 0, z), where 0 + t, or t /. The corresponding values for x and

More information

SEH WHITEPAPER USB-TO-NETWORK (UTN) Using non-network-enabled USB Output Devices (GDI Printers, Multifunctional Peripherals, Copiers) via the Network

SEH WHITEPAPER USB-TO-NETWORK (UTN) Using non-network-enabled USB Output Devices (GDI Printers, Multifunctional Peripherals, Copiers) via the Network SEH WHITEPAPER USB-TO-NETWORK (UTN) Using non-network-enabled USB Output Devices (GDI Printers, Multifunctional Peripherals, Copiers) via the Network Until now so-called GDI printers i.e. low-priced USB

More information

Intersecting Families

Intersecting Families Intersecting Families Extremal Combinatorics Philipp Zumstein 1 The Erds-Ko-Rado theorem 2 Projective planes Maximal intersecting families 4 Helly-type result A familiy of sets is intersecting if any two

More information