Skip to content

Commit

Permalink
feat: update LO for hardware
Browse files Browse the repository at this point in the history
  • Loading branch information
natalieagus committed Jul 22, 2024
1 parent 2b1aa3e commit c11c339
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 48 deletions.
10 changes: 5 additions & 5 deletions docs/Hardware/a_basics-of-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ Singapore University of Technology and Design
{:.highlight-title}
> Detailed Learning Objectives
>
> 1. **Understand the Foundation of Digital Devices:**
> 1. **Foundation of Digital Devices:**
> - Learn the basic concept of encoding information using electrical signals.
> - Understand how bits represent data in electronic devices and their role in computation.
> - Explain how bits represent data in electronic devices and their role in computation.
> 2. **Explore Number Systems and Encoding:**
> - Gain proficiency in converting between binary, decimal, octal, and hexadecimal number systems.
> - Comprehend the use of prefixes and suffixes in different number systems to indicate bases.
> 3. **Master 2's Complement for Signed Numbers:**
> - Understand how 2's complement is used to represent signed integers in binary form.
> - Explain how 2's complement is used to represent signed integers in binary form.
> - Learn the process of converting positive numbers to their negative counterparts using 2's complement.
> 4. **Grasp Various Encoding Techniques:**
> - Recognize fixed length length encoding methods.
Expand All @@ -47,10 +47,10 @@ Singapore University of Technology and Design
> - Appreciate the importance of logic gates in translating theoretical binary operations into practical applications within computing hardware.
> 8. **Apply Knowledge to Practical Digital System Design:**
> - Explore the historical context and evolution of digital devices from mechanical systems to modern electronic computers.
> - Understand the practical constraints in early computing, such as cost and size, and how they influenced design decisions.
> - Appreciate the practical constraints in early computing, such as cost and size, and how they influenced design decisions.
> 9. **Lay the Groundwork for Building General-Purpose Computers:**
> - Begin the process of learning how to design and build a general-purpose programmable machine.
> - Understand the transition from specific-purpose devices to general-purpose computing platforms.
> - Appreciate the transition from specific-purpose devices to general-purpose computing platforms.
>
> These objectives aim to equip students with a comprehensive understanding of digital systems from the ground up, preparing them to engage in more advanced studies and applications in computer science and engineering.
Expand Down
10 changes: 5 additions & 5 deletions docs/Hardware/b_digitalabstraction.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,26 @@ Singapore University of Technology and Design
{:.highlight-title}
> Detailed Learning Objectives
>
> 1. **Understand Digital Abstraction:**
> 1. **Digital Abstraction:**
> - Learn how digital circuits encode information using voltage levels to represent binary values.
> - Understand the concept of digital abstraction for transforming continuous analog signals into discrete digital values.
> - Explain the concept of digital abstraction for transforming continuous analog signals into discrete digital values.
> 2. **Recognize the Role of Semiconductor Devices:**
> - Comprehend the role of MOSFETs in generating voltage levels for digital bits.
> - Discuss the advantages of using semiconductors for digital encoding and the challenges posed by external disturbances.
> 3. **Apply the Static Discipline in Digital Systems:**
> - Understand the static discipline as a contract ensuring predictable behavior in digital systems.
> - Recognize the static discipline as a contract ensuring predictable behavior in digital systems.
> - Learn how the static discipline guarantees that valid inputs lead to valid outputs, ensuring system reliability.
> 4. **Explore Combinational Digital Systems:**
> - Define combinational devices and systems, detailing their properties and operational criteria.
> - Differentiate between combinational and sequential logic devices, emphasizing the memory-less nature of combinational systems.
> 5. **Voltage Encoding and Noise Margin:**
> - Master the concept of using voltage levels to encode binary data, including defining thresholds for '0' and '1'.
> - Understand the importance of noise margins in maintaining signal integrity across digital devices.
> - Acknowledge the importance of noise margins in maintaining signal integrity across digital devices.
> 6. **Examine Voltage Specifications and Their Impact:**
> - Learn about the specifications for valid voltage levels and how they are used to prevent errors due to noise.
> - Discuss how noise margins are established to enhance the robustness of digital systems against external disturbances.
> 7. **Utilize Voltage Transfer Characteristic (VTC) Functions:**
> - Analyze the Voltage Transfer Characteristic function to determine the behavior of digital systems under various input conditions.
> - Analyze the VTC function to determine the behavior of digital systems under various input conditions.
> - Evaluate the VTC to ensure that digital devices comply with the static discipline and effectively handle noise.
> 8. **Prepare for Practical Applications:**
> - Integrate the theoretical knowledge of voltage levels, static discipline, and combinational logic into designing and evaluating digital circuits.
Expand Down
23 changes: 10 additions & 13 deletions docs/Hardware/c_cmostechnology.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,27 +24,24 @@ Singapore University of Technology and Design
{:.highlight-title}
> Detailed Learning Objectives
>
> 1. **Understand the Properties of Combinational Logic Devices:**
> - Learn the ideal characteristics of a combinational logic device including noise tolerance, power dissipation, and functional reliability.
> - Comprehend the significance of noise margins and their relationship to the gain of the Voltage Transfer Characteristic (VTC).
> 2. **Explore the Basics of MOSFETs:**
> - Understand the structure and operation of Metal-Oxide Semiconductor Field-Effect Transistors (MOSFETs).
> 1. **Explore the Basics of MOSFETs:**
> - Identify the structure and operation of Metal-Oxide Semiconductor Field-Effect Transistors (MOSFETs).
> - Identify the roles of the gate, drain, source, and body in MOSFET operation.
> 3. **Differentiate Between NFET and PFET:**
> 2. **Differentiate Between NFET and PFET:**
> - Compare the characteristics and functions of N-type and P-type FETs.
> - Learn how NFETs and PFETs are used to implement different logic functions based on their configuration and voltage levels.
> 4. **Learn CMOS Technology for Logic Devices:**
> - Understand how Complementary MOS (CMOS) technology utilizes both NFETs and PFETs to create efficient logic circuits.
> 3. **Learn CMOS Technology for Logic Devices:**
> - Explain how Complementary MOS (CMOS) technology utilizes both NFETs and PFETs to create efficient logic circuits.
> - Explore the concept of pull-up and pull-down networks within CMOS circuits.
> 5. **Analyze the CMOS Complementary Recipe:**
> 4. **Analyze the CMOS Complementary Recipe:**
> - Study the complementary nature of pull-up and pull-down circuits in CMOS technology to prevent short circuits and ensure stable logic states.
> - Apply the complementary MOS circuitry to understand basic logic gates like NAND and NOR.
> 6. **Master Logic Gate Fundamentals:**
> 5. **Master Logic Gate Fundamentals:**
> - Identify different types of logic gates and their operations.
> - Understand how logic gates are implemented using CMOS technology to fulfill specific logic functions.
> 7. **Discuss Timing Specifications in Combinational Logic Devices:**
> - Appreciate how logic gates are implemented using CMOS technology to fulfill specific logic functions.
> 6. **Discuss Timing Specifications in Combinational Logic Devices:**
> - Learn about propagation delay and contamination delay as critical timing specifications in digital circuits.
> - Understand how these delays impact the performance and reliability of logic circuits.
> - Learn how these delays impact the performance and reliability of logic circuits.
>
> These objectives aim to provide students with a comprehensive understanding of the basic building blocks of digital electronics, focusing on MOSFETs and their application in combinational logic devices through CMOS technology.
Expand Down
12 changes: 6 additions & 6 deletions docs/Hardware/d_logicsynthesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,30 @@ Singapore University of Technology and Design
{:.highlight-title}
> Detailed Learning Objectives
>
> 1. **Understand Combinational Logic Devices:**
> 1. **Basics of Logic Synthesis:**
> - Learn how combinational logic devices synthesize logic to produce specific outputs based on given inputs, adhering to functional specifications or truth tables.
> - Explore how functional specifications are expressed through truth tables for different logic gates like NAND and AND.
> 2. **Explore Multi-input Logic Gates:**
> - Understand the concept of multi-input gates and recognize the computational possibilities and limitations of different gate types.
> - Explain the concept of multi-input gates and recognize the computational possibilities and limitations of different gate types.
> - Comprehend that the number of possible logic gates increases exponentially with the number of inputs.
> 3. **Apply Sum of Products Method:**
> - Learn to convert truth tables into Boolean expressions using the sum of products method.
> - Understand the process of creating combinational logic expressions that align with specified truth tables.
> - Explain the process of creating combinational logic expressions that align with specified truth tables using SoP.
> 4. **Synthesize Logic Using Basic Gates:**
> - Master the use of basic logic gates (INV, AND, OR) to synthesize any given Boolean expression.
> - Master the use of basic logic gates (INV, AND, OR, XOR) to synthesize any given Boolean expression.
> - Explore straightforward logic synthesis to build complex combinational devices from basic components.
> 5. **Utilize Boolean Algebra for Logic Minimization:**
> - Apply Boolean algebra properties to manipulate and simplify Boolean expressions.
> - Explore various Boolean algebra rules and their applications in reducing logic complexity.
> 6. **Implement Universal Gates:**
> - Recognize NAND and NOR gates as universal gates capable of implementing any Boolean function.
> - Learn to construct basic logic functions using only NAND or NOR gates.
> 7. **Understand Special Combinational Logic Devices:**
> 7. **Special Combinational Logic Devices:**
> - Examine the functionality and application of multiplexers and demultiplexers in digital circuits.
> - Learn how multiplexers can implement any Boolean function by selecting among multiple inputs.
> 8. **Investigate the Use of ROMs for Hardcoding Logic:**
> - Explore the use of Read-Only Memories (ROMs) to permanently encode specific logic functions.
> - Understand the physical layout and logic implications of using ROMs in digital circuit design.
> - Explain the physical layout and logic implications of using ROMs in digital circuit design.
>
> These objectives are designed to provide students with a thorough understanding of how combinational logic devices are conceptualized, designed, and implemented in digital electronics, fostering a foundation for more complex system designs.
Expand Down
10 changes: 5 additions & 5 deletions docs/Hardware/e_sequentiallogic.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@ Singapore University of Technology and Design
> Detailed Learning Objectives
>
> 1. **Distinguish Sequential and Combinational Logic Devices**
> - Understand the functional differences between sequential and combinational logic devices.
> - Explain the functional differences between sequential and combinational logic devices.
> - Explore the role of memory elements in sequential devices which allow them to store and reference past inputs.
> 2. **Explore Memory Devices: D Flip-Flops and D-Latches**
> - Learn about the structure and operational modes (write and memory modes) of D Flip-Flops and D-Latches.
> - Examine how these memory devices integrate with combinational logic to form sequential logic circuits.
> 3. **Identify the Role of the Clock Signal**
> - Recognize the critical role of the clock (CLK) signal in managing the behavior of sequential logic devices.
> - Understand how the CLK signal ensures synchronization of inputs for reliable operation.
> 4. **Understand Edge-Triggered D Flip-Flops**
> - Explain how the CLK signal ensures synchronization of inputs for reliable operation.
> 4. **Master Edge-Triggered D Flip-Flops**
> - Explore the design and functionalities of Edge-Triggered D Flip-Flops, focusing on master and slave latch configurations.
> - Learn the importance of clock signal inversion and its impact on the operational dynamics of D Flip-Flops.
> 5. **Comprehend Dynamic Discipline Requirements**
> - Understand the necessity of setup time (\(T_{setup}\)) and hold time (\(T_{hold}\)) to prevent the storage of invalid information.
> - Explain the necessity of setup time and hold time to prevent the storage of invalid information.
> - Recognize how adhering to dynamic discipline ensures the reliability of sequential circuits.
> 6. **Analyze Timing Constraints in Sequential Circuits**
> - Grasp the importance of critical timing constraints (\(t_1\) and \(t_2\)) between sequential logic devices.
> - Grasp the importance of critical timing constraints `t1` and `t2` between sequential logic devices.
> - Study how these constraints ensure stable and valid outputs throughout clock cycles.
> 7. **Discuss Synchronization Challenges of External Inputs**
> - Address the difficulties in synchronizing external inputs with the clock in sequential circuits.
Expand Down
2 changes: 1 addition & 1 deletion docs/Hardware/f_fsm.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Singapore University of Technology and Design
{:.highlight-title}
> Detailed Learning Objectives
>
> - **Understand the Concept of Finite State Machines (FSMs):**
> - **Comprehend the Basic Concept of Finite State Machines (FSMs):**
> - Define a finite state machine (FSM) and its components: states, inputs, outputs, transitions, and outputs rules.
> - Recognize the practical applications of FSMs in everyday devices like traffic lights and electronic locks.
> - **Differentiate Between Moore and Mealy Machines:**
Expand Down
11 changes: 6 additions & 5 deletions docs/Hardware/g_turingmachine.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,17 @@ Singapore University of Technology and Design
> Detailed Learning Objectives
>
> 1. **Recognize the Limitations of Finite State Machines (FSMs)**
> - Understand that FSMs are limited by their lack of memory beyond the current state, making them unable to solve problems requiring knowledge of state visitation history, such as detecting palindromes or checking balanced parentheses.
> - Comprehend that FSMs are limited by their lack of memory beyond the current state
> - Comprehend that FSMs are unable to solve problems requiring knowledge of state visitation history, such as detecting palindromes or checking balanced parentheses.
> 2. **Describe the Concept and Functionality of Turing Machines**
> - Learn about the Turing Machine as a mathematical model capable of performing computations that FSMs cannot, including handling infinitely long inputs via its tape mechanism.
> 3. **Explain the Basic Operation of a Turing Machine**
> - Understand how a Turing Machine reads, writes, and manipulates data on an infinitely long tape using a set of defined states and transitions.
> - Explain how a Turing Machine reads, writes, and manipulates data on an infinitely long tape using a set of defined states and transitions.
> 4. **Illustrate the Process of Operating a Turing Machine**
> - Describe the step-by-step process of how a Turing Machine moves through its tape, processes data, and utilizes its halt and start states effectively.
> - Illustrate the step-by-step process of how a Turing Machine moves through its tape, processes data, and utilizes its halt and start states effectively.
> 5. **Analyze Specific Examples of Turing Machine Applications**
> - Examine detailed examples such as an Increment Machine and a Coin Counter Machine to see how Turing Machines handle complex computations and scenarios beyond the capability of FSMs.
> 6. **Understand the Concept of a Universal Turing Machine**
> 6. **Get Familiar with the Concept of a Universal Turing Machine**
> - Learn how a Universal Turing Machine simulates any other Turing Machine, representing the theoretical foundation for modern general-purpose computers.
> 7. **Explore Church’s Thesis and Computable Functions**
> - Discuss the implications of Church's Thesis regarding the capabilities of Turing Machines and the definition of computable functions.
Expand All @@ -44,7 +45,7 @@ Singapore University of Technology and Design
> 9. **Appreciate the Impact of Turing Machines on Computer Science**
> - Reflect on how the development of Turing Machines and their universal capabilities have revolutionized approaches to computational tasks and machine design.
> 10. **Summarize the Principle of Programmability in Computing**
> - Conclude with the significance of the programmable nature of computers, facilitated by the conceptual framework provided by Turing Machines and their ability to emulate an infinite set of instructions.
> - Conclude with the significance of the programmable nature of computers, facilitated by the conceptual framework provided by Turing Machines and their ability to emulate an infinite set of instructions.
>
> These learning objectives equip students with a deep understanding of computational models, particularly focusing on the capabilities and limitations of Finite State Machines and Turing Machines, thereby providing a solid foundation in theoretical computer science that underpins modern computing technologies and concepts.
Expand Down
Loading

0 comments on commit c11c339

Please sign in to comment.