Create an instance of the ‘decode3to8’ module in your ‘top’ module.

Learning Goal: I’m working on a electrical engineering discussion question and need an explanation and answer to help me learn.Step 1: Light up LED segments with button pressesThe figure above shows the named segments of the eight SS seven-segment displays present on the display. The pin numbers on the display are just for your information. The display is made up of seven segments, each with its own pin, as well as a decimal point (DP), also with its own segment. When you connect a pin for a segment to power (and add the necessary grounds) the segment will light up.You can write Verilog to do this. Write code to connect 7 buttons (pb[6:0]) to the seven segments of ss0(ss0[6:0]). This should be implemented in the ‘top’ module. The decimal point is the 8th bit of the seven-segment display, but we will not be using that in this lab. If written correctly, pressing pb[0] will light up segment A, pb[1] will light up segment B, pb[2] will light up segment C, and so on. A demo animation is provided below.Demonstrate the code you wrote to your TA to receive a checkoff. It should be on the FPGA, not the web simulator – the GIF provided above is merely intended to show you what the behavior should be on the FPGA.Step 2: Implement and verify a module for a bar graph displayDo not remove any of your code from the previous step.In your top.sv file, create a new module named ‘bargraph’ that has two ports:a 16-bit input bus port named ‘in’
and a 16-bit output bus port named ‘out’
Within the module, use dataflow assignments so that if in[n] is pressed, the bits out[n], out[n-1]… until out[0] are set to ‘1’ (or a logic high). In other words, if in[15] is asserted, the bits out[15], out[14], out[13]… out[1], out[0] are all asserted. If in[8] is asserted, out[8], out[7]… out[1], out[0] are asserted, while out[15], out[14]… out[9] are all turned off.In the ‘top’ module, create an instance of the ‘bargraph’ module. You get to choose the instance name for it. Use name-based port connections. Connect pb[15:0] to the bargraph instance’s ‘in’ port. Connect {left[7:0],right[7:0]} to the bargraph instance’s ‘out’ port.The end result of this instantiation is that pressing the ‘F’ button will illuminate all 16 of the left and right LEDs, pressing the ‘0’ button will illuminate only right[0], and any button between ‘F’ and ‘0’ will turn on that number of LEDs + 1.The details of implementation of the ‘bargraph’ module is up to you. The suggested method of implementation is to use an OR expression for each of the ‘out’ elements. The out[0] output will be the result of the OR of 16 inputs. The out[1] output will be the result of an OR of 15 inputs. If you know how to use Verilog reduction operators, you may do so. If you don’t, ask a TA.Show your working design on the FPGA to a TA to receive a checkoff for this step. It should behave like the one above.Step 3: Implement a module for a 3-to-8 decoderDo not remove any of your code from the previous step.In your top.sv file, implement a 3-to-8 decoder. The specifics for this decoder are:The name of the module should be ‘decode3to8’.
Outputs of the decoder module should be active-high.
There is one 3-bit input port named ‘in’.
There is one 8-bit output port named ‘out’.
There is no enable line for this decoder. Therefore, exactly one of its outputs is always asserted.
The decoder should be constructed so that out[0] signal is asserted if and only if the in[2:0] bus value is 3’b000, the out[1] signal is asserted if and only if the in[2:0] bus value is 3’b001, and so on up to out[7]. Implementation details are left to you, but you are encouraged to use the format provided below as a guide:
assign out[0] = ~in[2]&~in[1]&~in[0]; // bus value 3'b000
assign out[1] = ~in[2]&~in[1]&in[0]; // bus value 3'b001
....
Create an instance of the ‘decode3to8’ module in your ‘top’ module. Use an instance name of your choosing. Make the following connections:Connect pb[2:0] to the instance’s ‘in’ port.
Connect each of the decimal points on the seven-segment displays (ss7, … , ss0) to the ‘out’ port. The decimal point is element 7 of each of the ssx buses. You will need to concatenate element 7 of each bus into a single 8-bit bus connected to the ‘out’ port. You might need to think about this for a while.
The end result is that if no buttons are pressed, the decimal point of ss0 should be illuminated. If button 0 is pressed, to send a 3’b001 to the decoder input, the decimal point of ss1 should illuminate (and the decimal point of ss0 should turn off). If buttons ‘2’, ‘1’, and ‘0’ are pressed, only the decimal point of ss7 should be illuminated.
Requirements: Please complete the code to all three steps   |   .doc file

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more