E N D
1. 1 COMP541 (160) Digital Logic and Computer Design Montek Singh
Jan 11, 2007
2. 2
3. 3 Whats Course About? Digital logic, focusing on the design of computers
Stay above transistor level
Only one class on transistors and VLSI
Each person designs a MIPS CPU
and peripheral logic (VGA, joystick)
Project like an Atari 2600 game
High-level language
Modern design practices
4. 4 How Can We Do This? Field Programmable Gate Arrays
Chips with a lot of circuits
Tens of thousands to millions of transistors
Programmable
We write programs describing design
Tools translate to gates/wires
Download pattern to chip
5. 5 We Will Use This Board
6. 6 Schematic Diagram
7. 7 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
8. 8 Xilinx Software Use design tools from chip maker
Have full version on lab PCs
Can install on your PC
ModelSim simulator or built-in
9. 9 Class Web Pages Linked from my home pagehttp://www.cs.unc.edu/~montek
All notes posted
Will try to put them there before class
Lab documents there also
See Blackboard for grades
10. 10 Textbook and Syllabus Largely follow Prof. Lastras syllabus
Morris Mano and Charles Kime
Logic and Logic and Computer Design Fundamentals, 3rd Edition
Prentice Hall, 2004
Will largely follow text
Slightly different order
More emphasis on HLL
11. 11 Overview of Textbook Chapters 1-6: Digital logic
Combinational and sequential
Chapter 7-8: Register Transfer and State Machines
Chapter 9: Memories
Chapters 10-12: Computer design
Chapter 13: I/O
Chapter 14: Memory Hierarchies
12. 12 Order of Topics Will change order from that in book
To try to get you working on interesting labs sooner
Move sequential design earlier
Then backfill details on combinational design
13. 13 May Also Need COMP120 book
For MIPS reference
How many have one?
I can copy the few necessary pages
Verilog reference
Book optional
Web pages see course home page
14. 14 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)
15. 15 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
16. 16 Lab Sections No lab this Friday
You need a little more info to begin
Begin next week
Lab is in SN 027, down the hall by the back entrance
17. 17 Late Policy Homework assignments and lab reports due by class time
Labs due on Tuesday after the lab period
One class late, 10 points off
Two classes late, 25 points off
Not accepted later
18. 18 Whats Your Background? Course experience
Work, etc.
Which COMP120?
Whats your intent in taking class?
Questions?
19. 19 Office Hours Would like to wait a week to set
Send email if you want to meet
20. 20 Now Shift to Technology Should be review for all of you
21. 21 Digital vs. Analog Analog infinite resolution
Like (old fashioned) radio dial
Well do very little with analog
VGA, maybe sound
Digital a finite set of values
Like money
Cant get smaller than cents
Typically also has maximum value
22. 22 Binary Signaling Zero volts
FALSE or 0
3.3 or 5 volts
TRUE or 1
Modern chips down to 1V
Why not multilevel signaling?
23. 23 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
24. 24 Numbers and Arithmetic Ive put most of these slides at end
Backup in case youve forgotten
Review of binary numbers, Hexadecimal,Arithmetic
Lets cover
Other codes, parity
25. 25 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.
26. 26 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 theres a family of Gray codes
27. 27 Shaft Encoder
28. 28 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
29. 29 ASCII table
30. 30 Even Parity Sometimes high-order bit of ASCII coded to enable detection of errors
Even parity set bit to make number of 1s even
Examples
A (01000001) with even parity is 01000001
C (01000011) with even parity is 11000011
31. 31 Odd Parity Similar except make the number of 1s odd
Examples
A (01000001) with odd parity is 11000001
C (01000011) with odd parity is 01000011
32. 32 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
33. 33 Todays 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
34. 34 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-2, 1-4, 1-7 if you think you need a refresher. Answers on book website.
35. 35 Reading Skim chapter 1
Quick read to make sure youre comfortable with material
Read Chapter 2
36. 36 Next Week Combinational Logic Basics
Lab preview
Ill demo tools in class, probably Thursday
Lab on Friday the 19th
Schematic capture
Maybe simple Verilog
Run on FPGA
37. 37 Lab Walkthrough Lets go see the lab
Shared with LEGO 1st year seminar
38. 38 Backup Slides Should be all review material
39. 39 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 http://fls.cll.wayne.edu/olmt/BINARY/ is a nice web page on Binary.
http://fls.cll.wayne.edu/olmt/BINARY/ is a nice web page on Binary.
40. 40 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
41. 41 Converting Binary to Decimal Easy, just multiply digit by power of 2
Just like a decimal number is represented
Example follows
42. 42 Binary ? Decimal Example
43. 43 Decimal to Binary A little more work than binary to decimal
Some examples
3 = 2 + 1 = 11 (thats 121 + 120)
5 = 4 + 1 = 101 (thats 122 + 021 + 120)
44. 44 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
45. 45 Decimal ? Binary Example Convert 28 decimal to binary
46. 46 Hexadecimal Strings of 0s and 1s too hard to write
Use base-16 or hexadecimal 4 bits
47. 47 Hexadecimal Letters to represent 10-15
48. 48 Hex to Binary Convention write 0x before number
Hex to Binary just convert digits
49. 49 Binary to Hex Just convert groups of 4 bits
50. 50 Hex to Decimal Just multiply each hex digit by decimal value, and add the results.
51. 51 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
52. 52 Decimal to Hex
53. 53 Octal Octal is base 8
Similar to hexadecimal
Conversions
Less convenient for use with 8-bit bytes
54. 54 Arithmetic -- addition Binary similar to decimal arithmetic
55. 55 Arithmetic -- subtraction
56. 56 Arithmetic -- multiplication
57. 57 Hexadecimal Arithmetic Similar
If youre doing by hand, easiest to convert each set of digits to decimal and back
Skill is not very useful