mirror of https://github.com/YosysHQ/yosys.git
Revert typedef tests to standard grammar.
This commit is contained in:
parent
14f32028ec
commit
6d8d6b402f
|
@ -5,8 +5,9 @@ module enum_simple(input clk, input rst);
|
|||
typedef enum logic [1:0] {
|
||||
ts0, ts1, ts2, ts3
|
||||
} states_t;
|
||||
(states_t) state;
|
||||
(states_t) enum_const = ts1;
|
||||
states_t state;
|
||||
(states_t) state1;
|
||||
states_t enum_const = ts1;
|
||||
|
||||
always @(posedge clk) begin
|
||||
if (rst) begin
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module top(input [3:0] addr, wdata, input clk, wen, output reg [3:0] rdata);
|
||||
typedef logic [3:0] ram16x4_t[0:15];
|
||||
|
||||
(ram16x4_t) mem;
|
||||
ram16x4_t mem;
|
||||
|
||||
always @(posedge clk) begin
|
||||
if (wen) mem[addr] <= wdata;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module top(input [3:0] addr, wdata, input clk, wen, output reg [3:0] rdata);
|
||||
typedef logic [3:0] nibble;
|
||||
|
||||
(nibble) mem[0:15];
|
||||
nibble mem[0:15];
|
||||
|
||||
always @(posedge clk) begin
|
||||
if (wen) mem[addr] <= wdata;
|
||||
|
|
|
@ -5,8 +5,8 @@ endpackage
|
|||
|
||||
module top;
|
||||
|
||||
(* keep *) (pkg::uint8_t) a = 8'hAA;
|
||||
(* keep *) (pkg::enum8_t) b_enum = pkg::bb;
|
||||
(* keep *) pkg::uint8_t a = 8'hAA;
|
||||
(* keep *) pkg::enum8_t b_enum = pkg::bb;
|
||||
|
||||
always @* assert(a == 8'hAA);
|
||||
always @* assert(b_enum == 8'hBB);
|
||||
|
|
|
@ -6,12 +6,12 @@ module top;
|
|||
typedef logic [1:0] uint2_t;
|
||||
typedef logic signed [3:0] int4_t;
|
||||
typedef logic signed [7:0] int8_t;
|
||||
typedef (int8_t) char_t;
|
||||
typedef int8_t char_t;
|
||||
|
||||
parameter (uint2_t) int2 = 2'b10;
|
||||
localparam (int4_t) int4 = -1;
|
||||
localparam (int8_t) int8 = int4;
|
||||
localparam (char_t) ch = int8;
|
||||
parameter uint2_t int2 = 2'b10;
|
||||
localparam int4_t int4 = -1;
|
||||
localparam int8_t int8 = int4;
|
||||
localparam char_t ch = int8;
|
||||
|
||||
|
||||
`STATIC_ASSERT(int2 == 2'b10);
|
||||
|
|
|
@ -4,30 +4,30 @@ typedef enum logic {s0, s1} outer_enum_t;
|
|||
|
||||
module top;
|
||||
|
||||
(outer_uint4_t) u4_i = 8'hA5;
|
||||
(outer_enum_t) enum4_i = s0;
|
||||
outer_uint4_t u4_i = 8'hA5;
|
||||
outer_enum_t enum4_i = s0;
|
||||
always @(*) assert(u4_i == 4'h5);
|
||||
always @(*) assert(enum4_i == 1'b0);
|
||||
|
||||
typedef logic [3:0] inner_type;
|
||||
typedef enum logic [2:0] {s2=2, s3, s4} inner_enum_t;
|
||||
(inner_type) inner_i1 = 8'h5A;
|
||||
(inner_enum_t) inner_enum1 = s3;
|
||||
inner_type inner_i1 = 8'h5A;
|
||||
inner_enum_t inner_enum1 = s3;
|
||||
always @(*) assert(inner_i1 == 4'hA);
|
||||
always @(*) assert(inner_enum1 == 3'h3);
|
||||
|
||||
if (1) begin: genblock
|
||||
typedef logic [7:0] inner_type;
|
||||
parameter (inner_type) inner_const = 8'hA5;
|
||||
parameter inner_type inner_const = 8'hA5;
|
||||
typedef enum logic [2:0] {s5=5, s6, s7} inner_enum_t;
|
||||
(inner_type) inner_gb_i = inner_const; //8'hA5;
|
||||
(inner_enum_t) inner_gb_enum1 = s7;
|
||||
inner_type inner_gb_i = inner_const; //8'hA5;
|
||||
inner_enum_t inner_gb_enum1 = s7;
|
||||
always @(*) assert(inner_gb_i == 8'hA5);
|
||||
always @(*) assert(inner_gb_enum1 == 3'h7);
|
||||
end
|
||||
|
||||
(inner_type) inner_i2 = 8'h42;
|
||||
(inner_enum_t) inner_enum2 = s4;
|
||||
inner_type inner_i2 = 8'h42;
|
||||
inner_enum_t inner_enum2 = s4;
|
||||
always @(*) assert(inner_i2 == 4'h2);
|
||||
always @(*) assert(inner_enum2 == 3'h4);
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@ module top;
|
|||
typedef logic [1:0] uint2_t;
|
||||
typedef logic signed [3:0] int4_t;
|
||||
typedef logic signed [7:0] int8_t;
|
||||
typedef (int8_t) char_t;
|
||||
typedef int8_t char_t;
|
||||
|
||||
(* keep *) (uint2_t) int2 = 2'b10;
|
||||
(* keep *) (int4_t) int4 = -1;
|
||||
(* keep *) (int8_t) int8 = int4;
|
||||
(* keep *) (char_t) ch = int8;
|
||||
(* keep *) uint2_t int2 = 2'b10;
|
||||
(* keep *) int4_t int4 = -1;
|
||||
(* keep *) int8_t int8 = int4;
|
||||
(* keep *) char_t ch = int8;
|
||||
|
||||
|
||||
always @* assert(int2 == 2'b10);
|
||||
|
|
Loading…
Reference in New Issue