From fundamentals to advanced systems

Teaching

TCAL members teach across the computer engineering curriculum, connecting foundational concepts in digital systems and programming with computer architecture and design, VLSI, and hands-on architectural experimentation.

K4: Hardware Engineering, Computer Architecture and Applications

The lab’s advanced courses form part of the K4 direction of the CEID curriculum, spanning computer architecture, hardware engineering, VLSI, and digital-system design.

K4 details in the Study Guide

Fall semester

7 courses
CEID_22Υ104 Core

Basic Principles of Computer Systems

Introduces the computer as a hierarchical system, covering data representation and arithmetic, processor and memory organization, instruction execution and addressing, assembly language, buses, and input/output.

  • Data representation
  • Computer arithmetic
  • CPU & memory
Instructor
Haridimos Vergos
Course page
CEID_24Y306 Laboratory

Laboratory in Analog and Digital Electronics

Develops practical measurement and circuit-analysis skills using multimeters, generators, and oscilloscopes, with experiments on Kirchhoff and Thevenin equivalents, RC circuits, diodes, transistors, operational amplifiers, timing circuits, digital ICs, and flip-flops.

  • Electrical measurements
  • Analog circuits
  • Digital ICs
Instructor
Konstantinos Georgopoulos
Course page
CEID_25Υ401 Core

Systems Programming

Connects computer architecture with parallel systems and programming by examining how instruction-level and thread-level parallelism, SIMD/vectorization, memory hierarchies, and multicore coherence shape program performance, then applying these concepts through processes, threads, OpenMP, and compiler optimizations.

  • Processes & threads
  • OpenMP & SIMD
  • Caches & coherence
Instructors
George Papadimitriou Vaios Papaioannou
Course page
CEID_ΝΕ5678K4 Core Elective

Special Purpose Systems Design

Studies dependable and fault-tolerant system design, from faults, errors, failures, and fault models to reliability-related attributes and redundancy in hardware, information, time, and software.

  • Fault models
  • Dependability
  • Redundancy
Instructor
Haridimos Vergos
Course page
CEID_ΝΕ4648K4 Core Elective

Introduction to VLSI

Introduces MOS transistors and CMOS VLSI design across electrical, logical, and physical levels, including fabrication and design rules, timing and power, transistor sizing, logic styles, and Cadence-based circuit simulation.

  • CMOS circuits
  • Timing & power
  • Physical design
Instructor
Konstantinos Georgopoulos
Course page
CEID_23Υ211 Laboratory

Laboratory in Logic Design

Builds hands-on skills in designing and verifying combinational and sequential circuits using integrated circuits and VHDL, from structural and behavioral descriptions to testbenches, simulation, registers, counters, and ALU-based systems.

  • VHDL
  • Testbenches
  • Simulation & synthesis
Instructor
Marilena Dounavi
Course page

Spring semester

6 courses
CEID_23Υ107 Core

Logic Design

Covers Boolean algebra, canonical forms and logic minimization, the design of combinational and sequential circuits, and the construction of digital building blocks such as arithmetic circuits, multiplexers, decoders, registers, counters, and finite-state machines.

  • Boolean algebra
  • Logic minimization
  • Combinational & sequential logic
Instructor
Konstantinos Georgopoulos
Course page
CEID_NE5668K4 Core Elective

Special Topics in Digital Systems Design

Explores digital-system testing and design for testability, covering physical defects and fault models, fault simulation and test generation, scan paths, BIST, boundary scan, memory testing, and industry tools.

  • Fault simulation
  • ATPG & scan
  • BIST & standards
Instructor
Panagiotis Sismanoglou
Course page
CEID_NE4658K4 Core Elective

Digital Systems Design Using E-CAD Tools

Develops computer-aided system design across HDLs and finite-state machines, hierarchical methods, logic and timing verification, rapid prototyping, and implementation flows for PCBs, programmable logic, FPGAs, and VLSI.

  • HDL & FSMs
  • Verification
  • FPGA & VLSI flows
Instructor
Haridimos Vergos
Course page
CEID_NE5647K4 Core Elective

VLSI Systems Design

Surveys the complete design flow for digital and embedded systems, from VHDL modeling and synthesis to datapaths, control, memories, buses, error detection and correction, ASICs, FPGAs, packaging, and test.

  • VHDL & synthesis
  • Datapaths & control
  • ASICs & FPGAs
Instructor
Konstantinos Georgopoulos
Course page

Software and simulators used in our courses

These tools help students move from writing an instruction or an HDL description to observing pipelines, simulating hardware, and designing reproducible experiments in computer architecture and digital systems.

Assembly & debugging

RARS

A lightweight RISC-V assembler and runtime simulator for writing, executing, and debugging assembly programs while observing how instructions map to machine code.

  • Computer Architecture
  • Laboratory in Computer Architecture
Open GitHub repository
Visual microarchitecture

Ripes

A visual processor simulator and assembly editor that exposes datapaths, pipeline stages, hazards, forwarding, caches, and instruction execution cycle by cycle.

  • Laboratory in Computer Architecture
Open GitHub repository
Research-grade simulation

gem5

A modular computer-system simulator for modeling processors and memory systems, designing controlled experiments, and evaluating architectural trade-offs with research-level methodology.

  • Advanced Topics in Computer Architecture
Open GitHub repository
Compilation toolchain

RISC-V GNU Toolchain

The compiler, assembler, linker, and supporting tools used to build RISC-V programs for experiments in gem5 and other simulation environments.

  • Advanced Topics in Computer Architecture
Open GitHub repository
Digital Systems Design

AMD Vivado

An integrated development environment for AMD FPGAs and adaptive SoCs, supporting VHDL design entry, simulation, synthesis, implementation, timing analysis, hardware debugging, and bitstream generation.

  • Laboratory in Logic Design
Open AMD download page

Turn coursework into research experience

Students interested in computer architecture and digital systems can continue through a diploma thesis, research project, or collaboration with a TCAL member.