From fb1373b85462b8bd508334c96b0f75eaeb072fe8 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Wed, 16 Jul 2025 21:31:40 -0400 Subject: [PATCH] Tests: Reformat. Ignore whitespace if comparing. No test functional change. --- test_regress/t/t_case_huge_sub.v | 560 ++++++++++--------- test_regress/t/t_case_huge_sub2.v | 558 ++++++++++--------- test_regress/t/t_case_huge_sub3.v | 558 ++++++++++--------- test_regress/t/t_case_huge_sub4.v | 101 ++-- test_regress/t/t_case_unique_many.v | 636 +++++++++++----------- test_regress/t/t_if_deep.v | 222 ++++---- test_regress/t/t_math_concat64.v | 217 ++++---- test_regress/t/t_math_cond_huge.v | 778 ++++++++++++++------------- test_regress/t/t_opt_localize_deep.v | 132 ++--- 9 files changed, 1877 insertions(+), 1885 deletions(-) diff --git a/test_regress/t/t_case_huge_sub.v b/test_regress/t/t_case_huge_sub.v index b0d8e72c5..34d8514d5 100644 --- a/test_regress/t/t_case_huge_sub.v +++ b/test_regress/t/t_case_huge_sub.v @@ -5,290 +5,284 @@ // SPDX-License-Identifier: CC0-1.0 module t_case_huge_sub (/*AUTOARG*/ - // Outputs - outa, outb, outc, - // Inputs - index - ); + // Outputs + outa, outb, outc, + // Inputs + index + ); - input [7:0] index; - output [9:0] outa; - output [1:0] outb; - output outc; + input [7:0] index; + output logic [9:0] outa; + output logic [1:0] outb; + output logic outc; - // ============================= - /*AUTOREG*/ - // Beginning of automatic regs (for this module's undeclared outputs) - reg [9:0] outa; - reg [1:0] outb; - reg outc; - // End of automatics + // ============================= + // Created from Python3: + // for i in range(1024): + // print(" 10'h%03x: begin outa = 10'h%03x; outb = 2'b%d%d; outc = 1'b%d; end" + // % (i, random.randint(0,1024), random.randint(0,1), + // random.randint(0,1), random.randint(0,1))) - // ============================= - // Created from Python3: - // for i in range(1024): - // print(" 10'h%03x: begin outa = 10'h%03x; outb = 2'b%d%d; outc = 1'b%d; end" - // % (i, random.randint(0,1024), random.randint(0,1), - // random.randint(0,1), random.randint(0,1))) - - always @(/*AS*/index) begin - case (index) - 8'h00: begin outa = 10'h152; outb = 2'b00; outc = 1'b1; end - 8'h01: begin outa = 10'h318; outb = 2'b11; outc = 1'b1; end - 8'h02: begin outa = 10'h29f; outb = 2'b11; outc = 1'b0; end - 8'h03: begin outa = 10'h392; outb = 2'b01; outc = 1'b1; end - 8'h04: begin outa = 10'h1ef; outb = 2'b00; outc = 1'b0; end - 8'h05: begin outa = 10'h06c; outb = 2'b10; outc = 1'b1; end - 8'h06: begin outa = 10'h29f; outb = 2'b11; outc = 1'b0; end - 8'h07: begin outa = 10'h29a; outb = 2'b10; outc = 1'b0; end - 8'h08: begin outa = 10'h3ce; outb = 2'b01; outc = 1'b0; end - 8'h09: begin outa = 10'h37c; outb = 2'b01; outc = 1'b0; end - 8'h0a: begin outa = 10'h058; outb = 2'b10; outc = 1'b0; end - 8'h0b: begin outa = 10'h3b2; outb = 2'b01; outc = 1'b1; end - 8'h0c: begin outa = 10'h36f; outb = 2'b11; outc = 1'b0; end - 8'h0d: begin outa = 10'h2c5; outb = 2'b11; outc = 1'b0; end - 8'h0e: begin outa = 10'h23a; outb = 2'b00; outc = 1'b0; end - 8'h0f: begin outa = 10'h222; outb = 2'b01; outc = 1'b1; end - 8'h10: begin outa = 10'h328; outb = 2'b00; outc = 1'b1; end - 8'h11: begin outa = 10'h3c3; outb = 2'b00; outc = 1'b1; end - 8'h12: begin outa = 10'h12c; outb = 2'b01; outc = 1'b0; end - 8'h13: begin outa = 10'h1d0; outb = 2'b00; outc = 1'b1; end - 8'h14: begin outa = 10'h3ff; outb = 2'b01; outc = 1'b1; end - 8'h15: begin outa = 10'h115; outb = 2'b11; outc = 1'b1; end - 8'h16: begin outa = 10'h3ba; outb = 2'b10; outc = 1'b0; end - 8'h17: begin outa = 10'h3ba; outb = 2'b00; outc = 1'b0; end - 8'h18: begin outa = 10'h10d; outb = 2'b00; outc = 1'b1; end - 8'h19: begin outa = 10'h13b; outb = 2'b01; outc = 1'b1; end - 8'h1a: begin outa = 10'h0a0; outb = 2'b10; outc = 1'b1; end - 8'h1b: begin outa = 10'h264; outb = 2'b11; outc = 1'b0; end - 8'h1c: begin outa = 10'h3a2; outb = 2'b10; outc = 1'b0; end - 8'h1d: begin outa = 10'h07c; outb = 2'b00; outc = 1'b1; end - 8'h1e: begin outa = 10'h291; outb = 2'b00; outc = 1'b0; end - 8'h1f: begin outa = 10'h1d1; outb = 2'b10; outc = 1'b0; end - 8'h20: begin outa = 10'h354; outb = 2'b11; outc = 1'b1; end - 8'h21: begin outa = 10'h0c0; outb = 2'b00; outc = 1'b1; end - 8'h22: begin outa = 10'h191; outb = 2'b00; outc = 1'b0; end - 8'h23: begin outa = 10'h379; outb = 2'b01; outc = 1'b0; end - 8'h24: begin outa = 10'h073; outb = 2'b00; outc = 1'b0; end - 8'h25: begin outa = 10'h2fd; outb = 2'b11; outc = 1'b1; end - 8'h26: begin outa = 10'h2e0; outb = 2'b11; outc = 1'b1; end - 8'h27: begin outa = 10'h337; outb = 2'b01; outc = 1'b1; end - 8'h28: begin outa = 10'h2c7; outb = 2'b11; outc = 1'b1; end - 8'h29: begin outa = 10'h19e; outb = 2'b11; outc = 1'b0; end - 8'h2a: begin outa = 10'h107; outb = 2'b10; outc = 1'b0; end - 8'h2b: begin outa = 10'h06a; outb = 2'b01; outc = 1'b1; end - 8'h2c: begin outa = 10'h1c7; outb = 2'b01; outc = 1'b1; end - 8'h2d: begin outa = 10'h107; outb = 2'b10; outc = 1'b0; end - 8'h2e: begin outa = 10'h0cf; outb = 2'b01; outc = 1'b1; end - 8'h2f: begin outa = 10'h009; outb = 2'b11; outc = 1'b1; end - 8'h30: begin outa = 10'h09d; outb = 2'b00; outc = 1'b1; end - 8'h31: begin outa = 10'h28e; outb = 2'b00; outc = 1'b0; end - 8'h32: begin outa = 10'h010; outb = 2'b01; outc = 1'b0; end - 8'h33: begin outa = 10'h1e0; outb = 2'b10; outc = 1'b0; end - 8'h34: begin outa = 10'h079; outb = 2'b01; outc = 1'b1; end - 8'h35: begin outa = 10'h13e; outb = 2'b10; outc = 1'b1; end - 8'h36: begin outa = 10'h282; outb = 2'b11; outc = 1'b0; end - 8'h37: begin outa = 10'h21c; outb = 2'b11; outc = 1'b1; end - 8'h38: begin outa = 10'h148; outb = 2'b00; outc = 1'b1; end - 8'h39: begin outa = 10'h3c0; outb = 2'b10; outc = 1'b0; end - 8'h3a: begin outa = 10'h176; outb = 2'b01; outc = 1'b1; end - 8'h3b: begin outa = 10'h3fc; outb = 2'b10; outc = 1'b1; end - 8'h3c: begin outa = 10'h295; outb = 2'b11; outc = 1'b1; end - 8'h3d: begin outa = 10'h113; outb = 2'b10; outc = 1'b1; end - 8'h3e: begin outa = 10'h354; outb = 2'b01; outc = 1'b1; end - 8'h3f: begin outa = 10'h0db; outb = 2'b11; outc = 1'b0; end - 8'h40: begin outa = 10'h238; outb = 2'b01; outc = 1'b0; end - 8'h41: begin outa = 10'h12b; outb = 2'b01; outc = 1'b1; end - 8'h42: begin outa = 10'h1dc; outb = 2'b10; outc = 1'b0; end - 8'h43: begin outa = 10'h137; outb = 2'b01; outc = 1'b1; end - 8'h44: begin outa = 10'h1e2; outb = 2'b01; outc = 1'b1; end - 8'h45: begin outa = 10'h3d5; outb = 2'b11; outc = 1'b1; end - 8'h46: begin outa = 10'h30c; outb = 2'b11; outc = 1'b0; end - 8'h47: begin outa = 10'h298; outb = 2'b11; outc = 1'b0; end - 8'h48: begin outa = 10'h080; outb = 2'b00; outc = 1'b1; end - 8'h49: begin outa = 10'h35a; outb = 2'b11; outc = 1'b1; end - 8'h4a: begin outa = 10'h01b; outb = 2'b00; outc = 1'b0; end - 8'h4b: begin outa = 10'h0a3; outb = 2'b11; outc = 1'b0; end - 8'h4c: begin outa = 10'h0b3; outb = 2'b11; outc = 1'b1; end - 8'h4d: begin outa = 10'h17a; outb = 2'b00; outc = 1'b0; end - 8'h4e: begin outa = 10'h3ae; outb = 2'b11; outc = 1'b0; end - 8'h4f: begin outa = 10'h078; outb = 2'b11; outc = 1'b0; end - 8'h50: begin outa = 10'h322; outb = 2'b00; outc = 1'b1; end - 8'h51: begin outa = 10'h213; outb = 2'b11; outc = 1'b0; end - 8'h52: begin outa = 10'h11a; outb = 2'b11; outc = 1'b0; end - 8'h53: begin outa = 10'h1a7; outb = 2'b00; outc = 1'b0; end - 8'h54: begin outa = 10'h35a; outb = 2'b00; outc = 1'b1; end - 8'h55: begin outa = 10'h233; outb = 2'b00; outc = 1'b0; end - 8'h56: begin outa = 10'h01d; outb = 2'b01; outc = 1'b1; end - 8'h57: begin outa = 10'h2d5; outb = 2'b00; outc = 1'b0; end - 8'h58: begin outa = 10'h1a0; outb = 2'b00; outc = 1'b1; end - 8'h59: begin outa = 10'h3d0; outb = 2'b00; outc = 1'b1; end - 8'h5a: begin outa = 10'h181; outb = 2'b01; outc = 1'b1; end - 8'h5b: begin outa = 10'h219; outb = 2'b01; outc = 1'b1; end - 8'h5c: begin outa = 10'h26a; outb = 2'b01; outc = 1'b1; end - 8'h5d: begin outa = 10'h050; outb = 2'b10; outc = 1'b0; end - 8'h5e: begin outa = 10'h189; outb = 2'b10; outc = 1'b0; end - 8'h5f: begin outa = 10'h1eb; outb = 2'b01; outc = 1'b1; end - 8'h60: begin outa = 10'h224; outb = 2'b00; outc = 1'b1; end - 8'h61: begin outa = 10'h2fe; outb = 2'b00; outc = 1'b0; end - 8'h62: begin outa = 10'h0ae; outb = 2'b00; outc = 1'b1; end - 8'h63: begin outa = 10'h1cd; outb = 2'b00; outc = 1'b0; end - 8'h64: begin outa = 10'h273; outb = 2'b10; outc = 1'b1; end - 8'h65: begin outa = 10'h268; outb = 2'b10; outc = 1'b0; end - 8'h66: begin outa = 10'h111; outb = 2'b01; outc = 1'b0; end - 8'h67: begin outa = 10'h1f9; outb = 2'b00; outc = 1'b0; end - 8'h68: begin outa = 10'h232; outb = 2'b00; outc = 1'b1; end - 8'h69: begin outa = 10'h255; outb = 2'b11; outc = 1'b0; end - 8'h6a: begin outa = 10'h34c; outb = 2'b01; outc = 1'b1; end - 8'h6b: begin outa = 10'h049; outb = 2'b01; outc = 1'b1; end - 8'h6c: begin outa = 10'h197; outb = 2'b11; outc = 1'b0; end - 8'h6d: begin outa = 10'h0fe; outb = 2'b11; outc = 1'b0; end - 8'h6e: begin outa = 10'h253; outb = 2'b01; outc = 1'b1; end - 8'h6f: begin outa = 10'h2de; outb = 2'b11; outc = 1'b0; end - 8'h70: begin outa = 10'h13b; outb = 2'b10; outc = 1'b1; end - 8'h71: begin outa = 10'h040; outb = 2'b10; outc = 1'b0; end - 8'h72: begin outa = 10'h0b4; outb = 2'b00; outc = 1'b1; end - 8'h73: begin outa = 10'h233; outb = 2'b11; outc = 1'b1; end - 8'h74: begin outa = 10'h198; outb = 2'b00; outc = 1'b1; end - 8'h75: begin outa = 10'h018; outb = 2'b00; outc = 1'b1; end - 8'h76: begin outa = 10'h2f7; outb = 2'b00; outc = 1'b1; end - 8'h77: begin outa = 10'h134; outb = 2'b11; outc = 1'b0; end - 8'h78: begin outa = 10'h1ca; outb = 2'b10; outc = 1'b0; end - 8'h79: begin outa = 10'h286; outb = 2'b10; outc = 1'b1; end - 8'h7a: begin outa = 10'h0e6; outb = 2'b11; outc = 1'b1; end - 8'h7b: begin outa = 10'h064; outb = 2'b10; outc = 1'b1; end - 8'h7c: begin outa = 10'h257; outb = 2'b00; outc = 1'b1; end - 8'h7d: begin outa = 10'h31a; outb = 2'b10; outc = 1'b1; end - 8'h7e: begin outa = 10'h247; outb = 2'b01; outc = 1'b0; end - 8'h7f: begin outa = 10'h299; outb = 2'b00; outc = 1'b0; end - 8'h80: begin outa = 10'h02c; outb = 2'b00; outc = 1'b0; end - 8'h81: begin outa = 10'h2bb; outb = 2'b11; outc = 1'b0; end - 8'h82: begin outa = 10'h180; outb = 2'b10; outc = 1'b0; end - 8'h83: begin outa = 10'h245; outb = 2'b01; outc = 1'b1; end - 8'h84: begin outa = 10'h0da; outb = 2'b10; outc = 1'b0; end - 8'h85: begin outa = 10'h367; outb = 2'b10; outc = 1'b0; end - 8'h86: begin outa = 10'h304; outb = 2'b01; outc = 1'b0; end - 8'h87: begin outa = 10'h38b; outb = 2'b11; outc = 1'b0; end - 8'h88: begin outa = 10'h09f; outb = 2'b01; outc = 1'b0; end - 8'h89: begin outa = 10'h1f0; outb = 2'b10; outc = 1'b1; end - 8'h8a: begin outa = 10'h281; outb = 2'b10; outc = 1'b1; end - 8'h8b: begin outa = 10'h019; outb = 2'b00; outc = 1'b0; end - 8'h8c: begin outa = 10'h1f2; outb = 2'b10; outc = 1'b0; end - 8'h8d: begin outa = 10'h0b1; outb = 2'b01; outc = 1'b1; end - 8'h8e: begin outa = 10'h058; outb = 2'b01; outc = 1'b1; end - 8'h8f: begin outa = 10'h39b; outb = 2'b00; outc = 1'b1; end - 8'h90: begin outa = 10'h2ec; outb = 2'b10; outc = 1'b1; end - 8'h91: begin outa = 10'h250; outb = 2'b00; outc = 1'b1; end - 8'h92: begin outa = 10'h3f4; outb = 2'b10; outc = 1'b1; end - 8'h93: begin outa = 10'h057; outb = 2'b10; outc = 1'b1; end - 8'h94: begin outa = 10'h18f; outb = 2'b01; outc = 1'b1; end - 8'h95: begin outa = 10'h105; outb = 2'b01; outc = 1'b1; end - 8'h96: begin outa = 10'h1ae; outb = 2'b00; outc = 1'b1; end - 8'h97: begin outa = 10'h04e; outb = 2'b10; outc = 1'b0; end - 8'h98: begin outa = 10'h240; outb = 2'b11; outc = 1'b0; end - 8'h99: begin outa = 10'h3e4; outb = 2'b01; outc = 1'b0; end - 8'h9a: begin outa = 10'h3c6; outb = 2'b01; outc = 1'b0; end - 8'h9b: begin outa = 10'h109; outb = 2'b00; outc = 1'b1; end - 8'h9c: begin outa = 10'h073; outb = 2'b10; outc = 1'b1; end - 8'h9d: begin outa = 10'h19f; outb = 2'b01; outc = 1'b0; end - 8'h9e: begin outa = 10'h3b8; outb = 2'b01; outc = 1'b0; end - 8'h9f: begin outa = 10'h00e; outb = 2'b00; outc = 1'b1; end - 8'ha0: begin outa = 10'h1b3; outb = 2'b11; outc = 1'b1; end - 8'ha1: begin outa = 10'h2bd; outb = 2'b11; outc = 1'b0; end - 8'ha2: begin outa = 10'h324; outb = 2'b00; outc = 1'b1; end - 8'ha3: begin outa = 10'h343; outb = 2'b10; outc = 1'b0; end - 8'ha4: begin outa = 10'h1c9; outb = 2'b01; outc = 1'b0; end - 8'ha5: begin outa = 10'h185; outb = 2'b00; outc = 1'b1; end - 8'ha6: begin outa = 10'h37a; outb = 2'b00; outc = 1'b1; end - 8'ha7: begin outa = 10'h0e0; outb = 2'b01; outc = 1'b1; end - 8'ha8: begin outa = 10'h0a3; outb = 2'b10; outc = 1'b0; end - 8'ha9: begin outa = 10'h019; outb = 2'b11; outc = 1'b0; end - 8'haa: begin outa = 10'h099; outb = 2'b00; outc = 1'b1; end - 8'hab: begin outa = 10'h376; outb = 2'b01; outc = 1'b1; end - 8'hac: begin outa = 10'h077; outb = 2'b00; outc = 1'b1; end - 8'had: begin outa = 10'h2b1; outb = 2'b11; outc = 1'b1; end - 8'hae: begin outa = 10'h27f; outb = 2'b00; outc = 1'b0; end - 8'haf: begin outa = 10'h265; outb = 2'b11; outc = 1'b0; end - 8'hb0: begin outa = 10'h156; outb = 2'b10; outc = 1'b1; end - 8'hb1: begin outa = 10'h1ce; outb = 2'b00; outc = 1'b0; end - 8'hb2: begin outa = 10'h008; outb = 2'b01; outc = 1'b0; end - 8'hb3: begin outa = 10'h12e; outb = 2'b11; outc = 1'b1; end - 8'hb4: begin outa = 10'h199; outb = 2'b11; outc = 1'b0; end - 8'hb5: begin outa = 10'h330; outb = 2'b10; outc = 1'b0; end - 8'hb6: begin outa = 10'h1ab; outb = 2'b01; outc = 1'b1; end - 8'hb7: begin outa = 10'h3bd; outb = 2'b00; outc = 1'b0; end - 8'hb8: begin outa = 10'h0ca; outb = 2'b10; outc = 1'b0; end - 8'hb9: begin outa = 10'h367; outb = 2'b00; outc = 1'b0; end - 8'hba: begin outa = 10'h334; outb = 2'b00; outc = 1'b0; end - 8'hbb: begin outa = 10'h040; outb = 2'b00; outc = 1'b1; end - 8'hbc: begin outa = 10'h1a7; outb = 2'b10; outc = 1'b1; end - 8'hbd: begin outa = 10'h036; outb = 2'b11; outc = 1'b1; end - 8'hbe: begin outa = 10'h223; outb = 2'b11; outc = 1'b1; end - 8'hbf: begin outa = 10'h075; outb = 2'b01; outc = 1'b0; end - 8'hc0: begin outa = 10'h3c4; outb = 2'b00; outc = 1'b1; end - 8'hc1: begin outa = 10'h2cc; outb = 2'b01; outc = 1'b0; end - 8'hc2: begin outa = 10'h123; outb = 2'b01; outc = 1'b0; end - 8'hc3: begin outa = 10'h3fd; outb = 2'b01; outc = 1'b1; end - 8'hc4: begin outa = 10'h11e; outb = 2'b00; outc = 1'b0; end - 8'hc5: begin outa = 10'h27c; outb = 2'b11; outc = 1'b1; end - 8'hc6: begin outa = 10'h1e2; outb = 2'b11; outc = 1'b0; end - 8'hc7: begin outa = 10'h377; outb = 2'b11; outc = 1'b0; end - 8'hc8: begin outa = 10'h33a; outb = 2'b11; outc = 1'b0; end - 8'hc9: begin outa = 10'h32d; outb = 2'b11; outc = 1'b1; end - 8'hca: begin outa = 10'h014; outb = 2'b11; outc = 1'b0; end - 8'hcb: begin outa = 10'h332; outb = 2'b10; outc = 1'b0; end - 8'hcc: begin outa = 10'h359; outb = 2'b00; outc = 1'b0; end - 8'hcd: begin outa = 10'h0a4; outb = 2'b10; outc = 1'b1; end - 8'hce: begin outa = 10'h348; outb = 2'b00; outc = 1'b1; end - 8'hcf: begin outa = 10'h04b; outb = 2'b11; outc = 1'b1; end - 8'hd0: begin outa = 10'h147; outb = 2'b10; outc = 1'b1; end - 8'hd1: begin outa = 10'h026; outb = 2'b00; outc = 1'b1; end - 8'hd2: begin outa = 10'h103; outb = 2'b00; outc = 1'b0; end - 8'hd3: begin outa = 10'h106; outb = 2'b00; outc = 1'b1; end - 8'hd4: begin outa = 10'h35a; outb = 2'b00; outc = 1'b0; end - 8'hd5: begin outa = 10'h254; outb = 2'b01; outc = 1'b0; end - 8'hd6: begin outa = 10'h0cd; outb = 2'b01; outc = 1'b0; end - 8'hd7: begin outa = 10'h17c; outb = 2'b11; outc = 1'b1; end - 8'hd8: begin outa = 10'h37e; outb = 2'b10; outc = 1'b1; end - 8'hd9: begin outa = 10'h0a9; outb = 2'b11; outc = 1'b1; end - 8'hda: begin outa = 10'h0fe; outb = 2'b01; outc = 1'b0; end - 8'hdb: begin outa = 10'h3c0; outb = 2'b11; outc = 1'b1; end - 8'hdc: begin outa = 10'h1d9; outb = 2'b10; outc = 1'b1; end - 8'hdd: begin outa = 10'h10e; outb = 2'b00; outc = 1'b1; end - 8'hde: begin outa = 10'h394; outb = 2'b01; outc = 1'b0; end - 8'hdf: begin outa = 10'h316; outb = 2'b01; outc = 1'b0; end - 8'he0: begin outa = 10'h05b; outb = 2'b11; outc = 1'b0; end - 8'he1: begin outa = 10'h126; outb = 2'b01; outc = 1'b1; end - 8'he2: begin outa = 10'h369; outb = 2'b11; outc = 1'b0; end - 8'he3: begin outa = 10'h291; outb = 2'b10; outc = 1'b1; end - 8'he4: begin outa = 10'h2ca; outb = 2'b00; outc = 1'b1; end - 8'he5: begin outa = 10'h25b; outb = 2'b01; outc = 1'b1; end - 8'he6: begin outa = 10'h106; outb = 2'b00; outc = 1'b0; end - 8'he7: begin outa = 10'h172; outb = 2'b11; outc = 1'b1; end - 8'he8: begin outa = 10'h2f7; outb = 2'b00; outc = 1'b1; end - 8'he9: begin outa = 10'h2d3; outb = 2'b11; outc = 1'b1; end - 8'hea: begin outa = 10'h182; outb = 2'b00; outc = 1'b0; end - 8'heb: begin outa = 10'h327; outb = 2'b00; outc = 1'b1; end - 8'hec: begin outa = 10'h1d0; outb = 2'b10; outc = 1'b0; end - 8'hed: begin outa = 10'h204; outb = 2'b00; outc = 1'b1; end - 8'hee: begin outa = 10'h11f; outb = 2'b00; outc = 1'b1; end - 8'hef: begin outa = 10'h365; outb = 2'b11; outc = 1'b1; end - 8'hf0: begin outa = 10'h2c2; outb = 2'b01; outc = 1'b1; end - 8'hf1: begin outa = 10'h2b5; outb = 2'b10; outc = 1'b0; end - 8'hf2: begin outa = 10'h1f8; outb = 2'b10; outc = 1'b1; end - 8'hf3: begin outa = 10'h2a7; outb = 2'b01; outc = 1'b1; end - 8'hf4: begin outa = 10'h1be; outb = 2'b10; outc = 1'b1; end - 8'hf5: begin outa = 10'h25e; outb = 2'b10; outc = 1'b1; end - 8'hf6: begin outa = 10'h032; outb = 2'b10; outc = 1'b0; end - 8'hf7: begin outa = 10'h2ef; outb = 2'b00; outc = 1'b0; end - 8'hf8: begin outa = 10'h02f; outb = 2'b00; outc = 1'b1; end - 8'hf9: begin outa = 10'h201; outb = 2'b10; outc = 1'b0; end - 8'hfa: begin outa = 10'h054; outb = 2'b01; outc = 1'b1; end - 8'hfb: begin outa = 10'h013; outb = 2'b10; outc = 1'b0; end - 8'hfc: begin outa = 10'h249; outb = 2'b01; outc = 1'b0; end - 8'hfd: begin outa = 10'h09a; outb = 2'b10; outc = 1'b0; end - 8'hfe: begin outa = 10'h012; outb = 2'b00; outc = 1'b0; end - 8'hff: begin outa = 10'h114; outb = 2'b10; outc = 1'b1; end - endcase - end + always @* begin + // verilog_format: off + case (index) + 8'h00: begin outa = 10'h152; outb = 2'b00; outc = 1'b1; end + 8'h01: begin outa = 10'h318; outb = 2'b11; outc = 1'b1; end + 8'h02: begin outa = 10'h29f; outb = 2'b11; outc = 1'b0; end + 8'h03: begin outa = 10'h392; outb = 2'b01; outc = 1'b1; end + 8'h04: begin outa = 10'h1ef; outb = 2'b00; outc = 1'b0; end + 8'h05: begin outa = 10'h06c; outb = 2'b10; outc = 1'b1; end + 8'h06: begin outa = 10'h29f; outb = 2'b11; outc = 1'b0; end + 8'h07: begin outa = 10'h29a; outb = 2'b10; outc = 1'b0; end + 8'h08: begin outa = 10'h3ce; outb = 2'b01; outc = 1'b0; end + 8'h09: begin outa = 10'h37c; outb = 2'b01; outc = 1'b0; end + 8'h0a: begin outa = 10'h058; outb = 2'b10; outc = 1'b0; end + 8'h0b: begin outa = 10'h3b2; outb = 2'b01; outc = 1'b1; end + 8'h0c: begin outa = 10'h36f; outb = 2'b11; outc = 1'b0; end + 8'h0d: begin outa = 10'h2c5; outb = 2'b11; outc = 1'b0; end + 8'h0e: begin outa = 10'h23a; outb = 2'b00; outc = 1'b0; end + 8'h0f: begin outa = 10'h222; outb = 2'b01; outc = 1'b1; end + 8'h10: begin outa = 10'h328; outb = 2'b00; outc = 1'b1; end + 8'h11: begin outa = 10'h3c3; outb = 2'b00; outc = 1'b1; end + 8'h12: begin outa = 10'h12c; outb = 2'b01; outc = 1'b0; end + 8'h13: begin outa = 10'h1d0; outb = 2'b00; outc = 1'b1; end + 8'h14: begin outa = 10'h3ff; outb = 2'b01; outc = 1'b1; end + 8'h15: begin outa = 10'h115; outb = 2'b11; outc = 1'b1; end + 8'h16: begin outa = 10'h3ba; outb = 2'b10; outc = 1'b0; end + 8'h17: begin outa = 10'h3ba; outb = 2'b00; outc = 1'b0; end + 8'h18: begin outa = 10'h10d; outb = 2'b00; outc = 1'b1; end + 8'h19: begin outa = 10'h13b; outb = 2'b01; outc = 1'b1; end + 8'h1a: begin outa = 10'h0a0; outb = 2'b10; outc = 1'b1; end + 8'h1b: begin outa = 10'h264; outb = 2'b11; outc = 1'b0; end + 8'h1c: begin outa = 10'h3a2; outb = 2'b10; outc = 1'b0; end + 8'h1d: begin outa = 10'h07c; outb = 2'b00; outc = 1'b1; end + 8'h1e: begin outa = 10'h291; outb = 2'b00; outc = 1'b0; end + 8'h1f: begin outa = 10'h1d1; outb = 2'b10; outc = 1'b0; end + 8'h20: begin outa = 10'h354; outb = 2'b11; outc = 1'b1; end + 8'h21: begin outa = 10'h0c0; outb = 2'b00; outc = 1'b1; end + 8'h22: begin outa = 10'h191; outb = 2'b00; outc = 1'b0; end + 8'h23: begin outa = 10'h379; outb = 2'b01; outc = 1'b0; end + 8'h24: begin outa = 10'h073; outb = 2'b00; outc = 1'b0; end + 8'h25: begin outa = 10'h2fd; outb = 2'b11; outc = 1'b1; end + 8'h26: begin outa = 10'h2e0; outb = 2'b11; outc = 1'b1; end + 8'h27: begin outa = 10'h337; outb = 2'b01; outc = 1'b1; end + 8'h28: begin outa = 10'h2c7; outb = 2'b11; outc = 1'b1; end + 8'h29: begin outa = 10'h19e; outb = 2'b11; outc = 1'b0; end + 8'h2a: begin outa = 10'h107; outb = 2'b10; outc = 1'b0; end + 8'h2b: begin outa = 10'h06a; outb = 2'b01; outc = 1'b1; end + 8'h2c: begin outa = 10'h1c7; outb = 2'b01; outc = 1'b1; end + 8'h2d: begin outa = 10'h107; outb = 2'b10; outc = 1'b0; end + 8'h2e: begin outa = 10'h0cf; outb = 2'b01; outc = 1'b1; end + 8'h2f: begin outa = 10'h009; outb = 2'b11; outc = 1'b1; end + 8'h30: begin outa = 10'h09d; outb = 2'b00; outc = 1'b1; end + 8'h31: begin outa = 10'h28e; outb = 2'b00; outc = 1'b0; end + 8'h32: begin outa = 10'h010; outb = 2'b01; outc = 1'b0; end + 8'h33: begin outa = 10'h1e0; outb = 2'b10; outc = 1'b0; end + 8'h34: begin outa = 10'h079; outb = 2'b01; outc = 1'b1; end + 8'h35: begin outa = 10'h13e; outb = 2'b10; outc = 1'b1; end + 8'h36: begin outa = 10'h282; outb = 2'b11; outc = 1'b0; end + 8'h37: begin outa = 10'h21c; outb = 2'b11; outc = 1'b1; end + 8'h38: begin outa = 10'h148; outb = 2'b00; outc = 1'b1; end + 8'h39: begin outa = 10'h3c0; outb = 2'b10; outc = 1'b0; end + 8'h3a: begin outa = 10'h176; outb = 2'b01; outc = 1'b1; end + 8'h3b: begin outa = 10'h3fc; outb = 2'b10; outc = 1'b1; end + 8'h3c: begin outa = 10'h295; outb = 2'b11; outc = 1'b1; end + 8'h3d: begin outa = 10'h113; outb = 2'b10; outc = 1'b1; end + 8'h3e: begin outa = 10'h354; outb = 2'b01; outc = 1'b1; end + 8'h3f: begin outa = 10'h0db; outb = 2'b11; outc = 1'b0; end + 8'h40: begin outa = 10'h238; outb = 2'b01; outc = 1'b0; end + 8'h41: begin outa = 10'h12b; outb = 2'b01; outc = 1'b1; end + 8'h42: begin outa = 10'h1dc; outb = 2'b10; outc = 1'b0; end + 8'h43: begin outa = 10'h137; outb = 2'b01; outc = 1'b1; end + 8'h44: begin outa = 10'h1e2; outb = 2'b01; outc = 1'b1; end + 8'h45: begin outa = 10'h3d5; outb = 2'b11; outc = 1'b1; end + 8'h46: begin outa = 10'h30c; outb = 2'b11; outc = 1'b0; end + 8'h47: begin outa = 10'h298; outb = 2'b11; outc = 1'b0; end + 8'h48: begin outa = 10'h080; outb = 2'b00; outc = 1'b1; end + 8'h49: begin outa = 10'h35a; outb = 2'b11; outc = 1'b1; end + 8'h4a: begin outa = 10'h01b; outb = 2'b00; outc = 1'b0; end + 8'h4b: begin outa = 10'h0a3; outb = 2'b11; outc = 1'b0; end + 8'h4c: begin outa = 10'h0b3; outb = 2'b11; outc = 1'b1; end + 8'h4d: begin outa = 10'h17a; outb = 2'b00; outc = 1'b0; end + 8'h4e: begin outa = 10'h3ae; outb = 2'b11; outc = 1'b0; end + 8'h4f: begin outa = 10'h078; outb = 2'b11; outc = 1'b0; end + 8'h50: begin outa = 10'h322; outb = 2'b00; outc = 1'b1; end + 8'h51: begin outa = 10'h213; outb = 2'b11; outc = 1'b0; end + 8'h52: begin outa = 10'h11a; outb = 2'b11; outc = 1'b0; end + 8'h53: begin outa = 10'h1a7; outb = 2'b00; outc = 1'b0; end + 8'h54: begin outa = 10'h35a; outb = 2'b00; outc = 1'b1; end + 8'h55: begin outa = 10'h233; outb = 2'b00; outc = 1'b0; end + 8'h56: begin outa = 10'h01d; outb = 2'b01; outc = 1'b1; end + 8'h57: begin outa = 10'h2d5; outb = 2'b00; outc = 1'b0; end + 8'h58: begin outa = 10'h1a0; outb = 2'b00; outc = 1'b1; end + 8'h59: begin outa = 10'h3d0; outb = 2'b00; outc = 1'b1; end + 8'h5a: begin outa = 10'h181; outb = 2'b01; outc = 1'b1; end + 8'h5b: begin outa = 10'h219; outb = 2'b01; outc = 1'b1; end + 8'h5c: begin outa = 10'h26a; outb = 2'b01; outc = 1'b1; end + 8'h5d: begin outa = 10'h050; outb = 2'b10; outc = 1'b0; end + 8'h5e: begin outa = 10'h189; outb = 2'b10; outc = 1'b0; end + 8'h5f: begin outa = 10'h1eb; outb = 2'b01; outc = 1'b1; end + 8'h60: begin outa = 10'h224; outb = 2'b00; outc = 1'b1; end + 8'h61: begin outa = 10'h2fe; outb = 2'b00; outc = 1'b0; end + 8'h62: begin outa = 10'h0ae; outb = 2'b00; outc = 1'b1; end + 8'h63: begin outa = 10'h1cd; outb = 2'b00; outc = 1'b0; end + 8'h64: begin outa = 10'h273; outb = 2'b10; outc = 1'b1; end + 8'h65: begin outa = 10'h268; outb = 2'b10; outc = 1'b0; end + 8'h66: begin outa = 10'h111; outb = 2'b01; outc = 1'b0; end + 8'h67: begin outa = 10'h1f9; outb = 2'b00; outc = 1'b0; end + 8'h68: begin outa = 10'h232; outb = 2'b00; outc = 1'b1; end + 8'h69: begin outa = 10'h255; outb = 2'b11; outc = 1'b0; end + 8'h6a: begin outa = 10'h34c; outb = 2'b01; outc = 1'b1; end + 8'h6b: begin outa = 10'h049; outb = 2'b01; outc = 1'b1; end + 8'h6c: begin outa = 10'h197; outb = 2'b11; outc = 1'b0; end + 8'h6d: begin outa = 10'h0fe; outb = 2'b11; outc = 1'b0; end + 8'h6e: begin outa = 10'h253; outb = 2'b01; outc = 1'b1; end + 8'h6f: begin outa = 10'h2de; outb = 2'b11; outc = 1'b0; end + 8'h70: begin outa = 10'h13b; outb = 2'b10; outc = 1'b1; end + 8'h71: begin outa = 10'h040; outb = 2'b10; outc = 1'b0; end + 8'h72: begin outa = 10'h0b4; outb = 2'b00; outc = 1'b1; end + 8'h73: begin outa = 10'h233; outb = 2'b11; outc = 1'b1; end + 8'h74: begin outa = 10'h198; outb = 2'b00; outc = 1'b1; end + 8'h75: begin outa = 10'h018; outb = 2'b00; outc = 1'b1; end + 8'h76: begin outa = 10'h2f7; outb = 2'b00; outc = 1'b1; end + 8'h77: begin outa = 10'h134; outb = 2'b11; outc = 1'b0; end + 8'h78: begin outa = 10'h1ca; outb = 2'b10; outc = 1'b0; end + 8'h79: begin outa = 10'h286; outb = 2'b10; outc = 1'b1; end + 8'h7a: begin outa = 10'h0e6; outb = 2'b11; outc = 1'b1; end + 8'h7b: begin outa = 10'h064; outb = 2'b10; outc = 1'b1; end + 8'h7c: begin outa = 10'h257; outb = 2'b00; outc = 1'b1; end + 8'h7d: begin outa = 10'h31a; outb = 2'b10; outc = 1'b1; end + 8'h7e: begin outa = 10'h247; outb = 2'b01; outc = 1'b0; end + 8'h7f: begin outa = 10'h299; outb = 2'b00; outc = 1'b0; end + 8'h80: begin outa = 10'h02c; outb = 2'b00; outc = 1'b0; end + 8'h81: begin outa = 10'h2bb; outb = 2'b11; outc = 1'b0; end + 8'h82: begin outa = 10'h180; outb = 2'b10; outc = 1'b0; end + 8'h83: begin outa = 10'h245; outb = 2'b01; outc = 1'b1; end + 8'h84: begin outa = 10'h0da; outb = 2'b10; outc = 1'b0; end + 8'h85: begin outa = 10'h367; outb = 2'b10; outc = 1'b0; end + 8'h86: begin outa = 10'h304; outb = 2'b01; outc = 1'b0; end + 8'h87: begin outa = 10'h38b; outb = 2'b11; outc = 1'b0; end + 8'h88: begin outa = 10'h09f; outb = 2'b01; outc = 1'b0; end + 8'h89: begin outa = 10'h1f0; outb = 2'b10; outc = 1'b1; end + 8'h8a: begin outa = 10'h281; outb = 2'b10; outc = 1'b1; end + 8'h8b: begin outa = 10'h019; outb = 2'b00; outc = 1'b0; end + 8'h8c: begin outa = 10'h1f2; outb = 2'b10; outc = 1'b0; end + 8'h8d: begin outa = 10'h0b1; outb = 2'b01; outc = 1'b1; end + 8'h8e: begin outa = 10'h058; outb = 2'b01; outc = 1'b1; end + 8'h8f: begin outa = 10'h39b; outb = 2'b00; outc = 1'b1; end + 8'h90: begin outa = 10'h2ec; outb = 2'b10; outc = 1'b1; end + 8'h91: begin outa = 10'h250; outb = 2'b00; outc = 1'b1; end + 8'h92: begin outa = 10'h3f4; outb = 2'b10; outc = 1'b1; end + 8'h93: begin outa = 10'h057; outb = 2'b10; outc = 1'b1; end + 8'h94: begin outa = 10'h18f; outb = 2'b01; outc = 1'b1; end + 8'h95: begin outa = 10'h105; outb = 2'b01; outc = 1'b1; end + 8'h96: begin outa = 10'h1ae; outb = 2'b00; outc = 1'b1; end + 8'h97: begin outa = 10'h04e; outb = 2'b10; outc = 1'b0; end + 8'h98: begin outa = 10'h240; outb = 2'b11; outc = 1'b0; end + 8'h99: begin outa = 10'h3e4; outb = 2'b01; outc = 1'b0; end + 8'h9a: begin outa = 10'h3c6; outb = 2'b01; outc = 1'b0; end + 8'h9b: begin outa = 10'h109; outb = 2'b00; outc = 1'b1; end + 8'h9c: begin outa = 10'h073; outb = 2'b10; outc = 1'b1; end + 8'h9d: begin outa = 10'h19f; outb = 2'b01; outc = 1'b0; end + 8'h9e: begin outa = 10'h3b8; outb = 2'b01; outc = 1'b0; end + 8'h9f: begin outa = 10'h00e; outb = 2'b00; outc = 1'b1; end + 8'ha0: begin outa = 10'h1b3; outb = 2'b11; outc = 1'b1; end + 8'ha1: begin outa = 10'h2bd; outb = 2'b11; outc = 1'b0; end + 8'ha2: begin outa = 10'h324; outb = 2'b00; outc = 1'b1; end + 8'ha3: begin outa = 10'h343; outb = 2'b10; outc = 1'b0; end + 8'ha4: begin outa = 10'h1c9; outb = 2'b01; outc = 1'b0; end + 8'ha5: begin outa = 10'h185; outb = 2'b00; outc = 1'b1; end + 8'ha6: begin outa = 10'h37a; outb = 2'b00; outc = 1'b1; end + 8'ha7: begin outa = 10'h0e0; outb = 2'b01; outc = 1'b1; end + 8'ha8: begin outa = 10'h0a3; outb = 2'b10; outc = 1'b0; end + 8'ha9: begin outa = 10'h019; outb = 2'b11; outc = 1'b0; end + 8'haa: begin outa = 10'h099; outb = 2'b00; outc = 1'b1; end + 8'hab: begin outa = 10'h376; outb = 2'b01; outc = 1'b1; end + 8'hac: begin outa = 10'h077; outb = 2'b00; outc = 1'b1; end + 8'had: begin outa = 10'h2b1; outb = 2'b11; outc = 1'b1; end + 8'hae: begin outa = 10'h27f; outb = 2'b00; outc = 1'b0; end + 8'haf: begin outa = 10'h265; outb = 2'b11; outc = 1'b0; end + 8'hb0: begin outa = 10'h156; outb = 2'b10; outc = 1'b1; end + 8'hb1: begin outa = 10'h1ce; outb = 2'b00; outc = 1'b0; end + 8'hb2: begin outa = 10'h008; outb = 2'b01; outc = 1'b0; end + 8'hb3: begin outa = 10'h12e; outb = 2'b11; outc = 1'b1; end + 8'hb4: begin outa = 10'h199; outb = 2'b11; outc = 1'b0; end + 8'hb5: begin outa = 10'h330; outb = 2'b10; outc = 1'b0; end + 8'hb6: begin outa = 10'h1ab; outb = 2'b01; outc = 1'b1; end + 8'hb7: begin outa = 10'h3bd; outb = 2'b00; outc = 1'b0; end + 8'hb8: begin outa = 10'h0ca; outb = 2'b10; outc = 1'b0; end + 8'hb9: begin outa = 10'h367; outb = 2'b00; outc = 1'b0; end + 8'hba: begin outa = 10'h334; outb = 2'b00; outc = 1'b0; end + 8'hbb: begin outa = 10'h040; outb = 2'b00; outc = 1'b1; end + 8'hbc: begin outa = 10'h1a7; outb = 2'b10; outc = 1'b1; end + 8'hbd: begin outa = 10'h036; outb = 2'b11; outc = 1'b1; end + 8'hbe: begin outa = 10'h223; outb = 2'b11; outc = 1'b1; end + 8'hbf: begin outa = 10'h075; outb = 2'b01; outc = 1'b0; end + 8'hc0: begin outa = 10'h3c4; outb = 2'b00; outc = 1'b1; end + 8'hc1: begin outa = 10'h2cc; outb = 2'b01; outc = 1'b0; end + 8'hc2: begin outa = 10'h123; outb = 2'b01; outc = 1'b0; end + 8'hc3: begin outa = 10'h3fd; outb = 2'b01; outc = 1'b1; end + 8'hc4: begin outa = 10'h11e; outb = 2'b00; outc = 1'b0; end + 8'hc5: begin outa = 10'h27c; outb = 2'b11; outc = 1'b1; end + 8'hc6: begin outa = 10'h1e2; outb = 2'b11; outc = 1'b0; end + 8'hc7: begin outa = 10'h377; outb = 2'b11; outc = 1'b0; end + 8'hc8: begin outa = 10'h33a; outb = 2'b11; outc = 1'b0; end + 8'hc9: begin outa = 10'h32d; outb = 2'b11; outc = 1'b1; end + 8'hca: begin outa = 10'h014; outb = 2'b11; outc = 1'b0; end + 8'hcb: begin outa = 10'h332; outb = 2'b10; outc = 1'b0; end + 8'hcc: begin outa = 10'h359; outb = 2'b00; outc = 1'b0; end + 8'hcd: begin outa = 10'h0a4; outb = 2'b10; outc = 1'b1; end + 8'hce: begin outa = 10'h348; outb = 2'b00; outc = 1'b1; end + 8'hcf: begin outa = 10'h04b; outb = 2'b11; outc = 1'b1; end + 8'hd0: begin outa = 10'h147; outb = 2'b10; outc = 1'b1; end + 8'hd1: begin outa = 10'h026; outb = 2'b00; outc = 1'b1; end + 8'hd2: begin outa = 10'h103; outb = 2'b00; outc = 1'b0; end + 8'hd3: begin outa = 10'h106; outb = 2'b00; outc = 1'b1; end + 8'hd4: begin outa = 10'h35a; outb = 2'b00; outc = 1'b0; end + 8'hd5: begin outa = 10'h254; outb = 2'b01; outc = 1'b0; end + 8'hd6: begin outa = 10'h0cd; outb = 2'b01; outc = 1'b0; end + 8'hd7: begin outa = 10'h17c; outb = 2'b11; outc = 1'b1; end + 8'hd8: begin outa = 10'h37e; outb = 2'b10; outc = 1'b1; end + 8'hd9: begin outa = 10'h0a9; outb = 2'b11; outc = 1'b1; end + 8'hda: begin outa = 10'h0fe; outb = 2'b01; outc = 1'b0; end + 8'hdb: begin outa = 10'h3c0; outb = 2'b11; outc = 1'b1; end + 8'hdc: begin outa = 10'h1d9; outb = 2'b10; outc = 1'b1; end + 8'hdd: begin outa = 10'h10e; outb = 2'b00; outc = 1'b1; end + 8'hde: begin outa = 10'h394; outb = 2'b01; outc = 1'b0; end + 8'hdf: begin outa = 10'h316; outb = 2'b01; outc = 1'b0; end + 8'he0: begin outa = 10'h05b; outb = 2'b11; outc = 1'b0; end + 8'he1: begin outa = 10'h126; outb = 2'b01; outc = 1'b1; end + 8'he2: begin outa = 10'h369; outb = 2'b11; outc = 1'b0; end + 8'he3: begin outa = 10'h291; outb = 2'b10; outc = 1'b1; end + 8'he4: begin outa = 10'h2ca; outb = 2'b00; outc = 1'b1; end + 8'he5: begin outa = 10'h25b; outb = 2'b01; outc = 1'b1; end + 8'he6: begin outa = 10'h106; outb = 2'b00; outc = 1'b0; end + 8'he7: begin outa = 10'h172; outb = 2'b11; outc = 1'b1; end + 8'he8: begin outa = 10'h2f7; outb = 2'b00; outc = 1'b1; end + 8'he9: begin outa = 10'h2d3; outb = 2'b11; outc = 1'b1; end + 8'hea: begin outa = 10'h182; outb = 2'b00; outc = 1'b0; end + 8'heb: begin outa = 10'h327; outb = 2'b00; outc = 1'b1; end + 8'hec: begin outa = 10'h1d0; outb = 2'b10; outc = 1'b0; end + 8'hed: begin outa = 10'h204; outb = 2'b00; outc = 1'b1; end + 8'hee: begin outa = 10'h11f; outb = 2'b00; outc = 1'b1; end + 8'hef: begin outa = 10'h365; outb = 2'b11; outc = 1'b1; end + 8'hf0: begin outa = 10'h2c2; outb = 2'b01; outc = 1'b1; end + 8'hf1: begin outa = 10'h2b5; outb = 2'b10; outc = 1'b0; end + 8'hf2: begin outa = 10'h1f8; outb = 2'b10; outc = 1'b1; end + 8'hf3: begin outa = 10'h2a7; outb = 2'b01; outc = 1'b1; end + 8'hf4: begin outa = 10'h1be; outb = 2'b10; outc = 1'b1; end + 8'hf5: begin outa = 10'h25e; outb = 2'b10; outc = 1'b1; end + 8'hf6: begin outa = 10'h032; outb = 2'b10; outc = 1'b0; end + 8'hf7: begin outa = 10'h2ef; outb = 2'b00; outc = 1'b0; end + 8'hf8: begin outa = 10'h02f; outb = 2'b00; outc = 1'b1; end + 8'hf9: begin outa = 10'h201; outb = 2'b10; outc = 1'b0; end + 8'hfa: begin outa = 10'h054; outb = 2'b01; outc = 1'b1; end + 8'hfb: begin outa = 10'h013; outb = 2'b10; outc = 1'b0; end + 8'hfc: begin outa = 10'h249; outb = 2'b01; outc = 1'b0; end + 8'hfd: begin outa = 10'h09a; outb = 2'b10; outc = 1'b0; end + 8'hfe: begin outa = 10'h012; outb = 2'b00; outc = 1'b0; end + 8'hff: begin outa = 10'h114; outb = 2'b10; outc = 1'b1; end + endcase + // verilog_format: on + end endmodule diff --git a/test_regress/t/t_case_huge_sub2.v b/test_regress/t/t_case_huge_sub2.v index c03c39889..5e5c4720f 100644 --- a/test_regress/t/t_case_huge_sub2.v +++ b/test_regress/t/t_case_huge_sub2.v @@ -5,290 +5,286 @@ // SPDX-License-Identifier: CC0-1.0 module t_case_huge_sub2 (/*AUTOARG*/ - // Outputs - outa, - // Inputs - index - ); + // Outputs + outa, + // Inputs + index + ); - input [9:0] index; - output [9:0] outa; + input [9:0] index; + output logic [9:0] outa; - // ============================= - /*AUTOREG*/ - // Beginning of automatic regs (for this module's undeclared outputs) - reg [9:0] outa; - // End of automatics + // ============================= + // Created from Python3: + // for i in range(1024): + // print(" 10'h%03x: begin outa = 10'h%03x; outb = 2'b%d%d; outc = 1'b%d; end" + // % (i, random.randint(0,1024), random.randint(0,1), + // random.randint(0,1), random.randint(0,1))) - // ============================= - // Created from Python3: - // for i in range(1024): - // print(" 10'h%03x: begin outa = 10'h%03x; outb = 2'b%d%d; outc = 1'b%d; end" - // % (i, random.randint(0,1024), random.randint(0,1), - // random.randint(0,1), random.randint(0,1))) - - always @(/*AS*/index) begin - case (index[7:0]) -`ifdef VERILATOR // Harder test - 8'h00: begin outa = $c("0"); end // Makes whole table non-optimizable + always @(/*AS*/index) begin + case (index[7:0]) +`ifdef VERILATOR // Harder test + 8'h00: begin + outa = $c("0"); + end // Makes whole table non-optimizable `else - 8'h00: begin outa = 10'h0; end + 8'h00: outa = 10'h0; `endif - 8'h01: begin outa = 10'h318; end - 8'h02: begin outa = 10'h29f; end - 8'h03: begin outa = 10'h392; end - 8'h04: begin outa = 10'h1ef; end - 8'h05: begin outa = 10'h06c; end - 8'h06: begin outa = 10'h29f; end - 8'h07: begin outa = 10'h29a; end - 8'h08: begin outa = 10'h3ce; end - 8'h09: begin outa = 10'h37c; end - 8'h0a: begin outa = 10'h058; end - 8'h0b: begin outa = 10'h3b2; end - 8'h0c: begin outa = 10'h36f; end - 8'h0d: begin outa = 10'h2c5; end - 8'h0e: begin outa = 10'h23a; end - 8'h0f: begin outa = 10'h222; end - 8'h10: begin outa = 10'h328; end - 8'h11: begin outa = 10'h3c3; end - 8'h12: begin outa = 10'h12c; end - 8'h13: begin outa = 10'h1d0; end - 8'h14: begin outa = 10'h3ff; end - 8'h15: begin outa = 10'h115; end - 8'h16: begin outa = 10'h3ba; end - 8'h17: begin outa = 10'h3ba; end - 8'h18: begin outa = 10'h10d; end - 8'h19: begin outa = 10'h13b; end - 8'h1a: begin outa = 10'h0a0; end - 8'h1b: begin outa = 10'h264; end - 8'h1c: begin outa = 10'h3a2; end - 8'h1d: begin outa = 10'h07c; end - 8'h1e: begin outa = 10'h291; end - 8'h1f: begin outa = 10'h1d1; end - 8'h20: begin outa = 10'h354; end - 8'h21: begin outa = 10'h0c0; end - 8'h22: begin outa = 10'h191; end - 8'h23: begin outa = 10'h379; end - 8'h24: begin outa = 10'h073; end - 8'h25: begin outa = 10'h2fd; end - 8'h26: begin outa = 10'h2e0; end - 8'h27: begin outa = 10'h337; end - 8'h28: begin outa = 10'h2c7; end - 8'h29: begin outa = 10'h19e; end - 8'h2a: begin outa = 10'h107; end - 8'h2b: begin outa = 10'h06a; end - 8'h2c: begin outa = 10'h1c7; end - 8'h2d: begin outa = 10'h107; end - 8'h2e: begin outa = 10'h0cf; end - 8'h2f: begin outa = 10'h009; end - 8'h30: begin outa = 10'h09d; end - 8'h31: begin outa = 10'h28e; end - 8'h32: begin outa = 10'h010; end - 8'h33: begin outa = 10'h1e0; end - 8'h34: begin outa = 10'h079; end - 8'h35: begin outa = 10'h13e; end - 8'h36: begin outa = 10'h282; end - 8'h37: begin outa = 10'h21c; end - 8'h38: begin outa = 10'h148; end - 8'h39: begin outa = 10'h3c0; end - 8'h3a: begin outa = 10'h176; end - 8'h3b: begin outa = 10'h3fc; end - 8'h3c: begin outa = 10'h295; end - 8'h3d: begin outa = 10'h113; end - 8'h3e: begin outa = 10'h354; end - 8'h3f: begin outa = 10'h0db; end - 8'h40: begin outa = 10'h238; end - 8'h41: begin outa = 10'h12b; end - 8'h42: begin outa = 10'h1dc; end - 8'h43: begin outa = 10'h137; end - 8'h44: begin outa = 10'h1e2; end - 8'h45: begin outa = 10'h3d5; end - 8'h46: begin outa = 10'h30c; end - 8'h47: begin outa = 10'h298; end - 8'h48: begin outa = 10'h080; end - 8'h49: begin outa = 10'h35a; end - 8'h4a: begin outa = 10'h01b; end - 8'h4b: begin outa = 10'h0a3; end - 8'h4c: begin outa = 10'h0b3; end - 8'h4d: begin outa = 10'h17a; end - 8'h4e: begin outa = 10'h3ae; end - 8'h4f: begin outa = 10'h078; end - 8'h50: begin outa = 10'h322; end - 8'h51: begin outa = 10'h213; end - 8'h52: begin outa = 10'h11a; end - 8'h53: begin outa = 10'h1a7; end - 8'h54: begin outa = 10'h35a; end - 8'h55: begin outa = 10'h233; end - 8'h56: begin outa = 10'h01d; end - 8'h57: begin outa = 10'h2d5; end - 8'h58: begin outa = 10'h1a0; end - 8'h59: begin outa = 10'h3d0; end - 8'h5a: begin outa = 10'h181; end - 8'h5b: begin outa = 10'h219; end - 8'h5c: begin outa = 10'h26a; end - 8'h5d: begin outa = 10'h050; end - 8'h5e: begin outa = 10'h189; end - 8'h5f: begin outa = 10'h1eb; end - 8'h60: begin outa = 10'h224; end - 8'h61: begin outa = 10'h2fe; end - 8'h62: begin outa = 10'h0ae; end - 8'h63: begin outa = 10'h1cd; end - 8'h64: begin outa = 10'h273; end - 8'h65: begin outa = 10'h268; end - 8'h66: begin outa = 10'h111; end - 8'h67: begin outa = 10'h1f9; end - 8'h68: begin outa = 10'h232; end - 8'h69: begin outa = 10'h255; end - 8'h6a: begin outa = 10'h34c; end - 8'h6b: begin outa = 10'h049; end - 8'h6c: begin outa = 10'h197; end - 8'h6d: begin outa = 10'h0fe; end - 8'h6e: begin outa = 10'h253; end - 8'h6f: begin outa = 10'h2de; end - 8'h70: begin outa = 10'h13b; end - 8'h71: begin outa = 10'h040; end - 8'h72: begin outa = 10'h0b4; end - 8'h73: begin outa = 10'h233; end - 8'h74: begin outa = 10'h198; end - 8'h75: begin outa = 10'h018; end - 8'h76: begin outa = 10'h2f7; end - 8'h77: begin outa = 10'h134; end - 8'h78: begin outa = 10'h1ca; end - 8'h79: begin outa = 10'h286; end - 8'h7a: begin outa = 10'h0e6; end - 8'h7b: begin outa = 10'h064; end - 8'h7c: begin outa = 10'h257; end - 8'h7d: begin outa = 10'h31a; end - 8'h7e: begin outa = 10'h247; end - 8'h7f: begin outa = 10'h299; end - 8'h80: begin outa = 10'h02c; end - 8'h81: begin outa = 10'h2bb; end - 8'h82: begin outa = 10'h180; end - 8'h83: begin outa = 10'h245; end - 8'h84: begin outa = 10'h0da; end - 8'h85: begin outa = 10'h367; end - 8'h86: begin outa = 10'h304; end - 8'h87: begin outa = 10'h38b; end - 8'h88: begin outa = 10'h09f; end - 8'h89: begin outa = 10'h1f0; end - 8'h8a: begin outa = 10'h281; end - 8'h8b: begin outa = 10'h019; end - 8'h8c: begin outa = 10'h1f2; end - 8'h8d: begin outa = 10'h0b1; end - 8'h8e: begin outa = 10'h058; end - 8'h8f: begin outa = 10'h39b; end - 8'h90: begin outa = 10'h2ec; end - 8'h91: begin outa = 10'h250; end - 8'h92: begin outa = 10'h3f4; end - 8'h93: begin outa = 10'h057; end - 8'h94: begin outa = 10'h18f; end - 8'h95: begin outa = 10'h105; end - 8'h96: begin outa = 10'h1ae; end - 8'h97: begin outa = 10'h04e; end - 8'h98: begin outa = 10'h240; end - 8'h99: begin outa = 10'h3e4; end - 8'h9a: begin outa = 10'h3c6; end - 8'h9b: begin outa = 10'h109; end - 8'h9c: begin outa = 10'h073; end - 8'h9d: begin outa = 10'h19f; end - 8'h9e: begin outa = 10'h3b8; end - 8'h9f: begin outa = 10'h00e; end - 8'ha0: begin outa = 10'h1b3; end - 8'ha1: begin outa = 10'h2bd; end - 8'ha2: begin outa = 10'h324; end - 8'ha3: begin outa = 10'h343; end - 8'ha4: begin outa = 10'h1c9; end - 8'ha5: begin outa = 10'h185; end - 8'ha6: begin outa = 10'h37a; end - 8'ha7: begin outa = 10'h0e0; end - 8'ha8: begin outa = 10'h0a3; end - 8'ha9: begin outa = 10'h019; end - 8'haa: begin outa = 10'h099; end - 8'hab: begin outa = 10'h376; end - 8'hac: begin outa = 10'h077; end - 8'had: begin outa = 10'h2b1; end - 8'hae: begin outa = 10'h27f; end - 8'haf: begin outa = 10'h265; end - 8'hb0: begin outa = 10'h156; end - 8'hb1: begin outa = 10'h1ce; end - 8'hb2: begin outa = 10'h008; end - 8'hb3: begin outa = 10'h12e; end - 8'hb4: begin outa = 10'h199; end - 8'hb5: begin outa = 10'h330; end - 8'hb6: begin outa = 10'h1ab; end - 8'hb7: begin outa = 10'h3bd; end - 8'hb8: begin outa = 10'h0ca; end - 8'hb9: begin outa = 10'h367; end - 8'hba: begin outa = 10'h334; end - 8'hbb: begin outa = 10'h040; end - 8'hbc: begin outa = 10'h1a7; end - 8'hbd: begin outa = 10'h036; end - 8'hbe: begin outa = 10'h223; end - 8'hbf: begin outa = 10'h075; end - 8'hc0: begin outa = 10'h3c4; end - 8'hc1: begin outa = 10'h2cc; end - 8'hc2: begin outa = 10'h123; end - 8'hc3: begin outa = 10'h3fd; end - 8'hc4: begin outa = 10'h11e; end - 8'hc5: begin outa = 10'h27c; end - 8'hc6: begin outa = 10'h1e2; end - 8'hc7: begin outa = 10'h377; end - 8'hc8: begin outa = 10'h33a; end - 8'hc9: begin outa = 10'h32d; end - 8'hca: begin outa = 10'h014; end - 8'hcb: begin outa = 10'h332; end - 8'hcc: begin outa = 10'h359; end - 8'hcd: begin outa = 10'h0a4; end - 8'hce: begin outa = 10'h348; end - 8'hcf: begin outa = 10'h04b; end - 8'hd0: begin outa = 10'h147; end - 8'hd1: begin outa = 10'h026; end - 8'hd2: begin outa = 10'h103; end - 8'hd3: begin outa = 10'h106; end - 8'hd4: begin outa = 10'h35a; end - 8'hd5: begin outa = 10'h254; end - 8'hd6: begin outa = 10'h0cd; end - 8'hd7: begin outa = 10'h17c; end - 8'hd8: begin outa = 10'h37e; end - 8'hd9: begin outa = 10'h0a9; end - 8'hda: begin outa = 10'h0fe; end - 8'hdb: begin outa = 10'h3c0; end - 8'hdc: begin outa = 10'h1d9; end - 8'hdd: begin outa = 10'h10e; end - 8'hde: begin outa = 10'h394; end - 8'hdf: begin outa = 10'h316; end - 8'he0: begin outa = 10'h05b; end - 8'he1: begin outa = 10'h126; end - 8'he2: begin outa = 10'h369; end - 8'he3: begin outa = 10'h291; end - 8'he4: begin outa = 10'h2ca; end - 8'he5: begin outa = 10'h25b; end - 8'he6: begin outa = 10'h106; end - 8'he7: begin outa = 10'h172; end - 8'he8: begin outa = 10'h2f7; end - 8'he9: begin outa = 10'h2d3; end - 8'hea: begin outa = 10'h182; end - 8'heb: begin outa = 10'h327; end - 8'hec: begin outa = 10'h1d0; end - 8'hed: begin outa = 10'h204; end - 8'hee: begin outa = 10'h11f; end - 8'hef: begin outa = 10'h365; end - 8'hf0: begin outa = 10'h2c2; end - 8'hf1: begin outa = 10'h2b5; end - 8'hf2: begin outa = 10'h1f8; end - 8'hf3: begin outa = 10'h2a7; end - 8'hf4: begin outa = 10'h1be; end - 8'hf5: begin outa = 10'h25e; end - 8'hf6: begin outa = 10'h032; end - 8'hf7: begin outa = 10'h2ef; end - 8'hf8: begin outa = 10'h02f; end - 8'hf9: begin outa = 10'h201; end - 8'hfa: begin outa = 10'h054; end - 8'hfb: begin outa = 10'h013; end - 8'hfc: begin outa = 10'h249; end - 8'hfd: begin outa = 10'h09a; end - 8'hfe: begin outa = 10'h012; end - 8'hff: begin outa = 10'h114; end - endcase - end + 8'h01: outa = 10'h318; + 8'h02: outa = 10'h29f; + 8'h03: outa = 10'h392; + 8'h04: outa = 10'h1ef; + 8'h05: outa = 10'h06c; + 8'h06: outa = 10'h29f; + 8'h07: outa = 10'h29a; + 8'h08: outa = 10'h3ce; + 8'h09: outa = 10'h37c; + 8'h0a: outa = 10'h058; + 8'h0b: outa = 10'h3b2; + 8'h0c: outa = 10'h36f; + 8'h0d: outa = 10'h2c5; + 8'h0e: outa = 10'h23a; + 8'h0f: outa = 10'h222; + 8'h10: outa = 10'h328; + 8'h11: outa = 10'h3c3; + 8'h12: outa = 10'h12c; + 8'h13: outa = 10'h1d0; + 8'h14: outa = 10'h3ff; + 8'h15: outa = 10'h115; + 8'h16: outa = 10'h3ba; + 8'h17: outa = 10'h3ba; + 8'h18: outa = 10'h10d; + 8'h19: outa = 10'h13b; + 8'h1a: outa = 10'h0a0; + 8'h1b: outa = 10'h264; + 8'h1c: outa = 10'h3a2; + 8'h1d: outa = 10'h07c; + 8'h1e: outa = 10'h291; + 8'h1f: outa = 10'h1d1; + 8'h20: outa = 10'h354; + 8'h21: outa = 10'h0c0; + 8'h22: outa = 10'h191; + 8'h23: outa = 10'h379; + 8'h24: outa = 10'h073; + 8'h25: outa = 10'h2fd; + 8'h26: outa = 10'h2e0; + 8'h27: outa = 10'h337; + 8'h28: outa = 10'h2c7; + 8'h29: outa = 10'h19e; + 8'h2a: outa = 10'h107; + 8'h2b: outa = 10'h06a; + 8'h2c: outa = 10'h1c7; + 8'h2d: outa = 10'h107; + 8'h2e: outa = 10'h0cf; + 8'h2f: outa = 10'h009; + 8'h30: outa = 10'h09d; + 8'h31: outa = 10'h28e; + 8'h32: outa = 10'h010; + 8'h33: outa = 10'h1e0; + 8'h34: outa = 10'h079; + 8'h35: outa = 10'h13e; + 8'h36: outa = 10'h282; + 8'h37: outa = 10'h21c; + 8'h38: outa = 10'h148; + 8'h39: outa = 10'h3c0; + 8'h3a: outa = 10'h176; + 8'h3b: outa = 10'h3fc; + 8'h3c: outa = 10'h295; + 8'h3d: outa = 10'h113; + 8'h3e: outa = 10'h354; + 8'h3f: outa = 10'h0db; + 8'h40: outa = 10'h238; + 8'h41: outa = 10'h12b; + 8'h42: outa = 10'h1dc; + 8'h43: outa = 10'h137; + 8'h44: outa = 10'h1e2; + 8'h45: outa = 10'h3d5; + 8'h46: outa = 10'h30c; + 8'h47: outa = 10'h298; + 8'h48: outa = 10'h080; + 8'h49: outa = 10'h35a; + 8'h4a: outa = 10'h01b; + 8'h4b: outa = 10'h0a3; + 8'h4c: outa = 10'h0b3; + 8'h4d: outa = 10'h17a; + 8'h4e: outa = 10'h3ae; + 8'h4f: outa = 10'h078; + 8'h50: outa = 10'h322; + 8'h51: outa = 10'h213; + 8'h52: outa = 10'h11a; + 8'h53: outa = 10'h1a7; + 8'h54: outa = 10'h35a; + 8'h55: outa = 10'h233; + 8'h56: outa = 10'h01d; + 8'h57: outa = 10'h2d5; + 8'h58: outa = 10'h1a0; + 8'h59: outa = 10'h3d0; + 8'h5a: outa = 10'h181; + 8'h5b: outa = 10'h219; + 8'h5c: outa = 10'h26a; + 8'h5d: outa = 10'h050; + 8'h5e: outa = 10'h189; + 8'h5f: outa = 10'h1eb; + 8'h60: outa = 10'h224; + 8'h61: outa = 10'h2fe; + 8'h62: outa = 10'h0ae; + 8'h63: outa = 10'h1cd; + 8'h64: outa = 10'h273; + 8'h65: outa = 10'h268; + 8'h66: outa = 10'h111; + 8'h67: outa = 10'h1f9; + 8'h68: outa = 10'h232; + 8'h69: outa = 10'h255; + 8'h6a: outa = 10'h34c; + 8'h6b: outa = 10'h049; + 8'h6c: outa = 10'h197; + 8'h6d: outa = 10'h0fe; + 8'h6e: outa = 10'h253; + 8'h6f: outa = 10'h2de; + 8'h70: outa = 10'h13b; + 8'h71: outa = 10'h040; + 8'h72: outa = 10'h0b4; + 8'h73: outa = 10'h233; + 8'h74: outa = 10'h198; + 8'h75: outa = 10'h018; + 8'h76: outa = 10'h2f7; + 8'h77: outa = 10'h134; + 8'h78: outa = 10'h1ca; + 8'h79: outa = 10'h286; + 8'h7a: outa = 10'h0e6; + 8'h7b: outa = 10'h064; + 8'h7c: outa = 10'h257; + 8'h7d: outa = 10'h31a; + 8'h7e: outa = 10'h247; + 8'h7f: outa = 10'h299; + 8'h80: outa = 10'h02c; + 8'h81: outa = 10'h2bb; + 8'h82: outa = 10'h180; + 8'h83: outa = 10'h245; + 8'h84: outa = 10'h0da; + 8'h85: outa = 10'h367; + 8'h86: outa = 10'h304; + 8'h87: outa = 10'h38b; + 8'h88: outa = 10'h09f; + 8'h89: outa = 10'h1f0; + 8'h8a: outa = 10'h281; + 8'h8b: outa = 10'h019; + 8'h8c: outa = 10'h1f2; + 8'h8d: outa = 10'h0b1; + 8'h8e: outa = 10'h058; + 8'h8f: outa = 10'h39b; + 8'h90: outa = 10'h2ec; + 8'h91: outa = 10'h250; + 8'h92: outa = 10'h3f4; + 8'h93: outa = 10'h057; + 8'h94: outa = 10'h18f; + 8'h95: outa = 10'h105; + 8'h96: outa = 10'h1ae; + 8'h97: outa = 10'h04e; + 8'h98: outa = 10'h240; + 8'h99: outa = 10'h3e4; + 8'h9a: outa = 10'h3c6; + 8'h9b: outa = 10'h109; + 8'h9c: outa = 10'h073; + 8'h9d: outa = 10'h19f; + 8'h9e: outa = 10'h3b8; + 8'h9f: outa = 10'h00e; + 8'ha0: outa = 10'h1b3; + 8'ha1: outa = 10'h2bd; + 8'ha2: outa = 10'h324; + 8'ha3: outa = 10'h343; + 8'ha4: outa = 10'h1c9; + 8'ha5: outa = 10'h185; + 8'ha6: outa = 10'h37a; + 8'ha7: outa = 10'h0e0; + 8'ha8: outa = 10'h0a3; + 8'ha9: outa = 10'h019; + 8'haa: outa = 10'h099; + 8'hab: outa = 10'h376; + 8'hac: outa = 10'h077; + 8'had: outa = 10'h2b1; + 8'hae: outa = 10'h27f; + 8'haf: outa = 10'h265; + 8'hb0: outa = 10'h156; + 8'hb1: outa = 10'h1ce; + 8'hb2: outa = 10'h008; + 8'hb3: outa = 10'h12e; + 8'hb4: outa = 10'h199; + 8'hb5: outa = 10'h330; + 8'hb6: outa = 10'h1ab; + 8'hb7: outa = 10'h3bd; + 8'hb8: outa = 10'h0ca; + 8'hb9: outa = 10'h367; + 8'hba: outa = 10'h334; + 8'hbb: outa = 10'h040; + 8'hbc: outa = 10'h1a7; + 8'hbd: outa = 10'h036; + 8'hbe: outa = 10'h223; + 8'hbf: outa = 10'h075; + 8'hc0: outa = 10'h3c4; + 8'hc1: outa = 10'h2cc; + 8'hc2: outa = 10'h123; + 8'hc3: outa = 10'h3fd; + 8'hc4: outa = 10'h11e; + 8'hc5: outa = 10'h27c; + 8'hc6: outa = 10'h1e2; + 8'hc7: outa = 10'h377; + 8'hc8: outa = 10'h33a; + 8'hc9: outa = 10'h32d; + 8'hca: outa = 10'h014; + 8'hcb: outa = 10'h332; + 8'hcc: outa = 10'h359; + 8'hcd: outa = 10'h0a4; + 8'hce: outa = 10'h348; + 8'hcf: outa = 10'h04b; + 8'hd0: outa = 10'h147; + 8'hd1: outa = 10'h026; + 8'hd2: outa = 10'h103; + 8'hd3: outa = 10'h106; + 8'hd4: outa = 10'h35a; + 8'hd5: outa = 10'h254; + 8'hd6: outa = 10'h0cd; + 8'hd7: outa = 10'h17c; + 8'hd8: outa = 10'h37e; + 8'hd9: outa = 10'h0a9; + 8'hda: outa = 10'h0fe; + 8'hdb: outa = 10'h3c0; + 8'hdc: outa = 10'h1d9; + 8'hdd: outa = 10'h10e; + 8'hde: outa = 10'h394; + 8'hdf: outa = 10'h316; + 8'he0: outa = 10'h05b; + 8'he1: outa = 10'h126; + 8'he2: outa = 10'h369; + 8'he3: outa = 10'h291; + 8'he4: outa = 10'h2ca; + 8'he5: outa = 10'h25b; + 8'he6: outa = 10'h106; + 8'he7: outa = 10'h172; + 8'he8: outa = 10'h2f7; + 8'he9: outa = 10'h2d3; + 8'hea: outa = 10'h182; + 8'heb: outa = 10'h327; + 8'hec: outa = 10'h1d0; + 8'hed: outa = 10'h204; + 8'hee: outa = 10'h11f; + 8'hef: outa = 10'h365; + 8'hf0: outa = 10'h2c2; + 8'hf1: outa = 10'h2b5; + 8'hf2: outa = 10'h1f8; + 8'hf3: outa = 10'h2a7; + 8'hf4: outa = 10'h1be; + 8'hf5: outa = 10'h25e; + 8'hf6: outa = 10'h032; + 8'hf7: outa = 10'h2ef; + 8'hf8: outa = 10'h02f; + 8'hf9: outa = 10'h201; + 8'hfa: outa = 10'h054; + 8'hfb: outa = 10'h013; + 8'hfc: outa = 10'h249; + 8'hfd: outa = 10'h09a; + 8'hfe: outa = 10'h012; + 8'hff: outa = 10'h114; + endcase + end endmodule diff --git a/test_regress/t/t_case_huge_sub3.v b/test_regress/t/t_case_huge_sub3.v index aba38bf15..956324dc0 100644 --- a/test_regress/t/t_case_huge_sub3.v +++ b/test_regress/t/t_case_huge_sub3.v @@ -5,289 +5,285 @@ // SPDX-License-Identifier: CC0-1.0 module t_case_huge_sub3 (/*AUTOARG*/ - // Outputs - outr, - // Inputs - clk, index - ); + // Outputs + outr, + // Inputs + clk, index + ); - input clk; - input [9:0] index; - output [3:0] outr; + input clk; + input [9:0] index; + output logic [3:0] outr; - // ============================= - /*AUTOREG*/ - // Beginning of automatic regs (for this module's undeclared outputs) - reg [3:0] outr; - // End of automatics + // ============================= + // Created from Pthon3: + // for i in range(256): + // print(" 8'h%02x: begin outr <= outr^index[8:5]^4'h%01x; end" + // % (i, random.randint(0,15))) - // ============================= - // Created from Pthon3: - // for i in range(256): - // print(" 8'h%02x: begin outr <= outr^index[8:5]^4'h%01x; end" - // % (i, random.randint(0,15))) + // Reset cheating + initial outr = 4'b0; - // Reset cheating - initial outr = 4'b0; - - always @(posedge clk) begin - case (index[7:0]) - 8'h00: begin outr <= 4'h0; end - 8'h01: begin /*No Change*/ end - 8'h02: begin outr <= outr^index[8:5]^4'ha; end - 8'h03: begin outr <= outr^index[8:5]^4'h4; end - 8'h04: begin outr <= outr^index[8:5]^4'hd; end - 8'h05: begin outr <= outr^index[8:5]^4'h1; end - 8'h06: begin outr <= outr^index[8:5]^4'hf; end - 8'h07: begin outr <= outr^index[8:5]^4'he; end - 8'h08: begin outr <= outr^index[8:5]^4'h0; end - 8'h09: begin outr <= outr^index[8:5]^4'h4; end - 8'h0a: begin outr <= outr^index[8:5]^4'h5; end - 8'h0b: begin outr <= outr^index[8:5]^4'ha; end - 8'h0c: begin outr <= outr^index[8:5]^4'h2; end - 8'h0d: begin outr <= outr^index[8:5]^4'hf; end - 8'h0e: begin outr <= outr^index[8:5]^4'h5; end - 8'h0f: begin outr <= outr^index[8:5]^4'h0; end - 8'h10: begin outr <= outr^index[8:5]^4'h3; end - 8'h11: begin outr <= outr^index[8:5]^4'hb; end - 8'h12: begin outr <= outr^index[8:5]^4'h0; end - 8'h13: begin outr <= outr^index[8:5]^4'hf; end - 8'h14: begin outr <= outr^index[8:5]^4'h3; end - 8'h15: begin outr <= outr^index[8:5]^4'h5; end - 8'h16: begin outr <= outr^index[8:5]^4'h7; end - 8'h17: begin outr <= outr^index[8:5]^4'h2; end - 8'h18: begin outr <= outr^index[8:5]^4'h3; end - 8'h19: begin outr <= outr^index[8:5]^4'hb; end - 8'h1a: begin outr <= outr^index[8:5]^4'h5; end - 8'h1b: begin outr <= outr^index[8:5]^4'h4; end - 8'h1c: begin outr <= outr^index[8:5]^4'h2; end - 8'h1d: begin outr <= outr^index[8:5]^4'hf; end - 8'h1e: begin outr <= outr^index[8:5]^4'h0; end - 8'h1f: begin outr <= outr^index[8:5]^4'h4; end - 8'h20: begin outr <= outr^index[8:5]^4'h6; end - 8'h21: begin outr <= outr^index[8:5]^4'ha; end - 8'h22: begin outr <= outr^index[8:5]^4'h6; end - 8'h23: begin outr <= outr^index[8:5]^4'hb; end - 8'h24: begin outr <= outr^index[8:5]^4'ha; end - 8'h25: begin outr <= outr^index[8:5]^4'he; end - 8'h26: begin outr <= outr^index[8:5]^4'h7; end - 8'h27: begin outr <= outr^index[8:5]^4'ha; end - 8'h28: begin outr <= outr^index[8:5]^4'h3; end - 8'h29: begin outr <= outr^index[8:5]^4'h8; end - 8'h2a: begin outr <= outr^index[8:5]^4'h1; end - 8'h2b: begin outr <= outr^index[8:5]^4'h8; end - 8'h2c: begin outr <= outr^index[8:5]^4'h4; end - 8'h2d: begin outr <= outr^index[8:5]^4'h4; end - 8'h2e: begin outr <= outr^index[8:5]^4'he; end - 8'h2f: begin outr <= outr^index[8:5]^4'h8; end - 8'h30: begin outr <= outr^index[8:5]^4'ha; end - 8'h31: begin outr <= outr^index[8:5]^4'h7; end - 8'h32: begin outr <= outr^index[8:5]^4'h0; end - 8'h33: begin outr <= outr^index[8:5]^4'h3; end - 8'h34: begin outr <= outr^index[8:5]^4'h1; end - 8'h35: begin outr <= outr^index[8:5]^4'h3; end - 8'h36: begin outr <= outr^index[8:5]^4'h4; end - 8'h37: begin outr <= outr^index[8:5]^4'h6; end - 8'h38: begin outr <= outr^index[8:5]^4'h4; end - 8'h39: begin outr <= outr^index[8:5]^4'hb; end - 8'h3a: begin outr <= outr^index[8:5]^4'h7; end - 8'h3b: begin outr <= outr^index[8:5]^4'h1; end - 8'h3c: begin outr <= outr^index[8:5]^4'h2; end - 8'h3d: begin outr <= outr^index[8:5]^4'h0; end - 8'h3e: begin outr <= outr^index[8:5]^4'h2; end - 8'h3f: begin outr <= outr^index[8:5]^4'ha; end - 8'h40: begin outr <= outr^index[8:5]^4'h7; end - 8'h41: begin outr <= outr^index[8:5]^4'h5; end - 8'h42: begin outr <= outr^index[8:5]^4'h5; end - 8'h43: begin outr <= outr^index[8:5]^4'h4; end - 8'h44: begin outr <= outr^index[8:5]^4'h8; end - 8'h45: begin outr <= outr^index[8:5]^4'h5; end - 8'h46: begin outr <= outr^index[8:5]^4'hf; end - 8'h47: begin outr <= outr^index[8:5]^4'h6; end - 8'h48: begin outr <= outr^index[8:5]^4'h7; end - 8'h49: begin outr <= outr^index[8:5]^4'h4; end - 8'h4a: begin outr <= outr^index[8:5]^4'ha; end - 8'h4b: begin outr <= outr^index[8:5]^4'hd; end - 8'h4c: begin outr <= outr^index[8:5]^4'hb; end - 8'h4d: begin outr <= outr^index[8:5]^4'hf; end - 8'h4e: begin outr <= outr^index[8:5]^4'hd; end - 8'h4f: begin outr <= outr^index[8:5]^4'h7; end - 8'h50: begin outr <= outr^index[8:5]^4'h9; end - 8'h51: begin outr <= outr^index[8:5]^4'ha; end - 8'h52: begin outr <= outr^index[8:5]^4'hf; end - 8'h53: begin outr <= outr^index[8:5]^4'h3; end - 8'h54: begin outr <= outr^index[8:5]^4'h1; end - 8'h55: begin outr <= outr^index[8:5]^4'h0; end - 8'h56: begin outr <= outr^index[8:5]^4'h2; end - 8'h57: begin outr <= outr^index[8:5]^4'h9; end - 8'h58: begin outr <= outr^index[8:5]^4'h2; end - 8'h59: begin outr <= outr^index[8:5]^4'h4; end - 8'h5a: begin outr <= outr^index[8:5]^4'hc; end - 8'h5b: begin outr <= outr^index[8:5]^4'hd; end - 8'h5c: begin outr <= outr^index[8:5]^4'h3; end - 8'h5d: begin outr <= outr^index[8:5]^4'hb; end - 8'h5e: begin outr <= outr^index[8:5]^4'hd; end - 8'h5f: begin outr <= outr^index[8:5]^4'h7; end - 8'h60: begin outr <= outr^index[8:5]^4'h7; end - 8'h61: begin outr <= outr^index[8:5]^4'h3; end - 8'h62: begin outr <= outr^index[8:5]^4'h3; end - 8'h63: begin outr <= outr^index[8:5]^4'hb; end - 8'h64: begin outr <= outr^index[8:5]^4'h9; end - 8'h65: begin outr <= outr^index[8:5]^4'h4; end - 8'h66: begin outr <= outr^index[8:5]^4'h3; end - 8'h67: begin outr <= outr^index[8:5]^4'h6; end - 8'h68: begin outr <= outr^index[8:5]^4'h7; end - 8'h69: begin outr <= outr^index[8:5]^4'h7; end - 8'h6a: begin outr <= outr^index[8:5]^4'hf; end - 8'h6b: begin outr <= outr^index[8:5]^4'h6; end - 8'h6c: begin outr <= outr^index[8:5]^4'h8; end - 8'h6d: begin outr <= outr^index[8:5]^4'he; end - 8'h6e: begin outr <= outr^index[8:5]^4'h4; end - 8'h6f: begin outr <= outr^index[8:5]^4'h6; end - 8'h70: begin outr <= outr^index[8:5]^4'hc; end - 8'h71: begin outr <= outr^index[8:5]^4'h9; end - 8'h72: begin outr <= outr^index[8:5]^4'h5; end - 8'h73: begin outr <= outr^index[8:5]^4'ha; end - 8'h74: begin outr <= outr^index[8:5]^4'h7; end - 8'h75: begin outr <= outr^index[8:5]^4'h0; end - 8'h76: begin outr <= outr^index[8:5]^4'h1; end - 8'h77: begin outr <= outr^index[8:5]^4'he; end - 8'h78: begin outr <= outr^index[8:5]^4'ha; end - 8'h79: begin outr <= outr^index[8:5]^4'h7; end - 8'h7a: begin outr <= outr^index[8:5]^4'hf; end - 8'h7b: begin outr <= outr^index[8:5]^4'he; end - 8'h7c: begin outr <= outr^index[8:5]^4'h6; end - 8'h7d: begin outr <= outr^index[8:5]^4'hc; end - 8'h7e: begin outr <= outr^index[8:5]^4'hc; end - 8'h7f: begin outr <= outr^index[8:5]^4'h0; end - 8'h80: begin outr <= outr^index[8:5]^4'h0; end - 8'h81: begin outr <= outr^index[8:5]^4'hd; end - 8'h82: begin outr <= outr^index[8:5]^4'hb; end - 8'h83: begin outr <= outr^index[8:5]^4'hc; end - 8'h84: begin outr <= outr^index[8:5]^4'h2; end - 8'h85: begin outr <= outr^index[8:5]^4'h8; end - 8'h86: begin outr <= outr^index[8:5]^4'h3; end - 8'h87: begin outr <= outr^index[8:5]^4'ha; end - 8'h88: begin outr <= outr^index[8:5]^4'he; end - 8'h89: begin outr <= outr^index[8:5]^4'h9; end - 8'h8a: begin outr <= outr^index[8:5]^4'h1; end - 8'h8b: begin outr <= outr^index[8:5]^4'h1; end - 8'h8c: begin outr <= outr^index[8:5]^4'hc; end - 8'h8d: begin outr <= outr^index[8:5]^4'h2; end - 8'h8e: begin outr <= outr^index[8:5]^4'h2; end - 8'h8f: begin outr <= outr^index[8:5]^4'hd; end - 8'h90: begin outr <= outr^index[8:5]^4'h0; end - 8'h91: begin outr <= outr^index[8:5]^4'h6; end - 8'h92: begin outr <= outr^index[8:5]^4'h7; end - 8'h93: begin outr <= outr^index[8:5]^4'hc; end - 8'h94: begin outr <= outr^index[8:5]^4'hb; end - 8'h95: begin outr <= outr^index[8:5]^4'h3; end - 8'h96: begin outr <= outr^index[8:5]^4'h0; end - 8'h97: begin outr <= outr^index[8:5]^4'hc; end - 8'h98: begin outr <= outr^index[8:5]^4'hc; end - 8'h99: begin outr <= outr^index[8:5]^4'hb; end - 8'h9a: begin outr <= outr^index[8:5]^4'h6; end - 8'h9b: begin outr <= outr^index[8:5]^4'h5; end - 8'h9c: begin outr <= outr^index[8:5]^4'h5; end - 8'h9d: begin outr <= outr^index[8:5]^4'h4; end - 8'h9e: begin outr <= outr^index[8:5]^4'h7; end - 8'h9f: begin outr <= outr^index[8:5]^4'he; end - 8'ha0: begin outr <= outr^index[8:5]^4'hc; end - 8'ha1: begin outr <= outr^index[8:5]^4'hc; end - 8'ha2: begin outr <= outr^index[8:5]^4'h0; end - 8'ha3: begin outr <= outr^index[8:5]^4'h1; end - 8'ha4: begin outr <= outr^index[8:5]^4'hd; end - 8'ha5: begin outr <= outr^index[8:5]^4'h3; end - 8'ha6: begin outr <= outr^index[8:5]^4'hc; end - 8'ha7: begin outr <= outr^index[8:5]^4'h2; end - 8'ha8: begin outr <= outr^index[8:5]^4'h3; end - 8'ha9: begin outr <= outr^index[8:5]^4'hd; end - 8'haa: begin outr <= outr^index[8:5]^4'h5; end - 8'hab: begin outr <= outr^index[8:5]^4'hb; end - 8'hac: begin outr <= outr^index[8:5]^4'he; end - 8'had: begin outr <= outr^index[8:5]^4'h0; end - 8'hae: begin outr <= outr^index[8:5]^4'hf; end - 8'haf: begin outr <= outr^index[8:5]^4'h9; end - 8'hb0: begin outr <= outr^index[8:5]^4'hf; end - 8'hb1: begin outr <= outr^index[8:5]^4'h7; end - 8'hb2: begin outr <= outr^index[8:5]^4'h9; end - 8'hb3: begin outr <= outr^index[8:5]^4'hf; end - 8'hb4: begin outr <= outr^index[8:5]^4'he; end - 8'hb5: begin outr <= outr^index[8:5]^4'h3; end - 8'hb6: begin outr <= outr^index[8:5]^4'he; end - 8'hb7: begin outr <= outr^index[8:5]^4'h8; end - 8'hb8: begin outr <= outr^index[8:5]^4'hf; end - 8'hb9: begin outr <= outr^index[8:5]^4'hd; end - 8'hba: begin outr <= outr^index[8:5]^4'h3; end - 8'hbb: begin outr <= outr^index[8:5]^4'h5; end - 8'hbc: begin outr <= outr^index[8:5]^4'hd; end - 8'hbd: begin outr <= outr^index[8:5]^4'ha; end - 8'hbe: begin outr <= outr^index[8:5]^4'h7; end - 8'hbf: begin outr <= outr^index[8:5]^4'he; end - 8'hc0: begin outr <= outr^index[8:5]^4'h2; end - 8'hc1: begin outr <= outr^index[8:5]^4'he; end - 8'hc2: begin outr <= outr^index[8:5]^4'h9; end - 8'hc3: begin outr <= outr^index[8:5]^4'hb; end - 8'hc4: begin outr <= outr^index[8:5]^4'h0; end - 8'hc5: begin outr <= outr^index[8:5]^4'h5; end - 8'hc6: begin outr <= outr^index[8:5]^4'h9; end - 8'hc7: begin outr <= outr^index[8:5]^4'h6; end - 8'hc8: begin outr <= outr^index[8:5]^4'ha; end - 8'hc9: begin outr <= outr^index[8:5]^4'hf; end - 8'hca: begin outr <= outr^index[8:5]^4'h3; end - 8'hcb: begin outr <= outr^index[8:5]^4'hb; end - 8'hcc: begin outr <= outr^index[8:5]^4'he; end - 8'hcd: begin outr <= outr^index[8:5]^4'h2; end - 8'hce: begin outr <= outr^index[8:5]^4'h5; end - 8'hcf: begin outr <= outr^index[8:5]^4'hf; end - 8'hd0: begin outr <= outr^index[8:5]^4'h2; end - 8'hd1: begin outr <= outr^index[8:5]^4'h9; end - 8'hd2: begin outr <= outr^index[8:5]^4'hb; end - 8'hd3: begin outr <= outr^index[8:5]^4'h8; end - 8'hd4: begin outr <= outr^index[8:5]^4'h0; end - 8'hd5: begin outr <= outr^index[8:5]^4'h2; end - 8'hd6: begin outr <= outr^index[8:5]^4'hb; end - 8'hd7: begin outr <= outr^index[8:5]^4'h2; end - 8'hd8: begin outr <= outr^index[8:5]^4'ha; end - 8'hd9: begin outr <= outr^index[8:5]^4'hf; end - 8'hda: begin outr <= outr^index[8:5]^4'h8; end - 8'hdb: begin outr <= outr^index[8:5]^4'h4; end - 8'hdc: begin outr <= outr^index[8:5]^4'he; end - 8'hdd: begin outr <= outr^index[8:5]^4'h6; end - 8'hde: begin outr <= outr^index[8:5]^4'h9; end - 8'hdf: begin outr <= outr^index[8:5]^4'h9; end - 8'he0: begin outr <= outr^index[8:5]^4'h7; end - 8'he1: begin outr <= outr^index[8:5]^4'h0; end - 8'he2: begin outr <= outr^index[8:5]^4'h9; end - 8'he3: begin outr <= outr^index[8:5]^4'h3; end - 8'he4: begin outr <= outr^index[8:5]^4'h2; end - 8'he5: begin outr <= outr^index[8:5]^4'h4; end - 8'he6: begin outr <= outr^index[8:5]^4'h5; end - 8'he7: begin outr <= outr^index[8:5]^4'h5; end - 8'he8: begin outr <= outr^index[8:5]^4'hf; end - 8'he9: begin outr <= outr^index[8:5]^4'ha; end - 8'hea: begin outr <= outr^index[8:5]^4'hc; end - 8'heb: begin outr <= outr^index[8:5]^4'hd; end - 8'hec: begin outr <= outr^index[8:5]^4'h1; end - 8'hed: begin outr <= outr^index[8:5]^4'h5; end - 8'hee: begin outr <= outr^index[8:5]^4'h9; end - 8'hef: begin outr <= outr^index[8:5]^4'h0; end - 8'hf0: begin outr <= outr^index[8:5]^4'hd; end - 8'hf1: begin outr <= outr^index[8:5]^4'hf; end - 8'hf2: begin outr <= outr^index[8:5]^4'h4; end - 8'hf3: begin outr <= outr^index[8:5]^4'ha; end - 8'hf4: begin outr <= outr^index[8:5]^4'h8; end - 8'hf5: begin outr <= outr^index[8:5]^4'he; end - 8'hf6: begin outr <= outr^index[8:5]^4'he; end - 8'hf7: begin outr <= outr^index[8:5]^4'h1; end - 8'hf8: begin outr <= outr^index[8:5]^4'h6; end - 8'hf9: begin outr <= outr^index[8:5]^4'h0; end - 8'hfa: begin outr <= outr^index[8:5]^4'h5; end - 8'hfb: begin outr <= outr^index[8:5]^4'h1; end - 8'hfc: begin outr <= outr^index[8:5]^4'h8; end - 8'hfd: begin outr <= outr^index[8:5]^4'h6; end - 8'hfe: begin outr <= outr^index[8:5]^4'h1; end - default: begin outr <= outr^index[8:5]^4'h6; end - endcase - end + always @(posedge clk) begin + // verilog_format: off + case (index[7:0]) + 8'h00: begin outr <= 4'h0; end + 8'h01: begin /*No Change*/ end + 8'h02: begin outr <= outr^index[8:5]^4'ha; end + 8'h03: begin outr <= outr^index[8:5]^4'h4; end + 8'h04: begin outr <= outr^index[8:5]^4'hd; end + 8'h05: begin outr <= outr^index[8:5]^4'h1; end + 8'h06: begin outr <= outr^index[8:5]^4'hf; end + 8'h07: begin outr <= outr^index[8:5]^4'he; end + 8'h08: begin outr <= outr^index[8:5]^4'h0; end + 8'h09: begin outr <= outr^index[8:5]^4'h4; end + 8'h0a: begin outr <= outr^index[8:5]^4'h5; end + 8'h0b: begin outr <= outr^index[8:5]^4'ha; end + 8'h0c: begin outr <= outr^index[8:5]^4'h2; end + 8'h0d: begin outr <= outr^index[8:5]^4'hf; end + 8'h0e: begin outr <= outr^index[8:5]^4'h5; end + 8'h0f: begin outr <= outr^index[8:5]^4'h0; end + 8'h10: begin outr <= outr^index[8:5]^4'h3; end + 8'h11: begin outr <= outr^index[8:5]^4'hb; end + 8'h12: begin outr <= outr^index[8:5]^4'h0; end + 8'h13: begin outr <= outr^index[8:5]^4'hf; end + 8'h14: begin outr <= outr^index[8:5]^4'h3; end + 8'h15: begin outr <= outr^index[8:5]^4'h5; end + 8'h16: begin outr <= outr^index[8:5]^4'h7; end + 8'h17: begin outr <= outr^index[8:5]^4'h2; end + 8'h18: begin outr <= outr^index[8:5]^4'h3; end + 8'h19: begin outr <= outr^index[8:5]^4'hb; end + 8'h1a: begin outr <= outr^index[8:5]^4'h5; end + 8'h1b: begin outr <= outr^index[8:5]^4'h4; end + 8'h1c: begin outr <= outr^index[8:5]^4'h2; end + 8'h1d: begin outr <= outr^index[8:5]^4'hf; end + 8'h1e: begin outr <= outr^index[8:5]^4'h0; end + 8'h1f: begin outr <= outr^index[8:5]^4'h4; end + 8'h20: begin outr <= outr^index[8:5]^4'h6; end + 8'h21: begin outr <= outr^index[8:5]^4'ha; end + 8'h22: begin outr <= outr^index[8:5]^4'h6; end + 8'h23: begin outr <= outr^index[8:5]^4'hb; end + 8'h24: begin outr <= outr^index[8:5]^4'ha; end + 8'h25: begin outr <= outr^index[8:5]^4'he; end + 8'h26: begin outr <= outr^index[8:5]^4'h7; end + 8'h27: begin outr <= outr^index[8:5]^4'ha; end + 8'h28: begin outr <= outr^index[8:5]^4'h3; end + 8'h29: begin outr <= outr^index[8:5]^4'h8; end + 8'h2a: begin outr <= outr^index[8:5]^4'h1; end + 8'h2b: begin outr <= outr^index[8:5]^4'h8; end + 8'h2c: begin outr <= outr^index[8:5]^4'h4; end + 8'h2d: begin outr <= outr^index[8:5]^4'h4; end + 8'h2e: begin outr <= outr^index[8:5]^4'he; end + 8'h2f: begin outr <= outr^index[8:5]^4'h8; end + 8'h30: begin outr <= outr^index[8:5]^4'ha; end + 8'h31: begin outr <= outr^index[8:5]^4'h7; end + 8'h32: begin outr <= outr^index[8:5]^4'h0; end + 8'h33: begin outr <= outr^index[8:5]^4'h3; end + 8'h34: begin outr <= outr^index[8:5]^4'h1; end + 8'h35: begin outr <= outr^index[8:5]^4'h3; end + 8'h36: begin outr <= outr^index[8:5]^4'h4; end + 8'h37: begin outr <= outr^index[8:5]^4'h6; end + 8'h38: begin outr <= outr^index[8:5]^4'h4; end + 8'h39: begin outr <= outr^index[8:5]^4'hb; end + 8'h3a: begin outr <= outr^index[8:5]^4'h7; end + 8'h3b: begin outr <= outr^index[8:5]^4'h1; end + 8'h3c: begin outr <= outr^index[8:5]^4'h2; end + 8'h3d: begin outr <= outr^index[8:5]^4'h0; end + 8'h3e: begin outr <= outr^index[8:5]^4'h2; end + 8'h3f: begin outr <= outr^index[8:5]^4'ha; end + 8'h40: begin outr <= outr^index[8:5]^4'h7; end + 8'h41: begin outr <= outr^index[8:5]^4'h5; end + 8'h42: begin outr <= outr^index[8:5]^4'h5; end + 8'h43: begin outr <= outr^index[8:5]^4'h4; end + 8'h44: begin outr <= outr^index[8:5]^4'h8; end + 8'h45: begin outr <= outr^index[8:5]^4'h5; end + 8'h46: begin outr <= outr^index[8:5]^4'hf; end + 8'h47: begin outr <= outr^index[8:5]^4'h6; end + 8'h48: begin outr <= outr^index[8:5]^4'h7; end + 8'h49: begin outr <= outr^index[8:5]^4'h4; end + 8'h4a: begin outr <= outr^index[8:5]^4'ha; end + 8'h4b: begin outr <= outr^index[8:5]^4'hd; end + 8'h4c: begin outr <= outr^index[8:5]^4'hb; end + 8'h4d: begin outr <= outr^index[8:5]^4'hf; end + 8'h4e: begin outr <= outr^index[8:5]^4'hd; end + 8'h4f: begin outr <= outr^index[8:5]^4'h7; end + 8'h50: begin outr <= outr^index[8:5]^4'h9; end + 8'h51: begin outr <= outr^index[8:5]^4'ha; end + 8'h52: begin outr <= outr^index[8:5]^4'hf; end + 8'h53: begin outr <= outr^index[8:5]^4'h3; end + 8'h54: begin outr <= outr^index[8:5]^4'h1; end + 8'h55: begin outr <= outr^index[8:5]^4'h0; end + 8'h56: begin outr <= outr^index[8:5]^4'h2; end + 8'h57: begin outr <= outr^index[8:5]^4'h9; end + 8'h58: begin outr <= outr^index[8:5]^4'h2; end + 8'h59: begin outr <= outr^index[8:5]^4'h4; end + 8'h5a: begin outr <= outr^index[8:5]^4'hc; end + 8'h5b: begin outr <= outr^index[8:5]^4'hd; end + 8'h5c: begin outr <= outr^index[8:5]^4'h3; end + 8'h5d: begin outr <= outr^index[8:5]^4'hb; end + 8'h5e: begin outr <= outr^index[8:5]^4'hd; end + 8'h5f: begin outr <= outr^index[8:5]^4'h7; end + 8'h60: begin outr <= outr^index[8:5]^4'h7; end + 8'h61: begin outr <= outr^index[8:5]^4'h3; end + 8'h62: begin outr <= outr^index[8:5]^4'h3; end + 8'h63: begin outr <= outr^index[8:5]^4'hb; end + 8'h64: begin outr <= outr^index[8:5]^4'h9; end + 8'h65: begin outr <= outr^index[8:5]^4'h4; end + 8'h66: begin outr <= outr^index[8:5]^4'h3; end + 8'h67: begin outr <= outr^index[8:5]^4'h6; end + 8'h68: begin outr <= outr^index[8:5]^4'h7; end + 8'h69: begin outr <= outr^index[8:5]^4'h7; end + 8'h6a: begin outr <= outr^index[8:5]^4'hf; end + 8'h6b: begin outr <= outr^index[8:5]^4'h6; end + 8'h6c: begin outr <= outr^index[8:5]^4'h8; end + 8'h6d: begin outr <= outr^index[8:5]^4'he; end + 8'h6e: begin outr <= outr^index[8:5]^4'h4; end + 8'h6f: begin outr <= outr^index[8:5]^4'h6; end + 8'h70: begin outr <= outr^index[8:5]^4'hc; end + 8'h71: begin outr <= outr^index[8:5]^4'h9; end + 8'h72: begin outr <= outr^index[8:5]^4'h5; end + 8'h73: begin outr <= outr^index[8:5]^4'ha; end + 8'h74: begin outr <= outr^index[8:5]^4'h7; end + 8'h75: begin outr <= outr^index[8:5]^4'h0; end + 8'h76: begin outr <= outr^index[8:5]^4'h1; end + 8'h77: begin outr <= outr^index[8:5]^4'he; end + 8'h78: begin outr <= outr^index[8:5]^4'ha; end + 8'h79: begin outr <= outr^index[8:5]^4'h7; end + 8'h7a: begin outr <= outr^index[8:5]^4'hf; end + 8'h7b: begin outr <= outr^index[8:5]^4'he; end + 8'h7c: begin outr <= outr^index[8:5]^4'h6; end + 8'h7d: begin outr <= outr^index[8:5]^4'hc; end + 8'h7e: begin outr <= outr^index[8:5]^4'hc; end + 8'h7f: begin outr <= outr^index[8:5]^4'h0; end + 8'h80: begin outr <= outr^index[8:5]^4'h0; end + 8'h81: begin outr <= outr^index[8:5]^4'hd; end + 8'h82: begin outr <= outr^index[8:5]^4'hb; end + 8'h83: begin outr <= outr^index[8:5]^4'hc; end + 8'h84: begin outr <= outr^index[8:5]^4'h2; end + 8'h85: begin outr <= outr^index[8:5]^4'h8; end + 8'h86: begin outr <= outr^index[8:5]^4'h3; end + 8'h87: begin outr <= outr^index[8:5]^4'ha; end + 8'h88: begin outr <= outr^index[8:5]^4'he; end + 8'h89: begin outr <= outr^index[8:5]^4'h9; end + 8'h8a: begin outr <= outr^index[8:5]^4'h1; end + 8'h8b: begin outr <= outr^index[8:5]^4'h1; end + 8'h8c: begin outr <= outr^index[8:5]^4'hc; end + 8'h8d: begin outr <= outr^index[8:5]^4'h2; end + 8'h8e: begin outr <= outr^index[8:5]^4'h2; end + 8'h8f: begin outr <= outr^index[8:5]^4'hd; end + 8'h90: begin outr <= outr^index[8:5]^4'h0; end + 8'h91: begin outr <= outr^index[8:5]^4'h6; end + 8'h92: begin outr <= outr^index[8:5]^4'h7; end + 8'h93: begin outr <= outr^index[8:5]^4'hc; end + 8'h94: begin outr <= outr^index[8:5]^4'hb; end + 8'h95: begin outr <= outr^index[8:5]^4'h3; end + 8'h96: begin outr <= outr^index[8:5]^4'h0; end + 8'h97: begin outr <= outr^index[8:5]^4'hc; end + 8'h98: begin outr <= outr^index[8:5]^4'hc; end + 8'h99: begin outr <= outr^index[8:5]^4'hb; end + 8'h9a: begin outr <= outr^index[8:5]^4'h6; end + 8'h9b: begin outr <= outr^index[8:5]^4'h5; end + 8'h9c: begin outr <= outr^index[8:5]^4'h5; end + 8'h9d: begin outr <= outr^index[8:5]^4'h4; end + 8'h9e: begin outr <= outr^index[8:5]^4'h7; end + 8'h9f: begin outr <= outr^index[8:5]^4'he; end + 8'ha0: begin outr <= outr^index[8:5]^4'hc; end + 8'ha1: begin outr <= outr^index[8:5]^4'hc; end + 8'ha2: begin outr <= outr^index[8:5]^4'h0; end + 8'ha3: begin outr <= outr^index[8:5]^4'h1; end + 8'ha4: begin outr <= outr^index[8:5]^4'hd; end + 8'ha5: begin outr <= outr^index[8:5]^4'h3; end + 8'ha6: begin outr <= outr^index[8:5]^4'hc; end + 8'ha7: begin outr <= outr^index[8:5]^4'h2; end + 8'ha8: begin outr <= outr^index[8:5]^4'h3; end + 8'ha9: begin outr <= outr^index[8:5]^4'hd; end + 8'haa: begin outr <= outr^index[8:5]^4'h5; end + 8'hab: begin outr <= outr^index[8:5]^4'hb; end + 8'hac: begin outr <= outr^index[8:5]^4'he; end + 8'had: begin outr <= outr^index[8:5]^4'h0; end + 8'hae: begin outr <= outr^index[8:5]^4'hf; end + 8'haf: begin outr <= outr^index[8:5]^4'h9; end + 8'hb0: begin outr <= outr^index[8:5]^4'hf; end + 8'hb1: begin outr <= outr^index[8:5]^4'h7; end + 8'hb2: begin outr <= outr^index[8:5]^4'h9; end + 8'hb3: begin outr <= outr^index[8:5]^4'hf; end + 8'hb4: begin outr <= outr^index[8:5]^4'he; end + 8'hb5: begin outr <= outr^index[8:5]^4'h3; end + 8'hb6: begin outr <= outr^index[8:5]^4'he; end + 8'hb7: begin outr <= outr^index[8:5]^4'h8; end + 8'hb8: begin outr <= outr^index[8:5]^4'hf; end + 8'hb9: begin outr <= outr^index[8:5]^4'hd; end + 8'hba: begin outr <= outr^index[8:5]^4'h3; end + 8'hbb: begin outr <= outr^index[8:5]^4'h5; end + 8'hbc: begin outr <= outr^index[8:5]^4'hd; end + 8'hbd: begin outr <= outr^index[8:5]^4'ha; end + 8'hbe: begin outr <= outr^index[8:5]^4'h7; end + 8'hbf: begin outr <= outr^index[8:5]^4'he; end + 8'hc0: begin outr <= outr^index[8:5]^4'h2; end + 8'hc1: begin outr <= outr^index[8:5]^4'he; end + 8'hc2: begin outr <= outr^index[8:5]^4'h9; end + 8'hc3: begin outr <= outr^index[8:5]^4'hb; end + 8'hc4: begin outr <= outr^index[8:5]^4'h0; end + 8'hc5: begin outr <= outr^index[8:5]^4'h5; end + 8'hc6: begin outr <= outr^index[8:5]^4'h9; end + 8'hc7: begin outr <= outr^index[8:5]^4'h6; end + 8'hc8: begin outr <= outr^index[8:5]^4'ha; end + 8'hc9: begin outr <= outr^index[8:5]^4'hf; end + 8'hca: begin outr <= outr^index[8:5]^4'h3; end + 8'hcb: begin outr <= outr^index[8:5]^4'hb; end + 8'hcc: begin outr <= outr^index[8:5]^4'he; end + 8'hcd: begin outr <= outr^index[8:5]^4'h2; end + 8'hce: begin outr <= outr^index[8:5]^4'h5; end + 8'hcf: begin outr <= outr^index[8:5]^4'hf; end + 8'hd0: begin outr <= outr^index[8:5]^4'h2; end + 8'hd1: begin outr <= outr^index[8:5]^4'h9; end + 8'hd2: begin outr <= outr^index[8:5]^4'hb; end + 8'hd3: begin outr <= outr^index[8:5]^4'h8; end + 8'hd4: begin outr <= outr^index[8:5]^4'h0; end + 8'hd5: begin outr <= outr^index[8:5]^4'h2; end + 8'hd6: begin outr <= outr^index[8:5]^4'hb; end + 8'hd7: begin outr <= outr^index[8:5]^4'h2; end + 8'hd8: begin outr <= outr^index[8:5]^4'ha; end + 8'hd9: begin outr <= outr^index[8:5]^4'hf; end + 8'hda: begin outr <= outr^index[8:5]^4'h8; end + 8'hdb: begin outr <= outr^index[8:5]^4'h4; end + 8'hdc: begin outr <= outr^index[8:5]^4'he; end + 8'hdd: begin outr <= outr^index[8:5]^4'h6; end + 8'hde: begin outr <= outr^index[8:5]^4'h9; end + 8'hdf: begin outr <= outr^index[8:5]^4'h9; end + 8'he0: begin outr <= outr^index[8:5]^4'h7; end + 8'he1: begin outr <= outr^index[8:5]^4'h0; end + 8'he2: begin outr <= outr^index[8:5]^4'h9; end + 8'he3: begin outr <= outr^index[8:5]^4'h3; end + 8'he4: begin outr <= outr^index[8:5]^4'h2; end + 8'he5: begin outr <= outr^index[8:5]^4'h4; end + 8'he6: begin outr <= outr^index[8:5]^4'h5; end + 8'he7: begin outr <= outr^index[8:5]^4'h5; end + 8'he8: begin outr <= outr^index[8:5]^4'hf; end + 8'he9: begin outr <= outr^index[8:5]^4'ha; end + 8'hea: begin outr <= outr^index[8:5]^4'hc; end + 8'heb: begin outr <= outr^index[8:5]^4'hd; end + 8'hec: begin outr <= outr^index[8:5]^4'h1; end + 8'hed: begin outr <= outr^index[8:5]^4'h5; end + 8'hee: begin outr <= outr^index[8:5]^4'h9; end + 8'hef: begin outr <= outr^index[8:5]^4'h0; end + 8'hf0: begin outr <= outr^index[8:5]^4'hd; end + 8'hf1: begin outr <= outr^index[8:5]^4'hf; end + 8'hf2: begin outr <= outr^index[8:5]^4'h4; end + 8'hf3: begin outr <= outr^index[8:5]^4'ha; end + 8'hf4: begin outr <= outr^index[8:5]^4'h8; end + 8'hf5: begin outr <= outr^index[8:5]^4'he; end + 8'hf6: begin outr <= outr^index[8:5]^4'he; end + 8'hf7: begin outr <= outr^index[8:5]^4'h1; end + 8'hf8: begin outr <= outr^index[8:5]^4'h6; end + 8'hf9: begin outr <= outr^index[8:5]^4'h0; end + 8'hfa: begin outr <= outr^index[8:5]^4'h5; end + 8'hfb: begin outr <= outr^index[8:5]^4'h1; end + 8'hfc: begin outr <= outr^index[8:5]^4'h8; end + 8'hfd: begin outr <= outr^index[8:5]^4'h6; end + 8'hfe: begin outr <= outr^index[8:5]^4'h1; end + default: begin outr <= outr^index[8:5]^4'h6; end + endcase + // verilog_format: on + end endmodule diff --git a/test_regress/t/t_case_huge_sub4.v b/test_regress/t/t_case_huge_sub4.v index c642bc65e..5bc42fd3f 100644 --- a/test_regress/t/t_case_huge_sub4.v +++ b/test_regress/t/t_case_huge_sub4.v @@ -7,59 +7,56 @@ // verilator lint_off LATCH module t_case_huge_sub4 (/*AUTOARG*/ - // Outputs - outq, - // Inputs - index - ); + // Outputs + outq, + // Inputs + index + ); - input [7:0] index; - output [9:0] outq; + input [7:0] index; + output logic [9:0] outq; - // ============================= - /*AUTOREG*/ - // Beginning of automatic regs (for this module's undeclared outputs) - reg [9:0] outq; - // End of automatics + // ============================= - // ============================= - always @(/*AS*/index) begin - case (index) - // default below: no change - 8'h00: begin outq = 10'h001; end - 8'he0: begin outq = 10'h05b; end - 8'he1: begin outq = 10'h126; end - 8'he2: begin outq = 10'h369; end - 8'he3: begin outq = 10'h291; end - 8'he4: begin outq = 10'h2ca; end - 8'he5: begin outq = 10'h25b; end - 8'he6: begin outq = 10'h106; end - 8'he7: begin outq = 10'h172; end - 8'he8: begin outq = 10'h2f7; end - 8'he9: begin outq = 10'h2d3; end - 8'hea: begin outq = 10'h182; end - 8'heb: begin outq = 10'h327; end - 8'hec: begin outq = 10'h1d0; end - 8'hed: begin outq = 10'h204; end - 8'hee: begin outq = 10'h11f; end - 8'hef: begin outq = 10'h365; end - 8'hf0: begin outq = 10'h2c2; end - 8'hf1: begin outq = 10'h2b5; end - 8'hf2: begin outq = 10'h1f8; end - 8'hf3: begin outq = 10'h2a7; end - 8'hf4: begin outq = 10'h1be; end - 8'hf5: begin outq = 10'h25e; end - 8'hf6: begin outq = 10'h032; end - 8'hf7: begin outq = 10'h2ef; end - 8'hf8: begin outq = 10'h02f; end - 8'hf9: begin outq = 10'h201; end - 8'hfa: begin outq = 10'h054; end - 8'hfb: begin outq = 10'h013; end - 8'hfc: begin outq = 10'h249; end - 8'hfd: begin outq = 10'h09a; end - 8'hfe: begin outq = 10'h012; end - 8'hff: begin outq = 10'h114; end - default: ; // No change - endcase - end + always @* begin + // verilog_format: off + case (index) + // default below: no change + 8'h00: begin outq = 10'h001; end + 8'he0: begin outq = 10'h05b; end + 8'he1: begin outq = 10'h126; end + 8'he2: begin outq = 10'h369; end + 8'he3: begin outq = 10'h291; end + 8'he4: begin outq = 10'h2ca; end + 8'he5: begin outq = 10'h25b; end + 8'he6: begin outq = 10'h106; end + 8'he7: begin outq = 10'h172; end + 8'he8: begin outq = 10'h2f7; end + 8'he9: begin outq = 10'h2d3; end + 8'hea: begin outq = 10'h182; end + 8'heb: begin outq = 10'h327; end + 8'hec: begin outq = 10'h1d0; end + 8'hed: begin outq = 10'h204; end + 8'hee: begin outq = 10'h11f; end + 8'hef: begin outq = 10'h365; end + 8'hf0: begin outq = 10'h2c2; end + 8'hf1: begin outq = 10'h2b5; end + 8'hf2: begin outq = 10'h1f8; end + 8'hf3: begin outq = 10'h2a7; end + 8'hf4: begin outq = 10'h1be; end + 8'hf5: begin outq = 10'h25e; end + 8'hf6: begin outq = 10'h032; end + 8'hf7: begin outq = 10'h2ef; end + 8'hf8: begin outq = 10'h02f; end + 8'hf9: begin outq = 10'h201; end + 8'hfa: begin outq = 10'h054; end + 8'hfb: begin outq = 10'h013; end + 8'hfc: begin outq = 10'h249; end + 8'hfd: begin outq = 10'h09a; end + 8'hfe: begin outq = 10'h012; end + 8'hff: begin outq = 10'h114; end + default: ; // No change + endcase + // verilog_format: on + end endmodule diff --git a/test_regress/t/t_case_unique_many.v b/test_regress/t/t_case_unique_many.v index d40c70c1b..8c82086d2 100644 --- a/test_regress/t/t_case_unique_many.v +++ b/test_regress/t/t_case_unique_many.v @@ -4,326 +4,326 @@ // any use, without warranty, 2024 by Varun Koyyalagunta, Tenstorrent. // SPDX-License-Identifier: CC0-1.0 -module t (/*AUTOARG*/); +module t; - localparam W = 23; + localparam W = 23; - localparam [W-1:0] R0 = W'('h200000 + 0); - localparam [W-1:0] R1 = W'('h200000 + 1); - localparam [W-1:0] R2 = W'('h200000 + 2); - localparam [W-1:0] R3 = W'('h200000 + 3); - localparam [W-1:0] R4 = W'('h200000 + 4); - localparam [W-1:0] R5 = W'('h200000 + 5); - localparam [W-1:0] R6 = W'('h200000 + 6); - localparam [W-1:0] R7 = W'('h200000 + 7); - localparam [W-1:0] R8 = W'('h200000 + 8); - localparam [W-1:0] R9 = W'('h200000 + 9); - localparam [W-1:0] R10 = W'('h200000 + 10); - localparam [W-1:0] R11 = W'('h200000 + 11); - localparam [W-1:0] R12 = W'('h200000 + 12); - localparam [W-1:0] R13 = W'('h200000 + 13); - localparam [W-1:0] R14 = W'('h200000 + 14); - localparam [W-1:0] R15 = W'('h200000 + 15); - localparam [W-1:0] R16 = W'('h200000 + 16); - localparam [W-1:0] R17 = W'('h200000 + 17); - localparam [W-1:0] R18 = W'('h200000 + 18); - localparam [W-1:0] R19 = W'('h200000 + 19); - localparam [W-1:0] R20 = W'('h200000 + 20); - localparam [W-1:0] R21 = W'('h200000 + 21); - localparam [W-1:0] R22 = W'('h200000 + 22); - localparam [W-1:0] R23 = W'('h200000 + 23); - localparam [W-1:0] R24 = W'('h200000 + 24); - localparam [W-1:0] R25 = W'('h200000 + 25); - localparam [W-1:0] R26 = W'('h200000 + 26); - localparam [W-1:0] R27 = W'('h200000 + 27); - localparam [W-1:0] R28 = W'('h200000 + 28); - localparam [W-1:0] R29 = W'('h200000 + 29); - localparam [W-1:0] R30 = W'('h200000 + 30); - localparam [W-1:0] R31 = W'('h200000 + 31); - localparam [W-1:0] R32 = W'('h200000 + 32); - localparam [W-1:0] R33 = W'('h200000 + 33); - localparam [W-1:0] R34 = W'('h200000 + 34); - localparam [W-1:0] R35 = W'('h200000 + 35); - localparam [W-1:0] R36 = W'('h200000 + 36); - localparam [W-1:0] R37 = W'('h200000 + 37); - localparam [W-1:0] R38 = W'('h200000 + 38); - localparam [W-1:0] R39 = W'('h200000 + 39); - localparam [W-1:0] R40 = W'('h200000 + 40); - localparam [W-1:0] R41 = W'('h200000 + 41); - localparam [W-1:0] R42 = W'('h200000 + 42); - localparam [W-1:0] R43 = W'('h200000 + 43); - localparam [W-1:0] R44 = W'('h200000 + 44); - localparam [W-1:0] R45 = W'('h200000 + 45); - localparam [W-1:0] R46 = W'('h200000 + 46); - localparam [W-1:0] R47 = W'('h200000 + 47); - localparam [W-1:0] R48 = W'('h200000 + 48); - localparam [W-1:0] R49 = W'('h200000 + 49); - localparam [W-1:0] R50 = W'('h200000 + 50); - localparam [W-1:0] R51 = W'('h200000 + 51); - localparam [W-1:0] R52 = W'('h200000 + 52); - localparam [W-1:0] R53 = W'('h200000 + 53); - localparam [W-1:0] R54 = W'('h200000 + 54); - localparam [W-1:0] R55 = W'('h200000 + 55); - localparam [W-1:0] R56 = W'('h200000 + 56); - localparam [W-1:0] R57 = W'('h200000 + 57); - localparam [W-1:0] R58 = W'('h200000 + 58); - localparam [W-1:0] R59 = W'('h200000 + 59); - localparam [W-1:0] R60 = W'('h200000 + 60); - localparam [W-1:0] R61 = W'('h200000 + 61); - localparam [W-1:0] R62 = W'('h200000 + 62); - localparam [W-1:0] R63 = W'('h200000 + 63); - localparam [W-1:0] R64 = W'('h200000 + 64); - localparam [W-1:0] R65 = W'('h200000 + 65); - localparam [W-1:0] R66 = W'('h200000 + 66); - localparam [W-1:0] R67 = W'('h200000 + 67); - localparam [W-1:0] R68 = W'('h200000 + 68); - localparam [W-1:0] R69 = W'('h200000 + 69); - localparam [W-1:0] R70 = W'('h200000 + 70); - localparam [W-1:0] R71 = W'('h200000 + 71); - localparam [W-1:0] R72 = W'('h200000 + 72); - localparam [W-1:0] R73 = W'('h200000 + 73); - localparam [W-1:0] R74 = W'('h200000 + 74); - localparam [W-1:0] R75 = W'('h200000 + 75); - localparam [W-1:0] R76 = W'('h200000 + 76); - localparam [W-1:0] R77 = W'('h200000 + 77); - localparam [W-1:0] R78 = W'('h200000 + 78); - localparam [W-1:0] R79 = W'('h200000 + 79); - localparam [W-1:0] R80 = W'('h200000 + 80); - localparam [W-1:0] R81 = W'('h200000 + 81); - localparam [W-1:0] R82 = W'('h200000 + 82); - localparam [W-1:0] R83 = W'('h200000 + 83); - localparam [W-1:0] R84 = W'('h200000 + 84); - localparam [W-1:0] R85 = W'('h200000 + 85); - localparam [W-1:0] R86 = W'('h200000 + 86); - localparam [W-1:0] R87 = W'('h200000 + 87); - localparam [W-1:0] R88 = W'('h200000 + 88); - localparam [W-1:0] R89 = W'('h200000 + 89); - localparam [W-1:0] R90 = W'('h200000 + 90); - localparam [W-1:0] R91 = W'('h200000 + 91); - localparam [W-1:0] R92 = W'('h200000 + 92); - localparam [W-1:0] R93 = W'('h200000 + 93); - localparam [W-1:0] R94 = W'('h200000 + 94); - localparam [W-1:0] R95 = W'('h200000 + 95); - localparam [W-1:0] R96 = W'('h200000 + 96); - localparam [W-1:0] R97 = W'('h200000 + 97); - localparam [W-1:0] R98 = W'('h200000 + 98); - localparam [W-1:0] R99 = W'('h200000 + 99); - typedef struct packed { - logic r0; - logic r1; - logic r2; - logic r3; - logic r4; - logic r5; - logic r6; - logic r7; - logic r8; - logic r9; - logic r10; - logic r11; - logic r12; - logic r13; - logic r14; - logic r15; - logic r16; - logic r17; - logic r18; - logic r19; - logic r20; - logic r21; - logic r22; - logic r23; - logic r24; - logic r25; - logic r26; - logic r27; - logic r28; - logic r29; - logic r30; - logic r31; - logic r32; - logic r33; - logic r34; - logic r35; - logic r36; - logic r37; - logic r38; - logic r39; - logic r40; - logic r41; - logic r42; - logic r43; - logic r44; - logic r45; - logic r46; - logic r47; - logic r48; - logic r49; - logic r50; - logic r51; - logic r52; - logic r53; - logic r54; - logic r55; - logic r56; - logic r57; - logic r58; - logic r59; - logic r60; - logic r61; - logic r62; - logic r63; - logic r64; - logic r65; - logic r66; - logic r67; - logic r68; - logic r69; - logic r70; - logic r71; - logic r72; - logic r73; - logic r74; - logic r75; - logic r76; - logic r77; - logic r78; - logic r79; - logic r80; - logic r81; - logic r82; - logic r83; - logic r84; - logic r85; - logic r86; - logic r87; - logic r88; - logic r89; - logic r90; - logic r91; - logic r92; - logic r93; - logic r94; - logic r95; - logic r96; - logic r97; - logic r98; - logic r99; - } hit_t; - function automatic hit_t get_hit(input logic [22:0] a); - hit_t hit = '0; - unique case (a) - R0 : begin hit.r0 = 1'b1; end - R1 : begin hit.r1 = 1'b1; end - R2 : begin hit.r2 = 1'b1; end - R3 : begin hit.r3 = 1'b1; end - R4 : begin hit.r4 = 1'b1; end - R5 : begin hit.r5 = 1'b1; end - R6 : begin hit.r6 = 1'b1; end - R7 : begin hit.r7 = 1'b1; end - R8 : begin hit.r8 = 1'b1; end - R9 : begin hit.r9 = 1'b1; end - R10 : begin hit.r10 = 1'b1; end - R11 : begin hit.r11 = 1'b1; end - R12 : begin hit.r12 = 1'b1; end - R13 : begin hit.r13 = 1'b1; end - R14 : begin hit.r14 = 1'b1; end - R15 : begin hit.r15 = 1'b1; end - R16 : begin hit.r16 = 1'b1; end - R17 : begin hit.r17 = 1'b1; end - R18 : begin hit.r18 = 1'b1; end - R19 : begin hit.r19 = 1'b1; end - R20 : begin hit.r20 = 1'b1; end - R21 : begin hit.r21 = 1'b1; end - R22 : begin hit.r22 = 1'b1; end - R23 : begin hit.r23 = 1'b1; end - R24 : begin hit.r24 = 1'b1; end - R25 : begin hit.r25 = 1'b1; end - R26 : begin hit.r26 = 1'b1; end - R27 : begin hit.r27 = 1'b1; end - R28 : begin hit.r28 = 1'b1; end - R29 : begin hit.r29 = 1'b1; end - R30 : begin hit.r30 = 1'b1; end - R31 : begin hit.r31 = 1'b1; end - R32 : begin hit.r32 = 1'b1; end - R33 : begin hit.r33 = 1'b1; end - R34 : begin hit.r34 = 1'b1; end - R35 : begin hit.r35 = 1'b1; end - R36 : begin hit.r36 = 1'b1; end - R37 : begin hit.r37 = 1'b1; end - R38 : begin hit.r38 = 1'b1; end - R39 : begin hit.r39 = 1'b1; end - R40 : begin hit.r40 = 1'b1; end - R41 : begin hit.r41 = 1'b1; end - R42 : begin hit.r42 = 1'b1; end - R43 : begin hit.r43 = 1'b1; end - R44 : begin hit.r44 = 1'b1; end - R45 : begin hit.r45 = 1'b1; end - R46 : begin hit.r46 = 1'b1; end - R47 : begin hit.r47 = 1'b1; end - R48 : begin hit.r48 = 1'b1; end - R49 : begin hit.r49 = 1'b1; end - R50 : begin hit.r50 = 1'b1; end - R51 : begin hit.r51 = 1'b1; end - R52 : begin hit.r52 = 1'b1; end - R53 : begin hit.r53 = 1'b1; end - R54 : begin hit.r54 = 1'b1; end - R55 : begin hit.r55 = 1'b1; end - R56 : begin hit.r56 = 1'b1; end - R57 : begin hit.r57 = 1'b1; end - R58 : begin hit.r58 = 1'b1; end - R59 : begin hit.r59 = 1'b1; end - R60 : begin hit.r60 = 1'b1; end - R61 : begin hit.r61 = 1'b1; end - R62 : begin hit.r62 = 1'b1; end - R63 : begin hit.r63 = 1'b1; end - R64 : begin hit.r64 = 1'b1; end - R65 : begin hit.r65 = 1'b1; end - R66 : begin hit.r66 = 1'b1; end - R67 : begin hit.r67 = 1'b1; end - R68 : begin hit.r68 = 1'b1; end - R69 : begin hit.r69 = 1'b1; end - R70 : begin hit.r70 = 1'b1; end - R71 : begin hit.r71 = 1'b1; end - R72 : begin hit.r72 = 1'b1; end - R73 : begin hit.r73 = 1'b1; end - R74 : begin hit.r74 = 1'b1; end - R75 : begin hit.r75 = 1'b1; end - R76 : begin hit.r76 = 1'b1; end - R77 : begin hit.r77 = 1'b1; end - R78 : begin hit.r78 = 1'b1; end - R79 : begin hit.r79 = 1'b1; end - R80 : begin hit.r80 = 1'b1; end - R81 : begin hit.r81 = 1'b1; end - R82 : begin hit.r82 = 1'b1; end - R83 : begin hit.r83 = 1'b1; end - R84 : begin hit.r84 = 1'b1; end - R85 : begin hit.r85 = 1'b1; end - R86 : begin hit.r86 = 1'b1; end - R87 : begin hit.r87 = 1'b1; end - R88 : begin hit.r88 = 1'b1; end - R89 : begin hit.r89 = 1'b1; end - R90 : begin hit.r90 = 1'b1; end - R91 : begin hit.r91 = 1'b1; end - R92 : begin hit.r92 = 1'b1; end - R93 : begin hit.r93 = 1'b1; end - R94 : begin hit.r94 = 1'b1; end - R95 : begin hit.r95 = 1'b1; end - R96 : begin hit.r96 = 1'b1; end - R97 : begin hit.r97 = 1'b1; end - R98 : begin hit.r98 = 1'b1; end - R99 : begin hit.r99 = 1'b1; end - default: begin hit = '0; end - endcase - return hit; - endfunction + localparam [W-1:0] R0 = W'('h200000 + 0); + localparam [W-1:0] R1 = W'('h200000 + 1); + localparam [W-1:0] R2 = W'('h200000 + 2); + localparam [W-1:0] R3 = W'('h200000 + 3); + localparam [W-1:0] R4 = W'('h200000 + 4); + localparam [W-1:0] R5 = W'('h200000 + 5); + localparam [W-1:0] R6 = W'('h200000 + 6); + localparam [W-1:0] R7 = W'('h200000 + 7); + localparam [W-1:0] R8 = W'('h200000 + 8); + localparam [W-1:0] R9 = W'('h200000 + 9); + localparam [W-1:0] R10 = W'('h200000 + 10); + localparam [W-1:0] R11 = W'('h200000 + 11); + localparam [W-1:0] R12 = W'('h200000 + 12); + localparam [W-1:0] R13 = W'('h200000 + 13); + localparam [W-1:0] R14 = W'('h200000 + 14); + localparam [W-1:0] R15 = W'('h200000 + 15); + localparam [W-1:0] R16 = W'('h200000 + 16); + localparam [W-1:0] R17 = W'('h200000 + 17); + localparam [W-1:0] R18 = W'('h200000 + 18); + localparam [W-1:0] R19 = W'('h200000 + 19); + localparam [W-1:0] R20 = W'('h200000 + 20); + localparam [W-1:0] R21 = W'('h200000 + 21); + localparam [W-1:0] R22 = W'('h200000 + 22); + localparam [W-1:0] R23 = W'('h200000 + 23); + localparam [W-1:0] R24 = W'('h200000 + 24); + localparam [W-1:0] R25 = W'('h200000 + 25); + localparam [W-1:0] R26 = W'('h200000 + 26); + localparam [W-1:0] R27 = W'('h200000 + 27); + localparam [W-1:0] R28 = W'('h200000 + 28); + localparam [W-1:0] R29 = W'('h200000 + 29); + localparam [W-1:0] R30 = W'('h200000 + 30); + localparam [W-1:0] R31 = W'('h200000 + 31); + localparam [W-1:0] R32 = W'('h200000 + 32); + localparam [W-1:0] R33 = W'('h200000 + 33); + localparam [W-1:0] R34 = W'('h200000 + 34); + localparam [W-1:0] R35 = W'('h200000 + 35); + localparam [W-1:0] R36 = W'('h200000 + 36); + localparam [W-1:0] R37 = W'('h200000 + 37); + localparam [W-1:0] R38 = W'('h200000 + 38); + localparam [W-1:0] R39 = W'('h200000 + 39); + localparam [W-1:0] R40 = W'('h200000 + 40); + localparam [W-1:0] R41 = W'('h200000 + 41); + localparam [W-1:0] R42 = W'('h200000 + 42); + localparam [W-1:0] R43 = W'('h200000 + 43); + localparam [W-1:0] R44 = W'('h200000 + 44); + localparam [W-1:0] R45 = W'('h200000 + 45); + localparam [W-1:0] R46 = W'('h200000 + 46); + localparam [W-1:0] R47 = W'('h200000 + 47); + localparam [W-1:0] R48 = W'('h200000 + 48); + localparam [W-1:0] R49 = W'('h200000 + 49); + localparam [W-1:0] R50 = W'('h200000 + 50); + localparam [W-1:0] R51 = W'('h200000 + 51); + localparam [W-1:0] R52 = W'('h200000 + 52); + localparam [W-1:0] R53 = W'('h200000 + 53); + localparam [W-1:0] R54 = W'('h200000 + 54); + localparam [W-1:0] R55 = W'('h200000 + 55); + localparam [W-1:0] R56 = W'('h200000 + 56); + localparam [W-1:0] R57 = W'('h200000 + 57); + localparam [W-1:0] R58 = W'('h200000 + 58); + localparam [W-1:0] R59 = W'('h200000 + 59); + localparam [W-1:0] R60 = W'('h200000 + 60); + localparam [W-1:0] R61 = W'('h200000 + 61); + localparam [W-1:0] R62 = W'('h200000 + 62); + localparam [W-1:0] R63 = W'('h200000 + 63); + localparam [W-1:0] R64 = W'('h200000 + 64); + localparam [W-1:0] R65 = W'('h200000 + 65); + localparam [W-1:0] R66 = W'('h200000 + 66); + localparam [W-1:0] R67 = W'('h200000 + 67); + localparam [W-1:0] R68 = W'('h200000 + 68); + localparam [W-1:0] R69 = W'('h200000 + 69); + localparam [W-1:0] R70 = W'('h200000 + 70); + localparam [W-1:0] R71 = W'('h200000 + 71); + localparam [W-1:0] R72 = W'('h200000 + 72); + localparam [W-1:0] R73 = W'('h200000 + 73); + localparam [W-1:0] R74 = W'('h200000 + 74); + localparam [W-1:0] R75 = W'('h200000 + 75); + localparam [W-1:0] R76 = W'('h200000 + 76); + localparam [W-1:0] R77 = W'('h200000 + 77); + localparam [W-1:0] R78 = W'('h200000 + 78); + localparam [W-1:0] R79 = W'('h200000 + 79); + localparam [W-1:0] R80 = W'('h200000 + 80); + localparam [W-1:0] R81 = W'('h200000 + 81); + localparam [W-1:0] R82 = W'('h200000 + 82); + localparam [W-1:0] R83 = W'('h200000 + 83); + localparam [W-1:0] R84 = W'('h200000 + 84); + localparam [W-1:0] R85 = W'('h200000 + 85); + localparam [W-1:0] R86 = W'('h200000 + 86); + localparam [W-1:0] R87 = W'('h200000 + 87); + localparam [W-1:0] R88 = W'('h200000 + 88); + localparam [W-1:0] R89 = W'('h200000 + 89); + localparam [W-1:0] R90 = W'('h200000 + 90); + localparam [W-1:0] R91 = W'('h200000 + 91); + localparam [W-1:0] R92 = W'('h200000 + 92); + localparam [W-1:0] R93 = W'('h200000 + 93); + localparam [W-1:0] R94 = W'('h200000 + 94); + localparam [W-1:0] R95 = W'('h200000 + 95); + localparam [W-1:0] R96 = W'('h200000 + 96); + localparam [W-1:0] R97 = W'('h200000 + 97); + localparam [W-1:0] R98 = W'('h200000 + 98); + localparam [W-1:0] R99 = W'('h200000 + 99); + typedef struct packed { + logic r0; + logic r1; + logic r2; + logic r3; + logic r4; + logic r5; + logic r6; + logic r7; + logic r8; + logic r9; + logic r10; + logic r11; + logic r12; + logic r13; + logic r14; + logic r15; + logic r16; + logic r17; + logic r18; + logic r19; + logic r20; + logic r21; + logic r22; + logic r23; + logic r24; + logic r25; + logic r26; + logic r27; + logic r28; + logic r29; + logic r30; + logic r31; + logic r32; + logic r33; + logic r34; + logic r35; + logic r36; + logic r37; + logic r38; + logic r39; + logic r40; + logic r41; + logic r42; + logic r43; + logic r44; + logic r45; + logic r46; + logic r47; + logic r48; + logic r49; + logic r50; + logic r51; + logic r52; + logic r53; + logic r54; + logic r55; + logic r56; + logic r57; + logic r58; + logic r59; + logic r60; + logic r61; + logic r62; + logic r63; + logic r64; + logic r65; + logic r66; + logic r67; + logic r68; + logic r69; + logic r70; + logic r71; + logic r72; + logic r73; + logic r74; + logic r75; + logic r76; + logic r77; + logic r78; + logic r79; + logic r80; + logic r81; + logic r82; + logic r83; + logic r84; + logic r85; + logic r86; + logic r87; + logic r88; + logic r89; + logic r90; + logic r91; + logic r92; + logic r93; + logic r94; + logic r95; + logic r96; + logic r97; + logic r98; + logic r99; + } hit_t; + function automatic hit_t get_hit(input logic [22:0] a); + hit_t hit = '0; + unique case (a) + R0: hit.r0 = 1'b1; + R1: hit.r1 = 1'b1; + R2: hit.r2 = 1'b1; + R3: hit.r3 = 1'b1; + R4: hit.r4 = 1'b1; + R5: hit.r5 = 1'b1; + R6: hit.r6 = 1'b1; + R7: hit.r7 = 1'b1; + R8: hit.r8 = 1'b1; + R9: hit.r9 = 1'b1; + R10: hit.r10 = 1'b1; + R11: hit.r11 = 1'b1; + R12: hit.r12 = 1'b1; + R13: hit.r13 = 1'b1; + R14: hit.r14 = 1'b1; + R15: hit.r15 = 1'b1; + R16: hit.r16 = 1'b1; + R17: hit.r17 = 1'b1; + R18: hit.r18 = 1'b1; + R19: hit.r19 = 1'b1; + R20: hit.r20 = 1'b1; + R21: hit.r21 = 1'b1; + R22: hit.r22 = 1'b1; + R23: hit.r23 = 1'b1; + R24: hit.r24 = 1'b1; + R25: hit.r25 = 1'b1; + R26: hit.r26 = 1'b1; + R27: hit.r27 = 1'b1; + R28: hit.r28 = 1'b1; + R29: hit.r29 = 1'b1; + R30: hit.r30 = 1'b1; + R31: hit.r31 = 1'b1; + R32: hit.r32 = 1'b1; + R33: hit.r33 = 1'b1; + R34: hit.r34 = 1'b1; + R35: hit.r35 = 1'b1; + R36: hit.r36 = 1'b1; + R37: hit.r37 = 1'b1; + R38: hit.r38 = 1'b1; + R39: hit.r39 = 1'b1; + R40: hit.r40 = 1'b1; + R41: hit.r41 = 1'b1; + R42: hit.r42 = 1'b1; + R43: hit.r43 = 1'b1; + R44: hit.r44 = 1'b1; + R45: hit.r45 = 1'b1; + R46: hit.r46 = 1'b1; + R47: hit.r47 = 1'b1; + R48: hit.r48 = 1'b1; + R49: hit.r49 = 1'b1; + R50: hit.r50 = 1'b1; + R51: hit.r51 = 1'b1; + R52: hit.r52 = 1'b1; + R53: hit.r53 = 1'b1; + R54: hit.r54 = 1'b1; + R55: hit.r55 = 1'b1; + R56: hit.r56 = 1'b1; + R57: hit.r57 = 1'b1; + R58: hit.r58 = 1'b1; + R59: hit.r59 = 1'b1; + R60: hit.r60 = 1'b1; + R61: hit.r61 = 1'b1; + R62: hit.r62 = 1'b1; + R63: hit.r63 = 1'b1; + R64: hit.r64 = 1'b1; + R65: hit.r65 = 1'b1; + R66: hit.r66 = 1'b1; + R67: hit.r67 = 1'b1; + R68: hit.r68 = 1'b1; + R69: hit.r69 = 1'b1; + R70: hit.r70 = 1'b1; + R71: hit.r71 = 1'b1; + R72: hit.r72 = 1'b1; + R73: hit.r73 = 1'b1; + R74: hit.r74 = 1'b1; + R75: hit.r75 = 1'b1; + R76: hit.r76 = 1'b1; + R77: hit.r77 = 1'b1; + R78: hit.r78 = 1'b1; + R79: hit.r79 = 1'b1; + R80: hit.r80 = 1'b1; + R81: hit.r81 = 1'b1; + R82: hit.r82 = 1'b1; + R83: hit.r83 = 1'b1; + R84: hit.r84 = 1'b1; + R85: hit.r85 = 1'b1; + R86: hit.r86 = 1'b1; + R87: hit.r87 = 1'b1; + R88: hit.r88 = 1'b1; + R89: hit.r89 = 1'b1; + R90: hit.r90 = 1'b1; + R91: hit.r91 = 1'b1; + R92: hit.r92 = 1'b1; + R93: hit.r93 = 1'b1; + R94: hit.r94 = 1'b1; + R95: hit.r95 = 1'b1; + R96: hit.r96 = 1'b1; + R97: hit.r97 = 1'b1; + R98: hit.r98 = 1'b1; + R99: hit.r99 = 1'b1; + default: hit = '0; + endcase + return hit; + endfunction - initial begin - if (get_hit(R30) !== hit_t'{r30: 1'b1, default: '0}) $stop; - if (get_hit('1) !== '0) $stop; - if (get_hit('0) !== '0) $stop; - $write("*-* All Finished *-*\n"); - $finish; - end + initial begin + if (get_hit(R30) !== hit_t'{r30: 1'b1, default: '0}) $stop; + if (get_hit('1) !== '0) $stop; + if (get_hit('0) !== '0) $stop; + $write("*-* All Finished *-*\n"); + $finish; + end endmodule diff --git a/test_regress/t/t_if_deep.v b/test_regress/t/t_if_deep.v index 20cdcbaa2..26c8a4641 100644 --- a/test_regress/t/t_if_deep.v +++ b/test_regress/t/t_if_deep.v @@ -5,79 +5,79 @@ // SPDX-License-Identifier: CC0-1.0 module t (/*AUTOARG*/ - // Inputs - clk - ); - input clk; + // Inputs + clk + ); + input clk; - integer cyc = 0; - reg [63:0] crc; - reg [63:0] sum; + integer cyc = 0; + reg [63:0] crc; + reg [63:0] sum; - // Take CRC data and apply to testblock inputs - wire [31:0] in = crc[31:0]; + // Take CRC data and apply to testblock inputs + wire [31:0] in = crc[31:0]; - /*AUTOWIRE*/ - // Beginning of automatic wires (for undeclared instantiated-module outputs) - wire [31:0] out; // From test of Test.v - // End of automatics + /*AUTOWIRE*/ + // Beginning of automatic wires (for undeclared instantiated-module outputs) + wire [31:0] out; // From test of Test.v + // End of automatics - Test test (/*AUTOINST*/ - // Outputs - .out (out[31:0]), - // Inputs - .clk (clk), - .in (in[31:0])); + Test test (/*AUTOINST*/ + // Outputs + .out (out[31:0]), + // Inputs + .clk (clk), + .in (in[31:0])); - // Aggregate outputs into a single result vector - wire [63:0] result = {32'h0, out}; + // Aggregate outputs into a single result vector + wire [63:0] result = {32'h0, out}; - // What checksum will we end up with + // What checksum will we end up with `define EXPECTED_SUM 64'h966e272fd829e672 - // Test loop - always @ (posedge clk) begin + // Test loop + always @ (posedge clk) begin `ifdef TEST_VERBOSE - $write("[%0t] cyc==%0d crc=%x result=%x\n", $time, cyc, crc, result); + $write("[%0t] cyc==%0d crc=%x result=%x\n", $time, cyc, crc, result); `endif - cyc <= cyc + 1; - crc <= {crc[62:0], crc[63] ^ crc[2] ^ crc[0]}; - sum <= result ^ {sum[62:0], sum[63] ^ sum[2] ^ sum[0]}; - if (cyc==0) begin - // Setup - crc <= 64'h5aef0c8d_d70a4497; - end - else if (cyc<10) begin - sum <= 64'h0; - end - else if (cyc<90) begin - end - else if (cyc==99) begin - $write("[%0t] cyc==%0d crc=%x sum=%x\n", $time, cyc, crc, sum); - if (crc !== 64'hc77bb9b3784ea091) $stop; - if (sum !== `EXPECTED_SUM) $stop; - $write("*-* All Finished *-*\n"); - $finish; - end - end + cyc <= cyc + 1; + crc <= {crc[62:0], crc[63] ^ crc[2] ^ crc[0]}; + sum <= result ^ {sum[62:0], sum[63] ^ sum[2] ^ sum[0]}; + if (cyc==0) begin + // Setup + crc <= 64'h5aef0c8d_d70a4497; + end + else if (cyc<10) begin + sum <= 64'h0; + end + else if (cyc<90) begin + end + else if (cyc==99) begin + $write("[%0t] cyc==%0d crc=%x sum=%x\n", $time, cyc, crc, sum); + if (crc !== 64'hc77bb9b3784ea091) $stop; + if (sum !== `EXPECTED_SUM) $stop; + $write("*-* All Finished *-*\n"); + $finish; + end + end endmodule module Test (/*AUTOARG*/ - // Outputs - out, - // Inputs - clk, in - ); + // Outputs + out, + // Inputs + clk, in + ); - input clk; - input [31:0] in; - output [31:0] out; + input clk; + input [31:0] in; + output [31:0] out; - /*AUTOREG*/ - // Beginning of automatic regs (for this module's undeclared outputs) - reg [31:0] out; - // End of automatics + /*AUTOREG*/ + // Beginning of automatic regs (for this module's undeclared outputs) + reg [31:0] out; + // End of automatics `ifdef verilator `define dontOptimize $c1("1") @@ -85,57 +85,59 @@ module Test (/*AUTOARG*/ `define dontOptimize 1'b1 `endif - always @(posedge clk) begin - out <= in; - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (in[0]) - out <= ~in; - end + always @(posedge clk) begin + out <= in; + // verilog_format: off + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (in[0]) + out <= ~in; + // verilog_format: on + end endmodule diff --git a/test_regress/t/t_math_concat64.v b/test_regress/t/t_math_concat64.v index e30f45a00..c885567c4 100644 --- a/test_regress/t/t_math_concat64.v +++ b/test_regress/t/t_math_concat64.v @@ -5,127 +5,130 @@ // SPDX-License-Identifier: CC0-1.0 module t (/*AUTOARG*/ - // Inputs - clk - ); + // Inputs + clk + ); - input clk; - integer cyc; initial cyc=1; + input clk; + integer cyc; + initial cyc = 1; - reg [127:0] i; - wire [127:0] q1; - wire [127:0] q32; - wire [127:0] q64; - wire [63:0] q64_low; + reg [127:0] i; + wire [127:0] q1; + wire [127:0] q32; + wire [127:0] q64; + wire [ 63:0] q64_low; - assign q1 = { - i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], - i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], - i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], - i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4], + // verilog_format: off + assign q1 = { + i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], + i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], + i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], + i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4], - i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], - i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], - i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], - i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1], + i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], + i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], + i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], + i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1], - i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], - i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], - i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], - i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], + i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], + i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], + i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], + i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], - i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], - i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], - i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], - i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; + i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], + i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], + i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], + i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; - assign q64[127:64] = { - i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], - i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], - i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], - i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4], + assign q64[127:64] = { + i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], + i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], + i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], + i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4], - i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], - i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], - i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], - i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1]}; - assign q64[63:0] = { - i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], - i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], - i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], - i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], + i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], + i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], + i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], + i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1]}; + assign q64[63:0] = { + i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], + i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], + i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], + i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], - i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], - i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], - i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], - i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; + i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], + i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], + i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], + i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; - assign q64_low = { - i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], - i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], - i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], - i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], + assign q64_low = { + i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], + i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], + i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], + i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2], - i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], - i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], - i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], - i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; + i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], + i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], + i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], + i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; - assign q32[127:96] = { - i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], - i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], - i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], - i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4]}; - assign q32[95:64] = { - i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], - i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], - i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], - i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1]}; - assign q32[63:32] = { - i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], - i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], - i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], - i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2]}; - assign q32[31:0] = { - i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], - i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], - i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], - i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; + assign q32[127:96] = { + i[24*4], i[25*4], i[26*4], i[27*4], i[28*4], i[29*4], i[30*4], i[31*4], + i[16*4], i[17*4], i[18*4], i[19*4], i[20*4], i[21*4], i[22*4], i[23*4], + i[8*4], i[9*4], i[10*4], i[11*4], i[12*4], i[13*4], i[14*4], i[15*4], + i[0*4], i[1*4], i[2*4], i[3*4], i[4*4], i[5*4], i[6*4], i[7*4]}; + assign q32[95:64] = { + i[24*4+1], i[25*4+1], i[26*4+1], i[27*4+1], i[28*4+1], i[29*4+1], i[30*4+1], i[31*4+1], + i[16*4+1], i[17*4+1], i[18*4+1], i[19*4+1], i[20*4+1], i[21*4+1], i[22*4+1], i[23*4+1], + i[8*4+1], i[9*4+1], i[10*4+1], i[11*4+1], i[12*4+1], i[13*4+1], i[14*4+1], i[15*4+1], + i[0*4+1], i[1*4+1], i[2*4+1], i[3*4+1], i[4*4+1], i[5*4+1], i[6*4+1], i[7*4+1]}; + assign q32[63:32] = { + i[24*4+2], i[25*4+2], i[26*4+2], i[27*4+2], i[28*4+2], i[29*4+2], i[30*4+2], i[31*4+2], + i[16*4+2], i[17*4+2], i[18*4+2], i[19*4+2], i[20*4+2], i[21*4+2], i[22*4+2], i[23*4+2], + i[8*4+2], i[9*4+2], i[10*4+2], i[11*4+2], i[12*4+2], i[13*4+2], i[14*4+2], i[15*4+2], + i[0*4+2], i[1*4+2], i[2*4+2], i[3*4+2], i[4*4+2], i[5*4+2], i[6*4+2], i[7*4+2]}; + assign q32[31:0] = { + i[24*4+3], i[25*4+3], i[26*4+3], i[27*4+3], i[28*4+3], i[29*4+3], i[30*4+3], i[31*4+3], + i[16*4+3], i[17*4+3], i[18*4+3], i[19*4+3], i[20*4+3], i[21*4+3], i[22*4+3], i[23*4+3], + i[8*4+3], i[9*4+3], i[10*4+3], i[11*4+3], i[12*4+3], i[13*4+3], i[14*4+3], i[15*4+3], + i[0*4+3], i[1*4+3], i[2*4+3], i[3*4+3], i[4*4+3], i[5*4+3], i[6*4+3], i[7*4+3]}; + // verilog_format: on - always @ (posedge clk) begin - if (cyc!=0) begin - cyc <= cyc + 1; + always @(posedge clk) begin + if (cyc != 0) begin + cyc <= cyc + 1; `ifdef TEST_VERBOSE - $write("%x %x\n", q1, i); + $write("%x %x\n", q1, i); `endif - if (cyc==1) begin - i <= 128'hed388e646c843d35de489bab2413d770; - end - if (cyc==2) begin - i <= 128'h0e17c88f3d5fe51a982646c8e2bd68c3; - if (q1 != 128'h06f0b17c6551e269e3ab07723b26fb10) $stop; - if (q1 != q32) $stop; - if (q1 != q64) $stop; - if (q1[63:0] != q64_low) $stop; - end - if (cyc==3) begin - i <= 128'he236ddfddddbdad20a48e039c9f395b8; - if (q1 != 128'h8c6f018c8a992c979a3e7859f29ac36d) $stop; - if (q1 != q32) $stop; - if (q1 != q64) $stop; - if (q1[63:0] != q64_low) $stop; - end - if (cyc==4) begin - i <= 128'h45e0eb7642b148537491f3da147e7f26; - if (q1 != 128'hf45fc07e4fa8524cf9571425f17f9ad7) $stop; - if (q1 != q32) $stop; - if (q1 != q64) $stop; - if (q1[63:0] != q64_low) $stop; - end - if (cyc==9) begin - $write("*-* All Finished *-*\n"); - $finish; - end + if (cyc == 1) begin + i <= 128'hed388e646c843d35de489bab2413d770; end - end + if (cyc == 2) begin + i <= 128'h0e17c88f3d5fe51a982646c8e2bd68c3; + if (q1 != 128'h06f0b17c6551e269e3ab07723b26fb10) $stop; + if (q1 != q32) $stop; + if (q1 != q64) $stop; + if (q1[63:0] != q64_low) $stop; + end + if (cyc == 3) begin + i <= 128'he236ddfddddbdad20a48e039c9f395b8; + if (q1 != 128'h8c6f018c8a992c979a3e7859f29ac36d) $stop; + if (q1 != q32) $stop; + if (q1 != q64) $stop; + if (q1[63:0] != q64_low) $stop; + end + if (cyc == 4) begin + i <= 128'h45e0eb7642b148537491f3da147e7f26; + if (q1 != 128'hf45fc07e4fa8524cf9571425f17f9ad7) $stop; + if (q1 != q32) $stop; + if (q1 != q64) $stop; + if (q1[63:0] != q64_low) $stop; + end + if (cyc == 9) begin + $write("*-* All Finished *-*\n"); + $finish; + end + end + end endmodule diff --git a/test_regress/t/t_math_cond_huge.v b/test_regress/t/t_math_cond_huge.v index cff1f7099..4864b982c 100644 --- a/test_regress/t/t_math_cond_huge.v +++ b/test_regress/t/t_math_cond_huge.v @@ -5,412 +5,414 @@ // SPDX-License-Identifier: CC0-1.0 module t (/*AUTOARG*/ - // Inputs - clk - ); - input clk; + // Inputs + clk + ); + input clk; - integer cyc = 0; - reg [63:0] crc; - reg [63:0] sum; + integer cyc = 0; + reg [63:0] crc; + reg [63:0] sum; - // Take CRC data and apply to testblock inputs - wire [7:0] sel = crc[7:0]; - wire [255+3:0] in = {crc[2:0],crc,crc,crc,crc}; + // Take CRC data and apply to testblock inputs + wire [7:0] sel = crc[7:0]; + wire [255+3:0] in = {crc[2:0],crc,crc,crc,crc}; - /*AUTOWIRE*/ - // Beginning of automatic wires (for undeclared instantiated-module outputs) - wire [3:0] out; // From test of Test.v - // End of automatics + /*AUTOWIRE*/ + // Beginning of automatic wires (for undeclared instantiated-module outputs) + wire [3:0] out; // From test of Test.v + // End of automatics - /* Test AUTO_TEMPLATE ( - .i\([0-9]+\) (in[\1 +:4]), - ); */ + /* Test AUTO_TEMPLATE ( + .i\([0-9]+\) (in[\1 +:4]), + ); */ - Test test (/*AUTOINST*/ - // Outputs - .out (out[3:0]), - // Inputs - .sel (sel[7:0]), - .i0 (in[0 +:4]), // Templated - .i1 (in[1 +:4]), // Templated - .i2 (in[2 +:4]), // Templated - .i3 (in[3 +:4]), // Templated - .i4 (in[4 +:4]), // Templated - .i5 (in[5 +:4]), // Templated - .i6 (in[6 +:4]), // Templated - .i7 (in[7 +:4]), // Templated - .i8 (in[8 +:4]), // Templated - .i9 (in[9 +:4]), // Templated - .i10 (in[10 +:4]), // Templated - .i11 (in[11 +:4]), // Templated - .i12 (in[12 +:4]), // Templated - .i13 (in[13 +:4]), // Templated - .i14 (in[14 +:4]), // Templated - .i15 (in[15 +:4]), // Templated - .i16 (in[16 +:4]), // Templated - .i17 (in[17 +:4]), // Templated - .i18 (in[18 +:4]), // Templated - .i19 (in[19 +:4]), // Templated - .i20 (in[20 +:4]), // Templated - .i21 (in[21 +:4]), // Templated - .i22 (in[22 +:4]), // Templated - .i23 (in[23 +:4]), // Templated - .i24 (in[24 +:4]), // Templated - .i25 (in[25 +:4]), // Templated - .i26 (in[26 +:4]), // Templated - .i27 (in[27 +:4]), // Templated - .i28 (in[28 +:4]), // Templated - .i29 (in[29 +:4]), // Templated - .i30 (in[30 +:4]), // Templated - .i31 (in[31 +:4]), // Templated - .i32 (in[32 +:4]), // Templated - .i33 (in[33 +:4]), // Templated - .i34 (in[34 +:4]), // Templated - .i35 (in[35 +:4]), // Templated - .i36 (in[36 +:4]), // Templated - .i37 (in[37 +:4]), // Templated - .i38 (in[38 +:4]), // Templated - .i39 (in[39 +:4]), // Templated - .i40 (in[40 +:4]), // Templated - .i41 (in[41 +:4]), // Templated - .i42 (in[42 +:4]), // Templated - .i43 (in[43 +:4]), // Templated - .i44 (in[44 +:4]), // Templated - .i45 (in[45 +:4]), // Templated - .i46 (in[46 +:4]), // Templated - .i47 (in[47 +:4]), // Templated - .i48 (in[48 +:4]), // Templated - .i49 (in[49 +:4]), // Templated - .i50 (in[50 +:4]), // Templated - .i51 (in[51 +:4]), // Templated - .i52 (in[52 +:4]), // Templated - .i53 (in[53 +:4]), // Templated - .i54 (in[54 +:4]), // Templated - .i55 (in[55 +:4]), // Templated - .i56 (in[56 +:4]), // Templated - .i57 (in[57 +:4]), // Templated - .i58 (in[58 +:4]), // Templated - .i59 (in[59 +:4]), // Templated - .i60 (in[60 +:4]), // Templated - .i61 (in[61 +:4]), // Templated - .i62 (in[62 +:4]), // Templated - .i63 (in[63 +:4]), // Templated - .i64 (in[64 +:4]), // Templated - .i65 (in[65 +:4]), // Templated - .i66 (in[66 +:4]), // Templated - .i67 (in[67 +:4]), // Templated - .i68 (in[68 +:4]), // Templated - .i69 (in[69 +:4]), // Templated - .i70 (in[70 +:4]), // Templated - .i71 (in[71 +:4]), // Templated - .i72 (in[72 +:4]), // Templated - .i73 (in[73 +:4]), // Templated - .i74 (in[74 +:4]), // Templated - .i75 (in[75 +:4]), // Templated - .i76 (in[76 +:4]), // Templated - .i77 (in[77 +:4]), // Templated - .i78 (in[78 +:4]), // Templated - .i79 (in[79 +:4]), // Templated - .i80 (in[80 +:4]), // Templated - .i81 (in[81 +:4]), // Templated - .i82 (in[82 +:4]), // Templated - .i83 (in[83 +:4]), // Templated - .i84 (in[84 +:4]), // Templated - .i85 (in[85 +:4]), // Templated - .i86 (in[86 +:4]), // Templated - .i87 (in[87 +:4]), // Templated - .i88 (in[88 +:4]), // Templated - .i89 (in[89 +:4]), // Templated - .i90 (in[90 +:4]), // Templated - .i91 (in[91 +:4]), // Templated - .i92 (in[92 +:4]), // Templated - .i93 (in[93 +:4]), // Templated - .i94 (in[94 +:4]), // Templated - .i95 (in[95 +:4]), // Templated - .i96 (in[96 +:4]), // Templated - .i97 (in[97 +:4]), // Templated - .i98 (in[98 +:4]), // Templated - .i99 (in[99 +:4]), // Templated - .i100 (in[100 +:4]), // Templated - .i101 (in[101 +:4]), // Templated - .i102 (in[102 +:4]), // Templated - .i103 (in[103 +:4]), // Templated - .i104 (in[104 +:4]), // Templated - .i105 (in[105 +:4]), // Templated - .i106 (in[106 +:4]), // Templated - .i107 (in[107 +:4]), // Templated - .i108 (in[108 +:4]), // Templated - .i109 (in[109 +:4]), // Templated - .i110 (in[110 +:4]), // Templated - .i111 (in[111 +:4]), // Templated - .i112 (in[112 +:4]), // Templated - .i113 (in[113 +:4]), // Templated - .i114 (in[114 +:4]), // Templated - .i115 (in[115 +:4]), // Templated - .i116 (in[116 +:4]), // Templated - .i117 (in[117 +:4]), // Templated - .i118 (in[118 +:4]), // Templated - .i119 (in[119 +:4]), // Templated - .i120 (in[120 +:4]), // Templated - .i121 (in[121 +:4]), // Templated - .i122 (in[122 +:4]), // Templated - .i123 (in[123 +:4]), // Templated - .i124 (in[124 +:4]), // Templated - .i125 (in[125 +:4]), // Templated - .i126 (in[126 +:4]), // Templated - .i127 (in[127 +:4]), // Templated - .i128 (in[128 +:4]), // Templated - .i129 (in[129 +:4]), // Templated - .i130 (in[130 +:4]), // Templated - .i131 (in[131 +:4]), // Templated - .i132 (in[132 +:4]), // Templated - .i133 (in[133 +:4]), // Templated - .i134 (in[134 +:4]), // Templated - .i135 (in[135 +:4]), // Templated - .i136 (in[136 +:4]), // Templated - .i137 (in[137 +:4]), // Templated - .i138 (in[138 +:4]), // Templated - .i139 (in[139 +:4]), // Templated - .i140 (in[140 +:4]), // Templated - .i141 (in[141 +:4]), // Templated - .i142 (in[142 +:4]), // Templated - .i143 (in[143 +:4]), // Templated - .i144 (in[144 +:4]), // Templated - .i145 (in[145 +:4]), // Templated - .i146 (in[146 +:4]), // Templated - .i147 (in[147 +:4]), // Templated - .i148 (in[148 +:4]), // Templated - .i149 (in[149 +:4]), // Templated - .i150 (in[150 +:4]), // Templated - .i151 (in[151 +:4]), // Templated - .i152 (in[152 +:4]), // Templated - .i153 (in[153 +:4]), // Templated - .i154 (in[154 +:4]), // Templated - .i155 (in[155 +:4]), // Templated - .i156 (in[156 +:4]), // Templated - .i157 (in[157 +:4]), // Templated - .i158 (in[158 +:4]), // Templated - .i159 (in[159 +:4]), // Templated - .i160 (in[160 +:4]), // Templated - .i161 (in[161 +:4]), // Templated - .i162 (in[162 +:4]), // Templated - .i163 (in[163 +:4]), // Templated - .i164 (in[164 +:4]), // Templated - .i165 (in[165 +:4]), // Templated - .i166 (in[166 +:4]), // Templated - .i167 (in[167 +:4]), // Templated - .i168 (in[168 +:4]), // Templated - .i169 (in[169 +:4]), // Templated - .i170 (in[170 +:4]), // Templated - .i171 (in[171 +:4]), // Templated - .i172 (in[172 +:4]), // Templated - .i173 (in[173 +:4]), // Templated - .i174 (in[174 +:4]), // Templated - .i175 (in[175 +:4]), // Templated - .i176 (in[176 +:4]), // Templated - .i177 (in[177 +:4]), // Templated - .i178 (in[178 +:4]), // Templated - .i179 (in[179 +:4]), // Templated - .i180 (in[180 +:4]), // Templated - .i181 (in[181 +:4]), // Templated - .i182 (in[182 +:4]), // Templated - .i183 (in[183 +:4]), // Templated - .i184 (in[184 +:4]), // Templated - .i185 (in[185 +:4]), // Templated - .i186 (in[186 +:4]), // Templated - .i187 (in[187 +:4]), // Templated - .i188 (in[188 +:4]), // Templated - .i189 (in[189 +:4]), // Templated - .i190 (in[190 +:4]), // Templated - .i191 (in[191 +:4]), // Templated - .i192 (in[192 +:4]), // Templated - .i193 (in[193 +:4]), // Templated - .i194 (in[194 +:4]), // Templated - .i195 (in[195 +:4]), // Templated - .i196 (in[196 +:4]), // Templated - .i197 (in[197 +:4]), // Templated - .i198 (in[198 +:4]), // Templated - .i199 (in[199 +:4]), // Templated - .i200 (in[200 +:4]), // Templated - .i201 (in[201 +:4]), // Templated - .i202 (in[202 +:4]), // Templated - .i203 (in[203 +:4]), // Templated - .i204 (in[204 +:4]), // Templated - .i205 (in[205 +:4]), // Templated - .i206 (in[206 +:4]), // Templated - .i207 (in[207 +:4]), // Templated - .i208 (in[208 +:4]), // Templated - .i209 (in[209 +:4]), // Templated - .i210 (in[210 +:4]), // Templated - .i211 (in[211 +:4]), // Templated - .i212 (in[212 +:4]), // Templated - .i213 (in[213 +:4]), // Templated - .i214 (in[214 +:4]), // Templated - .i215 (in[215 +:4]), // Templated - .i216 (in[216 +:4]), // Templated - .i217 (in[217 +:4]), // Templated - .i218 (in[218 +:4]), // Templated - .i219 (in[219 +:4]), // Templated - .i220 (in[220 +:4]), // Templated - .i221 (in[221 +:4]), // Templated - .i222 (in[222 +:4]), // Templated - .i223 (in[223 +:4]), // Templated - .i224 (in[224 +:4]), // Templated - .i225 (in[225 +:4]), // Templated - .i226 (in[226 +:4]), // Templated - .i227 (in[227 +:4]), // Templated - .i228 (in[228 +:4]), // Templated - .i229 (in[229 +:4]), // Templated - .i230 (in[230 +:4]), // Templated - .i231 (in[231 +:4]), // Templated - .i232 (in[232 +:4]), // Templated - .i233 (in[233 +:4]), // Templated - .i234 (in[234 +:4]), // Templated - .i235 (in[235 +:4]), // Templated - .i236 (in[236 +:4]), // Templated - .i237 (in[237 +:4]), // Templated - .i238 (in[238 +:4]), // Templated - .i239 (in[239 +:4]), // Templated - .i240 (in[240 +:4]), // Templated - .i241 (in[241 +:4]), // Templated - .i242 (in[242 +:4]), // Templated - .i243 (in[243 +:4]), // Templated - .i244 (in[244 +:4]), // Templated - .i245 (in[245 +:4]), // Templated - .i246 (in[246 +:4]), // Templated - .i247 (in[247 +:4]), // Templated - .i248 (in[248 +:4]), // Templated - .i249 (in[249 +:4]), // Templated - .i250 (in[250 +:4]), // Templated - .i251 (in[251 +:4]), // Templated - .i252 (in[252 +:4]), // Templated - .i253 (in[253 +:4]), // Templated - .i254 (in[254 +:4]), // Templated - .i255 (in[255 +:4])); // Templated + Test test (/*AUTOINST*/ + // Outputs + .out (out[3:0]), + // Inputs + .sel (sel[7:0]), + .i0 (in[0 +:4]), // Templated + .i1 (in[1 +:4]), // Templated + .i2 (in[2 +:4]), // Templated + .i3 (in[3 +:4]), // Templated + .i4 (in[4 +:4]), // Templated + .i5 (in[5 +:4]), // Templated + .i6 (in[6 +:4]), // Templated + .i7 (in[7 +:4]), // Templated + .i8 (in[8 +:4]), // Templated + .i9 (in[9 +:4]), // Templated + .i10 (in[10 +:4]), // Templated + .i11 (in[11 +:4]), // Templated + .i12 (in[12 +:4]), // Templated + .i13 (in[13 +:4]), // Templated + .i14 (in[14 +:4]), // Templated + .i15 (in[15 +:4]), // Templated + .i16 (in[16 +:4]), // Templated + .i17 (in[17 +:4]), // Templated + .i18 (in[18 +:4]), // Templated + .i19 (in[19 +:4]), // Templated + .i20 (in[20 +:4]), // Templated + .i21 (in[21 +:4]), // Templated + .i22 (in[22 +:4]), // Templated + .i23 (in[23 +:4]), // Templated + .i24 (in[24 +:4]), // Templated + .i25 (in[25 +:4]), // Templated + .i26 (in[26 +:4]), // Templated + .i27 (in[27 +:4]), // Templated + .i28 (in[28 +:4]), // Templated + .i29 (in[29 +:4]), // Templated + .i30 (in[30 +:4]), // Templated + .i31 (in[31 +:4]), // Templated + .i32 (in[32 +:4]), // Templated + .i33 (in[33 +:4]), // Templated + .i34 (in[34 +:4]), // Templated + .i35 (in[35 +:4]), // Templated + .i36 (in[36 +:4]), // Templated + .i37 (in[37 +:4]), // Templated + .i38 (in[38 +:4]), // Templated + .i39 (in[39 +:4]), // Templated + .i40 (in[40 +:4]), // Templated + .i41 (in[41 +:4]), // Templated + .i42 (in[42 +:4]), // Templated + .i43 (in[43 +:4]), // Templated + .i44 (in[44 +:4]), // Templated + .i45 (in[45 +:4]), // Templated + .i46 (in[46 +:4]), // Templated + .i47 (in[47 +:4]), // Templated + .i48 (in[48 +:4]), // Templated + .i49 (in[49 +:4]), // Templated + .i50 (in[50 +:4]), // Templated + .i51 (in[51 +:4]), // Templated + .i52 (in[52 +:4]), // Templated + .i53 (in[53 +:4]), // Templated + .i54 (in[54 +:4]), // Templated + .i55 (in[55 +:4]), // Templated + .i56 (in[56 +:4]), // Templated + .i57 (in[57 +:4]), // Templated + .i58 (in[58 +:4]), // Templated + .i59 (in[59 +:4]), // Templated + .i60 (in[60 +:4]), // Templated + .i61 (in[61 +:4]), // Templated + .i62 (in[62 +:4]), // Templated + .i63 (in[63 +:4]), // Templated + .i64 (in[64 +:4]), // Templated + .i65 (in[65 +:4]), // Templated + .i66 (in[66 +:4]), // Templated + .i67 (in[67 +:4]), // Templated + .i68 (in[68 +:4]), // Templated + .i69 (in[69 +:4]), // Templated + .i70 (in[70 +:4]), // Templated + .i71 (in[71 +:4]), // Templated + .i72 (in[72 +:4]), // Templated + .i73 (in[73 +:4]), // Templated + .i74 (in[74 +:4]), // Templated + .i75 (in[75 +:4]), // Templated + .i76 (in[76 +:4]), // Templated + .i77 (in[77 +:4]), // Templated + .i78 (in[78 +:4]), // Templated + .i79 (in[79 +:4]), // Templated + .i80 (in[80 +:4]), // Templated + .i81 (in[81 +:4]), // Templated + .i82 (in[82 +:4]), // Templated + .i83 (in[83 +:4]), // Templated + .i84 (in[84 +:4]), // Templated + .i85 (in[85 +:4]), // Templated + .i86 (in[86 +:4]), // Templated + .i87 (in[87 +:4]), // Templated + .i88 (in[88 +:4]), // Templated + .i89 (in[89 +:4]), // Templated + .i90 (in[90 +:4]), // Templated + .i91 (in[91 +:4]), // Templated + .i92 (in[92 +:4]), // Templated + .i93 (in[93 +:4]), // Templated + .i94 (in[94 +:4]), // Templated + .i95 (in[95 +:4]), // Templated + .i96 (in[96 +:4]), // Templated + .i97 (in[97 +:4]), // Templated + .i98 (in[98 +:4]), // Templated + .i99 (in[99 +:4]), // Templated + .i100 (in[100 +:4]), // Templated + .i101 (in[101 +:4]), // Templated + .i102 (in[102 +:4]), // Templated + .i103 (in[103 +:4]), // Templated + .i104 (in[104 +:4]), // Templated + .i105 (in[105 +:4]), // Templated + .i106 (in[106 +:4]), // Templated + .i107 (in[107 +:4]), // Templated + .i108 (in[108 +:4]), // Templated + .i109 (in[109 +:4]), // Templated + .i110 (in[110 +:4]), // Templated + .i111 (in[111 +:4]), // Templated + .i112 (in[112 +:4]), // Templated + .i113 (in[113 +:4]), // Templated + .i114 (in[114 +:4]), // Templated + .i115 (in[115 +:4]), // Templated + .i116 (in[116 +:4]), // Templated + .i117 (in[117 +:4]), // Templated + .i118 (in[118 +:4]), // Templated + .i119 (in[119 +:4]), // Templated + .i120 (in[120 +:4]), // Templated + .i121 (in[121 +:4]), // Templated + .i122 (in[122 +:4]), // Templated + .i123 (in[123 +:4]), // Templated + .i124 (in[124 +:4]), // Templated + .i125 (in[125 +:4]), // Templated + .i126 (in[126 +:4]), // Templated + .i127 (in[127 +:4]), // Templated + .i128 (in[128 +:4]), // Templated + .i129 (in[129 +:4]), // Templated + .i130 (in[130 +:4]), // Templated + .i131 (in[131 +:4]), // Templated + .i132 (in[132 +:4]), // Templated + .i133 (in[133 +:4]), // Templated + .i134 (in[134 +:4]), // Templated + .i135 (in[135 +:4]), // Templated + .i136 (in[136 +:4]), // Templated + .i137 (in[137 +:4]), // Templated + .i138 (in[138 +:4]), // Templated + .i139 (in[139 +:4]), // Templated + .i140 (in[140 +:4]), // Templated + .i141 (in[141 +:4]), // Templated + .i142 (in[142 +:4]), // Templated + .i143 (in[143 +:4]), // Templated + .i144 (in[144 +:4]), // Templated + .i145 (in[145 +:4]), // Templated + .i146 (in[146 +:4]), // Templated + .i147 (in[147 +:4]), // Templated + .i148 (in[148 +:4]), // Templated + .i149 (in[149 +:4]), // Templated + .i150 (in[150 +:4]), // Templated + .i151 (in[151 +:4]), // Templated + .i152 (in[152 +:4]), // Templated + .i153 (in[153 +:4]), // Templated + .i154 (in[154 +:4]), // Templated + .i155 (in[155 +:4]), // Templated + .i156 (in[156 +:4]), // Templated + .i157 (in[157 +:4]), // Templated + .i158 (in[158 +:4]), // Templated + .i159 (in[159 +:4]), // Templated + .i160 (in[160 +:4]), // Templated + .i161 (in[161 +:4]), // Templated + .i162 (in[162 +:4]), // Templated + .i163 (in[163 +:4]), // Templated + .i164 (in[164 +:4]), // Templated + .i165 (in[165 +:4]), // Templated + .i166 (in[166 +:4]), // Templated + .i167 (in[167 +:4]), // Templated + .i168 (in[168 +:4]), // Templated + .i169 (in[169 +:4]), // Templated + .i170 (in[170 +:4]), // Templated + .i171 (in[171 +:4]), // Templated + .i172 (in[172 +:4]), // Templated + .i173 (in[173 +:4]), // Templated + .i174 (in[174 +:4]), // Templated + .i175 (in[175 +:4]), // Templated + .i176 (in[176 +:4]), // Templated + .i177 (in[177 +:4]), // Templated + .i178 (in[178 +:4]), // Templated + .i179 (in[179 +:4]), // Templated + .i180 (in[180 +:4]), // Templated + .i181 (in[181 +:4]), // Templated + .i182 (in[182 +:4]), // Templated + .i183 (in[183 +:4]), // Templated + .i184 (in[184 +:4]), // Templated + .i185 (in[185 +:4]), // Templated + .i186 (in[186 +:4]), // Templated + .i187 (in[187 +:4]), // Templated + .i188 (in[188 +:4]), // Templated + .i189 (in[189 +:4]), // Templated + .i190 (in[190 +:4]), // Templated + .i191 (in[191 +:4]), // Templated + .i192 (in[192 +:4]), // Templated + .i193 (in[193 +:4]), // Templated + .i194 (in[194 +:4]), // Templated + .i195 (in[195 +:4]), // Templated + .i196 (in[196 +:4]), // Templated + .i197 (in[197 +:4]), // Templated + .i198 (in[198 +:4]), // Templated + .i199 (in[199 +:4]), // Templated + .i200 (in[200 +:4]), // Templated + .i201 (in[201 +:4]), // Templated + .i202 (in[202 +:4]), // Templated + .i203 (in[203 +:4]), // Templated + .i204 (in[204 +:4]), // Templated + .i205 (in[205 +:4]), // Templated + .i206 (in[206 +:4]), // Templated + .i207 (in[207 +:4]), // Templated + .i208 (in[208 +:4]), // Templated + .i209 (in[209 +:4]), // Templated + .i210 (in[210 +:4]), // Templated + .i211 (in[211 +:4]), // Templated + .i212 (in[212 +:4]), // Templated + .i213 (in[213 +:4]), // Templated + .i214 (in[214 +:4]), // Templated + .i215 (in[215 +:4]), // Templated + .i216 (in[216 +:4]), // Templated + .i217 (in[217 +:4]), // Templated + .i218 (in[218 +:4]), // Templated + .i219 (in[219 +:4]), // Templated + .i220 (in[220 +:4]), // Templated + .i221 (in[221 +:4]), // Templated + .i222 (in[222 +:4]), // Templated + .i223 (in[223 +:4]), // Templated + .i224 (in[224 +:4]), // Templated + .i225 (in[225 +:4]), // Templated + .i226 (in[226 +:4]), // Templated + .i227 (in[227 +:4]), // Templated + .i228 (in[228 +:4]), // Templated + .i229 (in[229 +:4]), // Templated + .i230 (in[230 +:4]), // Templated + .i231 (in[231 +:4]), // Templated + .i232 (in[232 +:4]), // Templated + .i233 (in[233 +:4]), // Templated + .i234 (in[234 +:4]), // Templated + .i235 (in[235 +:4]), // Templated + .i236 (in[236 +:4]), // Templated + .i237 (in[237 +:4]), // Templated + .i238 (in[238 +:4]), // Templated + .i239 (in[239 +:4]), // Templated + .i240 (in[240 +:4]), // Templated + .i241 (in[241 +:4]), // Templated + .i242 (in[242 +:4]), // Templated + .i243 (in[243 +:4]), // Templated + .i244 (in[244 +:4]), // Templated + .i245 (in[245 +:4]), // Templated + .i246 (in[246 +:4]), // Templated + .i247 (in[247 +:4]), // Templated + .i248 (in[248 +:4]), // Templated + .i249 (in[249 +:4]), // Templated + .i250 (in[250 +:4]), // Templated + .i251 (in[251 +:4]), // Templated + .i252 (in[252 +:4]), // Templated + .i253 (in[253 +:4]), // Templated + .i254 (in[254 +:4]), // Templated + .i255 (in[255 +:4])); // Templated - // Aggregate outputs into a single result vector - wire [63:0] result = {60'h0, out}; + // Aggregate outputs into a single result vector + wire [63:0] result = {60'h0, out}; - // What checksum will we end up with + // What checksum will we end up with `define EXPECTED_SUM 64'h36f3051d15caf07a - // Test loop - always @ (posedge clk) begin + // Test loop + always @ (posedge clk) begin `ifdef TEST_VERBOSE - $write("[%0t] cyc==%0d crc=%x result=%x\n", $time, cyc, crc, result); + $write("[%0t] cyc==%0d crc=%x result=%x\n", $time, cyc, crc, result); `endif - cyc <= cyc + 1; - crc <= {crc[62:0], crc[63] ^ crc[2] ^ crc[0]}; - sum <= result ^ {sum[62:0], sum[63] ^ sum[2] ^ sum[0]}; - if (cyc==0) begin - // Setup - crc <= 64'h5aef0c8d_d70a4497; - end - else if (cyc<10) begin - sum <= 64'h0; - end - else if (cyc<90) begin - end - else if (cyc==99) begin - $write("[%0t] cyc==%0d crc=%x sum=%x\n", $time, cyc, crc, sum); - if (crc !== 64'hc77bb9b3784ea091) $stop; - if (sum !== `EXPECTED_SUM) $stop; - $write("*-* All Finished *-*\n"); - $finish; - end - end + cyc <= cyc + 1; + crc <= {crc[62:0], crc[63] ^ crc[2] ^ crc[0]}; + sum <= result ^ {sum[62:0], sum[63] ^ sum[2] ^ sum[0]}; + if (cyc==0) begin + // Setup + crc <= 64'h5aef0c8d_d70a4497; + end + else if (cyc<10) begin + sum <= 64'h0; + end + else if (cyc<90) begin + end + else if (cyc==99) begin + $write("[%0t] cyc==%0d crc=%x sum=%x\n", $time, cyc, crc, sum); + if (crc !== 64'hc77bb9b3784ea091) $stop; + if (sum !== `EXPECTED_SUM) $stop; + $write("*-* All Finished *-*\n"); + $finish; + end + end endmodule module Test ( output wire [3:0] out, - input [7:0] sel, + input [7:0] sel, - input [3:0] i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, - i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, - i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, - i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64, i65, i66, i67, - i68, i69, i70, i71, i72, i73, i74, i75, i76, i77, i78, i79, i80, i81, i82, i83, i84, - i85, i86, i87, i88, i89, i90, i91, i92, i93, i94, i95, i96, i97, i98, i99, i100, i101, - i102, i103, i104, i105, i106, i107, i108, i109, i110, i111, i112, i113, i114, i115, - i116, i117, i118, i119, i120, i121, i122, i123, i124, i125, i126, i127, i128, i129, - i130, i131, i132, i133, i134, i135, i136, i137, i138, i139, i140, i141, i142, i143, - i144, i145, i146, i147, i148, i149, i150, i151, i152, i153, i154, i155, i156, i157, - i158, i159, i160, i161, i162, i163, i164, i165, i166, i167, i168, i169, i170, i171, - i172, i173, i174, i175, i176, i177, i178, i179, i180, i181, i182, i183, i184, i185, - i186, i187, i188, i189, i190, i191, i192, i193, i194, i195, i196, i197, i198, i199, - i200, i201, i202, i203, i204, i205, i206, i207, i208, i209, i210, i211, i212, i213, - i214, i215, i216, i217, i218, i219, i220, i221, i222, i223, i224, i225, i226, i227, - i228, i229, i230, i231, i232, i233, i234, i235, i236, i237, i238, i239, i240, i241, - i242, i243, i244, i245, i246, i247, i248, i249, i250, i251, i252, i253, i254, i255 - ); + // verilog_format: off + input [3:0] i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, + i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, + i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, + i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64, i65, i66, i67, + i68, i69, i70, i71, i72, i73, i74, i75, i76, i77, i78, i79, i80, i81, i82, i83, i84, + i85, i86, i87, i88, i89, i90, i91, i92, i93, i94, i95, i96, i97, i98, i99, i100, i101, + i102, i103, i104, i105, i106, i107, i108, i109, i110, i111, i112, i113, i114, i115, + i116, i117, i118, i119, i120, i121, i122, i123, i124, i125, i126, i127, i128, i129, + i130, i131, i132, i133, i134, i135, i136, i137, i138, i139, i140, i141, i142, i143, + i144, i145, i146, i147, i148, i149, i150, i151, i152, i153, i154, i155, i156, i157, + i158, i159, i160, i161, i162, i163, i164, i165, i166, i167, i168, i169, i170, i171, + i172, i173, i174, i175, i176, i177, i178, i179, i180, i181, i182, i183, i184, i185, + i186, i187, i188, i189, i190, i191, i192, i193, i194, i195, i196, i197, i198, i199, + i200, i201, i202, i203, i204, i205, i206, i207, i208, i209, i210, i211, i212, i213, + i214, i215, i216, i217, i218, i219, i220, i221, i222, i223, i224, i225, i226, i227, + i228, i229, i230, i231, i232, i233, i234, i235, i236, i237, i238, i239, i240, i241, + i242, i243, i244, i245, i246, i247, i248, i249, i250, i251, i252, i253, i254, i255 + // verilog_format: on + ); - assign out - = (sel==8'h00) ? i0 : (sel==8'h01) ? i1 : (sel==8'h02) ? i2 : (sel==8'h03) ? i3 - : (sel==8'h04) ? i4 : (sel==8'h05) ? i5 : (sel==8'h06) ? i6 : (sel==8'h07) ? i7 - : (sel==8'h08) ? i8 : (sel==8'h09) ? i9 : (sel==8'h0a) ? i10 : (sel==8'h0b) ? i11 - : (sel==8'h0c) ? i12 : (sel==8'h0d) ? i13 : (sel==8'h0e) ? i14 : (sel==8'h0f) ? i15 - : (sel==8'h10) ? i16 : (sel==8'h11) ? i17 : (sel==8'h12) ? i18 : (sel==8'h13) ? i19 - : (sel==8'h14) ? i20 : (sel==8'h15) ? i21 : (sel==8'h16) ? i22 : (sel==8'h17) ? i23 - : (sel==8'h18) ? i24 : (sel==8'h19) ? i25 : (sel==8'h1a) ? i26 : (sel==8'h1b) ? i27 - : (sel==8'h1c) ? i28 : (sel==8'h1d) ? i29 : (sel==8'h1e) ? i30 : (sel==8'h1f) ? i31 - : (sel==8'h20) ? i32 : (sel==8'h21) ? i33 : (sel==8'h22) ? i34 : (sel==8'h23) ? i35 - : (sel==8'h24) ? i36 : (sel==8'h25) ? i37 : (sel==8'h26) ? i38 : (sel==8'h27) ? i39 - : (sel==8'h28) ? i40 : (sel==8'h29) ? i41 : (sel==8'h2a) ? i42 : (sel==8'h2b) ? i43 - : (sel==8'h2c) ? i44 : (sel==8'h2d) ? i45 : (sel==8'h2e) ? i46 : (sel==8'h2f) ? i47 - : (sel==8'h30) ? i48 : (sel==8'h31) ? i49 : (sel==8'h32) ? i50 : (sel==8'h33) ? i51 - : (sel==8'h34) ? i52 : (sel==8'h35) ? i53 : (sel==8'h36) ? i54 : (sel==8'h37) ? i55 - : (sel==8'h38) ? i56 : (sel==8'h39) ? i57 : (sel==8'h3a) ? i58 : (sel==8'h3b) ? i59 - : (sel==8'h3c) ? i60 : (sel==8'h3d) ? i61 : (sel==8'h3e) ? i62 : (sel==8'h3f) ? i63 - : (sel==8'h40) ? i64 : (sel==8'h41) ? i65 : (sel==8'h42) ? i66 : (sel==8'h43) ? i67 - : (sel==8'h44) ? i68 : (sel==8'h45) ? i69 : (sel==8'h46) ? i70 : (sel==8'h47) ? i71 - : (sel==8'h48) ? i72 : (sel==8'h49) ? i73 : (sel==8'h4a) ? i74 : (sel==8'h4b) ? i75 - : (sel==8'h4c) ? i76 : (sel==8'h4d) ? i77 : (sel==8'h4e) ? i78 : (sel==8'h4f) ? i79 - : (sel==8'h50) ? i80 : (sel==8'h51) ? i81 : (sel==8'h52) ? i82 : (sel==8'h53) ? i83 - : (sel==8'h54) ? i84 : (sel==8'h55) ? i85 : (sel==8'h56) ? i86 : (sel==8'h57) ? i87 - : (sel==8'h58) ? i88 : (sel==8'h59) ? i89 : (sel==8'h5a) ? i90 : (sel==8'h5b) ? i91 - : (sel==8'h5c) ? i92 : (sel==8'h5d) ? i93 : (sel==8'h5e) ? i94 : (sel==8'h5f) ? i95 - : (sel==8'h60) ? i96 : (sel==8'h61) ? i97 : (sel==8'h62) ? i98 : (sel==8'h63) ? i99 - : (sel==8'h64) ? i100 : (sel==8'h65) ? i101 : (sel==8'h66) ? i102 : (sel==8'h67) ? i103 - : (sel==8'h68) ? i104 : (sel==8'h69) ? i105 : (sel==8'h6a) ? i106 : (sel==8'h6b) ? i107 - : (sel==8'h6c) ? i108 : (sel==8'h6d) ? i109 : (sel==8'h6e) ? i110 : (sel==8'h6f) ? i111 - : (sel==8'h70) ? i112 : (sel==8'h71) ? i113 : (sel==8'h72) ? i114 : (sel==8'h73) ? i115 - : (sel==8'h74) ? i116 : (sel==8'h75) ? i117 : (sel==8'h76) ? i118 : (sel==8'h77) ? i119 - : (sel==8'h78) ? i120 : (sel==8'h79) ? i121 : (sel==8'h7a) ? i122 : (sel==8'h7b) ? i123 - : (sel==8'h7c) ? i124 : (sel==8'h7d) ? i125 : (sel==8'h7e) ? i126 : (sel==8'h7f) ? i127 - : (sel==8'h80) ? i128 : (sel==8'h81) ? i129 : (sel==8'h82) ? i130 : (sel==8'h83) ? i131 - : (sel==8'h84) ? i132 : (sel==8'h85) ? i133 : (sel==8'h86) ? i134 : (sel==8'h87) ? i135 - : (sel==8'h88) ? i136 : (sel==8'h89) ? i137 : (sel==8'h8a) ? i138 : (sel==8'h8b) ? i139 - : (sel==8'h8c) ? i140 : (sel==8'h8d) ? i141 : (sel==8'h8e) ? i142 : (sel==8'h8f) ? i143 - : (sel==8'h90) ? i144 : (sel==8'h91) ? i145 : (sel==8'h92) ? i146 : (sel==8'h93) ? i147 - : (sel==8'h94) ? i148 : (sel==8'h95) ? i149 : (sel==8'h96) ? i150 : (sel==8'h98) ? i151 - : (sel==8'h99) ? i152 : (sel==8'h9a) ? i153 : (sel==8'h9b) ? i154 : (sel==8'h9c) ? i155 - : (sel==8'h9d) ? i156 : (sel==8'h9e) ? i157 : (sel==8'h9f) ? i158 : (sel==8'ha0) ? i159 - : (sel==8'ha1) ? i160 : (sel==8'ha2) ? i161 : (sel==8'ha3) ? i162 : (sel==8'ha4) ? i163 - : (sel==8'ha5) ? i164 : (sel==8'ha6) ? i165 : (sel==8'ha7) ? i166 : (sel==8'ha8) ? i167 - : (sel==8'ha9) ? i168 : (sel==8'haa) ? i169 : (sel==8'hab) ? i170 : (sel==8'hac) ? i171 - : (sel==8'had) ? i172 : (sel==8'hae) ? i173 : (sel==8'haf) ? i174 : (sel==8'hb0) ? i175 - : (sel==8'hb1) ? i176 : (sel==8'hb2) ? i177 : (sel==8'hb3) ? i178 : (sel==8'hb4) ? i179 - : (sel==8'hb5) ? i180 : (sel==8'hb6) ? i181 : (sel==8'hb7) ? i182 : (sel==8'hb8) ? i183 - : (sel==8'hb9) ? i184 : (sel==8'hba) ? i185 : (sel==8'hbb) ? i186 : (sel==8'hbc) ? i187 - : (sel==8'hbd) ? i188 : (sel==8'hbe) ? i189 : (sel==8'hbf) ? i190 : (sel==8'hc0) ? i191 - : (sel==8'hc1) ? i192 : (sel==8'hc2) ? i193 : (sel==8'hc3) ? i194 : (sel==8'hc4) ? i195 - : (sel==8'hc5) ? i196 : (sel==8'hc6) ? i197 : (sel==8'hc7) ? i198 : (sel==8'hc8) ? i199 - : (sel==8'hc9) ? i200 : (sel==8'hca) ? i201 : (sel==8'hcb) ? i202 : (sel==8'hcc) ? i203 - : (sel==8'hcd) ? i204 : (sel==8'hce) ? i205 : (sel==8'hcf) ? i206 : (sel==8'hd0) ? i207 - : (sel==8'hd1) ? i208 : (sel==8'hd2) ? i209 : (sel==8'hd3) ? i210 : (sel==8'hd4) ? i211 - : (sel==8'hd5) ? i212 : (sel==8'hd6) ? i213 : (sel==8'hd7) ? i214 : (sel==8'hd8) ? i215 - : (sel==8'hd9) ? i216 : (sel==8'hda) ? i217 : (sel==8'hdb) ? i218 : (sel==8'hdc) ? i219 - : (sel==8'hdd) ? i220 : (sel==8'hde) ? i221 : (sel==8'hdf) ? i222 : (sel==8'he0) ? i223 - : (sel==8'he1) ? i224 : (sel==8'he2) ? i225 : (sel==8'he3) ? i226 : (sel==8'he4) ? i227 - : (sel==8'he5) ? i228 : (sel==8'he6) ? i229 : (sel==8'he7) ? i230 : (sel==8'he8) ? i231 - : (sel==8'he9) ? i232 : (sel==8'hea) ? i233 : (sel==8'heb) ? i234 : (sel==8'hec) ? i235 - : (sel==8'hed) ? i236 : (sel==8'hee) ? i237 : (sel==8'hef) ? i238 : (sel==8'hf0) ? i239 - : (sel==8'hf1) ? i240 : (sel==8'hf2) ? i241 : (sel==8'hf3) ? i242 : (sel==8'hf4) ? i243 - : (sel==8'hf5) ? i244 : (sel==8'hf6) ? i245 : (sel==8'hf7) ? i246 : (sel==8'hf8) ? i247 - : (sel==8'hf9) ? i248 : (sel==8'hfa) ? i249 : (sel==8'hfb) ? i250 : (sel==8'hfc) ? i251 - : (sel==8'hfd) ? i252 : (sel==8'hfe) ? i253 : (sel==8'hff) ? i254 : i255; + assign out + = (sel==8'h00) ? i0 : (sel==8'h01) ? i1 : (sel==8'h02) ? i2 : (sel==8'h03) ? i3 + : (sel==8'h04) ? i4 : (sel==8'h05) ? i5 : (sel==8'h06) ? i6 : (sel==8'h07) ? i7 + : (sel==8'h08) ? i8 : (sel==8'h09) ? i9 : (sel==8'h0a) ? i10 : (sel==8'h0b) ? i11 + : (sel==8'h0c) ? i12 : (sel==8'h0d) ? i13 : (sel==8'h0e) ? i14 : (sel==8'h0f) ? i15 + : (sel==8'h10) ? i16 : (sel==8'h11) ? i17 : (sel==8'h12) ? i18 : (sel==8'h13) ? i19 + : (sel==8'h14) ? i20 : (sel==8'h15) ? i21 : (sel==8'h16) ? i22 : (sel==8'h17) ? i23 + : (sel==8'h18) ? i24 : (sel==8'h19) ? i25 : (sel==8'h1a) ? i26 : (sel==8'h1b) ? i27 + : (sel==8'h1c) ? i28 : (sel==8'h1d) ? i29 : (sel==8'h1e) ? i30 : (sel==8'h1f) ? i31 + : (sel==8'h20) ? i32 : (sel==8'h21) ? i33 : (sel==8'h22) ? i34 : (sel==8'h23) ? i35 + : (sel==8'h24) ? i36 : (sel==8'h25) ? i37 : (sel==8'h26) ? i38 : (sel==8'h27) ? i39 + : (sel==8'h28) ? i40 : (sel==8'h29) ? i41 : (sel==8'h2a) ? i42 : (sel==8'h2b) ? i43 + : (sel==8'h2c) ? i44 : (sel==8'h2d) ? i45 : (sel==8'h2e) ? i46 : (sel==8'h2f) ? i47 + : (sel==8'h30) ? i48 : (sel==8'h31) ? i49 : (sel==8'h32) ? i50 : (sel==8'h33) ? i51 + : (sel==8'h34) ? i52 : (sel==8'h35) ? i53 : (sel==8'h36) ? i54 : (sel==8'h37) ? i55 + : (sel==8'h38) ? i56 : (sel==8'h39) ? i57 : (sel==8'h3a) ? i58 : (sel==8'h3b) ? i59 + : (sel==8'h3c) ? i60 : (sel==8'h3d) ? i61 : (sel==8'h3e) ? i62 : (sel==8'h3f) ? i63 + : (sel==8'h40) ? i64 : (sel==8'h41) ? i65 : (sel==8'h42) ? i66 : (sel==8'h43) ? i67 + : (sel==8'h44) ? i68 : (sel==8'h45) ? i69 : (sel==8'h46) ? i70 : (sel==8'h47) ? i71 + : (sel==8'h48) ? i72 : (sel==8'h49) ? i73 : (sel==8'h4a) ? i74 : (sel==8'h4b) ? i75 + : (sel==8'h4c) ? i76 : (sel==8'h4d) ? i77 : (sel==8'h4e) ? i78 : (sel==8'h4f) ? i79 + : (sel==8'h50) ? i80 : (sel==8'h51) ? i81 : (sel==8'h52) ? i82 : (sel==8'h53) ? i83 + : (sel==8'h54) ? i84 : (sel==8'h55) ? i85 : (sel==8'h56) ? i86 : (sel==8'h57) ? i87 + : (sel==8'h58) ? i88 : (sel==8'h59) ? i89 : (sel==8'h5a) ? i90 : (sel==8'h5b) ? i91 + : (sel==8'h5c) ? i92 : (sel==8'h5d) ? i93 : (sel==8'h5e) ? i94 : (sel==8'h5f) ? i95 + : (sel==8'h60) ? i96 : (sel==8'h61) ? i97 : (sel==8'h62) ? i98 : (sel==8'h63) ? i99 + : (sel==8'h64) ? i100 : (sel==8'h65) ? i101 : (sel==8'h66) ? i102 : (sel==8'h67) ? i103 + : (sel==8'h68) ? i104 : (sel==8'h69) ? i105 : (sel==8'h6a) ? i106 : (sel==8'h6b) ? i107 + : (sel==8'h6c) ? i108 : (sel==8'h6d) ? i109 : (sel==8'h6e) ? i110 : (sel==8'h6f) ? i111 + : (sel==8'h70) ? i112 : (sel==8'h71) ? i113 : (sel==8'h72) ? i114 : (sel==8'h73) ? i115 + : (sel==8'h74) ? i116 : (sel==8'h75) ? i117 : (sel==8'h76) ? i118 : (sel==8'h77) ? i119 + : (sel==8'h78) ? i120 : (sel==8'h79) ? i121 : (sel==8'h7a) ? i122 : (sel==8'h7b) ? i123 + : (sel==8'h7c) ? i124 : (sel==8'h7d) ? i125 : (sel==8'h7e) ? i126 : (sel==8'h7f) ? i127 + : (sel==8'h80) ? i128 : (sel==8'h81) ? i129 : (sel==8'h82) ? i130 : (sel==8'h83) ? i131 + : (sel==8'h84) ? i132 : (sel==8'h85) ? i133 : (sel==8'h86) ? i134 : (sel==8'h87) ? i135 + : (sel==8'h88) ? i136 : (sel==8'h89) ? i137 : (sel==8'h8a) ? i138 : (sel==8'h8b) ? i139 + : (sel==8'h8c) ? i140 : (sel==8'h8d) ? i141 : (sel==8'h8e) ? i142 : (sel==8'h8f) ? i143 + : (sel==8'h90) ? i144 : (sel==8'h91) ? i145 : (sel==8'h92) ? i146 : (sel==8'h93) ? i147 + : (sel==8'h94) ? i148 : (sel==8'h95) ? i149 : (sel==8'h96) ? i150 : (sel==8'h98) ? i151 + : (sel==8'h99) ? i152 : (sel==8'h9a) ? i153 : (sel==8'h9b) ? i154 : (sel==8'h9c) ? i155 + : (sel==8'h9d) ? i156 : (sel==8'h9e) ? i157 : (sel==8'h9f) ? i158 : (sel==8'ha0) ? i159 + : (sel==8'ha1) ? i160 : (sel==8'ha2) ? i161 : (sel==8'ha3) ? i162 : (sel==8'ha4) ? i163 + : (sel==8'ha5) ? i164 : (sel==8'ha6) ? i165 : (sel==8'ha7) ? i166 : (sel==8'ha8) ? i167 + : (sel==8'ha9) ? i168 : (sel==8'haa) ? i169 : (sel==8'hab) ? i170 : (sel==8'hac) ? i171 + : (sel==8'had) ? i172 : (sel==8'hae) ? i173 : (sel==8'haf) ? i174 : (sel==8'hb0) ? i175 + : (sel==8'hb1) ? i176 : (sel==8'hb2) ? i177 : (sel==8'hb3) ? i178 : (sel==8'hb4) ? i179 + : (sel==8'hb5) ? i180 : (sel==8'hb6) ? i181 : (sel==8'hb7) ? i182 : (sel==8'hb8) ? i183 + : (sel==8'hb9) ? i184 : (sel==8'hba) ? i185 : (sel==8'hbb) ? i186 : (sel==8'hbc) ? i187 + : (sel==8'hbd) ? i188 : (sel==8'hbe) ? i189 : (sel==8'hbf) ? i190 : (sel==8'hc0) ? i191 + : (sel==8'hc1) ? i192 : (sel==8'hc2) ? i193 : (sel==8'hc3) ? i194 : (sel==8'hc4) ? i195 + : (sel==8'hc5) ? i196 : (sel==8'hc6) ? i197 : (sel==8'hc7) ? i198 : (sel==8'hc8) ? i199 + : (sel==8'hc9) ? i200 : (sel==8'hca) ? i201 : (sel==8'hcb) ? i202 : (sel==8'hcc) ? i203 + : (sel==8'hcd) ? i204 : (sel==8'hce) ? i205 : (sel==8'hcf) ? i206 : (sel==8'hd0) ? i207 + : (sel==8'hd1) ? i208 : (sel==8'hd2) ? i209 : (sel==8'hd3) ? i210 : (sel==8'hd4) ? i211 + : (sel==8'hd5) ? i212 : (sel==8'hd6) ? i213 : (sel==8'hd7) ? i214 : (sel==8'hd8) ? i215 + : (sel==8'hd9) ? i216 : (sel==8'hda) ? i217 : (sel==8'hdb) ? i218 : (sel==8'hdc) ? i219 + : (sel==8'hdd) ? i220 : (sel==8'hde) ? i221 : (sel==8'hdf) ? i222 : (sel==8'he0) ? i223 + : (sel==8'he1) ? i224 : (sel==8'he2) ? i225 : (sel==8'he3) ? i226 : (sel==8'he4) ? i227 + : (sel==8'he5) ? i228 : (sel==8'he6) ? i229 : (sel==8'he7) ? i230 : (sel==8'he8) ? i231 + : (sel==8'he9) ? i232 : (sel==8'hea) ? i233 : (sel==8'heb) ? i234 : (sel==8'hec) ? i235 + : (sel==8'hed) ? i236 : (sel==8'hee) ? i237 : (sel==8'hef) ? i238 : (sel==8'hf0) ? i239 + : (sel==8'hf1) ? i240 : (sel==8'hf2) ? i241 : (sel==8'hf3) ? i242 : (sel==8'hf4) ? i243 + : (sel==8'hf5) ? i244 : (sel==8'hf6) ? i245 : (sel==8'hf7) ? i246 : (sel==8'hf8) ? i247 + : (sel==8'hf9) ? i248 : (sel==8'hfa) ? i249 : (sel==8'hfb) ? i250 : (sel==8'hfc) ? i251 + : (sel==8'hfd) ? i252 : (sel==8'hfe) ? i253 : (sel==8'hff) ? i254 : i255; endmodule diff --git a/test_regress/t/t_opt_localize_deep.v b/test_regress/t/t_opt_localize_deep.v index 1c8267fc7..9d99620c7 100644 --- a/test_regress/t/t_opt_localize_deep.v +++ b/test_regress/t/t_opt_localize_deep.v @@ -11,73 +11,75 @@ `endif module t (/*AUTOARG*/ - // Inputs - clk - ); - input clk; + // Inputs + clk + ); + input clk; - int cyc = 0; - int x = 0; + int cyc = 0; + int x = 0; - always @(posedge clk) begin - cyc <= cyc + 1; - x = 32'hcafe1234; + always @(posedge clk) begin + cyc <= cyc + 1; + x = 32'hcafe1234; - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) - x = cyc; + // verilog_format: off + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) if (`dontOptimize) + x = cyc; + // verilog_format: on - $write("[%0t] cyc=%0d x=%x\n", $time, cyc, x); - if (x !== cyc) $stop; - if (cyc == 99) begin - $write("*-* All Finished *-*\n"); - $finish; - end - end + $write("[%0t] cyc=%0d x=%x\n", $time, cyc, x); + if (x !== cyc) $stop; + if (cyc == 99) begin + $write("*-* All Finished *-*\n"); + $finish; + end + end endmodule