ECE 5760 deals with system-on-chip and FPGA in electronic design. The course is taught by Hunter Adams, who is a staff member in Electrical and Computer Engineering. ECE 5760 thanks INTEL/ ALTERA for their donation of development hardware and software, and TERASIC for donations and timely technical support of their hardware.
Final Projects | Assignments | Staff/Schedule | Links | Lectures (2020)
Assignments Lab exercises | Reading
Lab Assignments
- Hardware ODE solver with HPS control
 - Mandelbrot Set Visualizer
 - Multiprocessor drum synthesis
 - Final Project
 
![]()
 
  Hunter's Lectures (2020), Bruce's Lectures (2019), Lectures (2017, hackaday)
  Final projects
Old lab assignments, ideas for labs 
Old DE2, DE2-115 web page last used in 2016 and Lectures (2011)
Reading Assignments
-  All semester:
	    
- Policy
Tektronix TDS1002 oscilloscope manual - B&K 4040a signal generator manual
 - DE1-SoC Users Manual, Schematic, GPIO Ports
 - Resources available on our Cyclone5.
 
 - Policy
 - Lab 1:          
	    
- Review Synthesizable Verilog syntax Synthesis Methodology
 - Read Linux on DE1-SoC
 - Read University Program DE1-SoC_Computer_15_1
 - SoC-FPGA Design Guide EPFL, Sahand Kashani-Akhavan and René Beuchat (local copy)
 - You are going to be programming C to display waveforms on the VGA subsystem. 
Therefore you are expected to be able to program in Linux/GCC. Read about:- /dev/mem for i/o mapping, e.g. simtec and local
 - Debian Linux. We are using a Debian variant, I believe.
 - GCC on Linux, e.g. die.net
 - USB on DE1-SoC
 
 - You are going to connect the VGA controller using Qsys tools. Read about:
            
            
- Digital Differential Analyser
 - External Bus to Avalon Bridge (external master)
 - Avalon to External Bus Bridge (external slave)
 - Using external buses
 - Using ModelSim to test computations
 
 
 - Review Synthesizable Verilog syntax Synthesis Methodology
 - Lab 2:
 - Lab 3:
    
- Mandelbrot_set
 - Implementation on Cyclone2 (note that the DE1 mentioned here is NOT Cyclone5)
 
 
Schedule and Staff Schedule | Staff
- Lecture: online Fall 2024 --
 - Lab Sections:  ThF 1330 -1600 -- Phillips Hall 238
 - Instructor: V. Hunter Adams -- vhA3@cornell.edu;  office:Phillips 208
TA: ?
Retired instructor: Bruce Land, brl4@cornell.edu
 
Links Cornell | Altera | Verilog
-  Cornell staff maintained pages    
	    
- Final Projects and some ideas
----- Lectures and background ------ - Verilog summary
 - Linux on HPS
 - Remote Access to FPGA and ECE5760 remote desktop
 - Cyclone5_SE_A5 overview
 - Qsys (Platform Designer) bus design
 - Quartus IP Library
 - ADC and DAC on DE1-SoC
----- Design examples for Quartus 18.1------ - Quartus 18.1 examples
 - ----- Design examples for Quartus 15.0------
 - FPGA memory
 - HPS USB
 - pThreads on HPS
 - UDP and ethernet
 - HPS-FPGA Communication (PIO, FIFO and DMA)
 - University Computer graphics/sound
 - Avalon bus-master peripheral (with HPS)
 - Floating point hardware for Cyclone5
----- Applications --------- - DSP on DE1-SoC
 - Floating Point Digital Differential Analyser for Cyclone5
 - Lattice Boltzmann solver
 - ----- Verification -----------
 - Quartus Prime compilation process
 - Signal-Tap logic analyzer
 - HOLA Homebrew logic analyser
 - TimeQuest and *.sdc files
 - Using ModelSim
 - Power estimation in Quartus
 - GPIO header for DE1-SoC -- Scope connection
----------------------------- - DE1-SOC literature
 - Experimenting with DE1-SOC
 - ----- Student DE1-SOC ------
 - Linux on DE1-SOC MANISH PATEL and SYED TAHMID MAHBUB
 - DE1-SOC Evaluation Ahmed Kamel
 - Cyclone4 intro for ece3400
 
 - Final Projects and some ideas
 - DE2 and DE2-115 pages
	  
- DE2 hardware and processor examples (excluding NiosII)
 - FPGA memory
 - Stack CPU
 - NiosII assembler examples
 - NiosII GCC examples
 - NiosII MicroC/OS examples
 - FPGA as an Digital Differential Analyzer (Analog Computer)
 - Neural Models on the FPGA
 - DSP on FPGA
 - Simple Floating Point hardware
 - VGA examples --
 - NTSC Video
 - Stocastic Chemical Reactions (hackaday)
 - The Quick and Dirty Guide to Using ModelSim with Quartus -- by Julie Wang 2014
 - ------DE2-115 --------------
 - DE2-115 top level, pin connections and DE2-115-640x480.zip
 - Using SDRAM
 
 - Altera University Program
        
- Design cookbook -- examples
 - ALL versions of the University Program (version 9 and up)
 
 
- ALTERA Literature and DE2 resources
    
- QUARTUS II design software
 - VERILOG in QUARTUS II, Simulation, Timing, SignalTap
 - Memory Init File (mif) format
 - Advanced Synthesis Cookbook
 - Recommended HDL style       
          
- Reocomended design practice: chapter 11
 - HDL Design Guidelines: 11-3
 - Inferring RAM memory: page 12-8
 - Inferring ROM memory: 12-27
 - Inferring shift-registers: 12-30
 - Inferring multipliers: 12-3
 - Tristate devices -- Do not use for internal signals. 12-41
 - Unintential Latches: 12-37
 
 
 - Verilog      
        
- Verilog Gotcha's and more, and more
 - verilog.org
 - verilog.com and IEEE standard
 - Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill! (Cliff Cummings)
 - Blocking/nonblocking assignments
 - Verilog tutorial (asic-world)
 - Quick Reference (Sutherland HDL)
 - Verilog synthesis methodology (Finbarr O’Regan (finbarr@ee.ucd.ie))
 - Verilog HDL coding (Freescale)
 - Testbench Primer (Lattice)
 
 - General design information
 
