diff options
Diffstat (limited to 'display.v')
-rw-r--r-- | display.v | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -97,8 +97,7 @@ module display ( reg prefetch; // True for the prefetch character position // Fine Graphics control - wire [7:0] v_fgctl; // Synchronized version of fg_ctl - reg [7:0] fgctl_q; // Latched version of fg_ctl + wire [7:0] fgctl_q; // Latched version of fg_ctl reg [1:0] fgpixel; // One fg pixel from FIFO // Block graphics data @@ -142,9 +141,10 @@ module display ( synchronize width_sync (.reset(1'b0), .clk(clk), .d(width), .q(v_width)); - // Synchronize fg_ctl input - synchronize #(.width(8)) - fg_ctl_sync (.reset(1'b0), .clk(clk), .d(fg_ctl), .q(v_fgctl)); + // Synchronize fg_ctl input, update during vsync only + synchronize #(.width(8), .stabilize(1)) + fg_ctl_sync (.reset(1'b0), .clk(clk), .enable (~video_y), + .d(fg_ctl), .q(fgctl_q)); // Should we advance the character pixel? // We need to always advance at full speed during prefetch, or @@ -225,10 +225,6 @@ module display ( wire [3:0] fg_argb; always @(posedge clk) - if ( ~yvideo ) // Only change mode during vertical blank - fgctl_q <= v_fgctl; - - always @(posedge clk) if (~x[0]) fgpixel <= fg_data; |