2009-09-04 24 views
10

Özel bir modül için bir dizi örneğimiz olabilir mi?Bir dizi özel modülümüz var mı?

Örneğin: input [15:0] a; olabilir - bu bir veri yolu oluşturur. Özel modüller için aynı şeyi yapabilir miyiz, yani DFF [15:0] d;, burada DFF özel bir modül mü? Burada, DFF modülünün 16 örneğini oluşturmayı planlıyorum.

cevap

8

doğrudan (güncelleştirme: şimdi mark4o cevabı sonrasında bir yolu olduğunu biliyoruz) yapmak mümkün değildir, ancak ne yapabilirim özel modül ve kancanın birden çok örneğini oluşturmak için generate deyimini kullanıyor Onları sinyallerine kadar. Böyle bir şey görünmelidir:

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 

Aksi muhtemelen doğru özel modülleri kullanmak sentez sırasında bazı olasılık vardır, ama orada bir uzman değilim.

alkış örnekleri Daniel

20

Verilog dizileri Verilog-1995 eklendi (IEEE 1364-1995). Kapıları, kullanıcı tanımlı ilkelleri ve modülleri ile kullanılabilirler. Verilog-2001'de daha güçlü ama aynı zamanda daha karmaşık olan üretimler eklenmiştir. boyut biçimsel parametre o zaman her örneğine bağlı olduğu eşleşirse, her bir çıkış bağlantıları için

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

: Burada

modül örnekleri bir örnek dizisidir. Aksi halde, her örnek, ifadenin bir parça seçimine (veya bit seçimine) bağlanır.

+0

Merhaba Mark4o, havalı Bunu bilmiyordum! Tekrar yeni bir şey öğrendim :) Şerefe, Daniel – danielpoe

+0

Bu modüller paralellik ya da birbiri ardına örneklenmiş mi? – eldos

+0

@eldos: Bağlantı noktası boyutu, resmi parametreninkiyle eşleşiyorsa, her örneğe paralel bağlanır. Bir vektör kullanarak örnekleri seri olarak bağlayabilirsiniz. – mark4o

İlgili konular