**E85: Digital Electronics & Computer Engineering -- Fall 2018** Administrative | | Handouts | | Tools -------------------|-|-----------------------------------------|-|------- [Syllabus][syl] | | [DDCA ARMed Appx A][appxA] | | [Quartus Prime][qp] [Textbook][txt] | | [DDCA ARMed Appx C][appxC] | | [ST Nucleo-32 Board][nuc] [Text Errata][err] | | [DDCA ARMed Cpt 9][cpt9] | | [Keil Microcontroller DK][kei] | | [Solutions PS 1 through 5](PS/ps1thru5sol.pdf) | | | | [Fall 2010 Midterm][mt10] | | [System Verilog Spec][ver] | | [Spring 2007 Final Exam][fe7] | | | | [DDCA ARMed Cpt 1](DSM/01_Ch_01.pdf) | | Lectures | | Problem Sets | | Labs | | Code, Datasheets & Manuals -----------------------------------|-|---------------------------|-|--------------------------|-|--------------- [Chapter 1](Lec/DDCAarm_Ch1.pptx) | | [PS 1](PS/ps1.pdf) | | [Lab 1](Labs/Lab1.pdf) | |[TN2106](DSM/TN2106.pdf) [Chapter 2](Lec/DDCAarm_Ch2.pptx) | | [PS 2](PS/ps2.pdf) | | [Lab 2](Labs/Lab2.pdf) | |[TP2104](DSM/TP2104.pdf) [Chapter 3](Lec/DDCAarm_Ch3.pptx) | | [PS 3](PS/ps3.pdf) | | [Lab 3](Labs/Lab3.pdf) | |[WaveTek Logic Probe Manual][wtp] [Chapter 4](Lec/DDCAarm_Ch4.pptx) | | [PS 4](PS/ps4.pdf) | | [Lab 4](Labs/Lab4.pdf) | |[WaveTek Logic Probe Manual][wtp] [Chapter 5](Lec/DDCAarm_Ch5.pptx) | | [PS 5](PS/ps5.pdf) | | [Lab 5](Labs/Lab5.pdf) | |[DE0-CV User Manual](DSM/DE0_CV_User_Manual_112.pdf) [Learning C](Lec/LearningC.pptx) | | [PS 6](PS/ps6.pdf) | | [Lab 6](Labs/Lab6_525.pdf) | |[QuartusFulladderCompOut.txt](DSM/QuartusFulladderCompilationOutput.txt) [Microcontrollers][mcl] | | [PS 7](PS/ps7.pdf) | | [Lab 7](Labs/Lab7.pdf) | |[STM32F0xx Reference Manual](DSM/stm32f0xxrefmanual.pdf) [Chapter 6](Lec/DDCAarm_Ch6.pptx) | | [PS 8A](PS/ps8A.pdf) | | [Lab 8](Labs/Lab8.pdf) | |[STM32F042x4 Datasheet](DSM/STM32F042x4.pdf) [Chapter 7](Lec/DDCAarm_Ch7.pptx) | | [PS 8B](PS/ps8B.pdf) | | [Lab 9](Labs/Lab9.pdf) | |[Nucleo User Manual](DSM/nucleo32board.pdf) [Digital System Design][dsd] | | [PS 9](PS/ps9.pdf) | | [Lab 10](Labs/Lab10.pdf) | |[lab8starter.c](code/lab8starter.c) [Odds & Ends](Lec/OddsEnds.pptx) | | [PS 10](PS/ps10.pdf) | | [Lab 11](Labs/Lab11.pdf) | |[LIS3DH Accelerometer](DSM/LIS3DH.pdf) [Review for Midterm][mtp] | | [Sol PS 1-5][s15] | | [Sol Lab 1-5][L15] | |[LED Matrix](DSM/ledmatrix.pdf) [Review for Final][frp] | | [Sol PS 6-10][s610] | | [Sol Lab 6-11][L611] | |[Cortex M0 TRM][ctx] | | | | | |[lab9baseline.c](code/lab9baseline.c) [Guide to ASM to MC][asm] | | | | | |[flash.c](code/flash.c) [Lab 6 tutorial.c](code/lab6_tut.c)| | | | | |[led.s](code/led.s) [EasyNucleoIO.h][eni] | | | | | |[arm_single.sv](code/arm_single.sv.txt) [morse.c](code/morse.c) | | | | | |[arm_testbench.sv](code/arm_testbench.sv.txt) [malloc_demo.c](code/malloc_demo.c)| | | | | |[memfile.s](code/memfile.s) [stm32f042x6.h](code/stm32f042x6.h)| |[ASM to MC template][mct]] | | | |[memfile.dat](code/memfile.dat.txt) | | | | | | [ControllerTVFormat.txt](code/TestVectorFormat.txt) | | | | | | [arm_control.tv](code/arm_control.tv.txt) | | | | | | [final_memfile.s](code/memfileExam2018.s) | | | | | | [final_memfile.dat](code/memfileExam2018.dat.txt) | | | | | | [final_testbench.sv](code/testbenchExam.sv) The [Lab 6](Labs/Lab6_525.pdf) above works with Keil Version 5.25, currently the machines in the E85 Lab. There is a newer version [Lab 6 newer](Labs/Lab6.pdf) that works with Keil Version 5.26, which is what you would have if you installed Keil on your personal machine. Check the info on the version of Keil that you're using so that you can use the correct lab handout. The newer version is much more detailed that the old version, so you may want to look at it anyway. Order Info for Nucleo-32 Board: Vendor | Part Number | Page link -------|-------------------|---------------- Digikey| 497-15980-ND | [Link][digikey] Mouser | 511-NUCLEO-F042K6 | [Link][mouser] Lecture|Date|Topics|Readings|Assignment ----:|-----------:|--------------------------------------------------------------------|-------------------------|-| 0 |5‑Sep |Introduction: digital abstraction, number systems, logic gates, HDL|1.1-1.5, A1-A4, 4.1-4.2.2| | 1 |10‑Sep|Static discipline, CMOS transistors |1.6-1.9, A5-A7 | | 10 |12‑Sep|Combinational logic design |2.1-2.8 |PS 1 due 11 |17‑Sep|Timing, sequential circuits |2.9-2.10, 3.1-3.2 |Lab 1 due Digital Circuits 100 |19‑Sep|Finite state machines |3.3-3.4 |PS 2 due 101 |24‑Sep|Dynamic discipline, metastability |3.5-3.7 |Lab 2 due Comb Logic 110 |26‑Sep|Hardware description languages: Verilog |4.1-4.3 |PS 3 due 111 |1‑Oct |Verilog, Part II |4.4-4.10 |Lab 3 due Structural FSM 1000 |3‑Oct |Arithmetic circuits |5.1-5.2 |PS 4 due 1001 |8‑Oct |Fixed and floating-point number systems |5.3 |Lab 4 due Behavioral FSM 1010 |10‑Oct|Sequential building blocks, arrays |5.4-5.7 |PS 5 due 1011 |15‑Oct|Datasheets / C Programming |A.1, C.1-C.7 |Lab 5 due Building blocks |17‑Oct|Midterm||| 1100 |21‑Oct|Fall Break: No class||| 1100 |24‑Oct|C Programming |C.8-C.11 | | 1101 |29‑Oct|Microcontrollers: Memory-mapped I/O |9.1-9.3.3 |Lab 6 due C 1110 |31‑Oct|General Purpose I/O |9.3-9.4 |PS 6 due 1111 |5‑Nov |Serial interfacing | |Lab 7 due C I/O 10000|7‑Nov |ARM assembly language |6.1-6.3.6 |PS 7 due 10001|12‑Nov|Function calls |6.3.7-6.9 |Lab 8 due C Peripherals 10010|14‑Nov|Machine language | |PS 8A due 10011|19‑Nov|Single-cycle processor datapath |7.1-7.3.1 |Lab 9 due Assembly 10100|26‑Nov|Single-cycle processor control, Verilog |7.3, 7.6 | | 10101|28‑Nov|Multicycle processor |7.4 |PS 8B, 9 due 10110|3‑Dec |Pipelining, Prep for PS 10 |7.5.1-2 |Lab 10 due Multicycle Control 10111|5‑Dec |Advanced architecture: a sampler, Lab 11 Demo |7.7 |PS 10 due 11000|10‑Dec|Class in Lab. Assist with Lab 11 | | | 11001|12‑Dec|Class summary and review |1, 2, 3, 4, 5, 6, 7, 9 | Lab 11 due Multicycle CPU [syl]: syllabus.md.html [txt]: http://booksite.elsevier.com/9780128000564/index.php [err]: http://booksite.elsevier.com/9780128000564/errata.php [appxA]: http://booksite.elsevier.com/9780128000564/content/APP0A_Digital_System_Implementation.pdf [appxC]: http://booksite.elsevier.com/9780128000564/content/APP0C_C_Programming.pdf [cpt9]: http://booksite.elsevier.com/9780128000564/ch9.php [qp]: https://www.altera.com/downloads/download-center.html [nuc]: http://www.st.com/en/evaluation-tools/nucleo-f042k6.html [kei]: https://www.keil.com/demo/eval/arm.htm [ver]: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5354441 [dsd]: Lec/DigitalSystemDesign.pptx [eni]: code/EasyNucleoIO.h [ctx]: DSM/DDI0432C_cortex_m0_r0p0_trm.pdf [mt10]: Exams/Midterm10.pdf [fe7]: Exams/Final07.pdf [wtp]: http://www.ic0nstrux.com/download/TestEquipment/LP10_UserManual.pdf [digikey]: https://www.digikey.com/product-detail/en/stmicroelectronics/NUCLEO-F042K6/497-15980-ND/5428804 [mouser]: http://www.mouser.com/search/ProductDetail.aspx?R=0virtualkey0virtualkeyNUCLEO-F042K6 [mcl]: Lec/Microcontrollers.pptx [asm]: Lec/ListForASMtoHEX.pdf [mct]: DSM/ARM_MC_Template.pdf [mtp]: Lec/MidTermReview.pptx [frp]: Lec/FinalReview.pptx [s15]: PS/ps1thru5sol.pdf [s610]: PS/ps6thru10sol.pdf [L15]: Labs/Lab1thru5sol.pdf [L611]: Labs/Lab6thru11sol.pdf