This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
labs:funwithregisters [2019/10/11 15:59] nelson |
labs:funwithregisters [2020/04/28 17:02] (current) nelson old revision restored (2020/02/14 13:11) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Lab 6 - Fun With Registers ====== | ====== Lab 6 - Fun With Registers ====== | ||
+ | === Prof Brent Nelson === | ||
In this lab you will do some experimentation with flip flops to learn how they operate. You will create a single-bit loadable register, a 4-bit loadable register, and a counter. | In this lab you will do some experimentation with flip flops to learn how they operate. You will create a single-bit loadable register, a 4-bit loadable register, and a counter. | ||
Line 107: | Line 108: | ||
**Exercise 1 Pass-off:** No need to pass off this. Just make sure it works in simulation before you proceed.\\ \\ | **Exercise 1 Pass-off:** No need to pass off this. Just make sure it works in simulation before you proceed.\\ \\ | ||
- | ==== Exercise #2 - 4-bit Register File ==== | + | ==== Exercise #2 - 4-bit Register ==== |
In this exercise, you will modify your register to be 4 bits wide as shown in Figure 16.5 | In this exercise, you will modify your register to be 4 bits wide as shown in Figure 16.5 | ||
Line 124: | Line 125: | ||
- | ==== Exercise 3 ==== | + | ==== Exercise #3 ==== |
We are now going to modify your 4-bit register to create a counter and use the counter to blink some lights. | We are now going to modify your 4-bit register to create a counter and use the counter to blink some lights. | ||
Line 140: | Line 141: | ||
* Change your module definition to reflect the signals in the table above. | * Change your module definition to reflect the signals in the table above. | ||
- | * Create combinational logic using a ?: assignment which implements the MUX of Figure 16.7 in the textbook. | + | * Create combinational logic using either a ?: dataflow assignment or an always_comb if statement to implement the MUX of Figure 16.7 in the textbook. |
* Wire the MUX up to the register's input and output wires. | * Wire the MUX up to the register's input and output wires. | ||
Line 168: | Line 169: | ||
''set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets CLK_IBUF];'' | ''set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets CLK_IBUF];'' | ||
+ | |||
+ | Even with this inserted you will get a Critical Warning, which you can ignore (at least it is now a warning and not an error). | ||
Perform the steps of Synthesis, Implementation, and Bitstream | Perform the steps of Synthesis, Implementation, and Bitstream | ||
Line 211: | Line 214: | ||
===== Personal Exploration ===== | ===== Personal Exploration ===== | ||
- | Here are some ideas for personal exploration in this laboratory: | + | Choose one of the following for personal exploration in this laboratory: |
* Make your counter wider and wire up to additional LEDs. | * Make your counter wider and wire up to additional LEDs. | ||
- | * Wire in a copy of your 7-segment decoder from last week and have the 4-bit counter value displayed on the 7-segment display. By the way, this is way cooler than just making your counter wider... | + | * Wire in a copy of your 7-segment decoder from last week and have the 4-bit counter value displayed on the 7-segment display. By the way, this is way cooler than just making your counter wider... :-) |
<color red>Describe your personal exploration activities.</color> | <color red>Describe your personal exploration activities.</color> |