Libero SoC Simulyasiyası
Kitabxana Quraşdırma Təlimatları
Giriş
Bu sənədin məqsədi giriş kimi Libero SoC layihəsindən istifadə edərək simulyasiya mühitinin qurulması prosedurunu təsvir etməkdir. Bu sənədlər Libero SoC v11.9 və daha yeni proqram relizləri ilə istifadə üçün nəzərdə tutulmuş əvvəlcədən tərtib edilmiş kitabxanalara uyğundur. Təqdim olunan kitabxanalar Verilog üçün tərtib edilmişdir. VHDL istifadəçiləri qarışıq rejimli simulyasiyaya imkan verən lisenziya tələb edir.
Tərtib edilmiş simulyasiya kitabxanaları aşağıdakı alətlər üçün mövcuddur:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise və Xcelium
- Siemens QuestaSim
- Synopsys VCS
Fərqli simulyator üçün kitabxana tələb etmək üçün əlaqə saxlayın Microchip Texniki Dəstəyi.
Libero SoC İnteqrasiyası
Libero SoC run.do yaradaraq ModelSim ME istifadə edərək simulyasiyanı dəstəkləyir file. Bu file ModelSim ME/ModelSim Pro ME tərəfindən simulyasiyanı qurmaq və işə salmaq üçün istifadə olunur. Digər simulyasiya alətlərindən istifadə etmək üçün siz ModelSim ME/ModelSim Pro ME run.do yarada və Tcl skriptini dəyişdirə bilərsiniz. file simulyatorunuza uyğun olan əmrlərdən istifadə etmək üçün.
1.1 Libero SoC Tcl File Nəsil (Sual verin)
Libero SoC-də dizayn yaratdıqdan və yaradandan sonra bütün dizayn mərhələlərində (presinth, postsinth və post-layout) ModelSim ME/ModelSim Pro ME simulyasiyasına başlayın. Bu addım run.do yaradır file hər dizayn mərhələsi üçün ModelSim ME/ModelSim Pro ME üçün.
Əhəmiyyətli: Hər bir simulyasiya işə başladıqdan sonra avtomatik yaradılan run.do-nun adını dəyişin file Libero SoC-nin bunun üzərinə yazmasının qarşısını almaq üçün simulyasiya kataloqu altında file. məsələnample, the files presynth_run.do, postsynth_run.do və postlayout_run.do olaraq dəyişdirilə bilər.
Active-HDL və Riviera-Pro üçün Aldec Quraşdırma (Sual verin)
Bu run.do file ModelSim ME/ModelSim Pro ME tərəfindən istifadə edilən Aldec simulyatorlarından istifadə edərək simulyasiya üçün dəyişdirilə və istifadə edilə bilər.
2.1 Ətraf Dəyişən (Sual verin)
Mühit dəyişənini lisenziyanıza uyğunlaşdırın file yer:
LM_LICENSE_FILE: lisenziya serverinə göstərici daxil etməlidir.
2.2 Tərtib edilmiş Kitabxananı Yükləyin (Sual verin)
Mikroçipdən Aldec Active-HDL və Aldec Riviera-PRO üçün kitabxanaları yükləyin websayt.
2.3 Aldec simulyasiyası üçün run.do-nun çevrilməsi (Sual verin)
Bu run.do fileActive-HDL və Riviera-Pro alətindən istifadə edərək simulyasiyalar üçün Libero SoC tərəfindən yaradılan s bir dəyişikliklə Active-HDL və Riviera-Pro istifadə edərək simulyasiyalar üçün istifadə edilə bilər. Aşağıdakı cədvəldə ModelSim run.do-da dəyişdiriləcək Aldec-ekvivalent əmrlərin siyahısı verilmişdir file.
Cədvəl 2-1. Aldec Ekvivalent Əmrləri
ModelSim | Aktiv - HDL |
vlog | aloq |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Aşağıdakı kimiample run.do Aldec simulyatorları ilə bağlıdır.
- Cari iş qovluğunun yerini təyin edin.
dsn təyin edin - İşləyən kitabxana adını təyin edin, onun yerini xəritələyin və sonra Microchip FPGA ailəsinin yerini xəritəyə qoyun
əvvəlcədən tərtib edilmiş kitabxanalar (məsample, SmartFusion2) dizaynınızı işlətdiyiniz.
alib presinth
amap presynth presynth
amap SmartFusion2 - Bütün lazımi HDL-ni tərtib edin files dizaynda tələb olunan kitabxana ilə istifadə olunur.
alog – iş presynth temp.v (Verilog üçün)
alog – iş presynth testbench.v
acom - iş presynth temp.vhd (Vhdl üçün)
acom – iş presynth testbench.vhd - Dizaynı simulyasiya edin.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us qaçın
2.4 Məlum məsələlər (Sual verin)
Bu bölmədə məlum problemlər və məhdudiyyətlər sadalanır.
- Riviera-PRO istifadə edərək tərtib edilmiş kitabxanalar platformaya xasdır (yəni 64-bitlik kitabxanalar 32-bit platformada işlədilə bilməz və əksinə).
- SERDES/MDDR/FDDR olan dizaynlar üçün run.do-da aşağıdakı seçimdən istifadə edin files dizaynlarını tərtib etdikdən sonra simulyasiyalar işləyərkən:
– Aktiv-HDL: asim –o2
– Riviera-PRO: asim –O2 (presynth və post-layout simulyasiyaları üçün) və asim –O5 (post-layout simulyasiyaları üçün)
Active-HDL və Riviera-Pro üçün Aldec quraşdırma aşağıdakı gözlənilən SAR-lara malikdir. Əlavə məlumat üçün əlaqə saxlayın Microchip Texniki Dəstəyi. - SAR 49908 – Aktiv-HDL: Riyaziyyat blok simulyasiyaları üçün VHDL xətası
- SAR 50627 – Riviera-PRO 2013.02: SERDES dizaynları üçün simulyasiya xətaları
- SAR 50461 – Riviera-PRO: simulyasiyalarda asim -O2/-O5 seçimi
Cadence Incisive Quraşdırma (Sual verin)
Bir skript yaratmalısınız file işə salmaq üçün ModelSim ME/ModelSim Pro ME run.do-ya bənzər
Cadence Incisive simulyatoru. Bu addımları izləyin və skript yaradın file NCSim üçün və ya skriptdən istifadə edin file
ModelSim ME/ModelSim Pro ME run.do-nu çevirmək üçün nəzərdə tutulmuşdur files konfiqurasiyaya daxil edin files
NCSim istifadə edərək simulyasiyaları yerinə yetirmək üçün lazım idi.
Əhəmiyyətli: Cadence Incisive Enterprise-ın yeni versiyalarını buraxmağı dayandırdı
simulyator və Xcelium simulyatorunu dəstəkləməyə başladı.
3.1 Mühit Dəyişənləri (Sual verin)
Cadence Incisive simulyatorunu işə salmaq üçün aşağıdakı mühit dəyişənlərini konfiqurasiya edin:
- LM_LICENSE_FILE: lisenziyaya göstərici daxil etməlidir file.
- cds_root: Cadence Incisive Quraşdırmasının ev kataloqunun yerini göstərməlidir.
- PATH: cds_root tərəfindən göstərilən alətlər kataloqunun altındakı zibil yerini göstərməlidir, yəni,
$cds_root/tools/bin/64bit (64 bitlik maşın üçün və 32 bitlik maşın üçün $cds_root/tools/bin).
64-bit və 32-bit əməliyyat sistemləri arasında keçid zamanı simulyasiya mühitini qurmağın üç yolu var:
Case 1: PATH Dəyişən
Aşağıdakı əmri yerinə yetirin:
64 bit maşınlar üçün yol təyin edin = (install_dir/tools/bin/64bit $path) və
32 bitlik maşınlar üçün yol = (install_dir/tools/bin $path) təyin edin
Case 2: -64bit Command-line Seçimindən istifadə
64 bitlik icra olunanı işə salmaq üçün əmr satırında -64bit seçimini göstərin.
Case 3: INCA_64BIT və ya CDS_AUTO_64BIT Ətraf Dəyişəninin qurulması
INCA_64BIT dəyişəni boolean kimi qəbul edilir. Siz bu dəyişəni istənilən dəyərə və ya null sətirə təyin edə bilərsiniz.
setenv INCA_64BIT
Əhəmiyyətli: The INCA_64BIT mühit dəyişəni IC alətləri kimi digər Cadence alətlərinə təsir göstərmir. Bununla belə, Incisive alətləri üçün INCA_64BIT dəyişəni CDS_AUTO_64BIT mühit dəyişəni üçün parametrləri ləğv edir. INCA_64BIT mühit dəyişəni təyin edilərsə, bütün İncisiv alətlər 64 bit rejimində işləyir. setenv CDS_AUTO_64BIT DAXİL EDİR:INCA
Əhəmiyyətli: The INCA sətri böyük hərflə yazılmalıdır. Bütün icra olunanlar ya 32 bit rejimində, ya da 64 bit rejimində işlədilməlidir, dəyişəni aşağıdakı kimi bir icra olunanı daxil etmək üçün təyin etməyin:
setenv CDS_AUTO_64BIT DAXİL EDİR:ncelab
IC alətləri kimi digər Cadence alətləri də 64-bit və ya 32-bit icra edilə bilənlərin seçiminə nəzarət etmək üçün CDS_AUTO_64BIT mühit dəyişənindən istifadə edir. Aşağıdakı cədvəl CDS_AUTO_64BIT dəyişənini bütün rejimlərdə Incisive alətləri və IC alətlərini işə salmaq üçün necə təyin edə biləcəyinizi göstərir.
Cədvəl 3-1. CDS_AUTO_64BIT Dəyişənlər
CDS_AUTO_64BIT Dəyişən | Kəsici alətlər | IC Alətləri |
setenv CDS_AUTO_64BIT ALL | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT YOX | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT İSTİSNA:ic_binary | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bit | 64 bit |
Əhəmiyyətli: Bütün Incisive alətləri ya 32-bit rejimində, ya da 64-bit rejimində işlədilməlidir, aşağıdakı kimi xüsusi icra olunanı istisna etmək üçün EXCLUDE istifadə etməyin: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Əgər siz CDS_AUTO_64BIT dəyişənini kəsici alətləri xaric etmək üçün təyin etsəniz (setenv CDS_AUTO_64BIT EXCLUDE:INCA), bütün İncisiv alətlər 32 bit rejimində işlədilir. Bununla belə, -64bit komanda xətti seçimi mühit dəyişənini ləğv edir.
Aşağıdakı konfiqurasiya files məlumatlarınızı idarə etməyə və simulyasiya alətləri və utilitlərinin işinə nəzarət etməyə kömək edir:
- Kitabxana xəritəsi file (cds.lib)—Dizaynınızın yeri üçün məntiqi ad təyin edir.
- Kitabxanalar və onları fiziki kataloq adları ilə əlaqələndirir.
- Dəyişənlər file (hdl.var) — Simulyasiya alətlərinin və utilitlərin davranışına təsir edən dəyişənləri müəyyən edir.
3.2 Tərtib edilmiş Kitabxananı Yükləyin (Sual verin)
Microsemi-dən Cadence Incisive üçün kitabxanaları yükləyin websayt.
3.3 NCSim Skriptinin yaradılması File (Sual verin)
run.do nüsxəsini yaratdıqdan sonra files, NCSim istifadə edərək simulyasiyanızı həyata keçirmək üçün bu addımları yerinə yetirin:
- cds.lib yaradın file bu, əlçatan olan kitabxanaları və onların yerini müəyyənləşdirir. The file kitabxananın məntiqi adlarını onların fiziki kataloq yolları ilə əlaqələndirən ifadələri ehtiva edir. məsələnampƏgər presynth simulyasiyası işlədirsinizsə, cds.lib file aşağıdakı kod blokunda göstərildiyi kimi yazılır.
presinth ./presynth TƏYİF EDİN
COREAHBLITE_LIB ./COREAHBLITE_LIB TƏYİN EDİN
smartfusion2-ni təyin edin - hdl.var yaradın file, isteğe bağlı konfiqurasiya file konfiqurasiya dəyişənlərini ehtiva edən, dizayn mühitinizin necə konfiqurasiya olunduğunu müəyyən edən. Aşağıdakı dəyişən files daxildir:
– Kompilyatorun tərtib edilmiş obyektləri və digər əldə edilmiş məlumatları saxladığı iş kitabxanasını təyin etmək üçün istifadə olunan dəyişənlər.
– Verilog üçün dəyişənlər (LIB_MAP, VIEW_MAP, WORK) kitabxanaları müəyyən etmək üçün istifadə olunur və views tərtibatçı nümunələri həll etdikdə axtarış etmək üçün.
– Sizə kompilyator, tərtibatçı və simulyator komanda xətti seçimlərini və arqumentlərini təyin etməyə imkan verən dəyişənlər.
Presynth simulyasiyası halında example yuxarıda göstərilən, biz üç RTL var files: av, bv və testbench.v, müvafiq olaraq presynth, COREAHBLITE_LIB və presynth kitabxanalarına yığılmalıdır. Bu hdl.var file aşağıdakı kod blokunda göstərildiyi kimi yazıla bilər.
İŞİ TƏYİF EDİN presinth
PROJECT_DIR TƏYİN EDİN files>
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/av => presinth )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, + => presinth ) - Dizaynı tərtib edin filencvlog seçimindən istifadə edir.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab istifadə edərək dizaynı hazırlayın. Tərtibatçı dizayndakı nümunələşdirmə və konfiqurasiya məlumatlarına əsaslanan dizayn iyerarxiyasını qurur, siqnal əlaqəsini qurur və dizayndakı bütün obyektlər üçün ilkin dəyərləri hesablayır. Hazırlanmış dizayn iyerarxiyası simulyatorun simulyasiyanı həyata keçirmək üçün istifadə etdiyi dizaynınızın təsviri olan simulyasiya snapshotunda saxlanılır.
ncelab –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
giriş + rwc - status worklib. :modul
Post-layout simulyasiyası zamanı işlənmə
Planlaşdırmadan sonrakı simulyasiyalar halında, ilk növbədə SDF file ncsdfc əmrindən istifadə edərək işlənmədən əvvəl tərtib edilməlidir.
ncsdfcfilead>.sdf – çıxışfileadı>.sdf.X
İşlətmə zamanı aşağıdakı kod blokunda göstərildiyi kimi –autosdf seçimi ilə tərtib edilmiş SDF çıxışından istifadə edin.
ncelab -autosdf –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file aşağıdakı kod blokunda göstərildiyi kimi olmalıdır.
COMPILED_SDF_FILE = " file>” - ncsim istifadə edərək simulyasiya edin. İşlənib hazırlandıqdan sonra simulyasiya üçün ncsim tərəfindən yüklənən simulyasiya snapshot yaradılır. Siz toplu rejimdə və ya GUI rejimində işləyə bilərsiniz.
ncsim –Mesaj –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 - status worklib. :modul
Əhəmiyyətli: Yuxarıdakı üç addımın hamısını tərtib etmək, hazırlamaq və simulyasiya etmək qabıq skriptinə daxil edilə bilər. file və komanda xəttindən qaynaqlanır. Bu üç addımdan istifadə etmək əvəzinə, dizayn aşağıdakı kod blokunda göstərildiyi kimi ncverilog və ya irun seçimindən istifadə edərək bir addımda simulyasiya edilə bilər.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
filedizaynda istifadə olunur>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
dizaynda istifadə olunur>
3.3.1 Məlum məsələlər (Sual verin)
Testbench həlli
İstifadəçi tərəfindən yaradılan test masasında saat tezliyini təyin etmək üçün aşağıdakı ifadədən istifadə etmək və ya Libero SoC tərəfindən yaradılan standart testbench NCSim ilə işləmir.
həmişə @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Simulyasiyanı həyata keçirmək üçün aşağıdakı kimi dəyişdirin:
həmişə #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Əhəmiyyətli: Tərtib edilmişdir NCSim üçün kitabxanalar platformaya xasdır (yəni 64 bitlik kitabxanalar 32 bit platforma ilə uyğun gəlmir və əksinə).
MSS və SERDES-dən istifadə edərək Postsynth və Post-layout Simulyasiyaları MSS blokunu ehtiva edən dizaynların postsinth simulyasiyalarını və ya SERDES-dən istifadə edən dizaynların post-layout simulyasiyalarını işləyərkən –libmap seçimi olduqda BFM simulyasiyaları işləmir.
işlənməsi zamanı dəqiqləşdirilməmişdir. Bunun səbəbi, işlənib hazırlanma zamanı MSS iş kitabxanasından (defolt bağlama və worklib-in postsinth/post-layout olduğuna görə) həll olunduğuna görədir, burada o, sadəcə Sabit Funksiyadır.
MSS-ni həll etmək üçün ncelab əmri aşağıdakı kod blokunda göstərildiyi kimi yazılmalıdır
SmartFusion2 əvvəlcədən tərtib edilmiş kitabxanadan blok.
ncelab -libmap lib.map -libverbose -Mesaj -access +rwc cfg1
və lib.map file aşağıdakı kimi olmalıdır:
cfg1 konfiqurasiyası;
dizayn ;
default liblist smartfusion2 ;
endconfig
Bu, SmartFusion2 kitabxanasındakı istənilən xananı iş kitabxanasına, yəni postsinth/post-layouta baxmadan əvvəl həll edir.
–libmap seçimi hər bir simulyasiya (presinth, postsinth və post-layout) üçün işlənib hazırlanarkən standart olaraq istifadə edilə bilər. Bu, kitabxanalardan nümunələrin həlli ilə əlaqədar yaranan simulyasiya problemlərindən qaçınır.
ncelab: *F,INTERR: DAXİLİ İSTİSNA
Bu ncelab alət istisnası –libmap seçimindən istifadə edərək postsinth və post-layout simulyasiyaları zamanı SmartFusion 2 və IGLOO 2-də FDDR ehtiva edən dizaynlar üçün xəbərdarlıqdır.
Əhəmiyyətli: Bu problem Cadence dəstək komandasına bildirildi (SAR 52113).
3.4 Sample Tcl və Shell Script Files (Sual verin)
Aşağıdakılar files konfiqurasiyadır filedizayn və qabıq skriptini qurmaq üçün lazımdır file NCSim əmrlərini yerinə yetirmək üçün.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB TƏYİN EDİN
presinth ./presynth TƏYİF EDİN
Hdl.var
İŞİ TƏYİF EDİN presinth
PROJECT_DIR DEFINE /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_slavestagev => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_matrix2x16.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presinth)
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presinth)
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presinth)
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presinth )
LIB_XARİTASINI DEFINE ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presinth )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/komponent/iş/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, + => presinth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -yeniləmə -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_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../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
-iş presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:modul
ncsim -Mesaj -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
3.5 Avtomatlaşdırma (Sual verin)
Aşağıdakı skript file ModelSim run.do-nu çevirir files konfiqurasiyaya daxil edin fileNCSim-dən istifadə edərək simulyasiyalar aparmaq üçün lazımdır.
Skript File İstifadəsi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Cadence_Öncədən yığılmış_kitabxanaların_yeri
Cadence_parser.pl
#!/usr/bin/perl -w
################################################# ###########################################
##################
#İstifadə: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Əvvəlcədən Tərtib edilmiş_Kitabxanaların_yeri#
################################################# ###########################################
##################
POSIX istifadə edin;
ciddi istifadə edin;
mənim ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $ailə, $lib_location);
&questa_parser($postsynth, $ailə, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
alt questa_parser {
mənim $ModelSim_run_do = $_[0];
mənim $actel_family = $_[1];
mənim $lib_location = $_[2];
mənim $statum;
əgər (-e “$ModelSim_run_do” )
{
açıq (INFILE,"$ModelSim_run_do");
mənim @ModelSim_run_do =FILE>;
mənim $ xəttim;
əgər ( $ModelSim_run_do =~ m/(presinth)/)
{
`mkdir QUESTA_PRESYNTH`;
açıq (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsinth)/)
{
`mkdir QUESTA_POSTSYNTH`;
açıq (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
açıq (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} başqa
{
çap “Səhv girişlər verilmişdir file\n”;
çap “#İstifadə: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Kitabxanaların_yeri\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Ümumi Əməliyyatlar
$line =~ s/..\/dizayner.*simulyasiya\///g;
$line =~ s/$state/$state\_questa/g;
#çap etFILE “$line \n”;
əgər ($line =~ m/vmap\s+.*($actel_family)/)
{
çap etFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$xətt =~ s/..\/komponent/..\/..\/komponent/g;
çap etFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
çap etFILE “$line \n”;
} başqa
{
çap etFILE “$line \n”;
}
}
yaxın (INFILE);
bağlamaqFILE);
} başqa {
çap “$ModelSim_run_do yoxdur. Simulyasiyanı yenidən həyata keçirin \n”;
}
}
Cadence Xcelium Quraşdırma (Mikroçip Giriş)
Bir skript yaratmalısınız file Cadence Xcelium simulyatorunu işə salmaq üçün ModelSim ME/ModelSim Pro ME run.do-ya bənzər. Bu addımları izləyin və skript yaradın file Xcelium üçün və ya skriptdən istifadə edin file ModelSim ME/ModelSim Pro ME run.do-nu çevirmək üçün nəzərdə tutulmuşdur files konfiqurasiyaya daxil edin files Xcelium istifadə edərək simulyasiyalar aparmaq üçün lazımdır.
4.1 Mühit Dəyişənləri (Sual verin)
Cadence Xcelium-u işə salmaq üçün aşağıdakı mühit dəyişənlərini konfiqurasiya edin:
- LM_LICENSE_FILE: lisenziyaya göstərici daxil etməlidir file.
- cds_root: Cadence Incisive Quraşdırmasının ev kataloqunun yerini göstərməlidir.
- PATH: cds_root (yəni
$cds_root/tools/bin/64bit (64 bitlik maşın üçün və 32 bit üçün $cds_root/tools/bin)
maşın).
64-bit və 32-bit əməliyyat sistemləri arasında keçid zamanı simulyasiya mühitini qurmağın üç yolu var:
Case 1: PATH Dəyişən
64 bit maşınlar üçün yol təyin edin = (install_dir/tools/bin/64bit $path) və
32 bitlik maşınlar üçün yol = (install_dir/tools/bin $path) təyin edin
Case 2: -64bit Command-line Seçimindən istifadə
64 bitlik icra olunanı işə salmaq üçün əmr satırında -64bit seçimini göstərin.
Case 3: INCA_64BIT və ya CDS_AUTO_64BIT Ətraf Dəyişəninin qurulması
INCA_64BIT dəyişəni boolean kimi qəbul edilir. Bu dəyişəni istənilən dəyərə və ya null olaraq təyin edə bilərsiniz
simli.
setenv INCA_64BIT
Əhəmiyyətli: The INCA_64BIT mühit dəyişəni IC alətləri kimi digər Cadence alətlərinə təsir göstərmir. Bununla belə, Incisive alətləri üçün INCA_64BIT dəyişəni CDS_AUTO_64BIT mühit dəyişəni üçün parametrləri ləğv edir. INCA_64BIT mühit dəyişəni et olarsa, bütün İncisiv alətlər 64 bit rejimində işləyir.
setenv CDS_AUTO_64BIT DAXİL EDİR:INCA
Əhəmiyyətli: The INCA sətri böyük hərflə yazılmalıdır. Bütün icra olunanlar ya 2 bit rejimində, ya da 64 bit rejimində işlədilməlidir, dəyişəni aşağıdakı kimi bir icra olunanı daxil etmək üçün təyin etməyin:
setenv CDS_AUTO_64BIT DAXİL EDİR:ncelab
IC alətləri kimi digər Cadence alətləri də 64-bit və ya 32-bit icra edilə bilənlərin seçiminə nəzarət etmək üçün CDS_AUTO_64BIT mühit dəyişənindən istifadə edir. Aşağıdakı cədvəl CDS_AUTO_64BIT dəyişənini bütün rejimlərdə Incisive alətləri və IC alətlərini işə salmaq üçün necə təyin edə biləcəyinizi göstərir.
Cədvəl 4-1. CDS_AUTO_64BIT Dəyişənlər
CDS_AUTO_64BIT Dəyişən | Kəsici alətlər | IC Alətləri |
setenv CDS_AUTO_64BIT ALL | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT YOX | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT İSTİSNA EDİN:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32-bit | 64-bit |
Əhəmiyyətli: Bütün Incisive alətləri ya 32-bit rejimində, ya da 64-bit rejimində işlədilməlidir, aşağıdakı kimi xüsusi icra olunanı istisna etmək üçün EXCLUDE istifadə etməyin:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
CDS_AUTO_64BIT dəyişənini kəsici alətləri (setenv) istisna etmək üçün təyin etsəniz
CDS_AUTO_64BIT EXCLUDE:INCA), bütün İncisiv alətlər 32 bit rejimində işləyir. Bununla belə,
-64bit komanda xətti seçimi mühit dəyişənini ləğv edir.
Aşağıdakı konfiqurasiya files məlumatlarınızı idarə etməyə və simulyasiya alətləri və utilitlərinin işinə nəzarət etməyə kömək edir:
- Kitabxana xəritəsi file (cds.lib) dizaynınızın yeri üçün məntiqi adı müəyyən edir.
- Kitabxanalar və onları fiziki kataloq adları ilə əlaqələndirir.
- Dəyişənlər file (hdl.var) simulyasiya alətlərinin və utilitlərin davranışına təsir edən dəyişənləri müəyyən edir.
4.2 Tərtib edilmiş Kitabxananı Yükləyin (Sual verin)
Microsemi-dən Cadence Xcelium üçün kitabxanaları yükləyin websayt.
4.3 Xcelium skriptinin yaradılması file (Sual verin)
run.do nüsxəsini yaratdıqdan sonra files, Xcelium skripti ilə simulyasiyanızı işə salmaq üçün aşağıdakı addımları yerinə yetirin file.
- cds.lib yaradın file hansı kitabxanaların əlçatan olduğunu və harada yerləşdiyini müəyyən edir.
The file kitabxananın məntiqi adlarını onların fiziki kataloq yolları ilə əlaqələndirən ifadələri ehtiva edir. məsələnampƏgər presynth simulyasiyası işlədirsinizsə, cds.lib file aşağıdakı kod blokunda göstərildiyi kimi yazıla bilər.
presinth ./presynth TƏYİF EDİN
COREAHBLITE_LIB ./COREAHBLITE_LIB TƏYİN EDİN
smartfusion2-ni təyin edin - hdl.var yaradın file bu isteğe bağlı konfiqurasiyadır file konfiqurasiya dəyişənlərini ehtiva edən, dizayn mühitinizin necə konfiqurasiya olunduğunu müəyyən edən. Bunlara daxildir:
– Kompilyatorun tərtib edilmiş obyektləri və digər əldə edilmiş məlumatları saxladığı iş kitabxanasını təyin etmək üçün istifadə olunan dəyişənlər.
– Verilog üçün dəyişənlər (LIB_MAP, VIEW_MAP, WORK) kitabxanaları müəyyən etmək üçün istifadə olunur və views tərtibatçı nümunələri həll etdikdə axtarış etmək üçün.
– Sizə kompilyator, tərtibatçı və simulyator komanda xətti seçimlərini və arqumentlərini təyin etməyə imkan verən dəyişənlər.
Presynth simulyasiyası halında example yuxarıda göstərilən, biz 3 RTL var files av, bv və testbench.v, müvafiq olaraq presynth, COREAHBLITE_LIB və presynth kitabxanalarına yığılmalıdır. Bu hdl.var file aşağıdakı kod blokunda göstərildiyi kimi yazıla bilər.
İŞİ TƏYİF EDİN presinth
PROJECT_DIR TƏYİN EDİN files>
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/av => presinth )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, + => presinth ) - Dizaynı tərtib edin filencvlog seçimindən istifadə edir.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab istifadə edərək dizaynı hazırlayın. Tərtibatçı dizayndakı nümunələşdirmə və konfiqurasiya məlumatlarına əsaslanan dizayn iyerarxiyasını qurur, siqnal əlaqəsini qurur və dizayndakı bütün obyektlər üçün ilkin dəyərləri hesablayır. Hazırlanmış dizayn iyerarxiyası simulyatorun simulyasiyanı həyata keçirmək üçün istifadə etdiyi dizaynınızın təsviri olan simulyasiya snapshotunda saxlanılır.
Xcelium –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
giriş + rwc - status worklib. :modul
Post-layout simulyasiyası zamanı işlənmə
Planlaşdırmadan sonrakı simulyasiyalar halında, ilk növbədə SDF file ncsdfc əmrindən istifadə edərək işlənmədən əvvəl tərtib edilməlidir.
Xceliumfilead>.sdf – çıxışfileadı>.sdf.X
İşlətmə zamanı aşağıdakı kod blokunda göstərildiyi kimi –autosdf seçimi ilə tərtib edilmiş SDF çıxışından istifadə edin.
xmelab -autosdf –Mesaj –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file aşağıdakı kod blokunda göstərildiyi kimi olmalıdır.
COMPILED_SDF_FILE = " file>” - Xcelium istifadə edərək simulyasiya edin. Hazırlandıqdan sonra simulyasiya üçün Xcelium tərəfindən yüklənən simulyasiya snapshot yaradılır. Bu, toplu rejimdə və ya GUI rejimində işlədilə bilər.
xmsim –Mesaj –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 - status worklib. :modul
Cadence Xcelium Quraşdırma
Əhəmiyyətli: Hamısı tərtib etmək, hazırlamaq və təqlid etmək üçün yuxarıda göstərilən üç addım shell skriptinə daxil edilə bilər file və komanda xəttindən qaynaqlanır. Bu üç addımdan istifadə etmək əvəzinə, dizayn aşağıdakı kod blokunda göstərildiyi kimi ncverilog və ya xrun seçimindən istifadə edərək bir addımda simulyasiya edilə bilər.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
filedizaynda istifadə olunur>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
dizaynda istifadə olunur>
4.3.1 Məlum məsələlər (Sual verin)
Testbench həlli
İstifadəçi tərəfindən yaradılan testbenchdə saat tezliyini və ya Libero SoC tərəfindən yaradılan standart testbenchdə saat tezliyini təyin etmək üçün aşağıdakı ifadədən istifadə Xcelium ilə işləmir.
həmişə @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Simulyasiyanı həyata keçirmək üçün aşağıdakı kimi dəyişdirin:
həmişə #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Əhəmiyyətli: Xcelium üçün tərtib edilmiş kitabxanalar platformaya xasdır (yəni 64 bitlik kitabxanalar 32 bit platforma ilə uyğun gəlmir və əksinə).
MSS və SERDES-dən istifadə edərək Postsynth və Post-layout Simulyasiyaları
Tərkibində MSS bloku olan dizaynların postsinth simulyasiyaları və ya SERDES-dən istifadə edərək dizaynların post-layout simulyasiyaları işləyərkən, işlənmə zamanı –libmap seçimi göstərilməyibsə, BFM simulyasiyaları işləmir. Bunun səbəbi, işlənib hazırlanma zamanı MSS iş kitabxanasından (defolt bağlama və worklib-in postsinth/post-layout olduğuna görə) həll olunduğuna görədir, burada o, sadəcə Sabit Funksiyadır.
SmartFusion2 əvvəlcədən tərtib edilmiş kitabxanadan MSS blokunu həll etmək üçün ncelab əmri aşağıdakı kod blokunda göstərildiyi kimi yazılmalıdır.
xmelab -libmap lib.map -libverbose -Mesaj -access +rwc cfg1
və lib.map file aşağıdakı kimi olmalıdır:
cfg1 konfiqurasiyası;
dizayn ;
default liblist smartfusion2 ;
endconfig
Bu, iş kitabxanasına, yəni postsinth/post-layouta baxmadan əvvəl SmartFusion2 kitabxanasındakı hər hansı xananı həll etməlidir.
–libmap seçimi hər bir simulyasiya (presinth, postsinth və post-layout) üçün işlənib hazırlanarkən standart olaraq istifadə edilə bilər. Bu, kitabxanalardan nümunələrin həlli ilə əlaqədar yaranan simulyasiya problemlərindən qaçınır.
xmelab: *F,INTERR: DAXİLİ İSTİSNA
Bu ncelab alət istisnası SmartFusion2 və IGLOO2-də FDDR olan dizaynlar üçün xəbərdarlıqdır.
–libmap seçimindən istifadə edərək postsinth və post-layout simulyasiyaları zamanı.
Əhəmiyyətli: Bu problem Cadence dəstək komandasına bildirildi (SAR 52113).
4.4 Sample Tcl və shell skripti files (Sual verin)
Aşağıdakılar files konfiqurasiyadır filedizayn və qabıq skriptini qurmaq üçün lazımdır file Xcelium əmrlərini yerinə yetirmək üçün.
Cds.lib
smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2-ni təyin edin
COREAHBLITE_LIB ./COREAHBLITE_LIB TƏYİN EDİN
presinth ./presynth TƏYİF EDİN
Hdl.var
İŞİ TƏYİF EDİN presinth
PROJECT_DIR DEFINE /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_slavestagev => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_matrix2x16.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presinth)
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presinth)
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presinth)
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presinth )
LIB_XARİTASINI DEFINE ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presinth )
LIB_XARİTASINI TƏYİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/komponent/iş/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presinth )
LIB_MAP TƏRİF EDİN ( $LIB_MAP, + => presinth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -yeniləmə -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_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../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
-iş presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:modul
ncsim -Mesaj -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
4.5 Avtomatlaşdırma (Mikroçip Giriş)
Aşağıdakı skript file ModelSim run.do çevirir files konfiqurasiyaya daxil edin files Xcelium istifadə edərək simulyasiyalar aparmaq üçün lazımdır.
Skript File İstifadəsi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Cadence_Öncədən yığılmış_kitabxanaların_yeri
Cadence_parser.pl
#!/usr/bin/perl -w
################################################# ###########################################
##################
#İstifadə: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Əvvəlcədən Tərtib edilmiş_Kitabxanaların_yeri#
################################################# ###########################################
##################
POSIX istifadə edin;
ciddi istifadə edin;
mənim ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $ailə, $lib_location);
&questa_parser($postsynth, $ailə, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
alt questa_parser {
mənim $ModelSim_run_do = $_[0];
mənim $actel_family = $_[1];
mənim $lib_location = $_[2];
mənim $statum;
əgər (-e “$ModelSim_run_do” )
{
açıq (INFILE,"$ModelSim_run_do");
mənim @ModelSim_run_do =FILE>;
mənim $ xəttim;
əgər ( $ModelSim_run_do =~ m/(presinth)/)
{
`mkdir QUESTA_PRESYNTH`;
açıq (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsinth)/)
{
`mkdir QUESTA_POSTSYNTH`;
açıq (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
açıq (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} başqa
{
çap “Səhv girişlər verilmişdir file\n”;
çap “#İstifadə: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Kitabxanaların_yeri\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Ümumi Əməliyyatlar
$line =~ s/..\/dizayner.*simulyasiya\///g;
$line =~ s/$state/$state\_questa/g;
#çap etFILE “$line \n”;
əgər ($line =~ m/vmap\s+.*($actel_family)/)
{
çap etFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$xətt =~ s/..\/komponent/..\/..\/komponent/g;
çap etFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
çap etFILE “$line \n”;
} başqa
{
çap etFILE “$line \n”;
}
}
yaxın (INFILE);
bağlamaqFILE);
} başqa {
çap “$ModelSim_run_do yoxdur. Simulyasiyanı yenidən həyata keçirin \n”;
}
}
Siemens QuestaSim Quraşdırma/ModelSim Quraşdırma (Sual verin)
Bu run.do fileModelSim Microsemi Nəşrlərindən istifadə edərək simulyasiyalar üçün Libero SoC tərəfindən yaradılan s, bir dəyişikliklə QuestaSim/ModelSim SE/DE/PE istifadə edərək simulyasiyalar üçün istifadə edilə bilər. ModelSim ME/ModelSim Pro ME-də run.do file, əvvəlcədən tərtib edilmiş kitabxanaların yeri dəyişdirilməlidir.
Əhəmiyyətli:
Defolt olaraq, ModelSim Pro ME-dən başqa simulyasiya aləti simulyasiya zamanı dizaynın optimallaşdırılmasını həyata keçirir ki, bu da dizayn obyektləri və giriş stimulu kimi simulyasiya artefaktlarının görünməsinə təsir göstərə bilər.
Bu, bir qayda olaraq, mürəkkəb simulyasiyalar üçün simulyasiya iş vaxtının azaldılmasında faydalıdır, ətraflı, özünü yoxlayan test masalarından istifadə edir. Bununla belə, standart optimallaşdırmalar bütün simulyasiyalar üçün uyğun olmaya bilər, xüsusən də dalğa pəncərəsindən istifadə edərək simulyasiya nəticələrini qrafik şəkildə yoxlamağı gözlədiyiniz hallarda.
Bu optimallaşdırmanın səbəb olduğu problemləri həll etmək üçün dizaynda görünmə qabiliyyətini bərpa etmək üçün simulyasiya zamanı müvafiq əmrlər və əlaqəli arqumentlər əlavə etməlisiniz. Alətə aid əmrlər üçün istifadə olunan simulyatorun sənədlərinə baxın.
5.1 Mühit Dəyişənləri (Sual verin)
Aşağıda tələb olunan mühit dəyişənləri verilmişdir.
- LM_LICENSE_FILE: lisenziyaya gedən yolu ehtiva etməlidir file.
- MODEL_TECH: QuestaSim quraşdırmasının ev kataloquna gedən yolu müəyyən etməlidir.
- PATH: MODEL_TECH tərəfindən göstərilən icra edilə bilən yeri göstərməlidir.
5.2 Mentor QuestaSim üçün run.do-nun çevrilməsi (Sual verin)
Bu run.do fileModelSim Microsemi Nəşrlərindən istifadə edərək simulyasiyalar üçün Libero SoC tərəfindən yaradılan s bir dəyişikliklə QuestaSim/ModelSim_SE istifadə edərək simulyasiyalar üçün istifadə edilə bilər.
Əhəmiyyətli: Hamısı QuestaSim istifadə edərək simulyasiya edilən dizaynlara -novopt daxil olmalıdır
run.do skriptində vsim əmri ilə birlikdə seçim files.
5.3 Tərtib edilmiş Kitabxananı yükləyin (Sual verin)
Mentor Graphics QuestaSim üçün kitabxanaları Microsemi-dən yükləyin websayt.
Synopsys VCS Quraşdırma (Sual verin)
Microsemi tərəfindən tövsiyə olunan axın VCS-də Elaborate və Compile axınına əsaslanır. Bu sənədə skript daxildir file run.do skriptindən istifadə edir files Libero SoC tərəfindən yaradılır və quraşdırma yaradır files VCS simulyasiyası üçün lazımdır. Ssenari file run.do istifadə edir file aşağıdakıları etmək.
- Kitabxana xəritəsi yaradın file, bu synopsys_sim.setup istifadə edərək edilir file VCS simulyasiyasının işlədiyi eyni kataloqda yerləşir.
- Shell skripti yaradın file VCS istifadə edərək dizaynınızı hazırlamaq və tərtib etmək.
6.1 Mühit Dəyişənləri (Sual verin)
Quraşdırmalarınız əsasında VCS üçün uyğun mühit dəyişənlərini təyin edin. VCS sənədlərinə uyğun olaraq tələb olunan mühit dəyişənləri bunlardır:
- LM_LICENSE_FILE: lisenziya serverinə göstərici daxil etməlidir.
- VCS_HOME: VCS quraşdırmasının ev kataloqunun yerini göstərməlidir.
- PATH: VCS_HOME kataloqunun altındakı bin qovluğuna göstərici daxil etməlidir.
6.2 Tərtib edilmiş Kitabxananı Yükləyin (Sual verin)
Microsemi-dən Synopsys VCS üçün kitabxanaları yükləyin websayt.
6.3 VCS Simulyasiya Skripti File (Sual verin)
VCS qurduqdan və dizaynı və müxtəlif run.do-nu yaratdıqdan sonra files Libero SoC-dən, siz etməlisiniz:
- Kitabxana xəritəsini yaradın file synopsys_sim.setup; bu file dizayn tərəfindən istifadə ediləcək bütün kitabxanaların yerləşdiyi yerə işarələr ehtiva edir.
Əhəmiyyətli: The file ad dəyişməməli və simulyasiyanın işlədiyi eyni kataloqda yerləşməlidir. Budur keçmişampbelə bir üçün file presintez simulyasiyası üçün.
İŞ > EFAULT
SmartFusion2:
presinth: ./presinth
DEFAULT: ./work - Fərqli dizayn hazırlayın files, o cümlədən testbench, VCS-də vlogan əmrindən istifadə edərək. Bu əmrlər qabıq skriptinə daxil edilə bilər file. Aşağıda keçmişdiramprtl.v-də müəyyən edilmiş bir dizaynı hazırlamaq üçün lazım olan əmrlərdən le onun testbench-də müəyyən edilmiş
testbench.v.
vlogan +v2k -iş presynth rtl.v
vlogan +v2k -iş presynth testbench.v - Aşağıdakı əmrdən istifadə edərək VCS istifadə edərək dizaynı tərtib edin.
vcs –sim_res=1fs presynth.testbench
Qeyd: The düzgün funksional simulyasiya üçün simulyasiyanın vaxt həlli 1fs-ə təyin edilməlidir. - Dizayn tərtib edildikdən sonra aşağıdakı əmrdən istifadə edərək simulyasiyaya başlayın.
./simv - Geri annotasiya edilmiş simulyasiya üçün VCS əmri aşağıdakı kod blokunda göstərildiyi kimi olmalıdır.
vcs postlayout.testbench –sim_res=1fs –sdf maks: .
adı>: file yol> –gui –l postlayout.log
6.4 Məhdudiyyətlər/İstisnalar (Sual verin)
Aşağıda Synopsys VCS quraşdırmasının məhdudiyyətləri/istisnaları verilmişdir.
- VCS simulyasiyaları yalnız Libero SoC-nin Verilog layihələri üçün işlədilə bilər. VCS simulyatoru Libero SoC tərəfindən avtomatik yaradılan VHDL tərəfindən yerinə yetirilməyən ciddi VHDL dil tələblərinə malikdir. files.
- İstədiyiniz zaman simulyasiyanı dayandırmaq üçün Verilog test bench-də $finish ifadəsi olmalıdır.
Əhəmiyyətli: nə vaxt simulyasiyalar GUI rejimində işləyir, işləmə vaxtı GUI-də müəyyən edilə bilər.
6.5 Sample Tcl və Shell Script Files (Sual verin)
Aşağıdakı Perl synopsys_sim.setup generasiyasını avtomatlaşdırır file eləcə də müvafiq qabıq skripti filedizaynı hazırlamaq, tərtib etmək və simulyasiya etmək üçün lazımdır.
Dizayn MSS-dən istifadə edirsə, test.vec-i kopyalayın file Libero SoC layihəsinin simulyasiya qovluğunda VCS simulyasiya qovluğunda yerləşir. Aşağıdakı bölmələrdə s varample run.do filemüvafiq kitabxana xəritəsi və qabıq skripti də daxil olmaqla, Libero SoC tərəfindən yaradılmışdır files VCS simulyasiyası üçün lazımdır.
6.5.1 Əvvəlcədən sintez (Sual verin)
Presynth_run.do
sakitcə ACTELLIBNAME SmartFusion2-ni quraşdırın
sakitcə PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” təyin edin
əgər {[file presinth/_info mövcuddur]} {
echo "MƏLUMAT: Simulyasiya kitabxanası presinti artıq mövcuddur"
} başqa {
vlib presinth
}
vmap presynth presinth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -iş presinti “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -iş presinti “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
dalğa əlavə edin /SD1_TB1/*
log -r /* əlavə edin
1000ns qaçın
presynth_main.csh
#!/bin/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" təyin edin
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -iş presinti “${PROJECT_DIR}/component/
iş/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -iş
presinth "${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
İŞ > DEFAULT
SmartFusion2: /VCS/SmartFusion2
presinth: ./presinth
DEFAULT: ./work
6.5.2 Postsintez (Sual verin)
postsynth_run.do
sakitcə ACTELLIBNAME SmartFusion2-ni quraşdırın
sakitcə PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” təyin edin
əgər {[file postsynth/_info mövcuddur]} {
echo "MƏLUMAT: Simulyasiya kitabxanası postsinti artıq mövcuddur"
} başqa {
vlib postsinth
}
vmap postsynth postsinth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -iş postsinti “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -iş postsinti “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
dalğa əlavə edin /SD1_TB1/*
log -r /* əlavə edin
1000ns qaçın
log SD1_TB1/*
çıxış
Postsynth_main.csh
#!/bin/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" təyin edin
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -iş postsinti “${PROJECT_DIR}/sintez/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -iş
postsinth “${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
İŞ > DEFAULT
SmartFusion2: /VCS/SmartFusion2
postsinth: ./postsinth
DEFAULT: ./work
6.5.3 Post-layout (Sual verin)
postlayout_run.do
sakitcə ACTELLIBNAME SmartFusion2-ni quraşdırın
sakitcə PROJECT_DIR "E:/ModelSim_Work/Test_DFF" təyin edin
əgər {[file mövcuddur ../designer/SD1/simulation/postlayout/_info]} {
echo “MƏLUMAT: Simulyasiya kitabxanası ../dizayner/SD1/simulation/postlayout artıq mövcuddur”
} başqa {
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 -iş postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -iş 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
dalğa əlavə edin /SD1_TB1/*
log -r /* əlavə edin
1000ns qaçın
Postlayout_main.csh
#!/bin/csh -f
PROJECT_DIR = "/VCS_Tests/Test_DFF" təyin edin
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -iş postlayout “${PROJECT_DIR}/
dizayner/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -iş
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
İŞ > DEFAULT
SmartFusion2: /VCS/SmartFusion2
postlayout : ./postlayout
DEFAULT: ./workVCS
6.6 Avtomatlaşdırma (Sual verin)
Aşağıdakı Perl skripti ilə axın avtomatlaşdırıla bilər file ModelSim run.do-nu çevirmək üçün files VCS uyğun shell skriptinə daxil edin files, Libero SoC simulyasiya kataloqu daxilində müvafiq qovluqlar yaradın və sonra simulyasiyaları işə salın.
Skripti işə salın file aşağıdakı sintaksisi istifadə edərək.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################# ############################
#
#İstifadə: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
################################################# ############################
mənim ($presynth, $postsynth, $postlayout) = @ARGV;
if(sistem(“mkdir VCS_Presynth”)) {çap “mkdir uğursuz oldu:\n”;}
if(sistem(“mkdir VCS_Postsynth”)) {çap “mkdir uğursuz oldu:\n”;}
if(sistem(“mkdir VCS_Postlayout”)) {çap “mkdir uğursuz 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 parse_do {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
mənim %LIB = ();
mənim dollarımfile = $_[0] ;
mənim $statum = $_[1];
açıq (INFILE,”$file”) || ölmək “Aça bilməz File Səbəb ola bilər:$!”;
if ( $state eq “presinth” )
{
open(OUT1,”>presynth_main.csh”) || die “Komanda yarada bilməz File Səbəb ola bilər:$!”;
}
elsif ( $state eq "postsynth" )
{
open(OUT1,”>postsynth_main.csh”) || die “Komanda yarada bilməz File Səbəb ola bilər:$!”;
}
elsif ( $state eq "postlayout" )
{
open(OUT1,”>postlayout_main.csh”) || die “Komanda yarada bilməz File Səbəb ola bilər:$!”;
}
başqa
{
çap “Simulyasiya vəziyyəti yoxdur \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Komanda yarada bilməz File Səbəb ola bilər:$!”;
# .csh file
OUT1 çap edin “#!/bin/csh -f\n\n\n” ;
#QURMAQ FILE
çap OUT2 “İŞ > DEFAULT\n” ;
OUT2 çap “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
isə ($line =FILE>)
{
Synopsys VCS Quraşdırma
əgər ($line =~ m/sakit şəkildə PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
əgər ($line =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
OUT1 “$line\n” çap edin;
}
elsif ($xətt =~ m/vsim.*presynth\.(.*)/) || ($xətt =~ m/vsim.*postsynth\.(.*)/) || ($xətt
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “TB Adı : $tb \n”;
əgər ( $xətt =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#print “LINE : $line \n” ;
əgər ($xətti =~ m/maks/)
{
$line =~ s/max \/// ;
$xətt =~ s/=/:/;
çap 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 ($xətt =~ m/dəq/)
{
$xətt =~ s/dəq \/// ;
$xətt =~ s/=/:/;
çap 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 ($xətt =~ m/tip/)
{
$line =~ s/typ \/// ;
$xətt =~ s/=/:/;
çap OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
yazın:$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 formatı
}
}
}
çap edin
OUT1 "\n\n"
;
if
( $state eq "presinth"
)
{
çap edin
OUT2 “presinth
: ./presynth\n”
;
çap edin
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presinth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsinth”
)
{
çap edin
OUT2 “postsinth
: ./postsynth\n”
;
çap edin
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsinth.$tb -l
compile.log\n”
;
}
elsif
( $state eq "postlayout"
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
başqa
{
çap “Simulyasiya vəziyyəti yoxdur \n” ;
}
foreach $i ( açarlar %LIB)
{
#print “Açar : $i Dəyər : $LIB{$i} \n” ;
OUT2 çap edin “$i : ./$i\n” ;
}
OUT1 “\n\n” çap edin;
print OUT1 “./simv -l run.log\n” ;
print OUT2 “DEFAULT : ./work\n” ;
bağlayınFILE;
OUT1-i bağlamaq;
OUT2-i bağlamaq;
}
Təftiş Tarixçəsi (Mikroçip Giriş
Təftiş tarixçəsi sənəddə həyata keçirilən dəyişiklikləri təsvir edir. Dəyişikliklər
ən cari nəşrdən başlayaraq təftiş yolu ilə siyahıya salınır.
Reviziya | Tarix | Təsvir |
A | 12/2023 | Bu düzəlişdə aşağıdakı dəyişikliklər edilir: • Sənəd Microchip şablonuna çevrildi. İlkin təftiş. • Yenilənmiş bölmə 5. Siemens QuestaSim Quraşdırma/ModelSim Quraşdırma simulyasiya və optimallaşdırma zamanı görmə qabiliyyətinə təsirini izah edən yeni qeydi daxil etmək üçün. |
Mikroçip FPGA dəstəyi
Microchip FPGA məhsullar qrupu öz məhsullarını müxtəlif dəstək xidmətləri ilə dəstəkləyir, o cümlədən Müştəri Xidmətləri, Müştərilərə Texniki Dəstək Mərkəzi, websaytı və dünya üzrə satış ofisləri.
Müştərilərə dəstək xidməti ilə əlaqə saxlamazdan əvvəl Microchip onlayn resurslarına baş çəkmələri tövsiyə olunur, çünki onların sorğularına artıq cavab verilmişdir.
vasitəsilə Texniki Dəstək Mərkəzi ilə əlaqə saxlayın websaytında www.microchip.com/support. FPGA Cihazının Hissə nömrəsini qeyd edin, müvafiq iş kateqoriyasını seçin və dizaynı yükləyin files texniki dəstək işi yaratarkən.
Məhsulun qiymətləri, məhsul təkmilləşdirmələri, yeniləmə məlumatları, sifariş statusu və icazə kimi qeyri-texniki məhsul dəstəyi üçün Müştəri Xidməti ilə əlaqə saxlayın.
- Şimali Amerikadan 800.262.1060 nömrəsinə zəng edin
- Dünyanın qalan hissəsindən 650.318.4460 nömrəsinə zəng edin
- Dünyanın istənilən yerindən faks, 650.318.8044
Mikroçip məlumatı
Mikroçip Websayt
Microchip bizim vasitəsilə onlayn dəstək verir websaytında www.microchip.com/. Bu webetmək üçün saytdan istifadə olunur files və məlumatları müştərilər üçün asanlıqla əldə etmək. Mövcud məzmunun bəzilərinə aşağıdakılar daxildir:
- Məhsula Dəstək – Məlumat vərəqləri və səhvlər, proqram qeydləri və sampproqramlar, dizayn resursları, istifadəçi təlimatları və texniki dəstək sənədləri, ən son proqram buraxılışları və arxivləşdirilmiş proqram təminatı
- Ümumi Texniki Dəstək – Tez-tez verilən suallar (FAQ), texniki dəstək sorğuları, onlayn müzakirə qrupları, Microchip dizayn tərəfdaşı proqramı üzvlərinin siyahısı
- Microchip biznesi – Məhsul seçimi və sifariş təlimatları, ən son Microchip press-relizləri, seminarların və tədbirlərin siyahısı, Microchip satış ofislərinin, distribyutorların və zavod nümayəndələrinin siyahıları
Məhsul Dəyişikliyi Bildiriş Xidməti
Microchip-in məhsul dəyişikliyi bildiriş xidməti müştəriləri Microchip məhsulları ilə tanış etməyə kömək edir. Müəyyən bir məhsul ailəsi və ya maraq doğuran inkişaf aləti ilə bağlı dəyişikliklər, yeniləmələr, reviziyalar və ya səhvlər olduqda abunəçilər e-poçt bildirişi alacaqlar.
Qeydiyyatdan keçmək üçün daxil olun www.microchip.com/pcn və qeydiyyat təlimatlarına əməl edin.
Müştəri dəstəyi
Microchip məhsullarının istifadəçiləri bir neçə kanal vasitəsilə yardım ala bilərlər:
- Distribyutor və ya Nümayəndə
- Yerli Satış Ofisi
- Daxili Həllər Mühəndisi (ESE)
- Texniki Dəstək
Müştərilər dəstək üçün distribyutor, nümayəndə və ya ESE ilə əlaqə saxlamalıdırlar. Müştərilərə kömək etmək üçün yerli satış ofisləri də mövcuddur. Satış ofislərinin və yerlərinin siyahısı bu sənədə daxil edilmişdir.
vasitəsilə texniki dəstək mövcuddur websaytda: www.microchip.com/support
Mikroçip Cihazları Kod Qoruma Xüsusiyyəti
Microchip məhsullarında kod mühafizəsi funksiyasının aşağıdakı detallarına diqqət yetirin:
- Microchip məhsulları xüsusi Microchip Data Sheet-də olan spesifikasiyalara cavab verir.
- Microchip hesab edir ki, onun məhsulları ailəsi nəzərdə tutulmuş qaydada, istismar spesifikasiyası daxilində və normal şəraitdə istifadə edildikdə təhlükəsizdir.
- Mikroçip öz əqli mülkiyyət hüquqlarını qiymətləndirir və aqressiv şəkildə qoruyur. Microchip məhsulunun kod qoruma xüsusiyyətlərini pozmaq cəhdləri qəti qadağandır və Rəqəmsal Minilliyin Müəllif Hüququ Aktını poza bilər.
- Nə Microchip, nə də hər hansı digər yarımkeçirici istehsalçısı öz kodunun təhlükəsizliyinə zəmanət verə bilməz. Kodun qorunması o demək deyil ki, biz məhsulun “qırılmaz” olmasına zəmanət veririk.
Kod mühafizəsi daim inkişaf edir. Microchip məhsullarımızın kod qoruma xüsusiyyətlərini davamlı olaraq təkmilləşdirməyə sadiqdir.
Hüquqi Bildiriş
Bu nəşr və buradakı məlumatlar yalnız Microchip məhsulları ilə, o cümlədən Microchip məhsullarını layihələndirmək, sınaqdan keçirmək və tətbiqinizlə inteqrasiya etmək üçün istifadə edilə bilər. Bu məlumatın hər hansı başqa şəkildə istifadəsi bu şərtləri pozur. Cihaz tətbiqləri ilə bağlı məlumat yalnız sizin rahatlığınız üçün verilir və yeniləmələr onu əvəz edə bilər. Tətbiqinizin spesifikasiyalarınıza uyğun olmasını təmin etmək sizin məsuliyyətinizdir. Əlavə dəstək üçün yerli Microchip satış ofisinizlə əlaqə saxlayın və ya bu ünvanda əlavə dəstək əldə edin www.microchip.com/en-us/support/design-help/client-support-services.
BU MƏLUMAT "OLDUĞU KİMİ" MİKROÇİP TARAFINDAN TƏQDİM EDİLİR. MICROCHIP HƏR BAŞAĞI MƏLUMATLARLA MƏHDUD OLMAYAN, O cümlədən, MƏLUMATLARLA İLƏ İLƏ AÇAĞI və ya YAZILI, YAZILI və ya şifahi, qanuni və ya başqa heç bir TƏMİNAT VƏ YA ZƏMANƏT VERMİR. SATICILIQ VƏ XÜSUSİ MƏQSƏDƏ UYĞUNLUQ VƏ YA ONUN VƏZİYYƏTİ, KEYFİYYƏTİ VƏ YA PERFORMANSINA BAĞLI ZƏMANƏTLƏR.
MİKROÇİP HİÇ BİR HALDA MİKROÇİP BİLDİRİSİ, XÜSUSİ, CƏZA, TƏSADİVƏ və ya NƏTİCƏLİ İTKİYƏ, ZƏRƏ, XƏRÇƏ VƏ YA HƏR HƏR BİR HƏR NÖVLƏ HƏR XƏRÇƏ GÖRƏ MƏSULİYYƏT OLMAYACAQ. MİKROCHIP MÜMKÜNLƏR HAQQINDA MƏLUMAT OLUNSA VƏ YA ZƏRƏRLƏR GÖRƏNƏN OLSUN. QANUNUN İCAZƏ VERDİĞİ TAM HƏRÇƏDƏ MİKROÇİPİN MƏLUMATLARA VƏ YA İSTİFADƏ İLƏ İLƏ İLGİLİ BÜTÜN İDDİALAR ÜZRƏ ÜMUMİ MƏSULİYYƏTİ, HƏR HƏR VARSA, HƏMİN MƏLUMATLARININ MƏBLƏQİNDƏN ÇOX OLMAYACAQ. MƏLUMAT.
Mikroçip cihazlarının həyat dəstəyi və/və ya təhlükəsizlik proqramlarında istifadəsi riski tamamilə alıcının üzərinə düşür və alıcı Mikroçipi bu cür istifadə nəticəsində yaranan hər hansı və bütün zərərlərdən, iddialardan, iddialardan və ya xərclərdən müdafiə etməyə, kompensasiya etməyə və zərərsiz saxlamağa razılaşır. Başqa cür göstərilmədiyi təqdirdə heç bir Microchip əqli mülkiyyət hüquqları ilə bağlı heç bir lisenziya ötürülmür.
Ticarət nişanları
Microchip adı və loqosu, Microchip loqosu, Adaptec, AVR, AVR loqosu, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, maMDlu, maMDlu MediaLB, megaAVR, Microsemi, Microsemi loqosu, MOST, MOST loqosu, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 loqosu, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Loqo, Supericom, Sym , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron və XMEGA Microchip Technology Incorporated şirkətinin ABŞ və digər ölkələrdə qeydə alınmış ticarət nişanlarıdır.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus loqosu, Quiet-Wire, SmartFu SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime və ZL ABŞ-da Incorporated Microchip Technology şirkətinin qeydiyyatdan keçmiş ticarət nişanlarıdır.
Qonşu Açarın Bastırılması, AKS, Rəqəmsal Əsr üçün Analoq, İstənilən Kondansatör, AnyIn, AnyOut, Genişləndirilmiş Kommutasiya, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, MattoAutomotive, D.PDICDynamic, CryptoCompanion, MattDPDynamic, Augmented Switching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paraleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCryView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Hər şeyi bilən Kod Yaratma, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect və ZENA Microchip Technology Incorporated şirkətinin ticarət nişanlarıdır.
ABŞ və digər ölkələrdə.
SQTP ABŞ-da Microchip Technology Incorporated şirkətinin xidmət nişanıdır
Adaptec loqosu, Tələb Tezliyi, Silikon Saxlama Texnologiyası və Symmcom Microchip Technology Inc.-in digər ölkələrdə qeydə alınmış ticarət nişanlarıdır.
GestIC, Microchip Technology Inc.-in törəmə şirkəti olan Microchip Technology Germany II GmbH & Co. KG-nin digər ölkələrdə qeydə alınmış ticarət nişanıdır.
Burada qeyd olunan bütün digər ticarət nişanları onların müvafiq şirkətlərinin mülkiyyətidir.
© 2023, Microchip Technology Incorporated və onun törəmə şirkətləri. Bütün hüquqlar qorunur.
ISBN: 978-1-6683-3694-6
Keyfiyyət İdarəetmə Sistemi
Microchip Keyfiyyət İdarəetmə Sistemləri ilə bağlı məlumat üçün müraciət edin www.microchip.com/quality.
AMERİKA | ASİYA/SAKİT OKENA | ASİYA/SAKİT OKENA | AVROPA |
Korporativ Ofis 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Faks: 480-792-7277 Texniki Dəstək: www.microchip.com/support Web Ünvan: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Faks: 678-957-1455 Ostin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Faks: 774-760-0088 Çikaqo Itasca, IL Tel: 630-285-0071 Faks: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Faks: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Hyuston, TX Tel: 281-894-5983 İndianapolis Noblesville, IN Tel: 317-773-8323 Faks: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, Kaliforniya Tel: 949-462-9523 Faks: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 Nyu York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Kanada - Toronto Tel: 905-695-1980 Faks: 905-695-2078 |
Avstraliya - Sidney Tel: 61-2-9868-6733 Çin - Pekin Tel: 86-10-8569-7000 Çin - Çenqdu Tel: 86-28-8665-5511 Çin - Chongqing Tel: 86-23-8980-9588 Çin - Dongguan Tel: 86-769-8702-9880 Çin - Quançjou Tel: 86-20-8755-8029 Çin - Hançjou Tel: 86-571-8792-8115 Çin - Honq Konq SAR Tel: 852-2943-5100 Çin - Nankin Tel: 86-25-8473-2460 Çin - Qingdao Tel: 86-532-8502-7355 Çin - Şanxay Tel: 86-21-3326-8000 Çin - Şenyan Tel: 86-24-2334-2829 Çin - Shenzhen Tel: 86-755-8864-2200 Çin - Suzhou Tel: 86-186-6233-1526 Çin - Wuhan Tel: 86-27-5980-5300 Çin - Xian Tel: 86-29-8833-7252 Çin - Xiamen Tel: 86-592-2388138 Çin - Zhuhai Tel: 86-756-3210040 |
Hindistan - Banqalor Tel: 91-80-3090-4444 Hindistan - Yeni Dehli Tel: 91-11-4160-8631 Hindistan - Pune Tel: 91-20-4121-0141 Yaponiya - Osaka Tel: 81-6-6152-7160 Yaponiya - Tokio Tel: 81-3-6880- 3770 Koreya - Daegu Tel: 82-53-744-4301 Koreya - Seul Tel: 82-2-554-7200 Malayziya – Kuala Lumpur Tel: 60-3-7651-7906 Malayziya - Penanq Tel: 60-4-227-8870 Filippin - Manila Tel: 63-2-634-9065 Sinqapur Tel: 65-6334-8870 Tayvan - Hsin Chu Tel: 886-3-577-8366 Tayvan - Kaohsiung Tel: 886-7-213-7830 Tayvan - Taypey Tel: 886-2-2508-8600 Tayland - Banqkok Tel: 66-2-694-1351 Vyetnam - Ho Şi Min Tel: 84-28-5448-2100 |
Avstriya – Wels Tel: 43-7242-2244-39 Faks: 43-7242-2244-393 Danimarka - Kopenhagen Tel: 45-4485-5910 Faks: 45-4485-2829 Finlandiya - Espoo Tel: 358-9-4520-820 Fransa - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Almaniya - Garching Tel: 49-8931-9700 Almaniya - Haan Tel: 49-2129-3766400 Almaniya - Heilbronn Tel: 49-7131-72400 Almaniya - Karlsrue Tel: 49-721-625370 Almaniya - Münhen Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Almaniya - Rosenheim Tel: 49-8031-354-560 İsrail - Raanana Tel: 972-9-744-7705 İtaliya - Milan Tel: 39-0331-742611 Faks: 39-0331-466781 İtaliya - Padova Tel: 39-049-7625286 Hollandiya - Drunen Tel: 31-416-690399 Faks: 31-416-690340 Norveç - Trondheim Tel: 47-72884388 Polşa - Varşava Tel: 48-22-3325737 Rumıniya - Buxarest Tel: 40-21-407-87-50 İspaniya - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 İsveç - Göteberq Tel: 46-31-704-60-40 İsveç - Stokholm Tel: 46-8-5090-4654 Böyük Britaniya - Wokingham Tel: 44-118-921-5800 Faks: 44-118-921-5820 |
© 2023 Microchip Technology Inc. və onun törəmə şirkətləri
DS50003627A –
Sənədlər / Resurslar
![]() |
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı [pdf] İstifadəçi təlimatı DS50003627A, Libero SoC Simulyasiya Kitabxanası Proqramı, SoC Simulyasiya Kitabxanası Proqramı, Simulyasiya Kitabxana Proqramı, Kitabxana Proqramı, Proqram təminatı |