Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Automata & Computation Expert

Create a finite-state machine design to turn your FPGA development board into a simple programmable music box.

The requirements are as follows:

The system should be able to generate melodies, i.e., a sequence of notes. Notes can be selected from a bank of 16 possible sounds: 15 notes and a pause (no sound). A note is generated by a vibration of a definite frequency as shown:

1364_Turn FPGA into a simple music box.png

The overall aim of the project is to create a machine capable of four functions of increasing complexity. The functions are listed below:

Level 1

Your system should take in a slide switch combination and give out the notes listed above as a square wave output fed to a speaker (Figure 1 below).

768_Turn FPGA into a simple music box1.png

                                                            Figure 1: From slide switches to sound

Level 2

As the next feature, your system should play a melody based on a given sequence of notes (in appendix 1 you will find some sequences, or you can make up your own). You will need to create a module which can be initialised to contain the desired sequence of notes. Upon pressure of a push button, these notes will be read by your machine and played out through the speaker. Notes should be played out in a "static" manner, i.e., all notes should be sounded for 0.4 seconds followed by a 0.1 second period of silence. This is simple but makes for a rather boring melody!

The four push buttons on the board should have the roles play and pause.

- Play plays the melody from the beginning

- Pause pauses the melody from playing and if pressed again playing will resume from where it stopped

Level 3

Create a system which can be programmed to make music with a customised melody. Notes can be entered as a slide switch input (as in function 1) and saved into a register one at a time, by pressing a button. Then, when a second button is pressed, the music will be played back to you, in the same "static" manner presented in function 2 (0.4s sound followed by 0.1s silence for each note). Allow for at least 64 notes.

The four push buttons on the board should act as save note, play, pause and reset:

- Play plays the melody from the beginning

- Pause pauses the melody from playing and if pressed again playing will resume from where it stopped

- Save note saves the note in your machine's memory

- Reset clears the memory ready for a new input to be stored

Level 4

Now the most difficult of all. Create a system which will record your own musical performance with the slide switches (you will start the recording by pressing a push button, play a melody with your slide switches, and finally stop recording by pressing a second push button). Then, the system will play your performance back to you when another button is pressed. Both the notes and the timing must be the same as in your performance.

The four push buttons on the board should act as start recording, stop recording, play from the beginning and reset:

- Start recording tells the machine to commence storing your actions into memory

- Stop recording tells the machine that you have finished playing music

- Play from the beginning plays the sounds from the start

- Reset clears the memory ready for a new performance to be memorised

Level 5: the overall state machine

The four functions can be implemented as separate designs, but you will get extra marks for creating a single machine which can switch between the different functions. Since most of your buttons are taken up by the four functions, you can consider using the central button [V16] (it has a dial on it, but it also works as a push button if you press down on it) to switch between functions. I also recommend using an informative LED output to make the user aware of what function they are using.

Automata & Computation, Computer Science

  • Category:- Automata & Computation
  • Reference No.:- M9716122
  • Price:- $20

Priced at Now at $20, Verified Solution

Have any Question?


Related Questions in Automata & Computation

Prove or disprove the following proposed inference rules

Prove or disprove the following proposed inference rules for functional dependencies. A proof should be made by using the reflexive, augmentation, transitive, decomposition, union, and pseudotransitive rules. A disproof ...

Models of computation assignment -purpose - to improve and

Models of Computation Assignment - Purpose - To improve and consolidate your understanding of regular and context-free languages, finite-state and pushdown automata. To develop skills in analysis and formal reasoning abo ...

Regular expressions automatacomputabilitytheory of

Regular expressions, automata/computability/theory of computation How would I go about interpreting regular expressions? For example, how would I interpret the following in English: (0+1)*011 0*1*2* 0^(+)1^(+)2^(+)

Models of computation assignment -purpose - to improve and

Models of Computation Assignment - Purpose - To improve and consolidate your understanding of regular and context-free languages, finite-state and pushdown automata. To develop skills in analysis and formal reasoning abo ...

Solve the question given belowprove the following statement

Solve the question given below Prove the following statement using Hall's Theorem. For any bipartite graph G=(U, V, E), if every node (either a left node or a right node) has exactly d neighbors, where d is an arbitrary ...

Question 1a digital computer has a memory unit with 16 bits

Question 1: A digital computer has a memory unit with 16 bits per word. The instruction set consists of 122 different operations. All instructions have an operation code part (opcode) and an address part (allowing for on ...

Prove or disprove the following proposed inference rules

Prove or disprove the following proposed inference rules for functional dependencies. A proof should be made by using the reflexive, augmentation, transitive, decomposition, union, and pseudotransitive rules. A disproof ...

Question 1hoare logic semantics for each of the parts below

Question 1 Hoare Logic Semantics For each of the parts below, justify your answer briefly. 1. For which programs S does {False} S {True} hold? 2. For which programs S does {True} S {False} hold? 3. For which programs S d ...

Iot and data analytics1 analyse the taskanalyse what is

IOT and data analytics 1. Analyse the Task Analyse what is expected of you. This includes careful reading of the assignment task as specified in the Subject Outline. The executive summary of the research project is to be ...

Question - design a state machine that will control a

Question - Design a state machine that will control a vending machine. The vending machine has 4 inputs, N, D indicating a nickel or dime was inserted as well as clk and an active high asynchronous reset. The vending mac ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As