mirror of https://github.com/YosysHQ/yosys.git
Fix RAMB36E1/E2 SDP parity port mapping typo
DIPBDIP/DINPBDINP condition checked PORT_W_WIDTH == 71, which never matches any valid SDP width. Should be 72, matching the DIBDI/DINBDIN condition on the line above. This caused data bits 68-69 to be silently overwritten with copies of bits 64-65 on every write. Affects both xc6v (RAMB36E1, Artix-7/Kintex-7/Virtex-7) and xcu (RAMB36E2, UltraScale/UltraScale+) mapping templates. The RAMB18E1/E2 equivalents correctly use == 36.
This commit is contained in:
parent
413169663d
commit
aba5b279c6
|
|
@ -275,7 +275,7 @@ end else if (OPTION_MODE == "FULL") begin
|
|||
.DIADI(DI[31:0]),
|
||||
.DIBDI(PORT_W_WIDTH == 72 ? DI[63:32] : DI[31:0]),
|
||||
.DIPADIP(DIP[3:0]),
|
||||
.DIPBDIP(PORT_W_WIDTH == 71 ? DIP[7:4] : DIP[3:0]),
|
||||
.DIPBDIP(PORT_W_WIDTH == 72 ? DIP[7:4] : DIP[3:0]),
|
||||
);
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ end else if (OPTION_MODE == "FULL") begin
|
|||
.DINADIN(DI[31:0]),
|
||||
.DINBDIN(PORT_W_WIDTH == 72 ? DI[63:32] : DI[31:0]),
|
||||
.DINPADINP(DIP[3:0]),
|
||||
.DINPBDINP(PORT_W_WIDTH == 71 ? DIP[7:4] : DIP[3:0]),
|
||||
.DINPBDINP(PORT_W_WIDTH == 72 ? DIP[7:4] : DIP[3:0]),
|
||||
);
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue