2009-09-04 7 views
10

¿Podemos tener una matriz de instancias para un módulo personalizado? Por ejemplo: podemos tener input [15:0] a; - esto crea un bus. ¿Podemos hacer lo mismo para los módulos personalizados, es decir, DFF [15:0] d;, donde DFF es un módulo personalizado? Aquí intento crear 16 instancias del módulo DFF.¿Podemos tener una variedad de módulos personalizados?

Respuesta

8

no es posible hacerlo directamente (actualización: ahora, después de la respuesta de mark4o Sé que hay una manera), pero lo que puede hacer es utilizar la instrucción generate para crear varias instancias de su módulo personalizado y el gancho ellos hasta sus señales. Debe ser algo como esto:

wire DFF_i[15:0]; 
wire DFF_o[15:0]; 

generate 
    genvar i; 
    for (i=0; i<15; i=i+1) begin : dff 
    custom i_custom(
     .clk(clk) 
     ,.input(DFF_i[i]) 
     ,.output(DFF_o[i]) 
    ); 
    end 
endgenerate 

De lo contrario es probable que haya alguna posibilidad durante la síntesis de utilizar los módulos personalizados correctos, pero yo no soy un experto allí.

Saludos, se añadieron Daniel

20

arrays Verilog de casos en los Verilog-1995 (IEEE 1364-1995). Se pueden usar con puertas, primitivas definidas por el usuario y módulos. Genera, que son más potentes pero también más complejos, se agregaron en Verilog-2001.

Aquí es una matriz ejemplo de instancias de módulos:

DFF d[15:0] (clk, DFF_i, DFF_o); 

Para cada conexión de puerto, si el tamaño coincide con el del parámetro formal entonces está conectado a cada instancia. De lo contrario, cada instancia está conectada a una selección de partes (o selección de bits) de la expresión.

+0

Hola Mark4o, enfriar Yo no sabía esto! Aprendí algo nuevo otra vez :) Cheers, Daniel – danielpoe

+0

¿Están estos módulos instanciados paralelamente o uno después de otro? – eldos

+0

@eldos: Si el tamaño de una conexión de puerto coincide con el del parámetro formal, entonces se conecta en paralelo a cada instancia. Usando un vector puedes conectar las instancias en serie. – mark4o

Cuestiones relacionadas