autumn 2025
ELE-3603 Programmable circuits - 5 ECTS

Type of course

The course can be taken as a single course.

Admission requirements

A relevant undergraduate Bachelor degree in Engineering program in power electronics and electrical machines. Basic knowledge in power systems is also an advantage.

In addition, the following requirements must be met:

- minimum 25 credits in mathematics (equivalent to Mathematical Methods 1, 2 og 3), 5 credits in statistics and 7,5 ects i physics on a higher level is required.

Application code: 9371


Course content

This course introduces the students to digital circuit design using VHDL. Emphasis will be put on understanding the difference between normal programming of instructions running in a CPU and digital circuit synthesis in an FPGA. The students will get experience in designing digital circuits in an FPGA in many areas:

  • Combinatorial circuits, e.g. comparators, (de)multiplexers, encoders, and adders/subtractors.
  • Ordinary sequential circuits using Register Transfer Logic (RTL), e.g. data flip-flops, shift-registers, and counters.
  • Application specific sequential circuits coded as Finite State Machines with Datapath (FSMD), using patterns in VHDL programming to ensure that timing requirements in the FPGA are met.
  • Applications can be traffic lights, line coding in tele communication, UART, SPI, I2C, CPU, etc.
  • Different types of simulation of VHDL code to verify the functionality of the implementation.
  • How to use the User Constraint File (UCF), be able to synthesise, implement, and program a design to an FPGA.
  • Use of IP-cores for rapid implementation of advanced circuitry.

Use of advanced debugging tools, including IP-cores for Virtual I/O (VIO) og Integrated Logic Analyser (ILA).


Recommended prerequisites

ELE-3609 Signal Distribution and Transmission, ELE-3611 Programming, ELE-3612 Instrumentation and Measuring Systems

Objectives of the course

After completing the subject, the candidate will have the following learning outcome:

Knowledge:

The candidate knows:

  • The principles for the design av development of FPGA based systems.
  • Describe how to represent numbers and letters in VHDL.
  • Understand the difference between combinatorial and sequential logic.
  • Understand the difference between signals and variables in VHDL.
  • Understand how to use coding patterns to separate the combinatorial and the sequential part of a state machine to ensure adherence to the timing constraints of an FPGA.
  • Principles for testing and trouble shooting on digital circuits.

Skills:

The candidate can

  • Use tools and software for digital design.
  • Write VHDL code from a requirements specification.
  • Write VHDL code for combinatorial circuits.
  • Write VHDL code for sequential circuits.
  • Use coding patterns to build a state machine in VHDL that meets the timing constraints in an FPGA.

Use Vitrual I/O (VIO) and Integrated Logic Analyser (ILA) to test, troubleshoot and verify the functionality of a digital circuit.


Language of instruction and examination

English

Teaching methods

Classroom lectures delivered in two gatherings of 3 days each. Video lectures followed by online meetings.

Information to incoming exchange students

This course is open for inbound exchange student who meets the admission requirements. Please see the Admission requirements" section".

Master Level

Do you have questions about this module? Please check the following website to contact the course coordinator for exchange students at the faculty: https://en.uit.no/education/art?p_document_id=510412.


Schedule

Examination

Examination: Duration: Grade scale:
Oral exam 15 Minutes A–E, fail F

Coursework requirements:

To take an examination, the student must have passed the following coursework requirements:

Project Approved – not approved
UiT Exams homepage

More info about the coursework requirements

A larger project work done in groups or individually. Students choose groups. Unique assignment for each group. The assignment will be to design and implement a module in an FPGA as part of a larger construct. Fulfillment of project work is not dependent on other groups.

More info about the oral exam

Individual oral exam in an online meeting.

Re-sit examination

Students who do not pass the previous ordinary examination can gain access to a re-sit examination.
  • About the course
  • Campus: Narvik |
  • ECTS: 5
  • Course code: ELE-3603
  • Earlier years and semesters for this topic