~~NOTOC~~ ====== Technical Documents ====== ===== Processor Manuals ===== ==== MIPS ==== Throughout this course, we will use the MIPS R4000 User's Manual (1994) as the definitive specification for the MIPS ISA. All other MIPS-related material provided below are only for your benefit. * {{mips_r4000_users_manual.pdf| (1.5MB) MIPS R4000 Microprocessor User’s Manual (1994)}} * {{mips_reference_data.pdf|MIPS Cheat Sheet (from P&H)}} * {{mips_tutorial.pdf|MIPS Tutorial (pdf)}} * {{mips_tutorial.ppt|MIPS Tutorial (ppt)}} ==== x86 ==== * Intel® 64 and IA-32 Architectures Software Developer Manual (2013) * [[http://download.intel.com/products/processor/manual/325462.pdf|(15MB) Combined Volumes 1-3]] * [[http://download.intel.com/products/processor/manual/253665.pdf|(2MB) Volume 1: Basic Architecture]] * [[http://download.intel.com/products/processor/manual/325383.pdf|(5MB) Volume 2: Instruction Set Reference, A-Z]] * [[http://download.intel.com/products/processor/manual/325384.pdf| (8MB) Volume 3: System Programming Guide]] * IA-32 = 32-bit x86 * Intel 64 = 64-bit x86 (a.k.a. x86-64 or amd64) * (Note: IA-64 is different from Intel 64 and is **not** an x86 ISA.) ==== Alpha ==== * {{alphaahb.pdf|(5MB) Alpha Architecture Handbook (1998)}} * {{21264hrm.pdf|(8MB) Alpha 21264 Microprocessor Hardware Reference Manual (1999)}} * {{cmpwrgd.pdf|(2MB) Compiler Writer’s Guide for the Alpha 21264 (1999)}} ==== VAX ==== * {{vax_archhbkvol1_1977.pdf|(11MB) VAX11/780 Architecture Handbook (1977)}} * {{vax_hwhbk_1979.pdf|(15MB) VAX11/780 Hardware Handbook (1979)}} ==== LC-3b (from Patt and Patel) ==== * (CMU WebISO) [[http://www.ece.cmu.edu/~ece447/cmu_only/pp-appendixa.pdf|P&P Appendix A (The LC-3b ISA)]] * (CMU WebISO) [[http://www.ece.cmu.edu/~ece447/cmu_only/pp-appendixc.pdf|P&P Appendix C (The Microarchitecture of the LC-3b, Basic Machine)]] * {{lc3b-figures.pdf|LC-3b Figures from Appendix C}} * {{18447-lc3b-pipelining.pdf|Pipelined LC-3b Microarchitecture}} ===== Software Tools ===== ==== SPIM Simulator ==== * [[http://pages.cs.wisc.edu/~larus/xspim.pdf|Getting Started with xspim]] ==== Cadence ==== * ''ncvlog.pdf'': * ''simvision.pdf'': * ''simviscmdref.pdf'': ==== Xilinx ==== * ''xst.pdf'': [[http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_2/xst.pdf|XST User Guide for Virtex-4, Virtex-5, Spartan-3, and Newer CPLD Devices 14.2 (2010)]] ===== Verilog Tutorials ===== * {{synth-verilog-cummins.pdf|Cummings, Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill}} * {{goodrtl-parkin.pdf|Parkin, Writing Successful RTL Descriptions in Verilog}} * {{18447-sv-to-verilog.pdf|18-447 Handout: Moving from System Verilog to Verilog}} * [[http://users.ece.utexas.edu/~patt/12s.382N/tools/verilog_manual.html|Online Verilog Manual (UT-Austin EE 382N)]]