Despite September 17th being a national holiday for Mid-Autumn
Festival, our class will continue as scheduled, and students are
required to complete an online quiz. For information on how to
participate and access the remote class, please refer to this
website.
The first assignment, consisting of RISC-V assembly programming,
will be given next week.
Quiz1: C
programming, bit-wise operations, number representation, floating-point
/ Solutions
Week 3 (Sep 24): RISC-V
Announcement:
Quiz2 is scheduled on Oct 1: Due to the possibility that the
classroom capacity may not accommodate the number of enrolled students,
additional classrooms may be arranged as test venues. Please make sure
to check this page on the evening of September 30th for related
announcements.
Due to the impact of Typhoon Krathon, Quiz 2 will be conducted
online instead of in-person. Please refresh this web page to obtain the
latest information on how to participate in the online quiz and attend
the course remotely.
Access the live-streamed course on YouTube. Watch the live
stream carefully: Quiz 2 participation instructions will be provided
during the broadcast.
Quiz 3 is scheduled for Oct 22 and will cover RISC-V assembly
programming, software optimizations, instruction encoding, sequential
logic, and combinational logic.
Yes, you can implement a few logic-like elements without
electricity.
Logic gates are primarily implemented using diodes or transistors
acting as electronic switches, but can also be constructed using vacuum
tubes, electromagnetic relays (relay logic), fluidic logic, pneumatic
logic, optics, molecules, or even mechanical elements. Now, most logic
gates are made from MOSFETs (metal–oxide–semiconductor field-effect
transistors).
sequential logic is a type of logic circuit whose output depends on
the present value of its input signals and on the sequence of past
inputs, the input history.
Constructing Hardware in a Scala Embedded Language (Chisel) is an
open-source hardware description language (HDL) used to describe digital
electronics and circuits at the register-transfer level that facilitates
advanced circuit generation and design reuse for both ASIC and FPGA
digital logic designs.
The next homework assignment will be given out next week, along with
Quiz 4. Please review last year’s
homework to get familiar with the procedure and expectations.
This semester, we will conduct 7 quizzes. Out of these, the best 4
will be selected for grading purposes.
The instructor will submit the grades on the school’s designated
deadline (Jan 24,
2025) for grade registration. This means that students will have
ample time to dedicate to the final project assigned in this
course.
Lockstep
systems are fault-tolerant computers that simultaneously perform
identical operations in parallel. Borrowed from military marching
terminology, these systems use redundancy to detect and correct errors.
With two systems (dual modular redundancy), errors can be identified,
and with three systems (triple modular redundancy), errors can be
automatically corrected through majority voting.
Regarding the final project, students may form groups of 1 to 3
members (the project’s difficulty will depend on the group size and
members’ backgrounds). Please refer to last year’s projects for
reference and send an email to jserv.tw@gmail.com,
specifying your group members and proposed project topics (you may
suggest multiple topics, with the final decision made by the
instructor).
Due to the instructor’s significant involvement in a confidential
project, there has been limited participation in this course.
Consequently, the instructor proposes a modification to the course
grading structure.
The new breakdown will be as follows: Quiz (30%), Homework (30%),
Final/Term Project (25%), and an additional “Base” component (15%). This
“Base” component ensures that each student’s starting score is at least
15%.
Quiz7 is scheduled on Jan 7, 2024
rv32emu
introduces tier-1 JIT compiler to accelerate RISC-V simulation.
Execute make ENABLE_JIT=1 clean all and then run
build/rv32emu build/smolnes.elf to play NES games.