Learning Goal: I’m working on a software engineering project and need an explanation and answer to help me learn.Rescue POW Clearly state whether your design is fully functional, and state the failing sections if any exist. Make sure your design and code are easily readable and understandable (clear and well commented). You are going to create a simple video game using the LEDs and push buttons to simulate saving prisoners of war (POWs).The games will go as follows:- To start the game, press RESET. Three or Four random LEDs should be lit indicating the positions of the POWs. However, there is also a blinking LED at a random positionrepresenting your position.- As you press the left button or the right button, your position, represented by the blinking cursor, moves.- Move towards one of the POWs. Once you have reached them, press the center button. This rescues the POW and the corresponding the LED no longer stays lit after the cursor is moved.- When all the POWs are saved (3 or 4 on the initial randomization), the game is over. You must make the RGB LEDs turn red while the game is going on and turn green when you have won. When reset is pressed, the game should reset.Your Part To store the POW position(s), create an 16-bit flip flop module.- The declaration should be as follows: pow_position (pos,clk,rst ,init,d); pos is 16 bit output init and d are 16 bit inputs- One every clock, load _init if rst is pressed and load d otherwise init should be provided from random2- YOU MUST USE THE ALWAYS BLOCK WITH NO ASSIGN STATEMENTS OR INSTANTIATIONS To store your position, create an 16-bit shift register module.- The declaration should be as follows: position_shifter(pos,clk,rst,sr,sl);- On every clock, it should initialize to POS[15:0]= 16’b0….00000001 when rst is high and otherwise it should right shift when shift_right is high and left when shift_left is high- You need to make sure you don’t accidentally move off the board Right or Left- YOU MUST USE THE ALWAYS BLOCK WITH NO ASSIGN STATEMENTS OR INSTANTIATIONS To create the LED display:- AND each of the 16 bits from the position register with the output of the pulser to create a blinking indicator. Then XOR this result with the output of the POW position flipflop.- The pulser will have a duty cycle less than 50% so that the cursor is shown as short blinks of light when not over a POW and the inverse when over a POW.- YOU CAN USE WHATEVER YOU LIKE TO ACHIEVE THIS. (Hint: a clock divider wouldn’t be a bad idea) You need to figure out what to provide to the d input of the pow position flip flop ( You need to figure out to create the effect of clearing some bits if the cursor position is the same as a POW position Use a NOR (of the LED outputs) to figure out when the game is over Remember to set the RGB LEDs correctly.Turn in Full design compile and verification in Artix board hardware Create and submit one or multiple Verilog testbench modules that tests your submoduledesigns. Create a report that explains your design and your testing in software and hardware Include the output of your Verilog test bench(s). Include screen shot of your working design in hardware and possibly a video link for your design (optional) to help the grader.
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.
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
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
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
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
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