comp541 160 digital logic and computer design l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
COMP541 (160) Digital Logic and Computer Design PowerPoint Presentation
Download Presentation
COMP541 (160) Digital Logic and Computer Design

Loading in 2 Seconds...

play fullscreen
1 / 59

COMP541 (160) Digital Logic and Computer Design - PowerPoint PPT Presentation


  • 312 Views
  • Uploaded on

COMP541 (160) Digital Logic and Computer Design Montek Singh Jan 12, 2010 Today’s Topics Course description What’s it about Mechanics: grading, etc. Material from Chapter 1 (self-study review) What is digital logic? Binary signaling Number systems Codes What’s Course About?

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'COMP541 (160) Digital Logic and Computer Design' - omer


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
today s topics
Today’s Topics
  • Course description
    • What’s it about
    • Mechanics: grading, etc.
  • Material from Chapter 1 (self-study review)
    • What is digital logic?
    • Binary signaling
    • Number systems
    • Codes
what s course about
What’s Course About?
  • Digitallogic, focusing on the design of computers
  • Stay mostly at a high level (i.e., above transistors)
  • Each person designs a MIPS CPU
    • and peripheral logic (VGA, joystick)
    • Project like an Atari 2600 game
  • High-level language
    • Modern design practices
focus
Focus
  • Stay above transistor level
    • At most one class on transistors and VLSI
  • Expect you to know assembly language programming
more than just architecture
More Than Just Architecture
  • Designing and implementing a computer is also about
    • Managing complexity (hierarchy, modularity, regularity).
    • Debugging
    • Testing and verifying
the three y s
The Three -Y’s
  • Hierarchy
    • A system divided into modules and submodules
  • Modularity
    • Having well-defined functions and interfaces
  • Regularity
    • Encouraging uniformity, so modules can be easily reused
how can we do this
How Can We Do This?
  • Labs on Fridays
  • Use: Field Programmable Gate Arrays (FPGAs)
    • Chips with a lot of circuits
      • Tens of thousands to millions of transistors
    • Programmable
  • We write descriptions of the design
    • “programs” describing design
  • Tools translate to gates/wires
  • Download pattern/interconnection to chip
    • Sort of like burning music to a rewritable CD
we will use this board
We Will Use This Board

What’s on it?

schematic diagram
Schematic Diagram
  • Old fashioned way to describe logic
    • Still useful for documentation
verilog
Verilog

/*

* A 32-bit counter with only 4 bits of output. The idea is

* to select which of the counter stages you want to pass on.

*

* Anselmo Lastra, November 2002

*/

module cntr_32c(clk,res,out);

input clk;

input res;

output [3:0] out;

reg [31:0] count;

always @ (posedge res or posedge clk)

if(res)

count <= 0;

else

count <= count + 1;

assign out[3] = count[28];

assign out[2] = count[27];

assign out[1] = count[26];

assign out[0] = count[25];

endmodule

xilinx software
Xilinx Software
  • Use design tools from chip maker
  • Have full version on lab PCs
  • Can install on your PC
    • Download from web
class web pages
Class Web Pages
  • Will be up by Thursday’s class
  • Linked from my home pagehttp://www.cs.unc.edu/~montek
  • All lecture slides posted there
    • Will try to put them there before class
  • Schedule, homework, etc. posted there
  • Lab documents there also
  • See Blackboard for scores/grades
textbook
Textbook
  • Harris and Harris
  • Digital Design and Computer Architecture
  • Morgan Kaufmann, 2007
  • Amazon has for $70
  • Extra material on

http://www.elsevierdirect.com/companion.jsp?ISBN=9780123704979

overview of textbook
Overview of Textbook
  • Chapters 1-5: Digital logic
    • Combinational, sequential, basic circuits, HDL
  • Chapter 6: Architecture
    • Fast – review for those who took COMP 411
  • Chapter 7: Microarchitectures
  • Chapters 8: Memories
  • Appendix A: Implementation
    • FPGAs, etc.
order of topics
Order of Topics
  • Will change order from that in book
    • To try to get you working on interesting labs sooner
may also need
May Also Need
  • COMP411 textbook (Patterson/Hennessy)
    • For MIPS reference
    • How many have one?
    • I can copy the few necessary pages
  • Verilog reference
    • Book optional
    • Web pages – see course home page
grading
Grading
  • Labs – 35%
    • Easier at first; later ones will count more
  • Homework – 20%
  • Two tests spaced evenly – 12.5% each
  • Final – 20% (optional for some)
slide18
Labs
  • Paced slowly at first
    • Familiarization with tools, simple combinational design, design a digital lock or similar
  • Peripheral – VGA, opt. keyboard interface or joystick
  • Build up computer components
    • Registers, ALU, decoder
  • Assemble a simple MIPS
  • Add more features, enough for simple computer
  • Final demo – game or similar
lab sections
Lab Sections
  • No lab this Friday
    • You need a little more info to begin
    • Begin next week
  • Lab is in SN 027
late policy
Late Policy
  • Homework assignments and lab reports due by class
    • Labs due on Tuesday after the lab period
  • One class late, 10 points off
  • Two classes late, 25 points off
  • Not accepted later
what s your background
What’s Your Background?
  • Course experience
  • Work, etc.
  • Which COMP120?
  • What’s your intent in taking class?
  • Questions?
office hours
Office Hours
  • Would like to wait a week to set
  • Send email if you want to meet in the mean time
now shift to technology

Now Shift to Technology

Should be review for all of you

digital vs analog
Digital vs. Analog
  • Analog – infinite resolution
    • Like (old fashioned) radio dial
    • We’ll do very little with analog
      • VGA, maybe sound
  • Digital – a finite set of values
    • Like money
    • Can’t get smaller than cents
    • Typically also has maximum value
binary signaling
Binary Signaling
  • Zero volts
    • FALSE or 0
  • 5 or 3.3 (or 1.8 or 1.5) volts
    • TRUE or 1
      • Modern chips down to 1V
  • Why not multilevel signaling?
discrete data
Discrete Data
  • Some data inherently discrete
    • Names (sets of letters)
  • Some quantized
    • Music recorded from microphone
    • Note that other examples like music from CD or electronic keyboard already quantized
    • Mouse movement is quantized
      • Well, some mice
numbers and arithmetic
Numbers and Arithmetic
  • I’ve put most of these slides at end
    • Backup in case you’ve forgotten
  • Review of binary numbers, Hexadecimal,Arithmetic
  • Let’s cover
    • Other codes, parity
slide28
BCD
  • Binary Coded Decimal
  • Decimal digits stored in binary
    • Four bits/digit
    • Like hex, except stops at 9
    • Example

931 is coded as 1001 0011 0001

  • Remember: these are just encodings. Meanings are assigned by us.
other codes exist
Other Codes Exist
  • Non positional
  • Example: Gray Code
    • Only one bit changes at a time
    • 000,001,011,010,110,111,101,100
    • Why is this useful?
    • Actually there’s a family of Gray codes

Ref: http://lib-www.lanl.gov/numerical/bookcpdf/c20-2.pdf

character codes
Character Codes
  • From numbers to letters
  • ASCII
    • Stands for American Standard Code for Information Interchange
    • Only 7 bits defined
  • Unicode
  • You may make up your own code for the MIPS VGA
even parity
Even Parity
  • Sometimes high-order bit of ASCII coded to enable detection of errors
  • Even parity – set bit to make number of 1’s even
  • Examples

A (01000001) with even parity is 01000001

C (01000011) with even parity is 11000011

odd parity
Odd Parity
  • Similar except make the number of 1’s odd
  • Examples

A (01000001) with odd parity is 11000001

C (01000011) with odd parity is 01000011

error detection
Error Detection
  • Note that parity detects only simple errors
    • One, three, etc. bits
  • More complex methods exist
  • Some that enable recovery of original info
    • Cost is more redundant bits
today s topics36
Today’s Topics
  • Introduction
  • Digital logic
  • Number systems
  • Arithmetic
  • Codes
  • Parity
  • The encoding is key
    • Standards are used to agree on encodings
    • Special purpose codes for particular uses
homework
Homework
  • None, but…
  • I expect you to know number systems well and be able to do conversions and arithmetic
    • Decimal – Binary
    • Binary – Decimal
    • Decimal – Hex
    • Hex – Decimal
  • Can do some of the problems – 1.7 to 1.27 are all about conversion – if you think you need a refresher. Answers to odd numbered on book website.
reading
Reading
  • Read Chapter 1
next class
Next Class
  • Combinational Logic Basics

Next Week: Lab preview

    • I’ll demo tools in class, probably Thursday
lab walkthrough
Lab Walkthrough
  • Let’s go see the lab
backup slides

Backup Slides

Should be all review material

binary numbers
Binary Numbers
  • Strings of binary digits (“bits”)
    • One bit can store a number from 0 to 1
    • n bits can store numbers from 0 to 2n
binary powers of 2
Binary – Powers of 2
  • Positional representation
  • Each digit represents a power of 2

So 101 binary is

1 • 22 + 0 • 21 + 1 • 20

or

1 • 4 + 0 • 2 + 1 • 1 = 5

converting binary to decimal
Converting Binary to Decimal
  • Easy, just multiply digit by power of 2
  • Just like a decimal number is represented
  • Example follows
binary decimal example
Binary  Decimal Example

What is 10011100 in decimal?

128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156

decimal to binary
Decimal to Binary
  • A little more work than binary to decimal
  • Some examples
    • 3 = 2 + 1 = 11 (that’s 1•21 + 1•20)
    • 5 = 4 + 1 = 101 (that’s 1•22 + 0•21 + 1•20)
algorithm decimal to binary
Algorithm – Decimal to Binary
  • Find largest power-of-two smaller than decimal number
  • Make the appropriate binary digit a ‘1’
  • Subtract the power of 2 from decimal
  • Do the same thing again
decimal binary example
Decimal  Binary Example
  • Convert 28 decimal to binary

32 is too large, so use 16

Binary  10000

Decimal  28 – 16 = 12

Next is 8

Binary  11000

Decimal  12 – 8 = 4

Next is 4

Binary  11100

Decimal  4 – 4 = 0

hexadecimal
Hexadecimal
  • Strings of 0s and 1s too hard to write
  • Use base-16 or hexadecimal – 4 bits
hexadecimal50
Hexadecimal

Why use

base 16?

  • Letters to represent 10-15
  • Power of 2
  • Size of byte
hex to binary
Hex to Binary

0010

1010

1100

  • Convention – write 0x before number
  • Hex to Binary – just convert digits

0x2ac

0x2ac = 001010101100

No magic – remember hex digit = 4 bits

binary to hex
Binary to Hex

5

3

7

b

  • Just convert groups of 4 bits

101001101111011

1011

0101 

0011 

0111 

101001101111011 = 0x537b

hex to decimal
Hex to Decimal
  • Just multiply each hex digit by decimal value, and add the results.

0x2ac

2 • 256

+ 10 • 16

+ 12 • 1

= 684

decimal to hex
Decimal to Hex

Analogous to decimal  binary.

  • Find largest power-of-16 smaller than decimal number
  • Divide by power-of-16. The integer result is hex digit.
  • The remainder is new decimal number.
  • Do the same thing again
decimal to hex55
Decimal to Hex

684

0x2__

684/256 = 2

684%256 = 172

0x2a_

172/16 = 10 = a

0x2ac

172%16 = 12 = c

octal
Octal
  • Octal is base 8
  • Similar to hexadecimal
    • Conversions
  • Less convenient for use with 8-bit bytes
arithmetic addition
Arithmetic -- addition
  • Binary similar to decimal arithmetic

No carries

Carries

1+1 is 2 (or 102), which results in a carry

arithmetic subtraction
Arithmetic -- subtraction

No borrows

Borrows

0 - 1 results in a borrow

arithmetic multiplication
Arithmetic -- multiplication

Successive additions of multiplicand or zero,

multiplied by 2 (102).

Note that multiplication by 102 just shifts bits left.