Steps to reproduce the issue
I have inferred ram like so:
module bram_tdp #(
parameter DATA = 72,
parameter ADDR = 10
) (
// Port A
input wire a_clk,
input wire a_wr,
input wire [ADDR-1:0] a_addr,
input wire [DATA-1:0] a_din,
output reg [DATA-1:0] a_dout,
// Port B
input wire b_clk,
input wire b_wr,
input wire [ADDR-1:0] b_addr,
input wire [DATA-1:0] b_din,
output reg [DATA-1:0] b_dout
);
// Shared memory
reg [DATA-1:0] mem [(2**ADDR)-1:0];
initial begin
$readmemh("../build/nuc.hex", mem);
end
// Port A
always @(posedge a_clk) begin
a_dout <= mem[a_addr];
if(a_wr) begin
a_dout <= a_din;
mem[a_addr] <= a_din;
end
end
// Port B
always @(posedge b_clk) begin
b_dout <= mem[b_addr];
if(b_wr) begin
b_dout <= b_din;
mem[b_addr] <= b_din;
end
end
endmodule
Expected behavior
DP16KD >0
Actual behavior
The routing report with nextpnr-ecp5 results in:
Info: Device utilisation:
Info: TRELLIS_SLICE: 38529/41820 92%
Info: TRELLIS_IO: 49/ 364 13%
Info: DCCA: 3/ 56 5%
Info: DP16KD: 0/ 208 0%
Info: MULT18X18D: 0/ 156 0%
Info: ALU54B: 0/ 78 0%
Info: EHXPLLL: 1/ 4 25%
Info: EXTREFB: 0/ 2 0%
Info: DCUA: 0/ 2 0%
Info: PCSCLKDIV: 0/ 2 0%
Info: IOLOGIC: 0/ 224 0%
Info: SIOLOGIC: 0/ 140 0%
Info: GSR: 0/ 1 0%
Info: JTAGG: 0/ 1 0%
Info: OSCG: 0/ 1 0%
Info: SEDGA: 0/ 1 0%
Info: DTR: 0/ 1 0%
Info: USRMCLK: 0/ 1 0%
Info: CLKDIVF: 0/ 4 0%
Info: ECLKSYNCB: 0/ 8 0%
Info: DLLDELD: 0/ 8 0%
Info: DDRDLL: 0/ 4 0%
Info: DQSBUFM: 0/ 14 0%
Info: TRELLIS_ECLKBUF: 0/ 8 0%
Any idea's ? Something to try ..
Steps to reproduce the issue
I have inferred ram like so:
Expected behavior
DP16KD >0
Actual behavior
The routing report with nextpnr-ecp5 results in:
Any idea's ? Something to try ..