OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.24/] [fpga/] [src/] [dsp/] [pixel.v] - Blame information for rev 213

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 123 hellwig
//
2
// pixel.v -- last stage in display pipeline
3
//
4
 
5
 
6 27 hellwig
module pixel(clk, pixclk, attcode,
7
             pixel, blank, hsync_in, vsync_in, blink,
8 123 hellwig
             hsync, vsync, r, g, b);
9 27 hellwig
    input clk;
10
    input pixclk;
11
    input [7:0] attcode;
12
    input pixel;
13
    input blank;
14
    input hsync_in;
15
    input vsync_in;
16
    input blink;
17 123 hellwig
    output reg hsync;
18
    output reg vsync;
19 27 hellwig
    output reg [2:0] r;
20
    output reg [2:0] g;
21
    output reg [2:0] b;
22
 
23
  wire blink_bit;
24
  wire bg_red;
25
  wire bg_green;
26
  wire bg_blue;
27
  wire inten_bit;
28
  wire fg_red;
29
  wire fg_green;
30
  wire fg_blue;
31
  wire foreground;
32
  wire intensify;
33
  wire red;
34
  wire green;
35
  wire blue;
36
 
37
  assign blink_bit = attcode[7];
38
  assign bg_red = attcode[6];
39
  assign bg_green = attcode[5];
40
  assign bg_blue = attcode[4];
41
  assign inten_bit = attcode[3];
42
  assign fg_red = attcode[2];
43
  assign fg_green = attcode[1];
44
  assign fg_blue = attcode[0];
45
 
46
  assign foreground = pixel & ~(blink_bit & blink);
47
  assign intensify = foreground & inten_bit;
48
 
49
  assign red = (foreground ? fg_red : bg_red);
50
  assign green = (foreground ? fg_green : bg_green);
51
  assign blue = (foreground ? fg_blue : bg_blue);
52
 
53
  always @(posedge clk) begin
54
    if (pixclk == 1) begin
55 123 hellwig
      hsync <= hsync_in;
56
      vsync <= vsync_in;
57 27 hellwig
      r[2] <= blank & red;
58
      r[1] <= blank & intensify;
59
      r[0] <= blank & red & intensify;
60
      g[2] <= blank & green;
61
      g[1] <= blank & intensify;
62
      g[0] <= blank & green & intensify;
63
      b[2] <= blank & blue;
64
      b[1] <= blank & intensify;
65
      b[0] <= blank & blue & intensify;
66
    end
67
  end
68
 
69
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.