You will design a significant project on the DE1 board. In some cases you may want to use the breadboard as well - note that all of the pins at the bottom of the breadboard are labeled with the pin they talk to on the FPGA, and thus are usable. This will be most useful to people who want to connect up to more interesting inputs and/or outputs for their design, since all of the digital logic should be done inside the FPGA. You can access these pins by having a bus connection "inout [35:0] GPIO_0" to your top-level module (like you used KEY, SW, LEDR, etc. in other labs). GPIO_0 is the leftmost connection (A13), and GPIO_0 is the rightmost connection (L18).
You may code up your design in any style presented in the labs - structural Verilog, schematics, and/or FSMs in the style of lab #5. However, you may NOT code up your design in arbitrary behavioral code - behavioral logic can be used for FSMs (like lab #5), but that is it. The only exception is seven-segment display drivers (like lab #4) and similar modules that convert a number to a picture on an output device - if you are not sure if you can use behavioral for a specific device, ask before doing it!
You may use the clock_divider circuit if you wish. However, your ENTIRE circuit should be based off of EXACTLY ONE clock. If you need two clock speeds, use the clock divider to generate the faster clock. Then, use a counter as a timer to generate an enable signal at the slower rate - all slower elements will still use the fast clock, but will only change state when the slower counter signal occurs. Take a look at the traffic light controller and the timer for an example.
Pick one of the three options : All I need is a verilog code...
Project 1 - Frogger
The urban horticulture program on campus thinks we can eliminate road-kill accidents by training the local wildlife to avoid cars. Your job is to develop a high-tech traffic simulator so they can learn how to safely cross the road (see Wikipedia under "frogger").
You'll need to have several rows of red LEDs, with moving lights to show where the cars are (they'll likely be some basic pattern, with the cars in a row slowly moving to the right or left). You'll also need a green LED for each location as well, to show the position of your frog. Then, the user should have left/right/back/forward buttons to move their frog around. The goal is to get the frog from one side of the board to the other without being in the same square as a car (squish!). They win, they play again. They lose, they become road-kill- souffle'.
You'll need a reasonable sized board (say 4x6 or so), and the frog should be able to move faster than the cars (otherwise there's no hope).
Project 2 - Mastermind
The guys down at SafeCrackersInternational need to practice their skills on electronic locks, and have hired you. Your job is to simulate the ultra-powerful 16-bit encryption locks they'll be facing in the real world.
Your system should pick a random passcode, consisting of a 4-digit number in base-4 (i.e. 0, 1, 2, or 3). Our budding safecracker will then guess the code. If they're right, they win. If not, they die... well, maybe not. These guys aren't the best in the business, so we'll give them multiple tries. But to encourage them, you should tell them how close they came. You'll have to tell them how many digits were correct (right number in right place), and how many digits were misplaced (correct number in the wrong place). Of course, don't tell them which digits were right, just how many of each type there were.
To help grade these burglars-in-training, we'll also want a count of how many attempts they make before they get the code.
Project 3 - D.O.T.lite
The traffic lights are wearing out by U-Village and somebody better fix 'em fast! At the corner of Pend Oreille and 25th Ave (NorthEast corner of campus) there's a 4-way intersection. You'll need to be able to handle traffic on both 25th and Pend Orielle, including the turn lane for 25th. BTW, just in case you thought it was too easy, the turn lights on 25th are different in the two directions, and activated by a sensor in the road.
Note that your Professor drives through that intersection daily, so no 4-way greens!