Основной сайт проекта: http://www.clifford.at/yosys/
Исходники на Гитхабе: https://github.com/cliffordwolf/yosys
Краткое введение: http://www.clifford.at/yosys/files/yosys-austrochip2013.pdf
Полное описание: http://www.clifford.at/yosys/files/yosys_manual.pdf
Характеристики:
• Обрабатывает практически любой синтезируемый дизайн на языке Verilog-2005.
• Преобразует Verilog в BLIF / EDIF / BTOR / SMT-LIB / упрощённый RTL Verilog / и т.п.
• Встроенные формальные методы проверки свойств и эквивалентности.
• Отображение на стандартные библиотеки ASIC (в формате Liberty).
• Отображение на Xilinx 7 серии и Lattice iCE40 FPGA.
Исходники на Гитхабе: https://github.com/cliffordwolf/yosys
Краткое введение: http://www.clifford.at/yosys/files/yosys-austrochip2013.pdf
Полное описание: http://www.clifford.at/yosys/files/yosys_manual.pdf
Характеристики:
• Обрабатывает практически любой синтезируемый дизайн на языке Verilog-2005.
• Преобразует Verilog в BLIF / EDIF / BTOR / SMT-LIB / упрощённый RTL Verilog / и т.п.
• Встроенные формальные методы проверки свойств и эквивалентности.
• Отображение на стандартные библиотеки ASIC (в формате Liberty).
• Отображение на Xilinx 7 серии и Lattice iCE40 FPGA.

no subject
Date: 2016-05-24 15:05 (UTC)module dut(input clk, input [31:0] in, input [4:0] lim, output reg [6:0] out);
integer i;
always @(posedge clk) begin
out = 0;
for (i = 0; i <= lim; i=i+1)
out = out + in[i];
end
endmodule
no subject
Date: 2016-05-24 17:00 (UTC)no subject
Date: 2016-05-24 18:52 (UTC)ну уж нет уж
Date: 2016-05-24 18:42 (UTC)Parsing Verilog input from `test.v' to AST representation.
Generating RTLIL representation for module `\dut'.
ERROR: 2nd expression of generate for-loop at test.v:11 is not constant!
Re: ну уж нет уж
Date: 2016-05-24 18:52 (UTC)Re: ну уж нет уж
Date: 2016-05-24 19:12 (UTC)for (i = 0; i <= 31; i = i+1) if (i <= lim) out = out + in[i];На выходе получается схема из 326 вентилей nand, 378 nor и 84 not.
Re: ну уж нет уж
Date: 2016-05-24 19:21 (UTC)Результат похож на правду. У меня 97 LUTs+CARRY4 получается,
а из идеально написанного
out = $countones(in & (~(32'hfffffffe << lim)));
95 LUTs+CARRY4, на уровне случайного шума в ABC.
Re: ну уж нет уж
Date: 2016-05-24 19:54 (UTC)2.22. Printing statistics. === dut === Number of wires: 861 Number of wire bits: 1402 Number of public wires: 4 Number of public wire bits: 45 Number of memories: 0 Number of memory bits: 0 Number of processes: 0 Number of cells: 1271 FDRE 7 LUT1 5 LUT2 108 LUT3 150 LUT4 10 LUT5 13 LUT6 250 MUXCY 346 MUXF7 121 MUXF8 44 XORCY 217Re: ну уж нет уж
Date: 2016-05-24 20:20 (UTC)no subject
Date: 2016-05-24 20:39 (UTC)