3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 00:55:32 +00:00

memory_share: Fix SAT-based sharing for wide ports.

Fixes #3117.
This commit is contained in:
Marcelina Kościelnicka 2021-12-20 17:10:30 +01:00
parent f599c148c5
commit f84c9d8e17
2 changed files with 37 additions and 1 deletions

34
tests/opt/bug3117.ys Normal file
View file

@ -0,0 +1,34 @@
read_verilog << EOT
module test (...);
input [7:1] wa1;
input [7:1] wa2;
input [7:0] ra;
output [7:0] rd;
input clk;
input we1, we2;
input [15:0] wd1, wd2;
reg [7:0] mem [0:255];
assign rd = mem[ra];
always @(posedge clk) begin
if (we1) begin
mem[{wa1, 1'b0}] <= wd1[7:0];
mem[{wa1, 1'b1}] <= wd1[15:8];
end else begin
mem[{wa2, 1'b0}] <= wd2[7:0];
mem[{wa2, 1'b1}] <= wd2[15:8];
end
end
endmodule
EOT
proc
opt
memory_share
select -assert-count 1 t:$memwr_v2