2015-01-29 19 views
5

Verilog'da bazı simülasyon hata ayıklama yapmak istiyorum ve bazı modüllere $display eklemek istiyorum ancak tek bir modülün sağladığı çıktıyı izlemek istiyorum. Şu anki modülün $display'a eklenecek şekilde ismini alabilmesini istiyorum.Verilog modülünün ismiyle başlamanın bir yolu var mı?

Örneğin

:

module adder (...) 
    ... 
    $display($magic_instance_name, " ", in0, " + ", in1); 
    ... 

adder memory_address (...); 
adder fifo_nvals (...); 

Ve sonra çıkış gibi görünecektir: Bunu yapabileceğini

memory_address 100 + 8 
fifo_nvals 3 + 1 
... 

bir yolu, her modül için bir instance_name parametresini eklemektir. Daha kolay bir yolu var mı?

cevap

7

Sen eşsiz örnek adı da dahil olmak üzere tam yolunu almak için %m kullanabilirsiniz:

module tb; 
    adder memory_address(); 
    adder fifo_nvals(); 
    initial #5 $finish; 
endmodule 

module adder; 
    initial $display(" hello from ... %m"); 
endmodule 

/* 

Prints: 

    hello from ... tb.memory_address 
    hello from ... tb.fifo_nvals 

*/ 
İlgili konular