Git Product home page Git Product logo

exp-alu-iiith's Introduction

Introduction

Discipline Fill your discipline name here
Lab Fill your lab name here
Experiment Fill your experiment name and number here

About the Experiment

Fill a brief description of this experiment here

Name of Developer Fill the name of experiment owner here
Institute
Email id
Department

Contributors List

SrNo Name Faculty or Student Department Institute Email id
1 . . . . .
2 . . . . .

exp-alu-iiith's People

Contributors

aditya-debug15 avatar ananyav2004 avatar pavanchow avatar sravanthimodepu avatar

Watchers

 avatar  avatar  avatar  avatar

exp-alu-iiith's Issues

ENHANCEMENT - Multiple Connections

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith

Type(s) of Issue

  • Technical Issue
  • Enhancement

Bug Screenshot
image

Description
If the connections are wrong/invalid, like connecting the outputs to two different connections, connecting any of the ends to more than one connection, instead of allowing such connection, user experience would be enhanced if it did not allow multiple input sources to connect to the same endpoint.

ENHANCEMENT - Table Formatting - Practice Section

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith

1. Truth Table in Observations section of Practice Section

Type(s) of Issue

  • Formatting Issue
  • Enhancement

Bug Screenshot(s)

image

image

Issue

The first screenshot shows the Observations section when we click on submit, it says success and the truth table that verifies our circuit for different input values. But when we change the circuit connections and then click on simulate to test new connections, the Success/Failure message disappears but the truth table headers are still present as shown in the second screenshot. Removing them will add a good enhancement.


BUG - Refreshing input output values after submit

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: http://virtual-labs.github.io/exp-alu-circuit-iiith

Type(s) of Issue

  • Technical Error

Bug Screenshot
image

ISSUE
When we change the input bit values but instead of clicking on simulate, if we click on submit, and after that, we click on simulate, it will not consider the changes that have been done before the submit step and will give the output bit values that were there earlier only. And also, if you do not remember which inputs you have changed before the submit step and have not changed it back to what you want, then the output does not behave appropriately as it will show that we have changed the input bits but the output bits will not take that change into consideration and it will get messier. This can be seen in the screenshot where we changed the value of A to 0 which was earlier 1, then clicked on submit and then clicked on simulate, it does not consider these changes and still prints the output as 1(output of previous case where A=1 and B=1) instead of 0. So, to prevent all this, if we can refresh all the input and output bit values to default every time we click on submit, it will be easier for users to understand the process.

ENHANCEMENT - Finished Simulation Message in Practice Section

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith

Type(s) of Issue

  • Enhancement

Issue
When we click on simulate if there is no change in output bit value, it shows no change but in such cases, the user will not understand if the simulate button is working or not or he might doubt that has not clicked on the simulate button. So, we can make a message appear after the simulation as

Simulation has finished.

This message can disappear after a while.

BUG - Practice -Section - Display Error message when disconnected

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: http://virtual-labs.github.io/exp-adder-circuit-iiith

Type(s) of Issue

  • Technical Issue

Bug Screenshot

BUG - Practice -Section - Display Error message when disconnected

Screenshot

image
image

Issue
We see that when we do not connect Inputs to anything as seen in the second screenshot, it will display an error message. But if I have connected them earlier but later on deleted the connected components and then simulate, it will not display error message as shown in first picture.

A similar thing happens not only with input bits but with gates too.

BUGS - Incorrect/Unclear Instructions,Messages, Observations

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith/

1. Demo Section

  • Restart Button Issue

Type(s) of Issue

  • Incorrect Observations

Bug Screenshot
image

Description
After the simulation is completed in the demo section, the Observations Table on the right side displays the given message:
The issue here is that there is no such button called Restart in this section, so the user will not understand where to click to restart the simulation.

CORRECTION:

MODIFIED MESSAGE: Simulation has finished. Please click on Reset and repeat the instructions given to start again.


  • Speed Issues

Type(s) of Issue

  • Missing Instruction

Description
Whenever we pause the simulation, irrespective of the speed it had earlier, it always goes back to x1 speed when we pause and start back. We have to change the speed again to the desired values every time after pausing and restarting/ just starting. So, this could be mentioned in a more clear way by adding a new instruction as follows:

The default speed is reset to x1 automatically at the beginning of every simulation or whenever you pause and resume. If you want to change the speed, you can do so only while the simulation is running (only after starting or after resuming the simulation).


  • Observation Section Paused Simulation message

Type(s) of Issue

  • Unclear Message

Bug Screenshot
Bug12

Issue
The message says the simulation stopped whenever we pause the simulation, but to make it clearer, it could say

Simulation has been Paused. Please click on the "Start" button to Resume.


2 .Practice Section

  • Selection of Bits & Confusion between Submit and Simulate

Type(s) of Issue

  • Incomplete & Unclear Instructions

Bug Screenshot
image

Description
As seen in the picture above, in the (Practice) section, to simulate the circuit we built for different values of inputs, we must have the option to change the input values as per our convenience and verify. To do that, it is required to double-click on the input value bits to toggle them, but this feature is nowhere mentioned in the Instructions or anywhere else in the entire experiment additionally, in the demo section, we just had to single click to toggle the input bit value and so, the user will be confused as to how to give specific values to inputs.

Also, the instructions are unclear as to what simulate and submit buttons exactly do, as simulate option changes just the output bits which is not very evident for a first-time user. So, the instructions could be made more specific and clear as given below:
Instead of "Click on the "Simulate" button to simulate the circuit and see the output.", include these instructions:

  • You can set the input bits, which are by default 1, to any values of your choice for testing, by double-clicking on them.
  • Click on the "Simulate" button after setting the input bits as per your choice. This will simulate the circuit you built for the input bits set and will change the output bit values accordingly, for you to test your circuit.

Also, add these instructions at the end for a more clear understanding of what submit does.

  • Clicking on "Submit" will display a "Success" or "Failure" message in the Observations Section according to the correctness of your circuit. It will also display a Truth Table verifying your circuit for different input values.

BUG - Error message despite connecting

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith

Type(s) of Issue

  • Technical Issue

Bug Screenshot
image

Description
If we delete the AND gate connected to A, B, and then again make connections to a new AND gate and click on simulate, it says error that the output not connected despite it being connected.

BUG - Assessment Questions

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith/

1. Pretest Section

  • Question 1 - Option b)

Type(s) of Issue

  • Unclear Explanation

Bug Screenshot
image

Description
The explanation reiterates what the correct option says. So, a better explanation could be:

The ALU is primarily based on combinational logic, which means its outputs depend only on the current input values and not on any previous inputs or the internal state of the circuit. Combinational logic circuits are built using logic gates which can be interconnected to perform complex operations. The ALU uses these logic gates to implement various arithmetic operations.

References
[ CHATGPT ]

b: Combinational Logic Explanation

The Arithmetic Logic Unit (ALU) is a digital circuit that performs arithmetic and logical operations on binary numbers. It is a key component of the central processing unit (CPU) in a computer. The ALU is primarily based on combinational logic, which means its outputs depend only on the current input values and not on any previous inputs or the internal state of the circuit.

Combinational logic circuits are built using logic gates, such as AND, OR, NOT, and XOR gates, which can be interconnected to perform complex operations. The ALU uses these logic gates to implement various arithmetic operations, such as addition, subtraction, multiplication, and division, as well as logical operations, such as AND, OR, and NOT.

The ALU takes two input operands, performs the requested operation, and produces an output result. The specific operation performed by the ALU depends on the control signals provided by the CPU. These control signals determine whether the ALU should perform addition, subtraction, logical AND, logical OR, or any other supported operation.

While the ALU is based on combinational logic, it often works in conjunction with other components, such as registers and flip-flops, to enable sequential logic and perform more complex operations. However, the ALU itself is primarily a combinational circuit that executes operations based on the current input values.


  • Question 2 - Option c)

Type(s) of Issue

  • Unclear Explanation

Bug Screenshot

image

Description
The explanation reiterates what the correct option says. So, a better explanation could be:

The ALU is used to perform both arithmetic (such as addition, subtraction etc) and logical (such as AND, OR, EXOR etc) operations.


  • Question 4 - Option a)

Type(s) of Issue

  • Unclear Explanation

Bug Screenshot

image

Description
The explanation reiterates what the correct option says. So, a better explanation could be:

The fundamental operation of addition is implemented using adders in an ALU, making it the basic building block for arithmetic operations.

References
[ CHATGPT ]

a: Adders

The basic building block of an Arithmetic Logic Unit (ALU) in computers is an adder. An adder is a digital circuit that performs the arithmetic operation of addition. It takes two binary numbers as input and produces the sum as output.

Adders can be designed using logic gates, such as AND, OR, and XOR gates. The most common type of adder used in ALUs is the ripple carry adder, which is built by cascading multiple full adders. A full adder takes three inputs: two bits to be added (A and B) and a carry-in (C_in) from the previous stage, and it produces two outputs: the sum (S) and the carry-out (C_out) to the next stage.

While subtractors, multipliers, and multiplexers can also be part of an ALU, they are not the basic building blocks. Subtractors perform subtraction, multipliers perform multiplication, and multiplexers are used for selecting one of multiple inputs based on control signals. However, the fundamental operation of addition is implemented using adders in an ALU, making it the basic building block for arithmetic operations.

BUG-Formatting Issues

  1. Browser Environment Info:
    Google Chrome 113 on Linux(Ubuntu), Version 113.0.5672.92 (Official Build) (64-bit), X11 Window System.
    Browser Details
    User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
  2. Testing URL: https://virtual-labs.github.io/exp-alu-iiith/

1. Aim Section

Type(s) of Issue

  • Punctuation Errors

Bug Screenshot
image

Description

Missing commas and apostrophes.
MODIFIED STATEMENT

Most ALU's can perform the following operations: Bitwise logic operations (AND, NOT, OR, XOR), Integer arithmetic operations (addition, subtraction, and sometimes multiplication and division, though this is more expensive), Bit-shifting operations (shifting or rotating a word by a specified number of bits to the left or right, with or without sign extension).


2. Theory Section

Type(s) of Issue

  • Table Content Errors

Bug Screenshot
image

Description
The output of A OR B must be A|B instead of just A.


Type(s) of Issue

  • Grammatical Errors

Bug Screenshot

image

Description

MODIFIED SENTENCES:

These selection lines combined with input arguments and the functions form an Instruction Set.
These instructions are useful in creating programs and are normally stored in a ROM unit as they are required to be used often.
Inputs A,B are usually stored in internal registers. These, along with other special registers constitute the registers of a microcontroller.


Type(s) of Issue

  • Table Content Errors

Bug Screenshot

image

image

Description
From figure 1 which is the procedure, i1 of MUX connected to AND Gate, which means that when S1S0 = 01, we select AND, so in the table given in second figure, S1S0 = 01 should be A & B and S1S0 = 10 should be A | B .


3. Objective Section

Type(s) of Issue

  • Grammatical Errors

Bug Screenshot
image

Description

MODIFIED STATEMENTS:

  1. The objective of this experiment is to understand the working of an ALU.
  2. First of all, make an ALU according to the theory page and analyse its output for different values of inputs.

4. Procedure Section

Type(s) of Issue

  • Punctuation Errors

    • Circuit Connections Heading

Bug Screenshot
image

Description

MODIFIED SENTENCE:

Connect the output of MUX to the output bit and after setting the values of A, B, Cin, S1 and S0, click on "Simulate".


  • Observations Heading

Bug Screenshot
image

Description

MODIFIED SENTENCE:

When the simulation gets finished, the Cout and output bits get set according to the values set in A, B, Cin and the select lines S1 and S0 as described in the theory section.


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.