User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
labs:pong_part_1 [2019/11/10 09:16]
jgoeders [Final Pass-Off]
labs:pong_part_1 [2019/11/15 10:30] (current)
jgoeders [Exercise #2 - BallDrawer SystemVerilog Module]
Line 51: Line 51:
   * The state machine should wait for the ''​start''​ signal before starting to draw a ball.    * The state machine should wait for the ''​start''​ signal before starting to draw a ball. 
   * For each pixel that needs to be drawn, the state machine should output an (x,y) coordinate using the ''​x_out''​ and ''​y_out''​ outputs, and assert the ''​draw''​ signal to indicate that a valid pixel is being output.  ​   * For each pixel that needs to be drawn, the state machine should output an (x,y) coordinate using the ''​x_out''​ and ''​y_out''​ outputs, and assert the ''​draw''​ signal to indicate that a valid pixel is being output.  ​
-  * The ''​done''​ signal should be asserted after the ball is done being drawn (or on the last pixel).  ​+  * The ''​done''​ signal should be asserted ​for exactly 1 cycle after the ball is done being drawn (or during ​the last pixel).  ​
   * The state machine should wait for the ''​start''​ signal to go low before allowing another ball to be drawn.   * The state machine should wait for the ''​start''​ signal to go low before allowing another ball to be drawn.
  
Line 93: Line 93:
 add_force clk {0 0} {1 5ns} -repeat_every 10ns add_force clk {0 0} {1 5ns} -repeat_every 10ns
 add_force reset 1 add_force reset 1
 +add_force start 0
 run 10ns run 10ns
 add_force reset 0 add_force reset 0
Line 174: Line 175:
 <color red>​Submit your final lab report on Learning Suite. ​ Submit the SystemVerilog code of your two modules.</​color> ​ <color red>​Submit your final lab report on Learning Suite. ​ Submit the SystemVerilog code of your two modules.</​color> ​
  
 +There is no personal exploration for this lab.