Académique Documents
Professionnel Documents
Culture Documents
SYSTEMS DESIGN
Brian Zimmer
September 1, 2011
BRIAN ZIMMER
Email: bmzimmer@eecs.berkeley.edu
Website: http://eecs.berkeley.edu/~bmzimmer/
Discussion Sections: Thursdays, 5pm-6pm, 320 Soda Hall
Office Hours: Tuesdays, 1pm-2pm, 550 Cory Hall (if
undergrad, just knock on the door)
Questions?: Ask on piazza.com, only email me if you are
sure nobody else would be interested in the answer
I will respond just as fast as if were an email
LOGISTICS
Has everyone successfully setup everything?
Piazza
Github
SSH
NoMachine (NX)
MACHINE ASSIGNMENTS
NoMachine has a limit of two users, so you will be assigned to share
a machine with someone
When projects start, each group will have their own machine
REMEMBER!
NEVER post materials online
Tools
Documents
Technology files
Methodology Scripts
Which also means google wont help much if youre stuck
PROCESS
Synopsys 90nm Educational Library
Can use without an NDA (not a real process)
Whole source: ~/cs250/stdcells/vendor
9 metal layers
Standard cells, SRAM
IO Pads
Also includes need files for custom design
Easy physical design
Tutorial coming soon
LAB LOGISTICS
TIPS
Be efficient:
Learn bash/vim well
Learn how to debug
Learn how to script
Document
If it took you more than 5 minutes to figure out, write it down
Draw it first
Will save time in the long run
Do the tutorials
Start early
Asking questions also saves time, so start early enough that you have time to
ask
Thursday, September 1, 2011
FINDING HELP
Optional Book: Digital VLSI Chip Design with Cadence
and Synopsys CAD Tools, by Erik Brunvand
Not just about VLSI toolswill give a broader perspective
Piazza
Beware of googling
Chisel will have nothing, most tools under NDAs
OTHER TOOLS
Instructional
Ack: Search for text recursively. To install:
mkdir bin; curl http://betterthangrep.com/ack-standalone
> ~/bin/ack && chmod 0755 !#:3
To .bash_profile, add the line export PATH=~/bin:$PATH
Bash/Vim:
My settings: https://github.com/brianzimmer/dotfiles Take what you wantbut make
sure you read through every file to put your own name/preferences in and understand
what every line does
Evernote
Great way to document (take a screenshot, paste in code, etc)
In this class, there will be many one-line tricks/code snippets/etc that should
be recorded for future reference
OS X
Quicksilver
Command-{
Size-up
iTerm
~cs250/stdcells/synopsys-90nm/vendor/SAED_EDK90nm/
Digital_Standard_Cell_Library/doc/databook
FUTURE DISCUSSIONS
Bring your laptop!
Please keep comingthese are meant to save you time in the long
run
Im open to recommendations regarding what material to cover
email me if you would really like to see anything in particular covered
Greatest
Common
Divisor
IF TIME: LAB 1 DISCUSSION
Euclidean Algorithm
START (A, B)
if (A < B)
SWAP (A, B)
else if (B != 0)
SUBTRACT (A-B, B)
else
DONE gcd=A
SO DESIGN IT!
Split into datapath and control
Figure out how many states you need and how to transition between
states
Figure out how what control signals your control needs to generate
for your datapath
Tick-tock!
PARTIAL ANSWER
operands_val
operands_rdy
operands_A
A_mux_sel
A_en
reset
result_val
B_mux_sel
B_en
B_zero
A_lt_B
result_rdy
zero?
lt
result
A
sub
operands_B
WAIT
Waiting fo
CALC
Swapping
DONE
Waiting fo