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

Subversion Repositories quark

[/] [quark/] [trunk/] [05_HDLConstruction/] [01_OldArchitecture_ReferenceOnly/] [ProgramCounter/] [ProgramCounter.v] - Blame information for rev 15

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

Line No. Rev Author Line
1 3 progman32
module ProgramCounter(
2
  input        Clock,
3
  input        Reset,
4
  input        IncrementPC,
5
  input        WritePC,
6
  input  [0:7] NewPC,
7
  output [0:7] ProgramCounter
8
  );
9
 
10
  reg [0:7] TemporalPC;
11
 
12
  always@(posedge Clock, negedge Reset) begin
13
    if (Reset == 1'b0) begin
14
      TemporalPC <= 8'h00;
15
    end else begin
16
      case (WritePC)
17
        1'b0: begin
18
          if (TemporalPC < 8'hFF) begin
19
            TemporalPC <= TemporalPC + IncrementPC;
20
          end else begin
21
            TemporalPC <= 8'h00;
22
          end
23
        end
24
        1'b1: begin
25
          TemporalPC <= NewPC;
26
        end
27
      endcase
28
    end
29
  end
30
 
31
  assign ProgramCounter = TemporalPC;
32
endmodule

powered by: WebSVN 2.1.0

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