diff options
Diffstat (limited to 'tests/arch')
| -rw-r--r-- | tests/arch/ecp5/bug1459.ys | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/tests/arch/ecp5/bug1459.ys b/tests/arch/ecp5/bug1459.ys new file mode 100644 index 000000000..1142ae0b5 --- /dev/null +++ b/tests/arch/ecp5/bug1459.ys @@ -0,0 +1,25 @@ +read_verilog <<EOT +module register_file( +    input wire clk, +    input wire write_enable, +    input wire [63:0] write_data, +    input wire [4:0] write_reg, +    input wire [4:0] read1_reg, +    output reg [63:0] read1_data, +    ); + +    reg [63:0] registers[0:31]; + +    always @(posedge clk) begin +      if (write_enable == 1'b1) begin +        registers[write_reg] <= write_data; +      end +    end + +    always @(all) begin +      read1_data <= registers[read1_reg]; +    end +endmodule +EOT + +synth_ecp5 -abc9 | 
