Question

Building and testing basic combinational circuits using Verilog HDL Description: Build and test t...

Building and testing basic combinational circuits using Verilog HDL

Description: Build and test the following circuits using gate-level modeling in Verilog HDL.

1. 3-input majority function.

2. Conditional inverter (see the table below: x - control input, y - data input). Do NOT use XOR gates for the implementation.

   x y Output
0   y
1   y'

3. Two-input multiplexer (see the table below: x,y - data inputs, z - control input).

    z Output
0 x
1 y

4. 1-bit half adder.

5. 1-bit full adder by cascading two half adders.

6. 1-bit full adder directly (as in fig. 4.7 in the text).

7. 4-bit adder/subtractor with overflow detection by cascading four 1-bit full adders (see fig. 4.13 in the text).

Requirements:

  1. Create truth tables and use maps for simplification (not needed for circuits 5 and 7).
  2. Create a module for each circuit, instantiate it in a test module and test it.
  3. The hierarchical circuits (5 and 7) should use instances of their constituent modules.
  4. For testing use  all combinations of input values and show the corresponding output for all circuits except for the 4-bit adder/subtractor.
  5. For the 4-bit adder/subtractor include all combinations of positive, negative and 0 inputs, as well as all overflow situations and show the inputs/outputs both in binary and signed decimal.

Extra: Implement an ABCD-to-seven-segment decoder with the modification that the six invalid combinations of the input should be used as don't care conditions. Reuse components if possible to minimize the circuit. Test the circuit with all decimal digits. Include in the report the maps for all functions, the gate level diagrams, and the Verilog code and test results.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

1.

INPUTs

OUTPUT

A

B

C

F

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

B C


module majority_function (A, B, C, F);

input A, B, C;

output F;

assign F = (A & B) | (B & C) | (A & C);

endmodule

////////////////////////////////////////////////////////////////////////

M Model5im INTEL FPEA STARTER EDITION 10.5b File Edit View Compile Simulate Add Transcript Tools Layout Bookmarks Window Help

2.

module conditional_inverter (X, Y, F);

input X, Y;

output F;

assign F = X ? ~Y : Y;

endmodule

//////////////////////////////////////////////////////////////////////////////////////////////////////////

M Model5im INTEL FPCA STARTER EDITION 10.5b File Edit View Compile Simulate Add Wave Tools Layout Bookmarks Window Help Layou

3


module multiplexer_2_1 (X, Y, Z, F);

input X, Y, Z;

output F;

assign F = Z ? Y : X;

endmodule

M Model5im INTEL FPCA STARTER EDITION 10.5b File Edit View Compile Simulate Add Wave Tools Layout Bookmarks Window Help Layou

4


module half_adder (X, Y, SUM, CARRY);

input X, Y;

output SUM, CARRY;

assign SUM = X ^ Y;
assign CARRY = X & Y;

endmodule

M Model5im INTEL FPCA STARTER EDITION 10.5b File Edit View Compile Simulate Add Wave Tools Layout Bookmarks Window Help Searc

Add a comment
Know the answer?
Add Answer to:
Building and testing basic combinational circuits using Verilog HDL Description: Build and test t...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Building and testing basic combinational circuits using Verilog HDL Description: Build and test the following circuits using gate-level modeling in Verilog HDL 1.3-input majority function 2.Condition...

    Building and testing basic combinational circuits using Verilog HDL Description: Build and test the following circuits using gate-level modeling in Verilog HDL 1.3-input majority function 2.Conditional inverter (see the table below: x - control input, y -data input). Do NOT use XOR gates for the implementation. Output 3. Two-input multiplexer (see the table below: x.y -data inputs, z- control input) Output 4. 1-bit half adder. 5. 1-bit full adder by cascading two half adders 6.1-bit full adder directly (as in...

  • Please code the following in Verilog: Write the HDL gate-level hierarchical description of a four-bit adder-subtractor...

    Please code the following in Verilog: Write the HDL gate-level hierarchical description of a four-bit adder-subtractor for unsigned binary numbers similar to the following circuit. You can instantiate the four-bit full adder described in the following example code Figure 4.13a, 4-Bit adder-subtractor without overflow Inputs: 4-Bit A, 4-Bit B, and Mode M (0-add/1-subtract) Interfaces: Carry Bits C1, C2, C3 Outputs: Carry C (1 Bit, C4), Sum S (4 bit) Bo A FA FA FA FA module Add half (input a,...

  • FPGA (Interconnected Adder Modules) In this lab you will implement adder circuits using data flow modelling....

    FPGA (Interconnected Adder Modules) In this lab you will implement adder circuits using data flow modelling. You will also create 3-bit adder by employing interconnected 1-bit full adders. Data flow modelling of a 1-bit full adder circuit. Data flow modelling of a 3-bit adder circuit. There will be 7 inputs (X2, X1, X0, Y2, Y1, YO, Cin) - please put them in that order - Switch 6 will represent X2 and Switch 0 will be the Cin. There should be...

  • number 4 and 5 please! PROBLEM STATEMENT A logic circuit is needed to add multi-bit binary...

    number 4 and 5 please! PROBLEM STATEMENT A logic circuit is needed to add multi-bit binary numbers. A 2-level circuit that would add two four-bit numbers would have 9 inputs and five outputs. Although a 2-level SOP or POS circuit theoretically would be very fast, it has numerous drawbacks that make it impractical. The design would be very complex in terms of the number of logic gates. The number of inputs for each gate would challenge target technologies. Testing would...

  • Counter I. Using structural verilog, write a top-level module for the One's Counter with as many ...

    Counter I. Using structural verilog, write a top-level module for the One's Counter with as many instances of half adders and full adders as needed according to Prelab C.1 2. Write a test bench to verity the One's Counter design. Provide stimulus patterns in such a way that every input output of each half and full adder toggle (change value) at least once Counter I. Using structural verilog, write a top-level module for the One's Counter with as many instances...

  • Introduction: This experiment studies the design of an 8-bit adder/subtractor circuit using VHDL capture. The experiment...

    Introduction: This experiment studies the design of an 8-bit adder/subtractor circuit using VHDL capture. The experiment investigates the implementation of addition and subtraction operations with circuits. This lab uses the virtual simulation environment to validate the design practically in the FPGA board. Equipment: • This experiment requires Quartus Prime and the Intel's DE2-115 FPGA board. • All students should have the Intel QP and ModelSim-Intel-Starter-Edition softwares installed in personal computers. • VPN connection to UNB Network and remote desktop software...

  • Write a Verilog program to implement and test a subtractor. The program should have three modules....

    Write a Verilog program to implement and test a subtractor. The program should have three modules. The first module, called cfulladder implements a one bit subtractor with two 1-bit outputs, S and Cout, and three one bit inputs A, B, Cin. You have to use always keyword to implement this combinational circuit. The second module, called sub4 implements a four bit subtractor by instantiating 4 cfulladder modules. It has the same inputs and outputs but now the S, A, and...

  • Please Can someone paraphrase this ? : 1.4 Binary Subtractor The subtraction of unsigned binary numbers...

    Please Can someone paraphrase this ? : 1.4 Binary Subtractor The subtraction of unsigned binary numbers can be done most conveniently by means of complement. Subtraction A–B can be done by tacking the 2’s complement of B and adding it to A. The 2’s complement can be obtained by taking the 1’s complement and adding one to the least significant pair of bits. The 1’s complement can be implemented with the inverters and a one can be added to the...

  • Can someone help me design a gate level circuit and model using HDL? It needs to...

    Can someone help me design a gate level circuit and model using HDL? It needs to convert 3-bit gray code to a binary number representation 2) adds the gray code input to its binary representation3) includes a flag(output)to determine when an overflow occurs. For example 111 in gray code is 5 in base 10, the binary representation for 5 is 101, the sum is 1100, an overflow has occurred and the overflow bit is set to 1. You will show...

  • I need the following in verilog. Attached is also the test bench. CODE // Design a...

    I need the following in verilog. Attached is also the test bench. CODE // Design a circuit that divides a 4-bit signed binary number (in) // by 3 to produce a 3-bit signed binary number (out). Note that // integer division rounds toward zero for both positive and negative // numbers (e.g., -5/3 is -1). module sdiv3(out, in); output [2:0] out; input [3:0]   in; endmodule // sdiv3 TEST BENCH module test; // these are inputs to "circuit under test" reg...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT