module blocking_cond (in, out); input in; output reg out; reg tmp; always @* begin tmp = 1; out = 1'b0; case (1'b1) tmp: out = in; endcase tmp = 0; end endmodule // ------------------------------------------------------------- module uut(clk, arst, a, b, c, d, e, f, out1); input clk, arst, a, b, c, d, e, f; output reg [3:0] out1; always @(posedge clk, posedge arst) begin if (arst) out1 = 0; else begin if (a) begin case ({b, c}) 2'b00: out1 = out1 + 9; 2'b01, 2'b10: out1 = out1 + 13; endcase if (d) begin out1 = out1 + 2; out1 = out1 + 1; end case ({e, f}) 2'b11: out1 = out1 + 8; 2'b00: ; default: out1 = out1 + 10; endcase out1 = out1 ^ 7; end out1 = out1 + 14; end end endmodule // ------------------------------------------------------------- // extracted from ../asicworld/code_hdl_models_uart.v // (triggered a bug in the proc_mux pass) module uart (reset, txclk, ld_tx_data, tx_empty, tx_cnt); input reset; input txclk; input ld_tx_data; output reg tx_empty; output reg [3:0] tx_cnt; always @ (posedge txclk) if (reset) begin tx_empty <= 1; tx_cnt <= 0; end else begin if (ld_tx_data) begin tx_empty <= 0; end if (!tx_empty) begin tx_cnt <= tx_cnt + 1; end end endmodule 631914bf75f362b36be7'>refslogtreecommitdiffstats
path: root/testsuite/gna/issue795/ex.vhdl
blob: 4a8654ff5a186af5bbb5d1335459ec997d780674 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71