- Added automatic gzip compression (based on filename extension) for backends
- Improve attribute and parameter encoding in JSON to avoid ambiguities between
bit vectors and strings containing [01xz]*
+ - Added "clkbufmap" pass
+ - Added "synth_xilinx -family xc6s" for Spartan 6 support (experimental)
+ - Added "synth_xilinx -ise" (experimental)
+ - Added "synth_xilinx -iopad"
+ - "synth_xilinx" now automatically inserts clock buffers (add -noclkbuf to disable)
+ - Improvements in pmgen: subpattern and recursive matches
+ - Added "opt_share" pass, run as part of "opt -full"
+ - Added "ice40_wrapcarry" to encapsulate SB_LUT+SB_CARRY pairs for techmapping
+ - Removed "ice40_unlut"
Yosys 0.8 .. Yosys 0.8-dev
--------------------------
always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D;
endmodule
- (* abc_box_id = 5, abc_scc_break="D,WE" *)
+ (* abc_box_id = 5 *)
module RAM32X1D (
output DPO, SPO,
- (* clkbuf_sink *)
- input WCLK,
- input D, WE,
+ (* abc_scc_break *) input D,
- input WCLK,
++ (* clkbuf_sink *) input WCLK,
+ (* abc_scc_break *) input WE,
input A0, A1, A2, A3, A4,
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4
);
always @(posedge clk) if (WE) mem[a] <= D;
endmodule
- (* abc_box_id = 6, abc_scc_break="D,WE" *)
+ (* abc_box_id = 6 *)
module RAM64X1D (
output DPO, SPO,
- (* clkbuf_sink *)
- input WCLK,
- input D, WE,
+ (* abc_scc_break *) input D,
- input WCLK,
++ (* clkbuf_sink *) input WCLK,
+ (* abc_scc_break *) input WE,
input A0, A1, A2, A3, A4, A5,
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, DPRA5
);
always @(posedge clk) if (WE) mem[a] <= D;
endmodule
- (* abc_box_id = 7, abc_scc_break="D,WE" *)
+ (* abc_box_id = 7 *)
module RAM128X1D (
output DPO, SPO,
- input D, WE,
- (* clkbuf_sink *)
- input WCLK,
+ (* abc_scc_break *) input D,
- input WCLK,
++ (* clkbuf_sink *) input WCLK,
+ (* abc_scc_break *) input WE,
input [6:0] A, DPRA
);
parameter INIT = 128'h0;
log(" generate an output netlist (and BLIF file) suitable for VPR\n");
log(" (this feature is experimental and incomplete)\n");
log("\n");
+ log(" -ise\n");
+ log(" generate an output netlist suitable for ISE (enables -iopad)\n");
+ log("\n");
log(" -nobram\n");
- log(" disable inference of block rams\n");
+ log(" do not use block RAM cells in output netlist\n");
log("\n");
- log(" -nodram\n");
- log(" disable inference of distributed rams\n");
+ log(" -nolutram\n");
+ log(" do not use distributed RAM cells in output netlist\n");
log("\n");
log(" -nosrl\n");
- log(" disable inference of shift registers\n");
+ log(" do not use distributed SRL cells in output netlist\n");
log("\n");
log(" -nocarry\n");
log(" do not use XORCY/MUXCY/CARRY4 cells in output netlist\n");
}
std::string top_opt, edif_file, blif_file, family;
- bool flatten, retime, vpr, ise, iopad, noiopad, noclkbuf, nobram, nodram, nosrl, nocarry, nowidelut, abc9;
- bool flatten, retime, vpr, nobram, nolutram, nosrl, nocarry, nowidelut, abc9;
++ bool flatten, retime, vpr, ise, iopad, noiopad, noclkbuf, nobram, nolutram, nosrl, nocarry, nowidelut, abc9;
int widemux;
void clear_flags() YS_OVERRIDE
flatten = false;
retime = false;
vpr = false;
+ ise = false;
+ iopad = false;
+ noiopad = false;
+ noclkbuf = false;
nocarry = false;
nobram = false;
- nodram = false;
+ nolutram = false;
nosrl = false;
nocarry = false;
nowidelut = false;