GithubHelp home page GithubHelp logo

virtual-labs / exp-multipliers-iiith Goto Github PK

View Code? Open in Web Editor NEW
0.0 5.0 0.0 2.58 MB

This experiment belongs to Digital Logic Design Full Name: Multipliers

Home Page: http://virtual-labs.github.io/exp-multipliers-iiith

License: GNU Affero General Public License v3.0

CSS 0.97% HTML 2.20% JavaScript 96.83%
iiith ph2-exp cse15-iiith

exp-multipliers-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-multipliers-iiith's People

Contributors

aditya-debug15 avatar ananyav2004 avatar gautamxyz avatar pavanchow avatar sravanthimodepu avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

exp-multipliers-iiith's Issues

ENHANCEMENT - Finished Simulation Message

  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-comparator-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-comparator-iiith

Type(s) of Issue

  • Technical Issue

Bug Screenshot

image
image

Issue
We see that when we do not connect Inputs to anything as seen in second screenshot, it will display 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.

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-comparator-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/failure 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.


ENHANCEMENT - ADD EXPLANATIONS FOR ASSESSMENT QUESTIONS

PRETEST:

REFERENCES: [CHATGPT]

  1. Mankar was performing 3-bit binary multiplication 101*110, his friend asked him what the multiplier is, help him in this task
    a: 101
    b: 110
    c: 11011
    d: 11110
c. The given problem involves a 3-bit binary multiplication, meaning the multiplier can only have a maximum of 3 bits. Since the provided multiplier has more than 3 bits, this option is incorrect.
d. The given problem involves a 3-bit binary multiplication, meaning the multiplier can only have a maximum of 3 bits. Since the provided multiplier has more than 3 bits, this option is incorrect.


  1. The Result obtained on binary multiplication of 1101 * 1011
    a: 0101010
    b: 1010111
    c: 1000111
    d: 1101010
a: 0101010
The binary multiplication of 1101 * 1011 results in 1000111, not 0101010.

b: 1010111
The binary multiplication of 1101 * 1011 results in 1000111, not 1010111.

d: 1101010
The binary multiplication of 1101 * 1011 results in 1000111, not 1101010.

  1. Which of the following is the correct combination of gates for making a half adder
    a: 4 AND gates
    b: 1 XOR gate and 1 AND gate
    c: 1 XOR gate
    d: None of the above
Option a: 4 AND gates
Using only AND gates would not be sufficient to create a half adder. AND gates can only generate the carry output but cannot produce the sum output.

Option c: 1 XOR gate
Using only an XOR gate would not be sufficient to create a half adder. The XOR gate can produce the sum output, but it cannot generate the carry output.

Option d: None of the above
Option d is incorrect because the correct combination of gates for making a half adder is indeed one of the above options.


  1. Binary Multiplication is used in
    a: computers
    b: mobile phones
    c: calculators
    d: all of these
a) Computers:In a computer, all data and instructions are represented in binary form. Binary multiplication is essential for performing mathematical computations, such as multiplication of binary numbers, floating-point arithmetic, and various algorithms used in computer science and engineering.

b) Mobile phones: Mobile devices use binary representation for storing and processing data. Whether it's calculating values, performing mathematical operations in applications, or executing complex algorithms, binary multiplication is utilized in mobile phones.

c) Calculators: Calculators, whether physical or digital, employ binary multiplication to perform calculations.

d) All of these: Since all the given options involve devices that rely on binary representation and perform arithmetic operations, the correct answer is "d: all of these."


POSTTEST:

REFERENCES: [CHATGPT]

. To multiply two 3 bit numbers, the number of output bits will be:
a: 5
b: 6 Explanation
c: 7
d: 4

Certainly! Here are the explanations for each option without disclosing the correct answer:

Option a: 5
This option suggests that the number of output bits will be 5. However, this is incorrect because the maximum product of two 3-bit numbers is larger than what can be represented using 5 bits. When multiplying two 3-bit numbers, the product can be as large as 49, which requires more than 5 bits to represent. Therefore, the number of output bits should be more than 5.

Option b: 6
This option suggests that the number of output bits will be 6. This is a possible answer. When multiplying two 3-bit numbers, the maximum product is 49, which can be represented using 6 bits. Therefore, it is a plausible option.

Option c: 7
This option suggests that the number of output bits will be 7. This is incorrect because the maximum product of two 3-bit numbers does not require 7 bits to represent. It can be represented using fewer bits. Therefore, the number of output bits should be less than 7.

Option d: 4
This option suggests that the number of output bits will be 4. This is incorrect because the maximum product of two 3-bit numbers is larger than what can be represented using 4 bits. When multiplying two 3-bit numbers, the product can be as large as 49, which requires more than 4 bits to represent. Therefore, the number of output bits should be more than 4.

In summary, option b suggests the correct answer without disclosing it. The number of output bits when multiplying two 3-bit numbers is 6, not 4, 5, or 7.

  1. Which of the following combinations can be used to make a 2 bit multiplier :
    a: 6 AND gates and 2 OR gates
    b: 2 AND gates and 6 XOR gates
    c: 6 AND gates and 2 XOR gates
    d: Both b and c
Option a: 6 AND gates and 2 OR gates
he multiplication of two bits requires a total of 2 logic gates: AND gates and XOR gates (or XNOR gates). Using only AND gates and OR gates would not provide the necessary logic operations to correctly multiply the two bits.

Option b: 2 AND gates and 6 XOR gates
While XOR gates are required to handle the exclusive OR operation in a multiplier, having 6 XOR gates would be excessive for a 2-bit multiplier.

Option c: 6 AND gates and 2 XOR gates
A 2-bit multiplier can indeed be implemented using 6 AND gates and 2 XOR gates. The AND gates are responsible for performing the logical AND operation on corresponding bits of the two multiplicands, while the XOR gates handle the exclusive OR operation.

  1. Which of the following combinations can be used to make a 2 bit multiplier :
    a: 2 half adders
    b: 2 half adders and 4 AND gates
    c: 2 half adders and 4 XOR gates
    d: None of the above
I apologize for the incorrect response. Let me provide the correct explanation for each option:

a: 2 half adders
A half adder can only add two 1-bit numbers and produce a sum bit and a carry bit. It does not have the necessary components to perform multiplication. Therefore, this option is incorrect.

b: 2 half adders and 4 AND gates
The half adders can be used to perform the addition operation, while the AND gates can be used to multiply the individual bits of the two numbers.

c: 2 half adders and 4 XOR gates
While XOR gates can be used for bit manipulation and arithmetic operations, they alone are not sufficient for multiplication. Therefore, option c is incorrect.

d: None of the above
One of the options is a valid combination for creating a 2-bit multiplier. 


  1. A 2 bit multiplier circuit built using half adders:
    a: is a sequential circuit
    b: is a combinational circuit
    c: uses a clock
    d: None of the above
Let's analyze each option without disclosing the correct answer:

Option a: is a sequential circuit
It is not a sequential circuit as it does not require memory elements or feedback loops

Option b: is a combinational circuit
Combinational circuits produce output based solely on the current input values, without any memory or feedback. In the case of a 2-bit multiplier circuit built using half adders, the output is determined by the input bits without any consideration of previous inputs or state.

Option c: uses a clock
A clock signal is typically used in sequential circuits to synchronize the flow of data and control the timing of operations. This circuit does not use a clock as it produces immediate outputs based on the current inputs

Option d: None of the above
One of the previous options is the correct answer.

update

these bugs include :
adding reset button
resolving the click through issue from various components.
restricting the components from moving out of working area.
adding the delete option for the connectors.
editing a bit of css for easier experience.
reviewing the theory and demo part and changing accordingly.

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

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.

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-comparator-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 A1 to 0, then clicked on submit and then clicked on simulate, it does not consider these changes and still prints the output as 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 - Nav Bar

Bug screenshot
image

Description
theory, practice &assignment headings can start with capital letters.

BUGS - Incorrect/Unclear Instructions, Observations, Messages

  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 - Demo - Animation delay/lag

  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

BUG VIDEO
Kazam_screencast_00011.webm

DESCRIPTION
THere is a lag when input dots reach the gates,between the time when the extra dots disappear and output dots appear

BUG - Formatting Errors

  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-comparator-iiith

3. Procedure Section

Types(s) of Issue

  • Sentence framing error

Bug Screenshot
image

Description
Replace simultion by simulation


##4.Pretest Section

  • Question 5 & 1.

Type(s) of Issue*

  • Sentence framing error

Bug Screenshot
image
image

Description

  • Replace is with in.

We can perform binary multiplication is in ____ ways

  • Replace multiplicant with multiplicand.

##4.Practice Section

Type(s) of Issue*

  • Wrong Label

Bug Screenshot
image

Description
The element named Gold must be named as OR.

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.