Drakonof 0 23 июля, 2021 Опубликовано 23 июля, 2021 (изменено) · Жалоба Друзья, подскажите пожалуйста, почему без атрибута (* use_dsp48 = "yes" *) , этот код не синтезируется через DSP48? `timescale 1ns / 1ps module multiplier # ( parameter DO_DSP_BLOCK = "FALSE" //"TRUE" ) ( input wire clk_i, input wire [7:0] a, b, output wire signed [63:0] res ); integer i = 0; (* use_dsp48 = "yes" *) reg signed [63:0] prod; always @ (posedge clk_i) begin prod <= a * b; end assign res = prod; endmodule Изменено 23 июля, 2021 пользователем Drakonof Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 23 июля, 2021 Опубликовано 23 июля, 2021 · Жалоба Кто ж его знает. Где, кем, когда не синтезируется... Может быть из-за малой разрядности аргументов. Может быть из-за отсутствия регистров по входу. Может быть из-за того, что в вашем проекте и так уже 99% DSP заняты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 27 июля, 2021 Опубликовано 27 июля, 2021 · Жалоба https://www.xilinx.com/support/answers/54357.html ... use_dsp48 ... If this attribute is not specified, the default behavior is for Vivado Synthesis to determine the correct behavior. То есть при отсутствии этого атрибута синтезатор сам решает, как синтезировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться