CS 278Course PreliminariesSlide 3Slide 4Slide 5Slide 6Slide 7Digital System DesignDigital Logic DesignExample of Digitization BenefitImplementing Digital Systems: Using mprocessors Vs. Designing Digital CircuitsDigital Design: When mprocessors Aren’t Good EnoughIntroductionSwitchesSlide 15Moore’s LawThe Power of MiniaturizationThe CMOS TransistorBoolean Logic Gates Building Blocks for Digital Circuits (Because Switches are Hard to Work With)Boolean Algebra and Digital CircuitsSlide 21Evaluating Boolean EquationsConverting to Boolean EquationsSlide 24Building Circuits with GatesRelating Boolean Algebra to Digital DesignNOT/OR/AND Logic Gate Timing DiagramsBuilding Circuits Using GatesExample: Converting a Boolean Equation to a Circuit of Logic GatesExample: Seat Belt Warning Light SystemSome Circuit Drawing ConventionsBoolean AlgebraSlide 33Operator PrecedenceBoolean Algebra TerminologyBoolean Algebra Properties Textbook pg 30-31Examples Using PropertiesAdditional PropertiesBoolean Function RepresentationsTruth Table RepresentationConverting among RepresentationsRepresentation: Truth TableCanonical Form -- Sum of MintermsCanonical S-O-P ExampleMultiple-Output CircuitsMultiple-Output Example: BCD to 7-Segment ConverterCombinational Logic Design ProcessCS 278Digital System DesignCourse PreliminariesTeaching StaffProfessor Dan Ernst Office Hours: Weds. 9-11am, Fri. 1-3pm… or by appointmentPhillips 139[email protected]Course web page accessCourse notes are posted online athttp://www.cs.uwec.edu/~ernstdj/courses/cs278/All assignments and labs will be posted there as wellTextbook:Grading policiesAssignments/Quizzes ( 15% )Three exams ( 15% each – 45% total )2 midterms + 1 finalLabs ( 25% )Project ( 15% )More info laterAttendance not directly counted towards gradeThere will be turn-ins during lab timeLab room is P122!Hardware Boards (1)The Altera UP2 Development BoardHandle with care, and leave them in the lab!Hardware Boards (2)The IDL-800 Digital Logic Trainer with solderless breadboard isn’t cheap eitherThese must stay in the lab, along with all of the suppliesDigital System DesignDigital Logic DesignExample of Digitization BenefitAnalog signal (e.g., audio) may lose qualityVoltage levels not saved/copied/transmitted perfectlyDigitized version enables near-perfect save/cpy/trn. “Sample” voltage at particular rate, save sample using bit encodingVoltage levels still not kept perfectlyBut we can distinguish 0s from 1stimeVolts0123original signallengthy transmission(e.g, cell phone)time0123received signalHow fix -- higher, lower, ?lengthy transmission(e.g, cell phone)01 10 11 10 11sametime01 10 11 10 11Voltsdigitized signaltime01a2dVolts0123d2aLet bit encoding be: 1 V: “01” 2 V: “10” 3 V: “11”timeCan fix -- easily distinguish 0s and 1s, restore01Digitized signal notperfect re-creation,but higher sampling rate and more bits per encoding brings closer.aImplementing Digital Systems:Using processors Vs. Designing Digital CircuitsMicroprocessors a common choice to implement a digital systemEasy to programCheap (as low as < $1)Available nowI3I4I5I6I7I2I1I0P3P4P5P6P7P2P1P0void main(){ while (1) { P0 = I0 && !I1; // F = a and !b, }}0Fba101016:00 7:057:06 9:009:01 timeDesired motion-at-night detectorProgrammedmicroprocessorCustom designeddigital circuitmicroprocessorDigital Design: When processors Aren’t Good EnoughWith microprocessors so easy, cheap, and available, why design a digital circuit?Microprocessor may be too slowOr too big, power hungry, or costly(a)Micro-processor(Read,Compress,and Store)MemoryImage Sensor(b)(c)Sample digital camera task execution times (in seconds) on a microprocessor versus a digital circuit:Q: How long for each implementation option?a5+8+1=14 sec.1+.5+.8=1.4 sec.1+.5+1=1.6 secGood compromiseReadcircuitCompresscircuitMemoryStorecircuitImage SensorCompresscircuitMicroprocessor(Store)MemoryImage SensorReadcircuitTask MicroprocessorCustom Digital CircuitRead 5 0.1Compress8 0.5Store 1 0.8IntroductionCombinationaldigital circuit1ab1F01ab?F0Let’s learn to design digital circuitsWe’ll start with a simple form of circuit:Combinational circuitA digital circuit whose outputs depend solely on the present combination of the circuit inputs’ valuesDigital circuitSequentialdigital circuitSwitchesSwitches are the basis of binary digital circuitsElectrical terminologyVoltage: Difference in electric potential between two pointsAnalogous to water pressure Current: Flow of charged particlesAnalogous to water flowResistance: Tendency of wire to resist current flowAnalogous to water pipe diameterV = I * R (Ohm’s Law)4.5 A4.5 A4.5 A2 ohms9V0V9V+–SwitchesA switch has three partsSource input, and outputCurrent wants to flow from source input to outputControl inputVoltage that controls whether that current can flow The amazing shrinking switch1930s: Relays1940s: Vacuum tubes1950s: Discrete transistor1960s: Integrated circuits (ICs)Initially just a few transistors on ICThen tens, hundreds, thousands... “off”“on”outputsourceinputoutputsourceinputcontrolinputcontrolinput(b)relayvacuum tubediscrete transistorICquarter(to see the relative size)aMoore’s LawThe Power of MiniaturizationEDSAC 1 (1949)~ 500 OPsPentium 4 (2002)~ 12 GFLOPs24,000,000 times fasterThe CMOS TransistorCMOS transistorBasic switch in modern ICsgatesource drainoxideA positivevoltage here......attracts electrons here,turning the channelbetween source and draininto aconductor.(a)IC packageICdoes notconduct0conducts1gatenMOSdoes notconduct1gatepMOSconducts0Silicon -- not quite a conductor or insulator:SemiconductoraBoolean Logic GatesBuilding Blocks for Digital Circuits (Because Switches are Hard to Work With)“Logic gates” are better digital circuit building blocks than switches (transistors)Why?...AbstractionBoolean Algebra and Digital CircuitsTo understand the benefits of “logic gates” vs. switches, we should first understand Boolean algebra“Traditional” algebraVariable represent real numbersOperators operate on variables, return real numbersBoolean AlgebraVariables represent 0 or 1 onlyOperators return 0 or 1 onlyBasic operatorsAND: a AND b returns 1 only when both a=1 and b=1OR: a OR b returns 1 if either
View Full Document