Verme aracı, kod ve dalga biçimine karşılık gelen çok güçlü bir işleve sahiptir, bu nedenle hata ayıklama verimliliği çok yüksektir. Ancak bu bir öncül gerektirir: Kodun sinyalinin hiyerarşik yolu, verdi aracının karşılık gelebilmesi için sinyalin dalga biçimindeki hiyerarşik yolu ile tutarlı olmalıdır.
Ancak, koddaki sinyal seviyesi yolu dalga formundaki sinyal seviyesi yolu ile tutarsızsa, verdi aracı güçsüz olacaktır. Bu nedenle, kod ve dalga formu eşleşemez.
Ama bazen böyle bir durum olacak. Aynı modül için, farklı simülasyon ortamlarında hiyerarşik yol farklıdır. Örneğin, modül D için:
A simülasyon ortamında, seviye yolu tb_top1.xxx.a'dır.
B simülasyon ortamında, seviye yolu tb_top2.yyy.a'dır.
Şu anda, simülasyon ortamı A'da üretilen fsdb dalga biçimi, eğer sadece modül D'nin dalga biçimini görmek istersem, fsdb dalga biçimi simülasyon ortamı B'de görüntülenebilir mi?
Elbette, simülasyon ortamı B'de, fsdb dalga biçimi doğrudan açılabilir, ancak modül D'nin kodu, dalga biçimindeki D modülünün dalga biçimiyle eşleştirilemez, çünkü bunların hiyerarşik yolları farklıdır.
Bu nedenle, şu anda, fsdb dalga dosyasının hiyerarşik yolunu doğrudan değiştirebiliyorsanız, tb_top1.xxx.a'yı tb_top2.yyy.a olarak değiştirin, o zaman doğrudan simülasyon ortamında B, modül D'nin kodunu ve dalga biçimindeki modülü değiştirebilirsiniz. D dalga biçimine karşılık gelir.
Bir, fsdbedit aracı
Bu işlevi elde etmek için fsdbedit aracını kullanmamız gerekiyor. Bu araç, verdiğin alt araçlarından biridir.
Bu komutun kullanımını görüntülemek için fsdbedit -h komutunu kullanın:
Kullanım fsdbedit: fsdb_file_name
seçenekler:
Yardım bilgilerinde bir örnek de verilmiştir:
örnekler:
1. Bir yaprak dürbünü ekleyin.
% fsdbedit verilog.fsdb -insert_scope '/ system / $ kapsam (test1)' -o sig.fsdb
2. Başka bir kapsamdan önce bir kapsam ekleyin.
% fsdbedit verilog.fsdb -insert_scope '/ system / $ kapsam (test1) / i_cpu' -o sig.fsdb
3. Bir kapsamı silin.
% fsdbedit verilog.fsdb -delete_scope '/ system / $ kapsam (i_cpu)' -o sig.fsdb
4. Bir kapsamı ve tüm alt kapsamları ve sinyalleri silin.
% fsdbedit verilog.fsdb -delete_scope '/ system / $ kapsam (i_cpu) / *' -o sig.fsdb
5. Kapsamı yapılandırma dosyasına ekleyin.
% fsdbedit verilog.fsdb -insert insert.cfg -o sig.fsdb
6. Konfigürasyon dosyasındaki kapsamı silin.
% fsdbedit verilog.fsdb -delete delete.cfg -o sig.fsdb
7. Nanosim veya Spice FSDB dosyaları için üst kapsamları ekleyin.
% fsdbedit analog_or_nanosim.fsdb -add_top_analog_scope'aa.bb '-o sig.fsdb
8. Kapsamı yeniden adlandırın.
% fsdbedit verilog.fsdb -rename_scope'top / system''A '-o sig.fsdb
$ Kapsamı, çalıştırılacak dalga formunun hiyerarşik yoludur.
Aşağıda, yaygın olarak kullanılan birkaç seçeneğin kullanımını tanıtın:
İki, -insert_scope
Bu seçenek, belirtilen hiyerarşik yolu fsdb dalga biçimine eklemek için kullanılır.
Örneğin, önceki hiyerarşi yolum tb_top / u_my_and idi.
Şimdi xxx.yyyy düzeyini u_my_and düzeyinin üstüne eklemek istiyorum.
O zaman komut şudur:
fsdbedit -insert_scope '/ tb_top / $ kapsam (xxx / yyy) / u_my_and' -o a.fsdb
Şu anda oluşturulan a.fsdb wave dosyasının düzey yolu aşağıdaki gibidir:
$ kapsam, parametre, düzey ayırıcı olarak / kullanarak eklenecek düzey yol bilgisini belirtir.
Üç, -rename_scope
Bu seçenek, belirtilen hiyerarşik yolu fsdb dalga biçimine yeniden adlandırmak için kullanılır.
Örneğin, önceki hiyerarşi yolum tb_top / xxx / yyy / u_my_and idi.
Şimdi xxx'i mmm olarak yeniden adlandırmak istiyorum.
O zaman komut şudur:
fsdbedit a.fsdb -rename_scope / tb_top / xxx''mmm '-o b.fsdb
Bu zamanda oluşturulan fsdb dalga formunda, hiyerarşik yol bilgisi aşağıdaki gibidir:
Dört, -delete_scope
Bu seçenek, belirtilen hiyerarşik yolu fsdb dalga biçiminden silmek için kullanılır.
Örneğin, önceki hiyerarşi yolum tb_top / xxx / yyy / u_my_and idi.
Şimdi xxx seviyesini silmek istiyorum. O zaman komut şudur:
fsdbedit a.fsdb -delete_scope '/ tb_top / $ kapsam (xxx)' -o c.fsdb
Bu zamanda oluşturulan fsdb dalga formunda, hiyerarşik yol bilgisi aşağıdaki gibidir:
Beş, özet
Fsdbedit aracını kullanarak, fsdb wave dosyasındaki modüllerin hiyerarşik yol bilgilerini, farklı simülasyon ortamlarındaki modüllerin hiyerarşik yol bilgileriyle eşleşecek şekilde kolayca değiştirebilir, böylece hata ayıklama için verdi'yi verimli bir şekilde kullanabilirsiniz.