Костян 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Мультиплексор выглядит след. образом. Выбираю из rx_out_data нужные 8 бит посредством входного сигнала switch . Как сократить конструкцию ? input [3:0] switch, ...................... integer k; wire [63:0] rx_out_data; wire [7:0] rx_data [0:7]; always @(rx_out_data) for ( k = 0; k <= (7); k = k + 1) rx_data[k] <= rx_out_data[8*k+:8]; always @(posedge clock,negedge rst) if (!rst) rx_out <= 0; else rx_out <= rx_data[switch[3:0]]; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба module TestSelect (input wire rst_n, clk, input wire [2:0] switch, input wire [63:0] din, output logic [7:0] dout); always_ff @(negedge rst_n, posedge clk) if (!rst_n) dout <= 0; else dout <= din[8*switch+:8]; endmodule Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masics 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба поизвращаемся :yeah: rx_out <= rx_data >> (switch[2:0] << 3); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба << 4 нужно <<3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masics 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба нужно <<3 Да, недосчитал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба А я вот, блин, думаю. Не перейти ли на SV, чтобы не городить такого вот: wire [63:0] rx_out_data; и dout <= din[8*switch+:8]; Одно не радует - привязка к Synplify... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба 2 Koluchiy квартус и без Synplify нормально SV кушает :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Одно не радует - привязка к Synplify... есть ещё одна альтернатива - Precision. простите за оффтоп, а чем именно связка с Симплифай не радует? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Есть подозрение, что в некоторых ситуациях XST может оказаться (заметно) более выгодным. Работая на Verilog-2001, можно создавать универсальный код, который в большинстве случаев будет компилиться и тем, и тем (или с небольшими модификациями). Переходя на SV, XST уже будет неприменим. квартус и без Synplify нормально SV кушает Если бы он еще Виртексы со Спартанами кушал, цены бы не было... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Если бы он еще Виртексы со Спартанами кушал, цены бы не было... ну так с этого и нужно было начинать Есть подозрение, что в некоторых ситуациях XST может оказаться (заметно) более выгодным. Не озвучите эти самые подозрения и подозреваемых ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 19 октября, 2010 Опубликовано 19 октября, 2010 (изменено) · Жалоба А в соседнем разделе мою тему почитайте :). Про DSP-блоки. Изменено 19 октября, 2010 пользователем Koluchiy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться