2016-04-08 16 views
5

Verilog'da ASIC tasarımının en iyi uygulamalarını anlamaya veya araştırmaya çalışıyorum. ~ 20 alt modüller (her ~ 1000 satır kod) ile orta boy bir blok üzerinde çalışıyorum. Tüm alt modülü manuel olarak başlatmak ve en üst düzey RTL oluşturmak için bağlantı noktası bağlantısı yapmak için özenli bir iştir.Modül bağlantı noktası bağlantısını otomatikleştirmek için önerilen herhangi bir yol var mı?

Bunu otomatikleştirmek için bir komut dosyası yazmak istiyorum. Tüm alt modüllerin giriş/çıkışlarını ve her bir alt modülün birbiriyle nasıl bağlantılı olduğunu belirlediğimiz sürece, en üst seviyeyi otomatik olarak oluşturmak çok zor olmamalıdır. Tasarım otomasyonunda yeterli uzmanlığa sahip değilim. Birinin bana nasıl başlayacağına dair bazı göstergeler verebileceğini merak ediyordum.

  • Yapmaya çalıştığım şeyi elde etmek için herhangi bir açık kaynak aracı var mı? Şimdiye kadar bulamadım.
  • Bu sıralamada sentezlenebilir kod oluşturmanın herhangi bir standart yolu var mı?

Herhangi bir girdi veya öneri için çok teşekkür ederim.

+2

Sen 'kullanabilirsiniz *' örtülü portu bağlantıları patent modülü alt modülün liman adlarıyla aynı değişkenler varsa.. Ama dikkatli kullan. – rahulcodesinverilog

+0

Perl komut dosyalarını ve modül dosyalarının girişlerini yapabilir ve bir soket mantığı yapabileceğiniz ve üst modülde alt modülleri çalıştırabileceğiniz bir üst dosya oluşturabilirsiniz. Küçük bir modülle deneyin ve ardından gereksiniminizle genişletin. Doğrudan betik isteyemezsiniz, ancak yapabilirsiniz, ancak mümkündür. –

+0

Otomatik bir çözüm değil, ancak sık sık yaptığım şey. Alt modül tanımına yapıştırın (örn. Modül # (...) (giriş mantığı ..., çıkış mantığı ...); 've sonra örnek adını ekleyin ve tüm bağlantı noktası yönlerini ve türlerini silin. Bunu yapmak için editörünüzde fonksiyon: 'CUT. PASTE (PASTE)'. Daha sonra her bir port adını çift tıklatarak vurgulayın ve sonra makroyu yürütün. 'some_name' ile '.some_name (some_name)' arasında değişir. bağlantı adı aynı, daha sonra iş bitti.Aksi takdirde, çift tıklama, kopyalama ve yapıştırma biraz daha kolay yapmaktır. –

cevap

4

Kullandığınız metin düzenleyiciye bağlı olarak, önceden var olan bazı araçları kullanabilirsiniz. kullanılmasına izin iki eklenti vardır, orada vim kullanıcıları için

http://www.veripool.org/wiki/verilog-mode/Verilog-mode_veritedium

: bir eklenti Emacs için belirli adlandırma kurallarına izleyin varsayarak, otomatik başlatmasını ve bağlantı sinyallerini destekler vardır bu gibi Emacs komut:

http://www.vim.org/scripts/script.php?script_id=1875

İlgili konular