nopak 0 16 апреля, 2019 Опубликовано 16 апреля, 2019 · Жалоба Требуется написать простой интегрирующий фильтр. У меня получилось два варианта module filter1 #(parameter IWIDTH = 16) ( input CLOCK, input signed [IWIDTH-1:0] In, output reg signed [IWIDTH-1:0] Out ); integer i; reg [16:0] memoryFilter[10:0]; always@(posedge CLOCK) begin for (i =10; i>= 1; i=i-1) memoryFilter[i] = memoryFilter[i-1]; memoryFilter[0] = In; end always@(negedge CLOCK) begin for (i =10; i>= 0; i=i-1) Out = Out + memoryFilter[i]; end endmodule и module filter2 #(parameter IWIDTH = 16, parameter NUMBER =10) ( input CLOCK, input signed [IWIDTH-1:0] In, output reg signed [IWIDTH-1:0] Out ); genvar i; generate for( i=0; i<NUMBER; i=i+1 ) begin:mem reg [IWIDTH-1:0]r=0; if (i ==0) begin always@(posedge CLOCK) r <= In; end else begin always @(posedge CLOCK) mem[i].r <= mem[i-1].r; end if (i == 0) begin always @* Out = mem[i].r; end else begin always @* Out = Out + mem[i].r; end end endgenerate endmodule как делать более правильно что ли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 17 апреля, 2019 Опубликовано 17 апреля, 2019 · Жалоба Если можно обойтись без generate, лучше без него обойтись. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 17 апреля, 2019 Опубликовано 17 апреля, 2019 · Жалоба mf1.zip mf2.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nopak 0 17 апреля, 2019 Опубликовано 17 апреля, 2019 (изменено) · Жалоба Почему generate не желательно? Почему убрали все форы? Изменено 17 апреля, 2019 пользователем nopak Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 18 апреля, 2019 Опубликовано 18 апреля, 2019 · Жалоба Проще в 1е засунуть generate, вывод сделать через арифметику и одновременно запись в регистр по положительному фронту. 2е имеет фундаментальные ошибки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvlwork 0 22 апреля, 2019 Опубликовано 22 апреля, 2019 · Жалоба А почему нельзя первый отсчет суммировать к общей сумме, а последний вычитать? И кольцом по памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nopak 0 27 апреля, 2019 Опубликовано 27 апреля, 2019 · Жалоба потому что учусь программированию ПЛИС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться