Libero SoC Simülasyonu
Kütüphane Kurulum Talimatları
giriiş
Bu belgenin amacı, Libero SoC projesini girdi olarak kullanarak simülasyon ortamını kurma prosedürünü açıklamaktır. Bu belgeler, Libero SoC v11.9 ve daha yeni yazılım sürümleriyle kullanılmak üzere sağlanan önceden derlenmiş kitaplıklara karşılık gelir. Sağlanan kütüphaneler Verilog için derlenmiştir. VHDL kullanıcıları, karma mod simülasyonuna izin veren bir lisansa ihtiyaç duyar.
Derlenmiş simülasyon kütüphaneleri aşağıdaki araçlar için mevcuttur:
- Aldec Aktif-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise ve Xcelium
- Siemens QuestaSim
- Sinopsis VCS
Farklı bir simülatör için kütüphane talebinde bulunmak için iletişime geçin. Mikroçip Teknik Desteği.
Libero SoC Entegrasyonu
Libero SoC, bir run.do oluşturarak ModelSim ME kullanarak simülasyonu destekler file. Bu file simülasyonu kurmak ve çalıştırmak için ModelSim ME/ModelSim Pro ME tarafından kullanılır. Diğer simülasyon araçlarını kullanmak için ModelSim ME/ModelSim Pro ME run.do'yu oluşturabilir ve Tcl komut dosyasını değiştirebilirsiniz. file Simülatörünüzle uyumlu komutları kullanmak için.
1.1 Libero SoC Tcl File Nesil (Bir Soru Sorun)
Libero SoC'de tasarım oluşturup oluşturduktan sonra, tüm tasarım aşamalarında (presynth, postsynth ve post-layout) bir ModelSim ME/ModelSim Pro ME simülasyonu başlatın. Bu adım run.do dosyasını oluşturur file Her tasarım aşaması için ModelSim ME/ModelSim Pro ME için.
Önemli: Her simülasyon çalıştırmasını başlattıktan sonra otomatik olarak oluşturulan run.do dosyasını yeniden adlandırın. file Libero SoC'nin bunun üzerine yazmasını önlemek için simülasyon dizini altında fileÖrneğinample, fileler presynth_run.do, postsynth_run.do ve postlayout_run.do olarak yeniden adlandırılabilir.
Active-HDL ve Riviera-Pro için Aldec Kurulumu (Bir Soru Sorun)
Run.do file ModelSim ME/ModelSim Pro ME tarafından kullanılanlar, Aldec simülatörleri kullanılarak değiştirilebilir ve simülasyon için kullanılabilir.
2.1 Ortam Değişkeni (Bir Soru Sorun)
Ortam değişkeninizi lisansınıza ayarlayın file konum:
LM_LICENSE_FILE: lisans sunucusuna yönelik bir işaretçi içermelidir.
2.2 Derlenmiş Kütüphaneyi İndirin (Bir Soru Sorun)
Aldec Active-HDL ve Aldec Riviera-PRO için kütüphaneleri Microchip'ten indirin webalan.
2.3 Aldec simülasyonu için run.do'yu dönüştürme (Bir Soru Sorun)
Run.do fileActive-HDL ve Riviera-Pro aracını kullanan simülasyonlar için Libero SoC tarafından oluşturulan dosyalar, tek bir değişiklikle Active-HDL ve Riviera-Pro kullanan simülasyonlar için kullanılabilir. Aşağıdaki tabloda ModelSim run.do'da değiştirilecek Aldec eşdeğeri komutlar listelenmektedir. file.
Tablo 2-1. Aldec Eşdeğer Komutları
ModelSim | Aktif-HDL |
vlog | bir kayıt |
vcom | acom |
vlib | alib |
vsim | asım |
vmap | amap |
aşağıdaki gibidirampAldec simülatörleriyle ilgili run.do dosyası.
- Geçerli çalışma dizininin konumunu ayarlayın.
dsn'yi ayarla - Çalışan bir kitaplık adı belirleyin, konumunu haritalayın ve ardından Microchip FPGA ailesinin konumunu haritalayın
önceden derlenmiş kütüphaneler (örneğinampTasarımınızı çalıştırdığınız le, SmartFusion2).
malib presynth
amap presynth presynth
amap SmartFusion2 - Gerekli tüm HDL'yi derleyin fileTasarımda gerekli kütüphane ile birlikte kullanılır.
alog –çalışma presynth temp.v (Verilog için)
alog –çalışma presynth testbench.v
acom –çalışma presynth temp.vhd (Vhdl için)
acom –çalışma presynth testbench.vhd - Tasarımı simüle edin.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us'u çalıştır
2.4 Bilinen Sorunlar (Bir Soru Sorun)
Bu bölümde bilinen sorunlar ve sınırlamalar listelenmektedir.
- Riviera-PRO kullanılarak derlenen kütüphaneler platforma özeldir (yani 64-bit kütüphaneler 32-bit platformda çalıştırılamaz ve bunun tersi de geçerlidir).
- SERDES/MDDR/FDDR içeren tasarımlar için run.do dosyanızda aşağıdaki seçeneği kullanın. filetasarımlarını derledikten sonra simülasyonları çalıştırırken:
– Aktif-HDL: asım –o2
– Riviera-PRO: asim –O2 (synth öncesi ve düzenleme sonrası simülasyonlar için) ve asim –O5 (düzenleme sonrası simülasyonlar için)
Active-HDL ve Riviera-Pro için Aldec kurulumu aşağıdaki bekleyen SAR'lara sahiptir. Daha fazla bilgi için iletişime geçin Mikroçip Teknik Desteği. - SAR 49908 – Active-HDL: Matematik bloğu simülasyonları için VHDL Hatası
- SAR 50627 – Riviera-PRO 2013.02: SERDES tasarımlarına yönelik simülasyon hataları
- SAR 50461 – Riviera-PRO: simülasyonlarda asim -O2/-O5 seçeneği
Kadans Hassas Kurulum (Bir Soru Sorun)
Bir komut dosyası oluşturmanız gerekiyor file çalıştırmak için ModelSim ME/ModelSim Pro ME run.do'ya benzer.
Cadence Incisive simülatörü. Bu adımları izleyin ve komut dosyası oluşturun file NCSim için veya betiği kullanın file
ModelSim ME/ModelSim Pro ME run.do'yu dönüştürmek için sağlanmıştır fileyapılandırmaya dahil files
NCSim kullanarak simülasyonları çalıştırmak için gerekli.
Önemli: Kadans Incisive Enterprise'ın yeni sürümlerini yayınlamayı durdurdu
simülatörünü kurdum ve Xcelium simülatörünü desteklemeye başladım.
3.1 Ortam Değişkenleri (Bir Soru Sorun)
Cadence Incisive simülatörünü çalıştırmak için aşağıdaki ortam değişkenlerini yapılandırın:
- LM_LICENSE_FILE: lisansa yönelik bir işaretçi içermelidir file.
- cds_root: Cadence Incisive Kurulumunun ana dizin konumunu göstermelidir.
- PATH: cds_root tarafından işaret edilen araçlar dizini altındaki depo yerini işaret etmelidir;
$cds_root/tools/bin/64bit (64 bitlik bir makine için ve 32 bitlik bir makine için $cds_root/tools/bin).
64 bit ve 32 bit işletim sistemleri arasında geçiş yapılması durumunda simülasyon ortamını kurmanın üç yolu vardır:
Durum 1: YOL Değişkeni
Aşağıdaki komutu çalıştırın:
64bit makineler için set path = (install_dir/tools/bin/64bit $path) ve
32bit makineler için yolu ayarla = (install_dir/tools/bin $path)
Durum 2: -64bit Komut Satırı Seçeneğinin Kullanılması
64bit yürütülebilir dosyayı çağırmak için komut satırında -64bit seçeneğini belirtin.
Durum 3: INCA_64BIT veya CDS_AUTO_64BIT Ortam Değişkenini Ayarlama
INCA_64BIT değişkeni boole olarak kabul edilir. Bu değişkeni herhangi bir değere veya boş bir dizeye ayarlayabilirsiniz.
setenv INCA_64BIT
Önemli: INCA_64BIT ortam değişkeni, IC araçları gibi diğer Cadence araçlarını etkilemez. Ancak, Incisive araçlar için INCA_64BIT değişkeni, CDS_AUTO_64BIT ortam değişkeninin ayarını geçersiz kılar. INCA_64BIT ortam değişkeni ayarlanırsa tüm Incisive araçları 64 bit modunda çalışır. setenv CDS_AUTO_64BIT DAHİL:INCA
Önemli: INCA dizesi büyük harf olmalıdır. Tüm yürütülebilir dosyalar 32 bit modunda veya 64 bit modunda çalıştırılmalıdır; değişkeni aşağıda olduğu gibi bir yürütülebilir dosya içerecek şekilde ayarlamayın:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
IC araçları gibi diğer Cadence araçları da 64 bit veya 32 bit yürütülebilir dosyaların seçimini kontrol etmek için CDS_AUTO_64BIT ortam değişkenini kullanır. Aşağıdaki tablo, CDS_AUTO_64BIT değişkenini Incisive araçlarını ve IC araçlarını tüm modlarda çalıştıracak şekilde nasıl ayarlayabileceğinizi gösterir.
Tablo 3-1. CDS_AUTO_64BIT Değişkenler
CDS_AUTO_64BIT Değişkeni | Kesici Araçlar | IC Araçları |
setenv CDS_AUTO_64BIT ALL | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT NONE | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT HARİÇ:ic_binary | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT HARİÇ:INCA | 32 bit | 64 bit |
Önemli: Tüm Incisive araçlarının 32 bit modunda veya 64 bit modunda çalıştırılması gerekir; aşağıda olduğu gibi belirli bir yürütülebilir dosyayı hariç tutmak için EXCLUDE kullanmayın: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
CDS_AUTO_64BIT değişkenini Incisive araçlarını hariç tutacak şekilde ayarlarsanız (setenv CDS_AUTO_64BIT EXCLUDE:INCA), tüm Incisive araçları 32 bit modunda çalıştırılır. Ancak -64bit komut satırı seçeneği ortam değişkenini geçersiz kılar.
Aşağıdaki yapılandırma fileverilerinizi yönetmenize ve simülasyon araçlarının ve yardımcı programların çalışmasını kontrol etmenize yardımcı olur:
- Kütüphane eşleme file (cds.lib)—Tasarımınızın konumu için mantıksal bir ad tanımlar.
- Kitaplıkları ve bunları fiziksel dizin adlarıyla ilişkilendirir.
- Değişkenler file (hdl.var)—Simülasyon araçlarının ve yardımcı programların davranışını etkileyen değişkenleri tanımlar.
3.2 Derlenmiş Kütüphaneyi İndirin (Bir Soru Sorun)
Microsemi'den Cadence Incisive için kütüphaneleri indirin webalan.
3.3 NCSim Komut Dosyasını Oluşturma File (Bir Soru Sorun)
run.do dosyasının bir kopyasını oluşturduktan sonra fileNCSim kullanarak simülasyonunuzu çalıştırmak için şu adımları uygulayın:
- Bir cds.lib oluşturun file erişilebilir kütüphaneleri ve konumlarını tanımlar. file kitaplık mantıksal adlarını fiziksel dizin yollarıyla eşleyen ifadeler içerir. Eski içinampdosya, eğer presynth simülasyonunu çalıştırıyorsanız, cds.lib file aşağıdaki kod bloğunda gösterildiği gibi yazılmıştır.
DEFINE presynth ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB'I TANIMLAYIN
DEFINE smartfusion2 - Bir hdl.var oluşturun file, isteğe bağlı bir yapılandırma file tasarım ortamınızın nasıl yapılandırılacağını belirleyen yapılandırma değişkenlerini içerir. Aşağıdaki değişken files dahildir:
– Derleyicinin derlenmiş nesneleri ve diğer türetilmiş verileri depoladığı çalışma kitaplığını belirtmek için kullanılan değişkenler.
– Verilog için değişkenler (LIB_MAP, VIEW_MAP, WORK) kitaplıkları belirtmek için kullanılır ve viewdetaylandırıcı örnekleri çözdüğünde arama yapmak için kullanılır.
– Derleyici, detaylandırıcı ve simülatör komut satırı seçeneklerini ve argümanlarını tanımlamanıza olanak tanıyan değişkenler.
Eski presynth simülasyonu durumundaampyukarıda gösterildiği gibi, diyelim ki üç RTL'miz var files: a.v, b.v ve testbench.v; bunların sırasıyla presynth, COREAHBLITE_LIB ve presynth kitaplıklarında derlenmesi gerekir. hdl.var file aşağıdaki kod bloğundaki gibi yazılabilir.
İŞİ TANIMLAYIN
DEFINE PROJECT_DIR <konumu files>
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, + => presynth ) - Tasarımı derleyin filencvlog seçeneğini kullanıyor.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –güncelleme –linedebug a.v b.v testbench.v - Tasarımı ncelab kullanarak detaylandırın. Hazırlayıcı, tasarımdaki örnekleme ve konfigürasyon bilgilerine dayalı olarak bir tasarım hiyerarşisi oluşturur, sinyal bağlantısını kurar ve tasarımdaki tüm nesneler için başlangıç değerlerini hesaplar. Ayrıntılı tasarım hiyerarşisi, simülatörün simülasyonu çalıştırmak için kullandığı tasarımınızın temsili olan bir simülasyon anlık görüntüsünde saklanır.
ncelab –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
erişim +rwc –çalışma durumu durumu.:modül
Düzenleme Sonrası Simülasyon Sırasında Detaylandırma
Yerleşim sonrası simülasyonlarda öncelikle SDF file ncsdfc komutunu kullanarak detaylandırmadan önce derlenmesi gerekir.
ncsdfcfilead>.sdf –çıkış <filead>.sdf.X
Detaylandırma sırasında derlenmiş SDF çıktısını aşağıdaki kod bloğunda gösterildiği gibi –autosdf seçeneğiyle kullanın.
ncelab -autosdf –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –erişim +rwc –durum çalışma kütüphanesi.:modül –sdf_cmd_file ./
sdf_cmd_file
Sdf_cmd_file aşağıdaki kod bloğunda gösterildiği gibi olmalıdır.
COMPILED_SDF_FILE = “<derlenmiş SDF'nin konumu file>” - Ncsim kullanarak simüle edin. Detaylandırmanın ardından simülasyon için ncsim tarafından yüklenen bir simülasyon anlık görüntüsü oluşturulur. Toplu modda veya GUI modunda çalıştırabilirsiniz.
ncsim –Mesaj –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –durum çalışma kütüphanesi.:modül
Önemli: Yukarıdaki üç derleme, detaylandırma ve simülasyon adımının tümü bir kabuk betiğine yerleştirilebilir file ve komut satırından kaynaklanmıştır. Bu üç adımı kullanmak yerine aşağıdaki kod bloğunda gösterildiği gibi ncverilog veya irun seçeneği kullanılarak tasarım tek adımda simüle edilebilir.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tümü RTL
filetasarımda kullanıldı>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
Tasarımda kullanılan>
3.3.1 Bilinen Sorunlar (Bir Soru Sorun)
Test Tezgahı Geçici Çözümü
Kullanıcı tarafından oluşturulan testbençte veya Libero SoC tarafından oluşturulan varsayılan testbençte saat frekansını belirtmek için aşağıdaki ifadeyi kullanmak NCSim ile çalışmaz.
her zaman @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Simülasyonu çalıştırmak için aşağıdaki şekilde değişiklik yapın:
her zaman #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Önemli: Derlenmiş NCSim için kütüphaneler platforma özeldir (yani 64 bit kütüphaneler 32 bit platformla uyumlu değildir ve bunun tersi de geçerlidir).
MSS ve SERDES Kullanarak Postsynth ve Post-layout Simülasyonları MSS bloğunu içeren tasarımların post-synth simülasyonlarını veya SERDES kullanan tasarımların post-layout simülasyonlarını çalıştırırken, –libmap seçeneği seçiliyse BFM simülasyonları çalışmaz
detaylandırma sırasında belirtilmemiştir. Bunun nedeni, detaylandırma sırasında MSS'nin yalnızca bir Sabit İşlev olduğu çalışma kütüphanesinden çözülmesidir (varsayılan bağlama ve çalışma kütüphanesinin postsynth/post-layout olması nedeniyle).
MSS sorununu çözebilmek için ncelab komutunun aşağıdaki kod bloğunda gösterildiği gibi yazılması gerekmektedir.
SmartFusion2 önceden derlenmiş kitaplığından blok.
ncelab -libmap lib.map -libverbose -Mesaj -erişim +rwc cfg1
ve lib.map file aşağıdaki gibi olmalıdır:
yapılandırma cfg1;
tasarım ;
varsayılan liblist smartfusion2 ;
son yapılandırma
Bu, çalışma kitaplığına (ör. postsynth/post-layout) bakmadan önce SmartFusion2 kitaplığındaki herhangi bir hücreyi çözer.
–libmap seçeneği, her simülasyonun (presynth, postsynth ve post-layout) detaylandırılması sırasında varsayılan olarak kullanılabilir. Bu, örneklerin kitaplıklardan çözülmesinden kaynaklanan simülasyon sorunlarını önler.
ncelab: *F,INTERR: DAHİLİ İSTİSNA
Bu ncelab aracı istisnası, –libmap seçeneğini kullanan post-synth ve post-layout simülasyonları sırasında SmartFusion 2 ve IGLOO 2'de FDDR içeren tasarımlar için bir uyarıdır.
Önemli: Bu sorun Cadence destek ekibine (SAR 52113) bildirildi.
3.4 Sample Tcl ve Kabuk Komut Dosyası FileS (Bir Soru Sorun)
Aşağıdaki filekonfigürasyon filetasarımı ve kabuk komut dosyasını ayarlamak için gereklidir file NCSim komutlarını çalıştırmak için.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB'I TANIMLAYIN
DEFINE presynth ./presynth
Hdl.var
İŞİ TANIMLAYIN
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
Presynth)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
Presynth)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, + => presynth )
Komutlar.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -güncelleme -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagyaş
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagyaş
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Mesaj -cdslib ./cds.lib -hdlvar ./hdl.var
-presynth çalışması -logfile ncelab.log -errormax 15 -erişim +rwc -durum presynth.testbench:modül
ncsim -Mesaj -toplu -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -durum presynth.testbench:modül
3.5 Otomasyon (Bir Soru Sorun)
Aşağıdaki komut dosyası file ModelSim run.do'yu dönüştürür filekonfigürasyona giriyor fileNCSim kullanarak simülasyonları çalıştırmak için gereklidir.
Senaryo File Kullanım
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#Kullanım: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Önceden Derlenmiş_Libraries_location#
############################################### ##########################################
##################
POSIX'i kullan;
sıkı kullanın;
my ($presynth, $postsynth, $postlayout, $aile, $lib_location) = @ARGV;
&questa_parser($presynth, $aile, $lib_location);
&questa_parser($postsynth, $aile, $lib_location);
&questa_parser($postlayout, $aile, $lib_location);
alt questa_parser {
benim $ModelSim_run_do = $_[0];
benim $actel_ailem = $_[1];
benim $lib_location = $_[2];
benim $ durumum;
if ( -e “$ModelSim_run_do” )
{
açılmakFILE“$ModelSim_run_do”);
benim @ModelSim_run_do = <INFILE>;
benim $ hattım;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
açık (ÇIKIŞFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$durum = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
açık (ÇIKIŞFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$durum = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
açık (ÇIKIŞFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$durum = $1;
} Else
{
print “Yanlış Girişler Yapıldı file\N";
print “#Kullanım: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Kütüphane_konumu\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Genel Operasyonlar
$satır =~ s/..\/tasarımcı.*simülasyon\///g;
$satır =~ s/$durum/$durum\_questa/g;
#çıktıFILE “$satır \n”;
if ($satır =~ m/vmap\s+.*($actel_family)/)
{
çıktıFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($satır =~ m/vmap\s+(.*._LIB)/)
{
$satır =~ s/..\/bileşen/..\/..\/bileşen/g;
çıktıFILE “$satır \n”;
} elsif ($satır =~ m/vsim/)
{
$satır =~ s/vsim/vsim -novopt/g;
çıktıFILE “$satır \n”;
} Else
{
çıktıFILE “$satır \n”;
}
}
kapat(INFILE);
kapat(ÇIKIŞFILE);
} başka {
print “$ModelSim_run_do mevcut değil. Simülasyonu tekrar çalıştırın \n”;
}
}
Cadence Xcelium Kurulumu (Mikroçip Girişi)
Bir komut dosyası oluşturmanız gerekiyor file Cadence Xcelium simülatörünü çalıştırmak için ModelSim ME/ModelSim Pro ME run.do'ya benzer. Bu adımları izleyin ve komut dosyası oluşturun file Xcelium için veya betiği kullanın file ModelSim ME/ModelSim Pro ME run.do'yu dönüştürmek için sağlanmıştır fileyapılandırmaya dahil fileXcelium kullanarak simülasyonları çalıştırmak için gereklidir.
4.1 Ortam Değişkenleri (Bir Soru Sorun)
Cadence Xcelium'u çalıştırmak için aşağıdaki ortam değişkenlerini yapılandırın:
- LM_LICENSE_FILE: lisansa yönelik bir işaretçi içermelidir file.
- cds_root: Cadence Incisive Kurulumunun ana dizin konumunu göstermelidir.
- PATH: cds_root tarafından işaret edilen araçlar dizini altındaki depo yerini işaret etmelidir (ör.
$cds_root/tools/bin/64bit (64 bitlik bir makine için ve 32 bitlik bir makine için $cds_root/tools/bin
makine).
64 bit ve 32 bit işletim sistemleri arasında geçiş yapılması durumunda simülasyon ortamını kurmanın üç yolu vardır:
Durum 1: YOL Değişkeni
64bit makineler için set path = (install_dir/tools/bin/64bit $path) ve
32bit makineler için yolu ayarla = (install_dir/tools/bin $path)
Durum 2: -64bit Komut Satırı Seçeneğinin Kullanılması
64 bit yürütülebilir dosyayı çağırmak için komut satırında -64 bit seçeneğini belirtin.
Durum 3: INCA_64BIT veya CDS_AUTO_64BIT Ortam Değişkenini Ayarlama
INCA_64BIT değişkeni boole olarak kabul edilir. Bu değişkeni herhangi bir değere veya boş bir değere ayarlayabilirsiniz.
sicim.
setenv INCA_64BIT
Önemli: INCA_64BIT ortam değişkeni, IC araçları gibi diğer Cadence araçlarını etkilemez. Ancak, Incisive araçlar için INCA_64BIT değişkeni, CDS_AUTO_64BIT ortam değişkeninin ayarını geçersiz kılar. INCA_64BIT ortam değişkeni et ise tüm Incisive araçları 64 bit modunda çalışır.
setenv CDS_AUTO_64BIT DAHİL:INCA
Önemli: INCA dizesi büyük harf olmalıdır. Tüm yürütülebilir dosyalar 2 bit modunda veya 64 bit modunda çalıştırılmalıdır; değişkeni aşağıda olduğu gibi bir yürütülebilir dosya içerecek şekilde ayarlamayın:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
IC araçları gibi diğer Cadence araçları da 64 bit veya 32 bit yürütülebilir dosyaların seçimini kontrol etmek için CDS_AUTO_64BIT ortam değişkenini kullanır. Aşağıdaki tablo, CDS_AUTO_64BIT değişkenini Incisive araçlarını ve IC araçlarını tüm modlarda çalıştıracak şekilde nasıl ayarlayabileceğinizi gösterir.
Tablo 4-1. CDS_AUTO_64BIT Değişkenler
CDS_AUTO_64BIT Değişkeni | Kesici Araçlar | IC Araçları |
setenv CDS_AUTO_64BIT ALL | 64 bitlik | 64 bitlik |
setenv CDS_AUTO_64BIT NONE | 32 bitlik | 32 bitlik |
setenv CDS_AUTO_64BIT HARİÇ:ic_binary |
64 bitlik | 32 bitlik |
setenv CDS_AUTO_64BIT HARİÇ:INCA | 32 bitlik | 64 bitlik |
Önemli: Tüm Incisive araçlarının 32 bit modunda veya 64 bit modunda çalıştırılması gerekir; aşağıda olduğu gibi belirli bir yürütülebilir dosyayı hariç tutmak için EXCLUDE kullanmayın:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
CDS_AUTO_64BIT değişkenini Kesici araçları hariç tutacak şekilde ayarlarsanız (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), tüm Incisive araçları 32 bit modunda çalıştırılır. Ancak
-64bit komut satırı seçeneği ortam değişkenini geçersiz kılar.
Aşağıdaki yapılandırma fileverilerinizi yönetmenize ve simülasyon araçlarının ve yardımcı programların çalışmasını kontrol etmenize yardımcı olur:
- Kütüphane eşleme file (cds.lib) tasarımınızın konumu için mantıksal bir ad tanımlar.
- Kitaplıkları ve bunları fiziksel dizin adlarıyla ilişkilendirir.
- Değişkenler file (hdl.var), simülasyon araçlarının ve yardımcı programların davranışını etkileyen değişkenleri tanımlar.
4.2 Derlenmiş Kütüphaneyi İndirin (Bir Soru Sorun)
Cadence Xcelium için kütüphaneleri Microsemi'den indirin webalan.
4.3 Xcelium betiğini oluşturma file (Bir Soru Sorun)
run.do dosyasının bir kopyasını oluşturduktan sonra filesimülasyonunuzu Xcelium komut dosyasını kullanarak çalıştırmak için aşağıdaki adımları uygulayın file.
- Bir cds.lib oluşturun file hangi kütüphanelere erişilebileceğini ve bunların nerede bulunduğunu tanımlar.
The file kitaplık mantıksal adlarını fiziksel dizin yollarıyla eşleyen ifadeler içerir. Eski içinampdosya, eğer presynth simülasyonunu çalıştırıyorsanız, cds.lib file aşağıdaki kod bloğundaki gibi yazılabilir.
DEFINE presynth ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB'I TANIMLAYIN
DEFINE smartfusion2 - Bir hdl.var oluşturun file bu isteğe bağlı bir yapılandırmadır file tasarım ortamınızın nasıl yapılandırılacağını belirleyen yapılandırma değişkenlerini içerir. Bunlar şunları içerir:
– Derleyicinin derlenmiş nesneleri ve diğer türetilmiş verileri depoladığı çalışma kitaplığını belirtmek için kullanılan değişkenler.
– Verilog için değişkenler (LIB_MAP, VIEW_MAP, WORK) kitaplıkları belirtmek için kullanılır ve viewdetaylandırıcı örnekleri çözdüğünde arama yapmak için kullanılır.
– Derleyici, detaylandırıcı ve simülatör komut satırı seçeneklerini ve argümanlarını tanımlamanıza olanak tanıyan değişkenler.
Eski presynth simülasyonu durumundaampyukarıda gösterildiği gibi, diyelim ki 3 RTL'miz var filesırasıyla presynth, COREAHBLITE_LIB ve presynth kitaplıklarında derlenmesi gereken a.v, b.v ve testbench.v. hdl.var file aşağıdaki kod bloğundaki gibi yazılabilir.
İŞİ TANIMLAYIN
DEFINE PROJECT_DIR <konumu files>
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, + => presynth ) - Tasarımı derleyin filencvlog seçeneğini kullanıyor.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –güncelleme –linedebug a.v b.v testbench.v - Tasarımı ncelab kullanarak detaylandırın. Hazırlayıcı, tasarımdaki örnekleme ve konfigürasyon bilgilerine dayalı olarak bir tasarım hiyerarşisi oluşturur, sinyal bağlantısını kurar ve tasarımdaki tüm nesneler için başlangıç değerlerini hesaplar. Ayrıntılı tasarım hiyerarşisi, simülatörün simülasyonu çalıştırmak için kullandığı tasarımınızın temsili olan bir simülasyon anlık görüntüsünde saklanır.
Xcelium –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
erişim +rwc –çalışma durumu durumu.:modül
Düzenleme Sonrası Simülasyon Sırasında Detaylandırma
Yerleşim sonrası simülasyonlarda öncelikle SDF file ncsdfc komutunu kullanarak detaylandırmadan önce derlenmesi gerekir.
Kselyum <filead>.sdf –çıkış <filead>.sdf.X
Detaylandırma sırasında derlenmiş SDF çıktısını aşağıdaki kod bloğunda gösterildiği gibi –autosdf seçeneğiyle kullanın.
xmelab -autosdf –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –erişim +rwc –durum çalışma kütüphanesi.:modül –sdf_cmd_file ./
sdf_cmd_file
Sdf_cmd_file aşağıdaki kod bloğunda gösterildiği gibi olmalıdır.
COMPILED_SDF_FILE = “<derlenmiş SDF'nin konumu file>” - Xcelium kullanarak simüle edin. Detaylandırmanın ardından simülasyon için Xcelium tarafından yüklenen bir simülasyon anlık görüntüsü oluşturulur. Bu, toplu modda veya GUI modunda çalıştırılabilir.
xmsim –Mesaj –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –durum çalışma kütüphanesi.:modül
Cadence Xcelium Kurulumu
Önemli: Tümü yukarıdaki üç derleme, detaylandırma ve simülasyon adımı bir kabuk betiğine yerleştirilebilir file ve komut satırından kaynaklanmıştır. Bu üç adımı kullanmak yerine aşağıdaki kod bloğunda gösterildiği gibi ncverilog veya xrun seçeneği kullanılarak tasarım tek adımda simüle edilebilir.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tümü RTL
filetasarımda kullanıldı>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
Tasarımda kullanılan>
4.3.1 Bilinen Sorunlar (Bir Soru Sorun)
Test Tezgahı Geçici Çözümü
Kullanıcı tarafından oluşturulan test tezgahında veya Libero SoC tarafından oluşturulan varsayılan test tezgahında saat frekansını belirtmek için aşağıdaki ifadeyi kullanmak Xcelium ile çalışmaz.
her zaman @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Simülasyonu çalıştırmak için aşağıdaki şekilde değişiklik yapın:
her zaman #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Önemli: Xcelium için derlenmiş kütüphaneler platforma özeldir (yani 64 bit kütüphaneler 32 bit platformla uyumlu değildir ve bunun tersi de geçerlidir).
MSS ve SERDES kullanarak Postsynth ve Post-layout Simülasyonları
MSS bloğu içeren tasarımların post-sentetik simülasyonlarını veya SERDES kullanan tasarımların post-layout simülasyonlarını çalıştırırken, detaylandırma sırasında –libmap seçeneği belirtilmezse BFM simülasyonları çalışmaz. Bunun nedeni, detaylandırma sırasında MSS'nin yalnızca bir Sabit İşlev olduğu çalışma kütüphanesinden çözülmesidir (varsayılan bağlama ve çalışma kütüphanesinin postsynth/post-layout olması nedeniyle).
SmartFusion2 önceden derlenmiş kitaplığından MSS bloğunu çözümlemek için ncelab komutunun aşağıdaki kod bloğunda gösterildiği gibi yazılması gerekir.
xmelab -libmap lib.map -libverbose -Mesaj -erişim +rwc cfg1
ve lib.map file aşağıdaki gibi olmalıdır:
yapılandırma cfg1;
tasarım ;
varsayılan liblist smartfusion2 ;
son yapılandırma
Bunun, çalışma kitaplığına (ör. postsynth/post-layout) bakmadan önce SmartFusion2 kitaplığındaki herhangi bir hücreyi çözümlemesi gerekir.
–libmap seçeneği, her simülasyonun (presynth, postsynth ve post-layout) detaylandırılması sırasında varsayılan olarak kullanılabilir. Bu, örneklerin kitaplıklardan çözülmesinden kaynaklanan simülasyon sorunlarını önler.
xmelab: *F,INTERR: DAHİLİ İSTİSNA
Bu ncelab aracı istisnası, SmartFusion2 ve IGLOO2'de FDDR içeren tasarımlar için bir uyarıdır
–libmap seçeneğini kullanarak postsynth ve post-layout simülasyonları sırasında.
Önemli: Bu sorun Cadence destek ekibine (SAR 52113) bildirildi.
4.4 Sample Tcl ve kabuk betiği fileS (Bir Soru Sorun)
Aşağıdaki filekonfigürasyon filetasarımı ve kabuk komut dosyasını ayarlamak için gereklidir file Xcelium komutlarını çalıştırmak için.
Cds.lib
TANIMLA smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB'I TANIMLAYIN
DEFINE presynth ./presynth
Hdl.var
İŞİ TANIMLAYIN
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
Presynth)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
Presynth)
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP'I TANIMLAYIN ( $LIB_MAP, + => presynth )
Komutlar.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -güncelleme -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagyaş
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagyaş
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Mesaj -cdslib ./cds.lib -hdlvar ./hdl.var
-presynth çalışması -logfile ncelab.log -errormax 15 -erişim +rwc -durum presynth.testbench:modül
ncsim -Mesaj -toplu -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -durum presynth.testbench:modül
4.5 Otomasyon (Mikroçip Girişi)
Aşağıdaki komut dosyası file ModelSim run.do'yu dönüştürür filekonfigürasyona giriyor fileXcelium kullanarak simülasyonları çalıştırmak için gereklidir.
Senaryo File Kullanım
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#Kullanım: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Önceden Derlenmiş_Libraries_location#
############################################### ##########################################
##################
POSIX'i kullan;
sıkı kullanın;
my ($presynth, $postsynth, $postlayout, $aile, $lib_location) = @ARGV;
&questa_parser($presynth, $aile, $lib_location);
&questa_parser($postsynth, $aile, $lib_location);
&questa_parser($postlayout, $aile, $lib_location);
alt questa_parser {
benim $ModelSim_run_do = $_[0];
benim $actel_ailem = $_[1];
benim $lib_location = $_[2];
benim $ durumum;
if ( -e “$ModelSim_run_do” )
{
açılmakFILE“$ModelSim_run_do”);
benim @ModelSim_run_do = <INFILE>;
benim $ hattım;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
açık (ÇIKIŞFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$durum = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
açık (ÇIKIŞFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$durum = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
açık (ÇIKIŞFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$durum = $1;
} Else
{
print “Yanlış Girişler Yapıldı file\N";
print “#Kullanım: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Kütüphane_konumu\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Genel Operasyonlar
$satır =~ s/..\/tasarımcı.*simülasyon\///g;
$satır =~ s/$durum/$durum\_questa/g;
#çıktıFILE “$satır \n”;
if ($satır =~ m/vmap\s+.*($actel_family)/)
{
çıktıFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($satır =~ m/vmap\s+(.*._LIB)/)
{
$satır =~ s/..\/bileşen/..\/..\/bileşen/g;
çıktıFILE “$satır \n”;
} elsif ($satır =~ m/vsim/)
{
$satır =~ s/vsim/vsim -novopt/g;
çıktıFILE “$satır \n”;
} Else
{
çıktıFILE “$satır \n”;
}
}
kapat(INFILE);
kapat(ÇIKIŞFILE);
} başka {
print “$ModelSim_run_do mevcut değil. Simülasyonu tekrar çalıştırın \n”;
}
}
Siemens QuestaSim Kurulumu/ModelSim Kurulumu (Bir Soru Sorun)
Run.do fileLibero SoC tarafından ModelSim Microsemi Editions kullanılarak simülasyonlar için oluşturulan dosyalar, tek bir değişiklikle QuestaSim/ModelSim SE/DE/PE kullanılarak simülasyonlar için kullanılabilir. ModelSim ME/ModelSim Pro ME run.do'da fileönceden derlenmiş kitaplıkların konumunun değiştirilmesi gerekiyor.
Önemli:
Varsayılan olarak, ModelSim Pro ME dışındaki simülasyon aracı, simülasyon sırasında tasarım nesneleri ve giriş uyarısı gibi simülasyon yapıtlarının görünürlüğünü etkileyebilecek tasarım optimizasyonu gerçekleştirir.
Bu genellikle ayrıntılı, kendi kendini denetleyen test tezgahları kullanılarak karmaşık simülasyonlar için simülasyon çalışma süresinin azaltılmasına yardımcı olur. Ancak, özellikle dalga penceresini kullanarak simülasyon sonuçlarını grafiksel olarak incelemeyi beklediğiniz durumlarda, varsayılan optimizasyonlar tüm simülasyonlar için uygun olmayabilir.
Bu optimizasyonun neden olduğu sorunları çözmek için, tasarımın görünürlüğünü yeniden sağlamak amacıyla simülasyon sırasında uygun komutları ve ilgili bağımsız değişkenleri eklemelisiniz. Alete özel komutlar için kullanımdaki simülatörün belgelerine bakın.
5.1 Ortam Değişkenleri (Bir Soru Sorun)
Aşağıda gerekli ortam değişkenleri verilmiştir.
- LM_LICENSE_FILE: lisansın yolunu içermelidir file.
- MODEL_TECH: QuestaSim kurulumunun ana dizin konumuna giden yolu tanımlamalıdır.
- PATH: MODEL_TECH tarafından işaret edilen yürütülebilir konuma işaret etmelidir.
5.2 Mentor QuestaSim için run.do'yu dönüştürme (Bir Soru Sorun)
Run.do fileLibero SoC tarafından ModelSim Microsemi Editions kullanılarak simülasyonlar için oluşturulan dosyalar, tek bir değişiklikle QuestaSim/ModelSim_SE kullanılarak simülasyonlar için kullanılabilir.
Önemli: Tümü QuestaSim kullanılarak simüle edilen tasarımlar -novopt'u içermelidir
run.do betiğinde vsim komutuyla birlikte seçenek files.
5.3 Derlenmiş Kütüphaneyi İndirin (Bir Soru Sorun)
Mentor Graphics QuestaSim için kütüphaneleri Microsemi'den indirin webalan.
Özet VCS Kurulumu (Bir Soru Sorun)
Microsemi tarafından önerilen akış, VCS'deki Detaylandırma ve Derleme akışına dayanır. Bu belge bir komut dosyası içerir file run.do betiğini kullanan fileLibero SoC tarafından oluşturulur ve kurulumu oluşturur fileVCS simülasyonu için gereklidir. Senaryo file run.do'yu kullanır file aşağıdakileri yapmak.
- Kitaplık eşlemesi oluşturma filesynopsys_sim.setup kullanılarak yapılır file VCS simülasyonunun çalıştığı dizinde bulunur.
- Kabuk betiği oluşturma file VCS kullanarak tasarımınızı detaylandırmak ve derlemek.
6.1 Ortam Değişkenleri (Bir Soru Sorun)
Kurulumunuza göre VCS için uygun ortam değişkenlerini ayarlayın. VCS belgelerine göre gereken ortam değişkenleri şunlardır:
- LM_LICENSE_FILE: lisans sunucusuna yönelik bir işaretçi içermelidir.
- VCS_HOME: VCS kurulumunun ana dizin konumunu göstermelidir.
- PATH: VCS_HOME dizininin altındaki bin dizinine yönelik bir işaretçi içermelidir.
6.2 Derlenmiş Kütüphaneyi İndirin (Bir Soru Sorun)
Microsemi'den Synopsys VCS kütüphanelerini indirin webalan.
6.3 VCS Simülasyon Komut Dosyası File (Bir Soru Sorun)
VCS'yi kurup tasarımı ve farklı run.do'yu oluşturduktan sonra fileLibero SoC'den geliyorsanız şunları yapmalısınız:
- Kitaplık eşlemesini oluşturma file synopsys_sim.setup; Bu file Tasarım tarafından kullanılacak tüm kitaplıkların konumuna ilişkin işaretçiler içerir.
Önemli: file adı değişmemeli ve simülasyonun çalıştığı dizinde bulunmalıdır. İşte eski sevgilimampböyle bir şey için le file ön sentez simülasyonu için.
İŞ > EFAULT
SmartFusion2 :
presynth: ./presynth
VARSAYILAN : ./work - Farklı tasarımı detaylandırın fileVCS'deki vlogan komutunu kullanarak testbenç de dahil olmak üzere s. Bu komutlar bir kabuk betiğine dahil edilebilir file. Aşağıdaki bir eskiamprtl.v'de tanımlanan bir tasarımı, şurada tanımlanan testbenciyle detaylandırmak için gereken komutların dosyası
testbench.v.
vlogan +v2k -çalışma presynth rtl.v
vlogan +v2k -çalışma presynth testbench.v - Aşağıdaki komutu kullanarak tasarımı VCS kullanarak derleyin.
vcs –sim_res=1fs presynth.testbench
Not: Doğru fonksiyonel simülasyon için simülasyonun zamanlama çözünürlüğü 1fs'ye ayarlanmalıdır. - Tasarım derlendikten sonra aşağıdaki komutu kullanarak simülasyonu başlatın.
./simv - Geri açıklamalı simülasyon için VCS komutu aşağıdaki kod bloğunda gösterildiği gibi olmalıdır.
vcs postlayout.testbench –sim_res=1fs –sdf max:.<DUT örneği
ad>:<sdf file yol> –gui –l postlayout.log
6.4 Sınırlamalar/İstisnalar (Bir Soru Sorun)
Synopsys VCS kurulumunun sınırlamaları/istisnaları aşağıdadır.
- VCS simülasyonları yalnızca Libero SoC'nin Verilog projeleri için çalıştırılabilir. VCS simülatörü, Libero SoC tarafından otomatik olarak oluşturulan VHDL tarafından karşılanmayan katı VHDL dil gereksinimlerine sahiptir. files.
- Simülasyonu istediğiniz zaman durdurmak için Verilog test tezgahında bir $finish ifadesinin olması gerekir.
Önemli: Ne zaman simülasyonlar GUI modunda çalıştırılır, çalışma süresi GUI'de belirtilebilir.
6.5 Sample Tcl ve Kabuk Komut Dosyası FileS (Bir Soru Sorun)
Aşağıdaki Perl, synopsys_sim.setup dosyasının oluşturulmasını otomatikleştirir file ve karşılık gelen kabuk betiği fileTasarımı detaylandırmak, derlemek ve simüle etmek gerekiyor.
Tasarım bir MSS kullanıyorsa test.vec dosyasını kopyalayın file Libero SoC projesinin simülasyon klasöründe VCS simülasyon klasörüne yerleştirilir. Aşağıdaki bölümler şunları içerir:ampkoş.do fileİlgili kütüphane eşlemesi ve kabuk betiği dahil olmak üzere Libero SoC tarafından oluşturulmuştur. fileVCS simülasyonu için gereklidir.
6.5.1 Ön sentez (Bir Soru Sorun)
Presynth_run.do
ACTELLIBNAME SmartFusion2'yi sessizce ayarlayın
PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” öğesini sessizce ayarlayın
eğer {[file presynth/_info var]} {
echo “BİLGİ: Simülasyon kitaplığı presynth'i zaten mevcut”
} başka {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" -work presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
dalga ekle /SD1_TB1/*
günlük ekle -r /*
1000ns çalıştır
presynth_main.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” olarak ayarla
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
iş/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ÇALIŞMA > VARSAYILAN
SmartFusion2 : /VCS/SmartFusion2
presynth: ./presynth
VARSAYILAN : ./work
6.5.2 Sentez sonrası (Bir Soru Sorun)
postsynth_run.do
ACTELLIBNAME SmartFusion2'yi sessizce ayarlayın
PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” öğesini sessizce ayarlayın
eğer {[file postsynth/_info var]} {
echo “BİLGİ: Simülasyon kütüphanesi postsynth zaten mevcut”
} başka {
vlib postsynth
}
vmap postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
dalga ekle /SD1_TB1/*
günlük ekle -r /*
1000ns çalıştır
günlük SD1_TB1/*
çıkış
Postsynth_main.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” olarak ayarla
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ÇALIŞMA > VARSAYILAN
SmartFusion2 : /VCS/SmartFusion2
postsynth: ./postsynth
VARSAYILAN : ./work
6.5.3 Düzenleme sonrası (Bir Soru Sorun)
postlayout_run.do
ACTELLIBNAME SmartFusion2'yi sessizce ayarlayın
PROJECT_DIR “E:/ModelSim_Work/Test_DFF”yi sessizce ayarlayın
eğer {[file mevcut ../designer/SD1/simulation/postlayout/_info]} {
echo "BİLGİ: Simülasyon kütüphanesi ../designer/SD1/simulation/postlayout zaten mevcut"
} başka {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -çalışma sonrası düzeni “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" -work postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
dalga ekle /SD1_TB1/*
günlük ekle -r /*
1000ns çalıştır
Postlayout_main.csh
#!/bin/csh -f
PROJECT_DIR = “/VCS_Tests/Test_DFF” olarak ayarlayın
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
tasarımcı/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
ÇALIŞMA > VARSAYILAN
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
VARSAYILAN: ./workVCS
6.6 Otomasyon (Bir Soru Sorun)
Akış aşağıdaki Perl betiği kullanılarak otomatikleştirilebilir file ModelSim run.do'yu dönüştürmek için fileVCS uyumlu kabuk komut dosyasına fileLibero SoC simülasyon dizini içinde uygun dizinleri oluşturun ve ardından simülasyonları çalıştırın.
Komut dosyasını çalıştır file aşağıdaki sözdizimini kullanarak.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################### ###########################
#
#Kullanım: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
############################################### ############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print “mkdir başarısız oldu:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir başarısız oldu:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir başarısız oldu:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir (“../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir (“../”);
alt ayrıştırma_do {
benim $vlog'um = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
benim %LIB'im = ();
benim $file = $_[0] ;
benim $durumum = $_[1];
açılmakFILE”$file”) || ölmek “Açamıyorum File Sebebi şu olabilir:$!”;
if ( $state eq “presynth”)
{
open(OUT1”>presynth_main.csh”) || die “Komut oluşturulamıyor File Sebebi şu olabilir:$!”;
}
elsif ( $state eq “postsynth”)
{
open(OUT1”>postsynth_main.csh”) || die “Komut oluşturulamıyor File Sebebi şu olabilir:$!”;
}
elsif ( $state eq “postlayout”)
{
open(OUT1”>postlayout_main.csh”) || die “Komut oluşturulamıyor File Sebebi şu olabilir:$!”;
}
başka
{
print “Simülasyon Durumu eksik \n” ;
}
open(OUT2”>synopsys_sim.setup”) || die “Komut oluşturulamıyor File Sebebi şu olabilir:$!”;
# .csh file
OUT1'i yazdır “#!/bin/csh -f\n\n\n” ;
#KURMAK FILE
OUT2 yazdır “ÇALIŞMA > VARSAYILAN\n” ;
OUT2'yi yazdır “SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n” ;
while ($satır = <INFILE>)
{
Özet VCS Kurulumu
if ($satır =~ m/sessizce PROJECT_DIR\s+\”(.*?)\”/) ayarlayın
{
print OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $satır =~ m/vlog.*\.v\”/ )
{
if ($satır =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Sıcaklık = $sıcaklık \n”;
$LIB{$temp}++;
}
chomp($line);
$satır =~ s/^vlog/$vlog/ ;
$satır =~ s/ //g;
ÇIKIŞ1'i yazdır “$satır\n”;
}
elsif ( ($satır =~ m/vsim.*presynth\.(.*)/) || ($satır =~ m/vsim.*postsynth\.(.*)/) || ($satır
=~ m/vsim.*postlayout\.(.*)/)) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#print “TB Adı : $tb \n”;
if ( $satır =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$satır = $1;
#print “SATIR : $satır \n” ;
if ($satır =~ m/maks/)
{
$satır =~ s/maks \/// ;
$satır =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($satır =~ m/dak/)
{
$satır =~ sn/dak \/// ;
$satır =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($satır =~ m/tip/)
{
$satır =~ s/tip \/// ;
$satır =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
type:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ModelSim SDF formatı
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
SDF biçimi
}
}
}
baskı
ÇIKIŞ1 “\n\n”
;
if
( $state eq “presynth”
)
{
baskı
OUT2 “presynth
: ./presynth\n”
;
baskı
ÇIKIŞ1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
baskı
OUT2 “postsynth
: ./postsynth\n”
;
baskı
ÇIKIŞ1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postlayout”
)
{
print OUT2 “postlayout: ./postlayout\n” ;
}
başka
{
print “Simülasyon Durumu eksik \n” ;
}
foreach $i ( anahtarlar %LIB)
{
#print “Anahtar : $i Değer : $LIB{$i} \n” ;
OUT2 yazdır “$i : ./$i\n” ;
}
ÇIKIŞ1'i yazdır “\n\n” ;
print OUT1 “./simv -l run.log\n” ;
print OUT2 “VARSAYILAN: ./work\n” ;
IN'i kapatFILE;
OUT1'i kapatın;
OUT2'i kapatın;
}
Revizyon Geçmişi (Mikroçip Girişi
Revizyon geçmişi, belgede uygulanan değişiklikleri açıklar. Değişiklikler
En güncel yayından başlayarak revizyona göre listelenir.
Revizyon | Tarih | Tanım |
A | 12/2023 | Bu revizyonda aşağıdaki değişiklikler yapılmıştır: • Belge Mikroçip şablonuna dönüştürüldü. İlk Revizyon. • Bölüm 5. Siemens QuestaSim Kurulumu/ModelSim Kurulumu, simülasyon ve optimizasyon sırasında görünürlük üzerindeki etkiyi açıklayan yeni bir not içerecek şekilde güncellendi. |
Mikroçip FPGA Desteği
Microchip FPGA ürün grubu, ürünlerini Müşteri Hizmetleri, Müşteri Teknik Destek Merkezi, bir websitesi ve dünya çapındaki satış ofisleri.
Müşterilerin, destek ekibiyle iletişime geçmeden önce Microchip çevrimiçi kaynaklarını ziyaret etmeleri önerilir; çünkü sorularına zaten yanıt verilmiş olması muhtemeldir.
aracılığıyla Teknik Destek Merkezi ile iletişime geçin. websitede www.microchip.com/support. FPGA Cihaz Parça numarasını belirtin, uygun kasa kategorisini seçin ve tasarımı yükleyin files teknik destek vakası oluştururken.
Ürün fiyatlandırması, ürün yükseltmeleri, güncelleme bilgileri, sipariş durumu ve yetkilendirme gibi teknik olmayan ürün desteği için Müşteri Hizmetleri ile iletişime geçin.
- Kuzey Amerika'dan 800.262.1060'ı arayın
- Dünyanın geri kalanından 650.318.4460'ı arayın
- Faks, dünyanın her yerinden, 650.318.8044
Mikroçip Bilgileri
mikroçip Webalan
Microchip, çevrimiçi desteği şu şekilde sağlar: websitede www.microchip.com/. Bu website yapmak için kullanılır fileve müşterilerin kolayca erişebileceği bilgiler. Mevcut içeriklerden bazıları şunlardır:
- Ürün Desteği – Veri sayfaları ve yazım hataları, uygulama notları ve sampprogramlar, tasarım kaynakları, kullanıcı kılavuzları ve donanım destek belgeleri, en son yazılım sürümleri ve arşivlenmiş yazılımlar
- Genel Teknik Destek – Sık Sorulan Sorular (SSS), teknik destek talepleri, çevrimiçi tartışma grupları, Microchip tasarım iş ortağı programı üye listesi
- Microchip İşletmesi – Ürün seçme ve sipariş kılavuzları, en son Microchip basın bültenleri, seminer ve etkinliklerin listesi, Microchip satış ofislerinin, distribütörlerin ve fabrika temsilcilerinin listeleri
Ürün Değişiklik Bildirim Hizmeti
Microchip'in ürün değişikliği bildirim hizmeti, müşterilerin Microchip ürünleri konusunda güncel kalmasına yardımcı olur. Aboneler, belirli bir ürün ailesi veya ilgili geliştirme aracıyla ilgili değişiklikler, güncellemeler, revizyonlar veya hatalar olduğunda e-posta bildirimi alacaklardır.
Kayıt olmak için şuraya gidin: www.microchip.com/pcn'ye girin ve kayıt talimatlarını izleyin.
Müşteri Desteği
Microchip ürünlerini kullananlar çeşitli kanallardan yardım alabilirler:
- Distribütör veya Temsilci
- Yerel Satış Ofisi
- Gömülü Çözümler Mühendisi (ESE)
- Teknik Destek
Müşteriler destek için distribütörleri, temsilcileri veya ESE ile iletişime geçmelidir. Müşterilere yardımcı olmak için yerel satış ofisleri de mevcuttur. Satış ofisleri ve lokasyonların bir listesi bu belgede yer almaktadır.
Teknik destek şu şekilde sağlanmaktadır: website şu adreste: www.microchip.com/support
Mikroçip Cihazları Kod Koruma Özelliği
Microchip ürünlerindeki kod koruma özelliğinin aşağıdaki ayrıntılarına dikkat edin:
- Mikroçip ürünleri, kendilerine ait Mikroçip Veri Sayfasında yer alan teknik özelliklere uygundur.
- Microchip, ürün ailesinin, amaçlanan şekilde, çalışma özellikleri dahilinde ve normal koşullar altında kullanıldığında güvenli olduğuna inanmaktadır.
- Mikroçip, fikri mülkiyet haklarına değer verir ve agresif bir şekilde korur. Microchip ürününün kod koruma özelliklerini ihlal etmeye çalışmak kesinlikle yasaktır ve Dijital Binyıl Telif Hakkı Yasası'nı ihlal edebilir.
- Ne Microchip ne de başka bir yarı iletken üreticisi kodunun güvenliğini garanti edemez. Kod koruması, ürünün "kırılmaz" olduğunu garanti ettiğimiz anlamına gelmez.
Kod koruması sürekli olarak gelişmektedir. Microchip, ürünlerimizin kod koruma özelliklerini sürekli olarak geliştirmeye kararlıdır.
Yasal Uyarı
Bu yayın ve buradaki bilgiler, Microchip ürünlerini tasarlamak, test etmek ve uygulamanızla entegre etmek dahil olmak üzere yalnızca Microchip ürünleriyle kullanılabilir. Bu bilgilerin başka herhangi bir şekilde kullanılması bu şartları ihlal eder. Cihaz uygulamalarına ilişkin bilgiler yalnızca size kolaylık sağlamak amacıyla sağlanmıştır ve bunların yerini güncellemeler alabilir. Uygulamanızın spesifikasyonlarınıza uygun olmasını sağlamak sizin sorumluluğunuzdadır. Ek destek için yerel Microchip satış ofisinizle iletişime geçin veya şu adresten ek destek alın: www.microchip.com/en-us/support/design-help/client-support-services.
BU BİLGİLER MICROCHIP TARAFINDAN "OLDUĞU GİBİ" SAĞLANMAKTADIR. MICROCHIP, İHLAL ETMEME, TİCARİ ELVERİŞLİLİK VE BELİRLİ BİR AMACA UYGUNLUK GARANTİLERİ VEYA DURUMU, KALİTESİ VEYA PERFORMANSI İLE İLGİLİ GARANTİLER DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE, AÇIK VEYA ZIMNİ, YAZILI VEYA SÖZLÜ, YASAL VEYA BAŞKA BİR ŞEKİLDE, BİLGİLERLE İLGİLİ HİÇBİR BEYANAT VEYA GARANTİ VERMEZ.
MICROCHIP, HİÇBİR DURUMDA, BİLGİLERLE YA DA KULLANIMLARIYLA İLGİLİ OLARAK, HERHANGİ BİR DOLAYLI, ÖZEL, CEZAİ, ARIZİ YA DA SONUÇ OLARAK OLUŞAN KAYIP, HASAR, MALİYET YA DA GİDERDEN, NASIL OLUŞURSA OLSUN, MICROCHIP'E OLASILIKTAN HABERDAR EDİLMİŞ OLSA YA DA HASARLAR ÖNGÖRÜLEBİLİR OLSA BİLE, SORUMLU TUTULAMAZ. YASALARIN İZİN VERDİĞİ AZAMİ ÖLÇÜDE, MICROCHIP'İN BİLGİLERLE YA DA KULLANIMLARIYLA İLGİLİ HERHANGİ BİR ŞEKİLDEKİ TÜM TALEPLERDEKİ TOPLAM SORUMLULUĞU, VARSA, BİLGİLER İÇİN MICROCHIP'E DOĞRUDAN ÖDEDİĞİNİZ ÜCRET TUTARINI AŞMAYACAKTIR.
Microchip cihazlarının yaşam desteği ve/veya güvenlik uygulamalarında kullanımı tamamen alıcının riski altındadır ve alıcı, Microchip'i bu tür kullanımdan kaynaklanan her türlü hasar, talep, dava veya masraftan korumayı, tazmin etmeyi ve savunmayı kabul eder. Aksi belirtilmediği sürece, Microchip fikri mülkiyet hakları kapsamında hiçbir lisans, örtük veya başka bir şekilde devredilmez.
Ticari markalar
Microchip adı ve logosu, Microchip logosu, Adaptec, AVR, AVR logosu, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logosu, MOST, MOST logosu, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logosu, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logosu, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, TinyAVR, UNI/O, Vectron ve XMEGA, Microchip Technology Incorporated'ın ABD ve diğer ülkelerdeki tescilli ticari markalarıdır.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hiper Hız Kontrolü, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logosu, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime ve ZL, Microchip Technology Incorporated'ın ABD'deki tescilli ticari markalarıdır
Bitişik Anahtar Bastırma, AKS, Dijital Çağ İçin Analog, Herhangi Bir Kapasitör, AnyIn, AnyOut, Artırılmış Anahtarlama, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dinamik Ortalama Eşleştirme , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Devre İçi Seri Programlama, ICSP, INICnet, Akıllı Paralelleştirme, IntelliMOS, Yongalar Arası Bağlantı, JitterBlocker, Ekran Düğmesi, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Sertifikalı logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Dalgalanma Engelleyici, RTAX, RTG4, SAMICE, Seri Dörtlü I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Toplam Dayanıklılık, Güvenilir Zaman, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect ve ZENA, Microchip Technology Incorporated'ın ticari markalarıdır
ABD'de ve diğer ülkelerde.
SQTP, ABD'de Microchip Technology Incorporated'ın bir hizmet markasıdır
Adaptec logosu, Frequency on Demand, Silicon Storage Technology ve Symmcom, Microchip Technology Inc.'in diğer ülkelerdeki tescilli ticari markalarıdır.
GestIC, Microchip Technology Inc.'in bir yan kuruluşu olan Microchip Technology Germany II GmbH & Co. KG'nin diğer ülkelerde tescilli ticari markasıdır.
Burada adı geçen diğer tüm ticari markalar ilgili şirketlerin mülkiyetindedir.
© 2023, Microchip Technology Incorporated ve yan kuruluşları. Tüm hakları Saklıdır.
ISBN: 978-1-6683-3694-6
Kalite Yönetim Sistemi
Microchip'in Kalite Yönetim Sistemleri hakkında bilgi edinmek için lütfen şu adresi ziyaret edin: www.microchip.com/quality.
AMERİKALAR | ASYA/PASİFİK | ASYA/PASİFİK | AVRUPA |
Kurumsal Ofis 2355 Batı Chandler Bulvarı. Chandler, Arizona 85224-6199 Telefon: 480-792-7200 Faks: 480-792-7277 Teknik Destek: www.microchip.com/support Web Adres: www.microchip.com atlanta Duluth, Georgia Telefon: 678-957-9614 Faks: 678-957-1455 Austin, Teksas Telefon: 512-257-3370 Boston Westborough, MA Telefon: 774-760-0087 Faks: 774-760-0088 Chicago Itasca, IL Telefon: 630-285-0071 Faks: 630-285-0075 Dallas Addison Telefon: 972-818-7423 Faks: 972-818-2924 Detroit Yeni, MI Telefon: 248-848-4000 Houston, Teksas Telefon: 281-894-5983 Indianapolis Noblesville, IN Telefon: 317-773-8323 Faks: 317-773-5453 Telefon: 317-536-2380 Los Angeles Misyon Viejo, CA Telefon: 949-462-9523 Faks: 949-462-9608 Telefon: 951-273-7800 Raleigh, Kuzey Karolina Telefon: 919-844-7510 New York, New York Telefon: 631-435-6000 San Jose, Kaliforniya Telefon: 408-735-9110 Telefon: 408-436-4270 Kanada – Toronto Telefon: 905-695-1980 Faks: 905-695-2078 |
Avustralya – Sidney Telefon: 61-2-9868-6733 Çin – Pekin Telefon: 86-10-8569-7000 Çin – Çengdu Telefon: 86-28-8665-5511 Çin – Çongçing Telefon: 86-23-8980-9588 Çin – Dongguan Telefon: 86-769-8702-9880 Çin – Guangzhou Telefon: 86-20-8755-8029 Çin – Hangzhou Telefon: 86-571-8792-8115 Çin – Hong Kong Özel İdari Bölgesi Telefon: 852-2943-5100 Çin – Nanjing Telefon: 86-25-8473-2460 Çin – Qingdao Telefon: 86-532-8502-7355 Çin – Şanghay Telefon: 86-21-3326-8000 Çin – Shenyang Telefon: 86-24-2334-2829 Çin – Shenzhen Telefon: 86-755-8864-2200 Çin – Suzhou Telefon: 86-186-6233-1526 Çin – Vuhan Telefon: 86-27-5980-5300 Çin – Xian Telefon: 86-29-8833-7252 Çin – Xiamen Telefon: 86-592-2388138 Çin – Zhuhai Telefon: 86-756-3210040 |
Hindistan – Bangalore Telefon: 91-80-3090-4444 Hindistan – Yeni Delhi Telefon: 91-11-4160-8631 Hindistan – Pune Telefon: 91-20-4121-0141 Japonya – Osaka Telefon: 81-6-6152-7160 Japonya – Tokyo Tel: 81-3-6880-3770 Kore – Daegu Telefon: 82-53-744-4301 Kore – Seul Telefon: 82-2-554-7200 Malezya – Kuala Lumpur Telefon: 60-3-7651-7906 Malezya – Penang Telefon: 60-4-227-8870 Filipinler – Manila Telefon: 63-2-634-9065 Singapur Telefon: 65-6334-8870 Tayvan – Hsin Chu Telefon: 886-3-577-8366 Tayvan – Kaohsiung Telefon: 886-7-213-7830 Tayvan – Taipei Telefon: 886-2-2508-8600 Tayland – Bangkok Telefon: 66-2-694-1351 Vietnam – Ho Chi Minh Telefon: 84-28-5448-2100 |
Avusturya – Wels Telefon: 43-7242-2244-39 Faks: 43-7242-2244-393 Danimarka – Kopenhag Telefon: 45-4485-5910 Faks: 45-4485-2829 Finlandiya – Espoo Telefon: 358-9-4520-820 Fransa – Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Almanya – Garching Telefon: 49-8931-9700 Almanya – Haan Telefon: 49-2129-3766400 Almanya – Heilbronn Telefon: 49-7131-72400 Almanya – Karlsruhe Telefon: 49-721-625370 Almanya – Münih Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Almanya – Rosenheim Telefon: 49-8031-354-560 İsrail – Ra'anana Telefon: 972-9-744-7705 İtalya – Milano Telefon: 39-0331-742611 Faks: 39-0331-466781 İtalya – Padova Telefon: 39-049-7625286 Hollanda – Drunen Telefon: 31-416-690399 Faks: 31-416-690340 Norveç – Trondheim Tel: 47-72884388 Polonya – Varşova Telefon: 48-22-3325737 Romanya – Bükreş Tel: 40-21-407-87-50 İspanya – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 İsveç – Gothenberg Tel: 46-31-704-60-40 İsveç – Stokholm Telefon: 46-8-5090-4654 Birleşik Krallık – Wokingham Telefon: 44-118-921-5800 Faks: 44-118-921-5820 |
© 2023 Microchip Technology Inc. ve iştirakleri
DS50003627A –
Belgeler / Kaynaklar
![]() |
MICROCHIP Libero SoC Simülasyon Kütüphanesi Yazılımı [pdf] Kullanıcı Kılavuzu DS50003627A, Libero SoC Simülasyon Kitaplığı Yazılımı, SoC Simülasyon Kitaplığı Yazılımı, Simülasyon Kitaplığı Yazılımı, Kitaplık Yazılımı, Yazılım |