### Computer System Structures

##### B232 - Summer 23/24
This is a grouped Moodle course. It consists of several separate courses that share learning materials, assignments, tests etc. Below you can see information about the individual courses that make up this Moodle course.

#### Computer System Structures - A0B35SPS

##### Main course
 Credits 6 Semesters Winter Completion Assessment + Examination Language of teaching Czech Extent of teaching 3P+2L
Annotation
The subject introduces into basic hardware structures of computer systems, into their design and architecture. It explains technical background of classic computer systems and special computer for digital and logic control. It gives greater insight into parallel processing of data in computers.
Students obtain credits from practical exercises according to results of individual projects. The projects are solved on FPGA development boards Altera DE2 that are utilized in similar courses by many world's top universities.
Study targets
Introduction into computers systems and basic constructions of computers peripherials.
Course outlines
1. About structures computer systems. Binary numbers. Logic functions - their properties and implementations. Logical expressions versus logic gates. Boolean cube and designing logical functions by Karnaugh maps.
2. Boolean algebra. De Morgan's theorem. Problem SAT and BDD for logic functions. Basic combinational circuits and their designs. Decompositions and Shanonnova expansion. Group minimizations.
3. Synchronous and asynchronous sequential circuits, latches and flip-flops. Simple sequential circuits: registers, shift registers, and asynchronous counters.
4. Synchronous counter and hazards in logic circuits. Hazards in combinational circuits. Metastability of sequential circuits. Dealing with hazards in synchronous circuits. Examples of basic synchronous circuits. Synchronous circuit with ripple-carry and carry-lookahead.
5. HDL languages, basic design , multi-valued logic . Description of basic combinational circuits in VHDL. Composing circuits from components.
6. Sequential circuits in VHDL. Signals and VHDL attributes. Counters and shift registers . Testing and debugging circuits by VHDL testbenches.
7. Finite state machines (FSM) and their design. FSMs in VHDL. VHDL packages.
8. Controllers as special FSM. Phase look loop for frequency multiplication. Computer memories.
9. Data path in processors. The structure of general processor, design of 1bit processor and its testing. Design of peripherals.
10. NIOS processor structure with structure closed to MIPS processor, its basic architecture and programming. Modification of NIOS processor system.
11. Advanced Computer Systems Structures and Design, buses with peripherals, memory cache, interruptions. DMA transfer .
12. Practical interfacing for logic circuits. Connecting different types of interfaces and voltage levels. Power supply solutions and protections. Galvanic isolation.
13. Inside FPGA and ASIC circuits. Feedback shift registers used as a hardware accelerator for processor systems.
14. Structures of industrial computers, Programmable logic controllers and their differences from conventional computers.
Exercises outlines
1. Introduction, safety work in laboratory, demonstration and testing of the work with the Altera development board DE2.
2. Work in Quartus II development environment - creating a project, entering simple logic circuits, output assignments, compiling and downloading design into DE2 board. Independent work on examples of simple gates.
3. Creating lighthouse beacon shown in the first lecture in Quartus, simulation and adding shift register. Independent work on examples.
4. Assigning simple individual project No. 1. Independent work on the project.
5. Assigning more complex individual project No. 2. Independent work on the projects 1 and 2.
6. Independent work on projects 1 and 2.
7. Assigning project No.3 in VHDL. Independent work on the projects.
8. . Independent work on the projects.
9. Assigning complex projects 4 and 5.
10. Independent work on projects.
11. Independent work on projects.
12. Independent work on projects.
13. Independent work on projects, credit administration.
14. Individual work on projects, credit administration.
Literature
1. John Y. Hsu: Computer Logic, Springer 2002, ISBN: 0387953043
2. Volnei A. Pedroni: Digital Electronics and Design with VHDL, MORGAN KAUFMANN 2008, ISBN: 0123742706
3. Enoch O. Hwang: Digital Logic and Microprocessor Design with VHDL, Thomson 2006, ISBN: 0-534-46593-5
4. Hachtel, G. D., Somenzi, F., Logic Synthesis and Verification Algorithms, Kluwer Academic. 1996.
5. DeMicheli G., Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994.
Requirements
Boolean algebra, logic circuits

#### Computer System Structures - AD0B35SPS

 Credits 6 Semesters Winter Completion Assessment + Examination Language of teaching Czech Extent of teaching 21KP+6KC
Annotation
The subject introduces into basic hardware structures of computer systems, into their design and architecture. It explains technical background of classic computer systems and special computer for digital and logic control. It gives greater insight into parallel processing of data in computers.
Students obtain credits from practical exercises according to results of individual projects. The projects are solved on FPGA development boards Altera DE2 that are utilized in similar courses by many world's top universities.
Study targets
Introduction into computers systems and basic constructions of computers peripherials.
Course outlines
1. About structures computer systems. Binary numbers. Logic functions - their properties and implementations. Logical expressions versus logic gates. Boolean cube and designing logical functions by Karnaugh maps.
2. Boolean algebra. De Morgan's theorem. Problem SAT and BDD for logic functions. Basic combinational circuits and their designs. Decompositions and Shanonnova expansion. Group minimizations.
3. Synchronous and asynchronous sequential circuits, latches and flip-flops. Simple sequential circuits: registers, shift registers, and asynchronous counters.
4. Synchronous counter and hazards in logic circuits. Hazards in combinational circuits. Metastability of sequential circuits. Dealing with hazards in synchronous circuits. Examples of basic synchronous circuits. Synchronous circuit with ripple-carry and carry-lookahead.
5. HDL languages, basic design , multi-valued logic . Description of basic combinational circuits in VHDL. Composing circuits from components.
6. Sequential circuits in VHDL. Signals and VHDL attributes. Counters and shift registers . Testing and debugging circuits by VHDL testbenches.
7. Finite state machines (FSM) and their design. FSMs in VHDL. VHDL packages.
8. Controllers as special FSM. Phase look loop for frequency multiplication. Computer memories.
9. Data path in processors. The structure of general processor, design of 1bit processor and its testing. Design of peripherals.
10. NIOS processor structure with structure closed to MIPS processor, its basic architecture and programming. Modification of NIOS processor system.
11. Advanced Computer Systems Structures and Design, buses with peripherals, memory cache, interruptions. DMA transfer .
12. Practical interfacing for logic circuits. Connecting different types of interfaces and voltage levels. Power supply solutions and protections. Galvanic isolation.
13. Inside FPGA and ASIC circuits. Feedback shift registers used as a hardware accelerator for processor systems.
14. Structures of industrial computers, Programmable logic controllers and their differences from conventional computers.
Exercises outlines
1. Introduction, safety work in laboratory, demonstration and testing of the work with the Altera development board DE2.
2. Work in Quartus II development environment - creating a project, entering simple logic circuits, output assignments, compiling and downloading design into DE2 board. Independent work on examples of simple gates.
3. Creating lighthouse beacon shown in the first lecture in Quartus, simulation and adding shift register. Independent work on examples.
4. Assigning simple individual project No. 1. Independent work on the project.
5. Assigning more complex individual project No. 2. Independent work on the projects 1 and 2.
6. Independent work on projects 1 and 2.
7. Assigning project No.3 in VHDL. Independent work on the projects.
8. . Independent work on the projects.
9. Assigning complex projects 4 and 5.
10. Independent work on projects.
11. Independent work on projects.
12. Independent work on projects.
13. Independent work on projects, credit administration.
14. Individual work on projects, credit administration.
Literature
1. John Y. Hsu: Computer Logic, Springer 2002, ISBN: 0387953043
2. Volnei A. Pedroni: Digital Electronics and Design with VHDL, MORGAN KAUFMANN 2008, ISBN: 0123742706
3. Enoch O. Hwang: Digital Logic and Microprocessor Design with VHDL, Thomson 2006, ISBN: 0-534-46593-5
4. Hachtel, G. D., Somenzi, F., Logic Synthesis and Verification Algorithms, Kluwer Academic. 1996.
5. DeMicheli G., Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994.
Requirements
Boolean algebra, logic circuits

#### Computer System Structures - AE0B35SPS

 Credits 6 Semesters Winter Completion Assessment + Examination Language of teaching English Extent of teaching 3P+2L
Annotation
The subject introduces into basic hardware structures of computer systems, into their design and architecture. It explains technical background of classic computer systems and special computer for digital and logic control. It gives greater insight into parallel processing of data in computers.
Students obtain credits from practical exercises according to results of individual projects. The projects are solved on FPGA development boards Altera DE2 that are utilized in similar courses by many world's top universities.
Study targets
Introduction into computers systems and basic constructions of computers peripherials.
Course outlines
1. About structures computer systems. Binary numbers. Logic functions - their properties and implementations. Logical expressions versus logic gates. Boolean cube and designing logical functions by Karnaugh maps.
2. Boolean algebra. De Morgan's theorem. Problem SAT and BDD for logic functions. Basic combinational circuits and their designs. Decompositions and Shanonnova expansion. Group minimizations.
3. Synchronous and asynchronous sequential circuits, latches and flip-flops. Simple sequential circuits: registers, shift registers, and asynchronous counters.
4. Synchronous counter and hazards in logic circuits. Hazards in combinational circuits. Metastability of sequential circuits. Dealing with hazards in synchronous circuits. Examples of basic synchronous circuits. Synchronous circuit with ripple-carry and carry-lookahead.
5. HDL languages, basic design , multi-valued logic . Description of basic combinational circuits in VHDL. Composing circuits from components.
6. Sequential circuits in VHDL. Signals and VHDL attributes. Counters and shift registers . Testing and debugging circuits by VHDL testbenches.
7. Finite state machines (FSM) and their design. FSMs in VHDL. VHDL packages.
8. Controllers as special FSM. Phase look loop for frequency multiplication. Computer memories.
9. Data path in processors. The structure of general processor, design of 1bit processor and its testing. Design of peripherals.
10. NIOS processor structure with structure closed to MIPS processor, its basic architecture and programming. Modification of NIOS processor system.
11. Advanced Computer Systems Structures and Design, buses with peripherals, memory cache, interruptions. DMA transfer .
12. Practical interfacing for logic circuits. Connecting different types of interfaces and voltage levels. Power supply solutions and protections. Galvanic isolation.
13. Inside FPGA and ASIC circuits. Feedback shift registers used as a hardware accelerator for processor systems.
14. Structures of industrial computers, Programmable logic controllers and their differences from conventional computers.
Exercises outlines
1. Introduction, safety work in laboratory, demonstration and testing of the work with the Altera development board DE2.
2. Work in Quartus II development environment - creating a project, entering simple logic circuits, output assignments, compiling and downloading design into DE2 board. Independent work on examples of simple gates.
3. Creating lighthouse beacon shown in the first lecture in Quartus, simulation and adding shift register. Independent work on examples.
4. Assigning simple individual project No. 1. Independent work on the project.
5. Assigning more complex individual project No. 2. Independent work on the projects 1 and 2.
6. Independent work on projects 1 and 2.
7. Assigning project No.3 in VHDL. Independent work on the projects.
8. . Independent work on the projects.
9. Assigning complex projects 4 and 5.
10. Independent work on projects.
11. Independent work on projects.
12. Independent work on projects.
13. Independent work on projects, credit administration.
14. Individual work on projects, credit administration.
Literature
1. John Y. Hsu: Computer Logic, Springer 2002, ISBN: 0387953043
2. Volnei A. Pedroni: Digital Electronics and Design with VHDL, MORGAN KAUFMANN 2008, ISBN: 0123742706
3. Enoch O. Hwang: Digital Logic and Microprocessor Design with VHDL, Thomson 2006, ISBN: 0-534-46593-5
4. Hachtel, G. D., Somenzi, F., Logic Synthesis and Verification Algorithms, Kluwer Academic. 1996.
5. DeMicheli G., Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994.
Requirements
Boolean algebra, logic circuits