2. Credits: 3 credit hours
Lectures: Tuesday and Thursday, 1:00 to 2:20pm
5. Grade Policies: Grading will be based on the projects and presentations assigned during the semester.
6. Absence Policies: Attendance and participation in class is expected. In general, the class on Tuesday is lecture oriented, while the class on Thursday is often focused on design tools and laboratory tutorials.
Emphasis on Chapters 1, 3, 6, 7. http://www.amazon.com/FPGA-Based-System-Design-Prentice-Semiconductor/dp/0131424610/ref=sr_1_3/102-0171952-4496933?ie=UTF8&s=books&qid=1188319895&sr=1-3
Emphasis on Chapters 1, 2, 3, 4, 5, 6, 7, 10, 11. http://www.amazon.com/Software-Defined-Radio-Technologies-Basestations/dp/0470867701/ref=sr_1_2/102-0171952-4496933?ie=UTF8&s=books&qid=1188320142&sr=1-2
Other supplemental materials: Current papers and design tool tutorials posted to Canvas.
Papers (from IEEE Explore) are on FPGA and ASIP design, and example architectures, including:
8. Specific Course Information:
a. Catalog Description: Design and analysis of algorithm-specific VLSI processor architectures. Topics include the implementation of pipelined and systolic processor arrays. Techniques for mapping numerical algorithms onto custom processor arrays. Course includes design project using high-level VLSI synthesis tools.
b. Prerequisites: A course in Digital Systems Design such as ELEC 326/327 is recommended. An introductory course in VLSI System Design is useful. Background in computer architecture, computer arithmetic, and signal processing is also helpful. C++ language programming is useful as well as compiler/debugging tools such as Eclipse and Visual Studio. Basic knowledge of Linux is a plus.
c. Elective Status: ELEC 522 is a graduate elective. Undergraduates may take the course as a Specialization course in Computer Engineering in consultation with their advisor.
ELEC_522_Proj_1_Sysgen_Intro / CUDA Intro |
ELEC_522_Proj_4_Vivado_HLS_CORDIC |
ELEC_522_Proj_2_Matrix_Mult on FPGA / GPU |
ELEC_522_Proj_5_QR_Array |
ELEC_522_Proj_3_Vivado_HLS_Matrix_Mult |
ELEC_522_Proj_6_4x4_Linear_System_Solver |
The relationships to seven criteria are listed with 1, 2, and 3. (with 3 as most related.)
1 |
An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. |
3 |
2 |
An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors. |
3 |
3 |
An ability to communicate effectively with a range of audiences. |
1 |
4 |
An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts. |
1 |
5 |
An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives. |
2 |
6 |
An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions. |
3 |
7 |
An ability to acquire and apply new knowledge as needed, using appropriate learning strategies. |
1 |
We will use the VLSI Digital Design Lab, with the Xilinx ZedBoard and AUP-ZU3 University Development Boards which contains the Xilinx Zynq-7000 or newer chip for the course; the Rice CLEAR Linux cluster for access to a Xilinx Alveo FPGA board, PetaLinux, Synopsys/Cadence VLSI design tools via Xwindows using MobaXterm in addition to the laboratory PCs in RYN B22; Canvas at Rice for notes and project submission. NVIDIA GTX 1660 GPU with CUDA 13 and Visual Studio 2022 Community is available.
11. Rice Honor Code: The Honor Code will apply to individual homework / projects.
Homework / Project Honor Code: Complete homework / project assignments individually. Please list your name on the submitted solution. Solutions submitted after the date and time specified will receive no credit. You may freely use the 2025 course notes or course handouts for the assignments. Students may discuss and compare ideas on the homework / project assignments, but each student must write up solutions individually without resorting to copying. That is, students must not create submissions together; students may discuss problems but may not actually write up their assignments together. You should also not refer to solutions posted on the web or from previous years' classes. Clearly state any assumptions that you make to solve the problems and show all your work. You must clearly list any reference material beyond that provided on Canvas that is used. Each homework / project / presentation may state additional specific details.
Generative AI: Large Language Models, such as ChapGPT have emerged recently. The goal of this course is for students to be able to create their own custom C and Verilog code to develop unique ASICs or FPGA bitfiles as well as the controlling application code. As such, generative AI methods are not to be used in this course.
12. Students with Disabilities: Any student with a disability requiring accommodations in this course is encouraged to contact the instructor after class or during office hours. Additionally, students will need to contact Disability Support Services in the Ley Student Center.
13. Updates: Consult the class Canvas page for updates to information contained in the syllabus.