MICROCHIP loqosu Libero SoC Simulyasiyası
Kitabxana Quraşdırma Təlimatları

Giriş

(Sual verin)

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ı

(Sual verin)

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.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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.

  1. Cari iş qovluğunun yerini təyin edin.
    dsn təyin edin
  2. İş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
  3. 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
  4. 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.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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:

  1. LM_LICENSE_FILE: lisenziyaya göstərici daxil etməlidir file.
  2. cds_root: Cadence Incisive Quraşdırmasının ev kataloqunun yerini göstərməlidir.
  3. 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

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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:

  1. 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
  2. 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 )
  3. 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
  4. 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>”
  5. 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

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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;
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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:

  1. LM_LICENSE_FILE: lisenziyaya göstərici daxil etməlidir file.
  2. cds_root: Cadence Incisive Quraşdırmasının ev kataloqunun yerini göstərməlidir.
  3. 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

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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.

  1. 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
  2. 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 )
  3. 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
  4. 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>”
  5. 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
    MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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;

MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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ı.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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.
MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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:

  1. 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.
    MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol  Ə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
  2. 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
  3. 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.
  4. Dizayn tərtib edildikdən sonra aşağıdakı əmrdən istifadə edərək simulyasiyaya başlayın.
    ./simv
  5. 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.
    MICROCHIP Libero SoC Simulyasiya Kitabxana Proqramı - simvol Ə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

MICROCHIP loqosu© 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ı

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *