How Computers Work

Faculty
Mikhail Shupletsov
PhD, Associate Professor at Lomonosov Moscow State University
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
The module’s goal is to give basic knowledge of computer systems organisation and design. Understanding architecture and design process of microprocessors and other digital microelectronic devices is at the core of the module.
The first week’s materials covers Verilog hardware definition language (HDL), modern design flow of microelectronic devices. During the week, students learn basic components of modern computer systems, common essentials of synchronous circuits design and have hands-on experience with prototyping simple microelectronic control systems with the help of field-programmable gate arrays (FPGAs).
The third week is devoted to the basic principles of computer architecture and assembly languages. During this week students learn the fundamentals of MIPS assembly language, analyse and modify the structure of a simple MIPS-based microprocessor. All covered topics are supported with design or programming labs using Quartus software suite and Altera-Intel FPGAs.
Learning highlights
- Understanding fundamentals of digital hardware design
- Basic knowledge of Verilog HDL
- Skills of digital hardware prototyping with FPGAs
- Understanding of assembly language and basic skills of MIPS assembly programming
- Basic knowledge of modern hardware architecture
Course outline
4 classes
Introduction
Quick review of computer history: from early calculators to modern computers. How computers are made: microelectronics and semiconductor industry. Electronic Design Automation (EDA). Semiconductor intellectual property (IP). Abstractions hierarchy and modelling approaches for modern microelectronic devices. Typical design flow of digital microelectronic devices. Application-specific integrated circuit (ASIC) and field-programmable gate array (FPGA). Design quality measures of digital microelectronic devices.
Lab: introduction to FPGA design using Quartus software
Quartus interface fundamentals. Pin assignment. Basic FPGA design flow. The IP catalogue. Using the schematics editor. Implementing a simple counter in FPGA.
From transistors to Boolean circuits
Boolean functions and algebras. Complementary metal oxide semiconductor (CMOS) transistors. Modelling CMOS transistors with Boolean functions. CMOS circuits. Logic gates. Boolean circuits and combinational logic design. Simple combinational circuits.
Seminar: representing Boolean functions
Representing Boolean functions with CMOS circuits. Representing Boolean functions with Boolean circuits: sum-of-products and product-of-sums forms. Logic minimisation with Karnaugh Maps.
Introduction to hardware description languages
The Verilog HDL. Simulation and synthesis. Behavioural and structural representations of hardware. Basic data structures: wire and reg. Modules: ports, declaration and instances. Continuous assignment. Operators that generate combinational circuits. Always and initial blocks. Blocking and non-blocking assignment.
Lab: hardware simulation with ModelSim
Basics of Verilog’s module simulation with ModelSim software. Reading waveforms. Creating simple testbenches with Verilog.
The Verilog HDL continued
Parameterised modules. Module hierarchy. Generate blocks.
Lab: Verilog coding essentials
Creating behavioural descriptions: assign and always statements. Creating structural descriptions: gate-level modelling, creating modules hierarchies. Practice with parameterised modules and generate blocks.
Course materials
Books
Prerequisites
This course is one of three in a wholistic series.
Students that have already taken MSL-111 and those with prior experience with HTML, CSS, and Javascript building simple web pages will be good candidates for this module.
Mikhail received his computer science and applied mathematics master’s degree in 2007 followed by mathematics and physics Ph. D in 2011 from Lomonosov Moscow State University. His main research interests are in the fields of discrete mathematics, control systems theory, computational and systems biology.
He currently occupies position of Associate Professor at Mathematical Cybernetics department of Lomonosov Moscow State University, where he co-supervises master’s program in the field of computer-aided tools development for modern integrated circuits design.
See full profileApply for this course
How Computers Work
by Mikhail Shupletsov
Total hours
45 Hours
Dates
Jun 10 - Jun 28, 2019
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.