CS M51A/EE M16 Winter’05 Section 1 Logic Design of Digital Systems Lecture 1 January 10 W’05 Yutao He yutao@cs.ucla.edu 4532B Boelter Hall http://courseweb.seas.ucla.edu/classView.php?term=05W&srs=187154200 CSM51A/EEM16-Sec.1 W’05 Y. He @ 12/29/2018
Outline Welcome Chapter 1 - Class Overview Summary
Why Are We Here? Because the computer is everywhere! Welcome to the class!
Course Administration Instructor: Yutao He (yutao@cs.ucla.edu) Office Hours: MW 6-7pm (4750 BH) TA: Kenneth Leung (kyleung@ucla.edu) Office Hours: TTh 1-2pm (4428 BH) Textbook: Introduction to Digital Systems by Ercegovac, Lang, and Moreno John Wiley & Sons, 1999 Course Website: http://courseweb.seas.ucla.edu/classView.php?term=05W&srs=187154200
Course Structure Lectures Discussions Weekly Homework Projects 10% Projects Quizzes Midterm 30% Final 40% Lectures Discussions Weekly Homework Projects Bi-weekly Quizzes Midterm, Final
Homework Available on-line every Monday before the class Due at 4pm on the following Monday Drop off in the class mailbox in Room 4428BH Each homework hand-in should attach a cover sheet Solution is available on-line Tuesday 9 Homework in total
Quizzes To get you acquainted with Midterm and Final To have you keep up with the class progress 3 quizzes in total Given every two weeks at the end of Friday session Closed-book and Closed-note 30 minutes Test class materials covered in the past two weeks
Projects To get hands-on experiences on current industry practice (EDA tools dominated) 2 or 3 small projects Design simple digital systems in VHDL Use the Altera MAX+PLUS II toolkit May team up with your fellow classmates SEASNET accounts are required unless you have PC at home
Midterm and Final Goal is to test knowledge not to test speed writing Date: 2-3:50pm Friday, February 18 Location: in the lecture room Closed-book/Closed-note but allows a cheat-sheet Final Date: 8-11am Monday, March 18 Location: TBD
Academic Integrity Studying in groups is encouraged PLAGIARISM Studying in groups is encouraged Actual work must be your own Common cheating scenarios: running out of time on an assignment and then cut-and-paste from your buddy’s work cross-talking and cross-eyeing during exams Will be reported to Dean’s Office if catch any violation
Course Problems Can’t make quizzes or exams should ask for permission ahead of time the score would be zero unless some unexpected emergencies Forget to turn in homework or your pet dog ate it Only one time is allowed
Course Protocols Please do not have small talk Please do not read newspapers Please do not wear the headphone Please put your cell phone in a non-disturbing mode Sleep is ok as long as you make sure not to snore Quiet food is allowed Don’t be shy to ask any questions occur to your mind Don’t get intimidated if some fellow students happen to know better than you in the beginning That’s why you take the class
What You Need to Do Well You have common sense You can count properly There are 12 months in a year You can count properly 1+1 = ? You can do logic reasoning if I miss one lecture, then I’ll fail the class You have the positive motivation I’ll shoot for an A+ You know how to work smart
What We will Learn Language of logic design Boolean algebra, logic minimization, state, timing, CAD tools Concept of state in digital systems Analogous to variables in software systems How to design/analysis digital systems Contrast with software design Both map well-posed problems to physical devices Both must be flawless
Applications of Logic Design Conventional computer design CPUs, memories, busses, peripherals Networking and communications Phones, modems, NICs, routers Embedded products Cars, PDAs, entertainment devices Scientific equipments Testing, measuring, sensing, reporting World of computing much bigger than just PCs!
A Brief Historic Flashback 1850: George Boole invents Boolean algebra Maps logical propositions to symbols Permits manipulation of logic statements using mathematics 1938: Claude Shannon links Boolean algebra to switches His Masters’ thesis 1945: John von Neumann develops first stored program computer Its switching elements are vacuum tubes 1947: Shockley, Brittain, and Bardeen invent the transistor enable integration of multiple devices into one package gateway to modern electronics
Follow-on Courses CS152A (Lab) CS151B (Computer Architecture) CS152B (Lab)
Questionnaire Help us better know your background and thus teach the course more effectively.
Hardware Systems A simple model of a hardware system is a unit with inputs and outputs: inputs outputs system
Analog vs. Digital Digital: It has only discrete input/output values In computer systems, only 0 and 1 are used Analog: It has continuous input/output values In reality, real electronic components exhibit analog behavior
Combinational vs. Sequential a digital circuit is combinational if its current output values only depend on its current input values means "memory-less” AND, OR gates Sequential: Exhibit behaviors (output values) that depend not only on the current input values, but also on previous input values In reality, all circuits are sequential
Synchronous vs. Asynchronous The outputs can only change at prescribed time instant Asynchronous: The outputs can change at any time instant
Systems Studied in the Class Digital Both Combinational and Sequential Synchronous inputs outputs system
Big Picture of Digital Systems Design Idea Specification Logic Design Physical Design Fabrication
Course At-A-Glance Specification: Implementation: Spec. of combinational systems: Ch. 2 and 4 Spec. of sequential systems: Ch. 7 Implementation: Physical level: Ch. 3 Combinational Systems at the gate level: Ch. 5 and 6 at the module level: Ch. 9, 10, and 12 Sequential systems elementary: Ch 8
An Example Calendar subsystem: number of days in a month (to control watch display) used in controlling the display of a wrist-watch LCD screen inputs: month, leap year flag outputs: number of days
Implementation in Software int number_of_days (month,leap_year_flag) { switch (month) { case 1: return (31); case 2: if (leap_year_flag == 1) return (29) else return (28); case 3: return (31); ... case 12: return (31); default: return (0); }
Implementation in Hardware Encoding: how many bits for each input/output? binary number for month four wires for outputs: 28, 29, 30, and 31 Behavior: combinational truth table specification leap month d28 d29 d30 d31
Specification: Truth Table month leap d28 d29 d30 d31 0000 – – – – – 0001 – 0 0 0 1 0010 0 1 0 0 0 0010 1 0 1 0 0 0011 – 0 0 0 1 0100 – 0 0 1 0 0101 – 0 0 0 1 0110 – 0 0 1 0 0111 – 0 0 0 1 1000 – 0 0 0 1 1001 – 0 0 1 0 1010 – 0 0 0 1 1011 – 0 0 1 0 1100 – 0 0 0 1 1101 – – – – – 111– – – – – –
Boolean Expression Truth-table to logic to gates d28 = 1 when month=0010 and leap=0 d28 = m8'•m4'•m2•m1'•leap' d31 = 1 when month=0001 or month=0011 or ... month=1100 d31 = (m8'•m4'•m2'•m1) + (m8'•m4'•m2•m1) + ... (m8•m4•m2'•m1') d31 = can we simplify more? symbol for or symbol for and symbol for not month leap d28 d29 d30 d31 0001 – 0 0 0 1 0010 0 1 0 0 0 0010 1 0 1 0 0 0011 – 0 0 0 1 0100 – 0 0 1 0 ... 1100 – 0 0 0 1 1101 – – – – – 111– – – – – – 0000 – – – – –
Implementation in Gate networks d28 = m8'•m4'•m2•m1'•leap’ d29 = m8'•m4'•m2•m1'•leap d30 = (m8'•m4•m2'•m1') + (m8'•m4•m2•m1') + (m8•m4'•m2'•m1) + (m8•m4'•m2•m1) d31 = (m8'•m4'•m2'•m1) + (m8'•m4'•m2•m1) + (m8'•m4•m2'•m1) + (m8'•m4•m2•m1) + (m8•m4'•m2'•m4') + (m8•m4'•m2•m1') + (m8•m4•m2'•m1')
Summary That was what the entire course is all about Converting solutions to problems into combinational and sequential networks effectively Organizing the design hierarchically and systematically Taking advantage of optimization opportunities Analyze a digital system Now let us do it again This time we'll take the rest of the quarter!
Next Lecture Section 2.3 - Data Representation and Coding Class Note #1