summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/rouge-4.7.0/lib/rouge/demos/verilog
blob: 7f752c604346866553809f88806b58c460e6ecfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * Verilog Lexer
 */
module Foo(
  input logic Clk_CI,
  input logic Rst_RBI,
  input logic A,
  input logic B,
  output logic C
);
  logic C_DN, C_DP;

  assign C = C_DP;

  always_comb begin : proc_next_state
    C_DN = A + B;
  end

  // Clocked process
  always_ff @(posedge Clk_CI, negedge Rst_RBI) begin
    if(~Rst_RBI) begin
      C_DP <= 1'b0;
    end else begin
      C_DP <= C_DN;
    end
  end
endmodule