Digital_Lab_04
"Moving light and message"
by
Choon B. Kim, Ph.D., a retired ASIC engineer
1. Design Specifications:
You design a circuit which displays moving light(LEDR) and message(HEX3-1) with following features.
1.1) Initial state: HEX3-1 = OFF, LEDR[9:0] = OFF and SW[9:0] = 0(i.e., Down position)
1.2) Start & Stop: When SW[0]=1(i.e., Up position), the moving operation starts. When SW[0]=0(i.e., Down position), the moving operation stops.
- a light moves between LEDR[0] and LEDR[9] continuously with speed of one round trip per second.
- a message moves to left on HEX3-1(7-segment Display) with speed of one character per second.
1.3) Pause: When SW[1]=1, the moving operation pauses.
1.4) Turbo speed: When SW[2]=1, the moving speed doubles
2. Testing(video on YouTube):
Test case:
A red light & a message("LAb4") moves at normal speed, and at turbo speed, and pauses.
https://youtube.com/shorts/WDUOR08Z33c
3. Recommended additional work:
Update your design with following new features. Add a buzzer(for showing turbo speed) and a green LED(for showing pause state)
3.1) Initial state: same
3.2) Start & Stop: When pressing KEY[3], the moving operation starts. When pressing KEY[3] again, the moving operation stops(Push-On Push-Off operation)
3.3) Pause: When pressing KEY[2], the moving operation pauses & the green LED light is ON(Push-On Push-Off operation)
3.4) Turbo speed: When pressing KEY[1], the moving speed doubles & the buzzer keeps making beep sound during turbo speed state(Push-On Push-Off operation)
https://youtube.com/shorts/e58zK7ehhgk
4. Key lesson(s) learned from this Lab:
How to handle the realtime-sensitive logic, and level & edge-triggered inputs in digital system design.
5. Timing(optional):
Assuming your design is used as a part of a bigger clock-based system, find the maximum clock frequency of your design.
Explain how you get it.
------------------------------------------- The End of Digital_Lab_04 ---------------------------------------------------