[an error occurred while processing this directive]
|
вот такое не понимает
parameter buses
....
... tmp[k*buses:k*buses+buses-1]
при этом если в цикле (k integer), то ругается (обосновано :-) на переменный рэнж
а если в generate - assign (k genvar), то выдает глюки на свою unisim либу
-------------------
вот собственно - примитивный testcase, хотелось бы описать так, чтобы вместо дерева в последней ступени стоял многовходовый NAND
но в реале возможно, что эти нанды будут иметь разное число входов.
module selector(in, out, en);parameter bus_width=4, buses=3;
input [bus_width*buses-1:0] in;
input [buses-1:0] en;
output [bus_width-1:0] out;integer i,j;
reg [bus_width-1:0] tmp;
assign out=~tmp;
always @*
for(j=0;jbegin
tmp[j]=1;
for(i=0;itmp[j]=tmp[j]&(~(en[i]&in[i*bus_width+j]));
endendmodule
могу со сверткой пример показать, но там тоже плохо - неиспользованные входы
-------------
еще раз подчеркну - нужно не ехать, а шашечки :)
E-mail: info@telesys.ru