Additional Lab Questions


Lab 1: Serial Communication
Q: What is a baud rate. Show how we got TH1 = 0xe6. Be sure to show the equation, and show your work.

Lab 2: A/D Conversion
Q: Explain why a low-to-high transistion is needed on the the WR input.

Lab 3: Introduction to VHDL Simulation and Synthesis
Q: None.

Lab 4: A Simplified VHDL UART
Q: Explain how the UART clock divider works and explain what is it's purpose.

Lab 5: Reflex Timer
Q: None.

Lab 6: Concurrency Issues
Q1: A common mistake in providing mutual exclusion is to use a flag to signify whether or not there is a process executing in the critical region. Whenever a process wants to enter the critical region, it checks to see if the flag is set. If it is, it will simply wait until the flag is not set (i.e. while(flag);). When a process enters the critical region, the flag is set. When a process leaves the critical region, the flag is reset. Explain why this does not guarantee mutual exclusion. Also, discuss any other problems with this solution that you can think of.
Q2: Explain how your solution to the producer/consumer problem guarantees there won't ever be any conflicts between the producer and the consumer. Also, discuss the effect on performance and functionality if busy waiting (i.e. while(flag)) was used instead of semaphores.

Lab 7: Concurrency Issues Continued
Q1: Explain why your solution for the nibbling ninjas problem is correct. Also identify the critical region, and explain how the circular wait for semaphores can cause deadlock.
Q2: The nibbling ninjas problem has many solutions. Include pseudo-code for an alternative solution to the nibbling ninjas problem. Explain the benefits/drawback of each solution. Which do you think is better? Why?
Q3: Write pseudo-code for designing the same temperature network system using a single task and a delay function, and discuss the advantage/disadvantage of the multi-task versus single-task versions.

Lab 8: Trimedia
Q: None.

Lab 9: Triscend Tutorial
Q: None.

Lab 10: Temperature Sensor Acquisition Module
See Lab 10 Report/Grading Guidelines on the class page.