MICROCHIP ლოგო Libero SoC სიმულაცია
ბიბლიოთეკის დაყენების ინსტრუქციები

შესავალი

(დასვით შეკითხვა)

ამ დოკუმენტის მიზანია აღწეროს სიმულაციური გარემოს შექმნის პროცედურა Libero SoC პროექტის გამოყენებით. ეს დოკუმენტაცია შეესაბამება წინასწარ შედგენილ ბიბლიოთეკებს, რომლებიც მოცემულია Libero SoC v11.9-თან და უფრო ახალ პროგრამულ გამოშვებებთან გამოსაყენებლად. მოწოდებული ბიბლიოთეკები შედგენილია Verilog-ისთვის. VHDL მომხმარებლებს სჭირდებათ ლიცენზია, რომელიც საშუალებას იძლევა შერეული რეჟიმის სიმულაცია.
შედგენილი სიმულაციური ბიბლიოთეკები ხელმისაწვდომია შემდეგი ინსტრუმენტებისთვის:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise და Xcelium
  • Siemens QuestaSim
  • Synopsys VCS

სხვა სიმულატორისთვის ბიბლიოთეკის მოთხოვნის მიზნით, დაუკავშირდით მიკროჩიპის ტექნიკური მხარდაჭერა.

Libero SoC ინტეგრაცია

(დასვით შეკითხვა)

Libero SoC მხარს უჭერს სიმულაციას ModelSim ME-ის გამოყენებით run.do-ის გენერირებით file. ეს file გამოიყენება ModelSim ME/ModelSim Pro ME სიმულაციის დასაყენებლად და გასაშვებად. სხვა სიმულაციური ხელსაწყოების გამოსაყენებლად, შეგიძლიათ შექმნათ ModelSim ME/ModelSim Pro ME run.do და შეცვალოთ Tcl სკრიპტი. file გამოიყენოს ბრძანებები, რომლებიც თავსებადია თქვენს სიმულატორთან.
1.1 Libero SoC Tcl File თაობა (დასვით შეკითხვა)
Libero SoC-ში დიზაინის შექმნისა და გენერირების შემდეგ, დაიწყეთ ModelSim ME/ModelSim Pro ME სიმულაცია დიზაინის ყველა ფაზაში (presynth, postsynth და post-layout). ეს ნაბიჯი წარმოქმნის run.do file ModelSim ME/ModelSim Pro ME-სთვის დიზაინის თითოეული ეტაპისთვის.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ყოველი სიმულაციური გაშვების დაწყების შემდეგ, გადაარქვით სახელი ავტომატურად გენერირებულ run.do-ს file სიმულაციური დირექტორიაში, რათა თავიდან აიცილოს Libero SoC-ს ამის გადაწერა file. მაგampლე files შეიძლება დაერქვას presynth_run.do, postsynth_run.do და postlayout_run.do.

Aldec Setup for Active-HDL და Riviera-Pro (დასვით შეკითხვა)

გაქცევა.გააკეთე file გამოიყენება ModelSim ME/ModelSim Pro ME-ის მიერ შეიძლება შეიცვალოს და გამოიყენოს სიმულაციისთვის Aldec სიმულატორების გამოყენებით.
2.1 გარემოს ცვლადი (დასვით შეკითხვა)
დააყენეთ თქვენი გარემოს ცვლადი თქვენს ლიცენზიაზე file ადგილმდებარეობა:
LM_LICENSE_FILE: უნდა შეიცავდეს მაჩვენებელს ლიცენზიის სერვერზე.
2.2 ჩამოტვირთეთ შედგენილი ბიბლიოთეკა (დასვით შეკითხვა)
ჩამოტვირთეთ ბიბლიოთეკები Aldec Active-HDL-ისთვის და Aldec Riviera-PRO-სთვის მიკროჩიპიდან webსაიტი.
2.3 run.do-ის გარდაქმნა Aldec სიმულაციისთვის (დასვით შეკითხვა)
გაქცევა.გააკეთე fileLibero SoC-ის მიერ Active-HDL და Riviera-Pro ინსტრუმენტის სიმულაციისთვის შექმნილი s შეიძლება გამოყენებულ იქნას Active-HDL-ისა და Riviera-Pro-ს გამოყენებით სიმულაციისთვის ერთი შეცვლით. შემდეგი ცხრილი ჩამოთვლის Aldec-ის ექვივალენტურ ბრძანებებს, რომლებიც უნდა შეიცვალოს ModelSim run.do-ში file.
ცხრილი 2-1. Aldec ეკვივალენტური ბრძანებები

ModelSim აქტიური-HDL
ვლოგი ალოგი
vcom acom
vlib ალიბი
vsim ასიმ
vmap amap

შემდეგი არის როგორცample run.do დაკავშირებული Aldec სიმულატორებთან.

  1. დააყენეთ მიმდინარე სამუშაო დირექტორიას მდებარეობა.
    დააყენეთ dsn
  2. დააყენეთ მოქმედი ბიბლიოთეკის სახელი, დააფიქსირეთ მისი მდებარეობა და შემდეგ მიუთითეთ Microchip FPGA ოჯახის მდებარეობა
    წინასწარ შედგენილი ბიბლიოთეკები (მაგample, SmartFusion2), რომელზეც თქვენ აწარმოებთ თქვენს დიზაინს.
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. შეადგინეთ ყველა საჭირო HDL files გამოიყენება დიზაინში საჭირო ბიბლიოთეკით.
    alog – სამუშაო presynth temp.v (Verilog-ისთვის)
    alog –work presynth testbench.v
    acom – სამუშაო presynth temp.vhd (Vhdl-სთვის)
    acom –work presynth testbench.vhd
  4. დიზაინის სიმულაცია.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    გაუშვით 10 us

2.4 ცნობილი საკითხები (დასვით შეკითხვა)
ამ განყოფილებაში ჩამოთვლილია ცნობილი საკითხები და შეზღუდვები.

  • Riviera-PRO-ს გამოყენებით შედგენილი ბიბლიოთეკები სპეციფიკურია პლატფორმაზე (ანუ 64-ბიტიანი ბიბლიოთეკების გაშვება შეუძლებელია 32-ბიტიან პლატფორმაზე და პირიქით).
  • SERDES/MDDR/FDDR-ის შემცველი დიზაინისთვის გამოიყენეთ შემდეგი ვარიანტი თქვენს run.do-ში fileსიმულაციების გაშვებისას მათი დიზაინის შედგენის შემდეგ:
    – აქტიური-HDL: asim –o2
    – Riviera-PRO: asim –O2 (პრესინთური და განლაგების შემდგომ სიმულაციებისთვის) და asim –O5 (განლაგების შემდგომი სიმულაციებისთვის)
    Aldec-ის დაყენებას Active-HDL და Riviera-Pro-სთვის აქვს შემდეგი მომლოდინე SAR-ები. დამატებითი ინფორმაციისთვის დაუკავშირდით მიკროჩიპის ტექნიკური მხარდაჭერა.
  • SAR 49908 – Active-HDL: VHDL შეცდომა მათემატიკის ბლოკის სიმულაციებისთვის
  • SAR 50627 – Riviera-PRO 2013.02: სიმულაციის შეცდომები SERDES დიზაინისთვის
  • SAR 50461 – Riviera-PRO: asim -O2/-O5 ვარიანტი სიმულაციებში

Cadence Incisive Setup (დასვით შეკითხვა)

თქვენ უნდა შექმნათ სკრიპტი file მსგავსი ModelSim ME/ModelSim Pro ME run.do გასაშვებად
Cadence Incisive სიმულატორი. მიჰყევით ამ ნაბიჯებს და შექმენით სკრიპტი file NCSim-ისთვის ან გამოიყენეთ სკრიპტი file
მოწოდებულია ModelSim ME/ModelSim Pro ME run.do-ის კონვერტაციისთვის files კონფიგურაციაში files
საჭიროა სიმულაციების გასაშვებად NCSim-ის გამოყენებით.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: Cadence შეწყვიტა Incisive Enterprise-ის ახალი ვერსიების გამოშვება
სიმულატორი და დაიწყო Xcelium სიმულატორის მხარდაჭერა.

3.1 გარემოს ცვლადები (დასვით შეკითხვა)
Cadence Incisive სიმულატორის გასაშვებად, დააკონფიგურირეთ შემდეგი გარემო ცვლადები:

  1. LM_LICENSE_FILE: უნდა შეიცავდეს ლიცენზიის მაჩვენებელს file.
  2. cds_root: უნდა მიუთითებდეს Cadence Incisive ინსტალაციის მთავარი დირექტორიას ადგილმდებარეობაზე.
  3. PATH: უნდა მიუთითებდეს ყუთის მდებარეობაზე ინსტრუმენტების დირექტორიაში მითითებული cds_root-ით, ანუ,
    $cds_root/tools/bin/64bit (64-ბიტიანი აპარატისთვის და $cds_root/tools/bin 32-ბიტიანი აპარატისთვის).
    სიმულაციური გარემოს დაყენების სამი გზა არსებობს 64-ბიტიან და 32-ბიტიან ოპერაციულ სისტემებს შორის გადართვის შემთხვევაში:

შემთხვევა 1: PATH ცვლადი
გაუშვით შემდეგი ბრძანება:
მითითებული გზა = (install_dir/tools/bin/64bit $path) 64 ბიტიანი მანქანებისთვის და
მითითებული გზა = (install_dir/tools/bin $path) 32 ბიტიანი მანქანებისთვის
შემთხვევა 2: -64 ბიტიანი ბრძანების ხაზის ვარიანტის გამოყენება
ბრძანების სტრიქონში მიუთითეთ -64 ბიტიანი ვარიანტი, რათა გამოიძახოთ 64 ბიტიანი შესრულებადი.
შემთხვევა 3: INCA_64BIT ან CDS_AUTO_64BIT გარემოს ცვლადის დაყენება
INCA_64BIT ცვლადი განიხილება, როგორც ლოგიკური. თქვენ შეგიძლიათ დააყენოთ ეს ცვლადი ნებისმიერ მნიშვნელობაზე ან null სტრიქონზე.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: INCA_64BIT გარემოს ცვლადი არ მოქმედებს სხვა Cadence ინსტრუმენტებზე, როგორიცაა IC ინსტრუმენტები. თუმცა, Incisive ხელსაწყოებისთვის, INCA_64BIT ცვლადი არღვევს CDS_AUTO_64BIT გარემოს ცვლადის პარამეტრს. თუ დაყენებულია INCA_64BIT გარემოს ცვლადი, ყველა Incisive ინსტრუმენტი მუშაობს 64-ბიტიან რეჟიმში. setenv CDS_AUTO_64BIT მოიცავს:INCA
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: INCA სტრიქონი უნდა იყოს დიდი ასოებით. ყველა შესრულებადი უნდა იყოს გაშვებული 32-ბიტიან რეჟიმში ან 64-ბიტიან რეჟიმში, არ დააყენოთ ცვლადი, რომ შეიცავდეს ერთ შესრულებადს, როგორც შემდეგში:
setenv CDS_AUTO_64BIT INCLUDE:ncelab

სხვა Cadence ინსტრუმენტები, როგორიცაა IC ინსტრუმენტები, ასევე იყენებენ CDS_AUTO_64BIT გარემოს ცვლადს 32-ბიტიანი ან 64-ბიტიანი შესრულებადი ფაილების არჩევის გასაკონტროლებლად. შემდეგი ცხრილი გვიჩვენებს, თუ როგორ შეგიძლიათ დააყენოთ CDS_AUTO_64BIT ცვლადი Incisive ინსტრუმენტებისა და IC ინსტრუმენტების ყველა რეჟიმში გასაშვებად.
ცხრილი 3-1. CDS_AUTO_64BIT ცვლადები

CDS_AUTO_64BIT ცვლადი საჭრელი ინსტრუმენტები IC ინსტრუმენტები
setenv CDS_AUTO_64BIT ALL 64 ბიტიანი 64 ბიტიანი
setenv CDS_AUTO_64BIT NONE 32 ბიტიანი 32 ბიტიანი
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary 64 ბიტიანი 32 ბიტიანი
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 ბიტიანი 64 ბიტიანი

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ყველა Incisive ინსტრუმენტი უნდა იყოს გაშვებული 32-ბიტიან რეჟიმში ან 64-ბიტიან რეჟიმში, არ გამოიყენოთ EXCLUDE კონკრეტული შესრულებადი ფაილის გამოსარიცხად, როგორც შემდეგში: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
თუ დააყენეთ CDS_AUTO_64BIT ცვლადი, რათა გამოირიცხოს Incisive ინსტრუმენტები (setenv CDS_AUTO_64BIT EXCLUDE:INCA), ყველა Incisive ინსტრუმენტი იმუშავებს 32-ბიტიან რეჟიმში. თუმცა, -64 ბიტიანი ბრძანების ხაზის ვარიანტი არღვევს გარემოს ცვლადს.
შემდეგი კონფიგურაცია fileგეხმარებათ მართოთ თქვენი მონაცემები და აკონტროლოთ სიმულაციური ხელსაწყოები და უტილიტები:

  • ბიბლიოთეკის რუკა file (cds.lib) - განსაზღვრავს ლოგიკურ სახელს თქვენი დიზაინის ადგილმდებარეობისთვის.
  • ბიბლიოთეკები და აკავშირებს მათ ფიზიკურ დირექტორიას სახელებთან.
  • ცვლადები file (hdl.var) - განსაზღვრავს ცვლადებს, რომლებიც გავლენას ახდენენ სიმულაციური ხელსაწყოებისა და უტილიტების ქცევაზე.

3.2 ჩამოტვირთეთ შედგენილი ბიბლიოთეკა (დასვით შეკითხვა)
ჩამოტვირთეთ ბიბლიოთეკები Cadence Incisive-ისთვის Microsemi's-დან webსაიტი.
3.3 NCSim სკრიპტის შექმნა File (დასვით შეკითხვა)
გაშვების ასლის შექმნის შემდეგ.do files, შეასრულეთ ეს ნაბიჯები თქვენი სიმულაციის გასაშვებად NCSim-ის გამოყენებით:

  1. შექმენით cds.lib file რომელიც განსაზღვრავს ხელმისაწვდომ ბიბლიოთეკებს და მათ მდებარეობას. The file შეიცავს განცხადებებს, რომლებიც ასახავს ბიბლიოთეკის ლოგიკურ სახელებს მათ ფიზიკურ დირექტორიაში. მაგample, თუ თქვენ აწარმოებთ presynth სიმულაციას, cds.lib file იწერება როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    DEFINE presynth ./presynth
    განსაზღვრეთ COREAHBLITE_LIB ./COREAHBLITE_LIB
    განსაზღვრეთ smartfusion2
  2. შექმენით hdl.var file, სურვილისამებრ კონფიგურაცია file რომელიც შეიცავს კონფიგურაციის ცვლადებს, რომელიც განსაზღვრავს როგორ არის კონფიგურირებული თქვენი დიზაინის გარემო. შემდეგი ცვლადი files შედის:
    – ცვლადები, რომლებიც გამოიყენება სამუშაო ბიბლიოთეკის დასაზუსტებლად, სადაც შემდგენელი ინახავს შედგენილ ობიექტებს და სხვა მიღებულ მონაცემებს.
    – Verilog-ისთვის, ცვლადები (LIB_MAP, VIEW_MAP, WORK) რომლებიც გამოიყენება ბიბლიოთეკების დასაზუსტებლად და views მოძებნოთ, როდესაც შემმუშავებელი წყვეტს მაგალითებს.
    – ცვლადები, რომლებიც საშუალებას გაძლევთ განსაზღვროთ შემდგენელი, ელაბორატორი და სიმულატორი ბრძანების ხაზის ვარიანტები და არგუმენტები.
    პრესინთის სიმულაციის შემთხვევაში მაგampზემოთ ნაჩვენები, ვთქვათ, გვაქვს სამი RTL files: av, bv და testbench.v, რომლებიც უნდა იყოს შედგენილი შესაბამისად presynth, COREAHBLITE_LIB და presynth ბიბლიოთეკებში. hdl.var file შეიძლება ჩაიწეროს, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    DEFINE WORK presynth
    PROJECT_DIR-ის განსაზღვრა files>
    LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/ავ => პრესინტი)
    განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    LIB_MAP-ის განსაზღვრა ($LIB_MAP, + => პრესინთეზია)
  3. შეადგინეთ დიზაინი files გამოყენებით ncvlog ვარიანტი.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log – განახლება –linedebug av bv testbench.v
  4. შეიმუშავეთ დიზაინი ncelab-ის გამოყენებით. შემმუშავებელი აყალიბებს დიზაინის იერარქიას დიზაინში არსებული ინსტანციისა და კონფიგურაციის ინფორმაციის საფუძველზე, ადგენს სიგნალის კავშირს და ითვლის საწყის მნიშვნელობებს დიზაინის ყველა ობიექტისთვის. შემუშავებული დიზაინის იერარქია ინახება სიმულაციის სნეპშოტში, რომელიც წარმოადგენს თქვენი დიზაინის წარმოდგენას, რომელსაც სიმულატორი იყენებს სიმულაციის გასაშვებად.
    ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    წვდომა +rwc –სტატუსის სამუშაო ლიბი. : მოდული
    დამუშავება განლაგების შემდგომი სიმულაციის დროს
    განლაგების შემდგომი სიმულაციების შემთხვევაში, ჯერ SDF file საჭიროა შედგენა დამუშავებამდე ncsdfc ბრძანების გამოყენებით.
    ncsdfcfileსახელი>.sdf –გამომავალიfileსახელი>.sdf.X
    დამუშავების დროს გამოიყენეთ შედგენილი SDF გამომავალი –autosdf ოფციით, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –წვდომა +rwc –სტატუსის სამუშაო წიგნაკი. :module –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file უნდა იყოს ისე, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    COMPILED_SDF_FILE = " file>>
  5. სიმულაცია ncsim-ის გამოყენებით. დამუშავების შემდეგ იქმნება სიმულაციური სნეპშოტი, რომელიც იტვირთება ncsim-ის მიერ სიმულაციისთვის. შეგიძლიათ გაუშვათ სურათების რეჟიმში ან GUI რეჟიმში.
    ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    შეცდომის მაქსიმუმი 15 – სტატუსის სამუშაო წიგნაკი. : მოდული

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: შედგენის, დამუშავებისა და სიმულაციის სამივე ზემოაღნიშნული ნაბიჯი შეიძლება შეტანილ იქნეს shell სკრიპტში file და მიღებულია ბრძანების ხაზიდან. ამ სამი ნაბიჯის გამოყენების ნაცვლად, დიზაინის სიმულაცია შესაძლებელია ერთ საფეხურზე ncverilog ან irun ოფციის გამოყენებით, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files გამოიყენება დიზაინში>
ირუნ +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
გამოიყენება დიზაინში>

3.3.1 ცნობილი საკითხები (დასვით შეკითხვა)
Testbench გამოსავალი
შემდეგი განცხადების გამოყენება მომხმარებლის მიერ გენერირებული ტესტის სკამზე საათის სიხშირის დასაზუსტებლად ან Libero SoC-ის მიერ გენერირებული ნაგულისხმევი ტესტის მაგიდაზე არ მუშაობს NCSim-თან.
ყოველთვის @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
სიმულაციის გასაშვებად შეცვალეთ შემდეგნაირად:
ყოველთვის #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: შედგენილი NCSim-ის ბიბლიოთეკები სპეციფიკურია პლატფორმისთვის (ანუ 64 ბიტიანი ბიბლიოთეკები არ არის თავსებადი 32 ბიტიან პლატფორმასთან და პირიქით).
პოსტინთური და პოსტ-სინთური სიმულაციები MSS-ისა და SERDES-ის გამოყენებით MSS ბლოკის შემცველი დიზაინის პოსტსინთური სიმულაციების გაშვებისას ან SERDES-ის გამოყენებით დიზაინის შემდგომი განლაგების სიმულაციები, BFM სიმულაციები არ მუშაობს, თუ –libmap ვარიანტი არის
არ არის მითითებული დამუშავების დროს. ეს იმიტომ ხდება, რომ დამუშავების დროს, MSS იხსნება სამუშაო ბიბლიოთეკიდან (ნაგულისხმევი აკინძვისა და სამუშაო ლიბის პოსტსინთ/პოსტ განლაგების გამო), სადაც ის მხოლოდ ფიქსირებული ფუნქციაა.
ncelab ბრძანება უნდა დაიწეროს, როგორც ნაჩვენებია შემდეგ კოდის ბლოკში MSS-ის გადასაჭრელად
დაბლოკვა SmartFusion2 წინასწარ შედგენილი ბიბლიოთეკიდან.

ncelab -libmap lib.map -libverbose -მესიჯი -წვდომა +rwc cfg1
და lib.რუკა file უნდა იყოს შემდეგი:
კონფიგურაცია cfg1;
დიზაინი ;
ნაგულისხმევი liblist smartfusion2 ;
endconfig
ეს აგვარებს SmartFusion2 ბიბლიოთეკის ნებისმიერ უჯრედს სამუშაო ბიბლიოთეკაში მოძიებამდე, ანუ პოსტსინთ/პოსტ განლაგება.
–libmap ოფცია შეიძლება გამოყენებულ იქნას ნაგულისხმევად დამუშავების დროს ყველა სიმულაციისთვის (presynth, postsynth და post-layout). ეს თავიდან აიცილებს სიმულაციის პრობლემებს, რომლებიც გამოწვეულია ბიბლიოთეკებიდან ინსტანციების გადაჭრის გამო.
ncelab: *F,INTERR: INTERNAL EXCEPTION
ეს ncelab ინსტრუმენტის გამონაკლისი არის გაფრთხილება დიზაინებისთვის, რომლებიც შეიცავს FDDR-ს SmartFusion 2-ში და IGLOO 2-ში პოსტსინთური და განლაგების შემდგომი სიმულაციების –libmap ოფციის გამოყენებით.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ეს საკითხი ეცნობა Cadence-ის მხარდაჭერის ჯგუფს (SAR 52113).

3.4 სample Tcl და Shell Script Fileს (დასვით შეკითხვა)
შემდეგი files არის კონფიგურაცია files საჭიროა დიზაინისა და shell სკრიპტის დასაყენებლად file NCSim ბრძანებების გასაშვებად.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
განსაზღვრეთ COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth

Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/CCC_0/SB_CCC_0_FCCC.v =>
პრესინტი)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
პრესინტი)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_HPMS/SB_HPMS.v => პრესინთეზია)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/SB.v => პრესინთეზა)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_top/SB_top.v => პრესინტი)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/work/SB_top/testbench.v => პრესინთეზია)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, + => პრესინთეზია)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -განახლება -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagევ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagევ
../../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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-მუშაობა presynth -logfile ncelab.log -errormax 15 -წვდომა +rwc -სტატუს presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

3.5 ავტომატიზაცია (დასვით შეკითხვა)
შემდეგი სკრიპტი file გარდაქმნის ModelSim run.do-ს files კონფიგურაციაშია fileსაჭიროა NCSim-ის გამოყენებით სიმულაციების გასაშვებად.
სკრიპტი File გამოყენება
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
მდებარეობა_Cadence_Precompiled_libraries

Cadence_parser.pl
#!/usr/bin/perl -w

################################################ ##########################################
##################
#გამოყენება: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

################################################ ##########################################
##################
გამოიყენეთ POSIX;
მკაცრი გამოყენება;
ჩემი ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser ($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub qusta_parser {
ჩემი $ModelSim_run_do = $_[0];
ჩემი $actel_family = $_[1];
ჩემი $lib_location = $_[2];
ჩემი $სახელმწიფო;
თუ (-e „$ModelSim_run_do“)
{
გახსნა (INFILE,”$ModelSim_run_do”);
ჩემი @ModelSim_run_do =FILE>;
ჩემი $ ხაზი;
თუ ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
გახსნა (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
გახსნა (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
გახსნა (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} სხვა
{
ბეჭდვა “Wrong Inputs მოცემული file\n”;
ბეჭდვა „#გამოყენება: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”ბიბლიოთეკების_მდებარეობა\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#ზოგადი ოპერაციები
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ამობეჭდეFILE „$line \n“;
თუ ($line =~ m/vmap\s+.*($actel_family)/)
{
ამობეჭდეFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($ ხაზი =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/კომპონენტი/..\/..\/კომპონენტი/გ;
ამობეჭდეFILE „$line \n“;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ამობეჭდეFILE „$line \n“;
} სხვა
{
ამობეჭდეFILE „$line \n“;
}
}
დახურვა (INFILE);
დახურვა (OUTFILE);
} სხვა {
ბეჭდვა „$ModelSim_run_do არ არსებობს. ხელახლა გაუშვით სიმულაცია \n”;
}
}

Cadence Xcelium Setup (მიკროჩიპის შესვლა)

თქვენ უნდა შექმნათ სკრიპტი file მსგავსი ModelSim ME/ModelSim Pro ME run.do გასაშვებად Cadence Xcelium სიმულატორი. მიჰყევით ამ ნაბიჯებს და შექმენით სკრიპტი file Xcelium-ისთვის ან გამოიყენეთ სკრიპტი file მოწოდებულია ModelSim ME/ModelSim Pro ME run.do-ის კონვერტაციისთვის files კონფიგურაციაში fileსაჭიროა Xcelium-ის გამოყენებით სიმულაციების გასაშვებად.
4.1 გარემოს ცვლადები (დასვით შეკითხვა)
Cadence Xcelium-ის გასაშვებად, დააკონფიგურირეთ შემდეგი გარემო ცვლადები:

  1. LM_LICENSE_FILE: უნდა შეიცავდეს ლიცენზიის მაჩვენებელს file.
  2. cds_root: უნდა მიუთითებდეს Cadence Incisive Installation-ის მთავარი დირექტორიას ადგილმდებარეობაზე.
  3. PATH: უნდა მიუთითებდეს ურნის მდებარეობაზე cds_root-ით მითითებული ინსტრუმენტების დირექტორიაში (მაგ
    $cds_root/tools/bin/64bit (64 ბიტიანი აპარატისთვის და $cds_root/tools/bin 32 ბიტისთვის
    მანქანა).

სიმულაციური გარემოს დაყენების სამი გზა არსებობს 64-ბიტიან და 32-ბიტიან ოპერაციულ სისტემებს შორის გადართვის შემთხვევაში:
შემთხვევა 1: PATH ცვლადი
მითითებული გზა = (install_dir/tools/bin/64bit $path) 64 ბიტიანი მანქანებისთვის და
მითითებული გზა = (install_dir/tools/bin $path) 32 ბიტიანი მანქანებისთვის
შემთხვევა 2: -64 ბიტიანი ბრძანების ხაზის ვარიანტის გამოყენება
ბრძანების სტრიქონში მიუთითეთ -64 ბიტიანი ვარიანტი, რათა გამოიძახოთ 64-ბიტიანი შესრულებადი.
შემთხვევა 3: INCA_64BIT ან CDS_AUTO_64BIT გარემოს ცვლადის დაყენება
INCA_64BIT ცვლადი განიხილება, როგორც ლოგიკური. თქვენ შეგიძლიათ დააყენოთ ეს ცვლადი ნებისმიერ მნიშვნელობაზე ან ნულზე
სიმებიანი.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: INCA_64BIT გარემოს ცვლადი არ მოქმედებს სხვა Cadence ინსტრუმენტებზე, როგორიცაა IC ინსტრუმენტები. თუმცა, Incisive ხელსაწყოებისთვის, INCA_64BIT ცვლადი არღვევს CDS_AUTO_64BIT გარემოს ცვლადის პარამეტრს. თუ INCA_64BIT გარემოს ცვლადი არის et, ყველა Incisive ინსტრუმენტი მუშაობს 64-ბიტიან რეჟიმში.
setenv CDS_AUTO_64BIT მოიცავს:INCA
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: INCA სტრიქონი უნდა იყოს დიდი ასოებით. ყველა შესრულებადი უნდა იყოს გაშვებული 2-ბიტიან რეჟიმში ან 64-ბიტიან რეჟიმში, არ დააყენოთ ცვლადი, რომ შეიცავდეს ერთ შესრულებადს, როგორც შემდეგში:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
სხვა Cadence ინსტრუმენტები, როგორიცაა IC ინსტრუმენტები, ასევე იყენებენ CDS_AUTO_64BIT გარემოს ცვლადს 32-ბიტიანი ან 64-ბიტიანი შესრულებადი ფაილების არჩევის გასაკონტროლებლად. შემდეგი ცხრილი გვიჩვენებს, თუ როგორ შეგიძლიათ დააყენოთ CDS_AUTO_64BIT ცვლადი Incisive ინსტრუმენტებისა და IC ინსტრუმენტების ყველა რეჟიმში გასაშვებად.

ცხრილი 4-1. CDS_AUTO_64BIT ცვლადები

CDS_AUTO_64BIT ცვლადი საჭრელი ინსტრუმენტები IC ინსტრუმენტები
setenv CDS_AUTO_64BIT ALL 64 ბიტიანი 64 ბიტიანი
setenv CDS_AUTO_64BIT NONE 32 ბიტიანი 32 ბიტიანი
setenv CDS_AUTO_64BIT
გამორიცხვა:ic_binary
64 ბიტიანი 32 ბიტიანი
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 ბიტიანი 64 ბიტიანი

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ყველა Incisive ინსტრუმენტი უნდა იყოს გაშვებული 32-ბიტიან რეჟიმში ან 64-ბიტიან რეჟიმში, არ გამოიყენოთ EXCLUDE კონკრეტული შესრულებადი გამოსარიცხად, როგორც შემდეგში:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
თუ დააყენეთ CDS_AUTO_64BIT ცვლადი, რათა გამოირიცხოს Incisive ინსტრუმენტები (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), ყველა Incisive ინსტრუმენტი მუშაობს 32-ბიტიან რეჟიმში. თუმცა,
-64 ბიტიანი ბრძანების ხაზის ვარიანტი არღვევს გარემოს ცვლადს.
შემდეგი კონფიგურაცია fileგეხმარებათ მართოთ თქვენი მონაცემები და აკონტროლოთ სიმულაციური ხელსაწყოები და უტილიტები:

  • ბიბლიოთეკის რუკა file (cds.lib) განსაზღვრავს ლოგიკურ სახელს თქვენი დიზაინის ადგილმდებარეობისთვის.
  • ბიბლიოთეკები და აკავშირებს მათ ფიზიკურ დირექტორიას სახელებთან.
  • ცვლადები file (hdl.var) განსაზღვრავს ცვლადებს, რომლებიც გავლენას ახდენენ სიმულაციური ხელსაწყოებისა და უტილიტების ქცევაზე.

4.2 ჩამოტვირთეთ შედგენილი ბიბლიოთეკა (დასვით შეკითხვა)
ჩამოტვირთეთ ბიბლიოთეკები Cadence Xcelium-ისთვის Microsemi's-დან webსაიტი.
4.3 Xcelium სკრიპტის შექმნა file (დასვით შეკითხვა)
გაშვების ასლის შექმნის შემდეგ.do files, შეასრულეთ შემდეგი ნაბიჯები თქვენი სიმულაციის გასაშვებად Xcelium სკრიპტის გამოყენებით file.

  1. შექმენით cds.lib file რომელიც განსაზღვრავს რომელი ბიბლიოთეკებია ხელმისაწვდომი და სად მდებარეობს ისინი.
    The file შეიცავს განცხადებებს, რომლებიც ასახავს ბიბლიოთეკის ლოგიკურ სახელებს მათ ფიზიკურ დირექტორიაში. მაგample, თუ თქვენ აწარმოებთ presynth სიმულაციას, cds.lib file შეიძლება ჩაიწეროს, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    DEFINE presynth ./presynth
    განსაზღვრეთ COREAHBLITE_LIB ./COREAHBLITE_LIB
    განსაზღვრეთ smartfusion2
  2. შექმენით hdl.var file რომელიც არის არჩევითი კონფიგურაცია file რომელიც შეიცავს კონფიგურაციის ცვლადებს, რომელიც განსაზღვრავს როგორ არის კონფიგურირებული თქვენი დიზაინის გარემო. Ესენი მოიცავს:
    – ცვლადები, რომლებიც გამოიყენება სამუშაო ბიბლიოთეკის დასაზუსტებლად, სადაც შემდგენელი ინახავს შედგენილ ობიექტებს და სხვა მიღებულ მონაცემებს.
    – Verilog-ისთვის, ცვლადები (LIB_MAP, VIEW_MAP, WORK) რომლებიც გამოიყენება ბიბლიოთეკების დასაზუსტებლად და views მოძებნოთ, როდესაც შემმუშავებელი წყვეტს მაგალითებს.
    – ცვლადები, რომლებიც საშუალებას გაძლევთ განსაზღვროთ შემდგენელი, ელაბორატორი და სიმულატორი ბრძანების ხაზის ვარიანტები და არგუმენტები.
    პრესინთის სიმულაციის შემთხვევაში მაგampზემოთ ნაჩვენები, ვთქვათ, რომ გვაქვს 3 RTL files av, bv და testbench.v, რომლებიც უნდა იყოს შედგენილი შესაბამისად presynth, COREAHBLITE_LIB და presynth ბიბლიოთეკებში. hdl.var file შეიძლება ჩაიწეროს, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    DEFINE WORK presynth
    PROJECT_DIR-ის განსაზღვრა files>
    LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/ავ => პრესინტი)
    განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    LIB_MAP-ის განსაზღვრა ($LIB_MAP, + => პრესინთეზია)
  3. შეადგინეთ დიზაინი files გამოყენებით ncvlog ვარიანტი.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log – განახლება –linedebug av bv testbench.v
  4. შეიმუშავეთ დიზაინი ncelab-ის გამოყენებით. შემმუშავებელი აყალიბებს დიზაინის იერარქიას დიზაინში არსებული ინსტანციისა და კონფიგურაციის ინფორმაციის საფუძველზე, ადგენს სიგნალის კავშირს და ითვლის საწყის მნიშვნელობებს დიზაინის ყველა ობიექტისთვის. შემუშავებული დიზაინის იერარქია ინახება სიმულაციის სნეპშოტში, რომელიც წარმოადგენს თქვენი დიზაინის წარმოდგენას, რომელსაც სიმულატორი იყენებს სიმულაციის გასაშვებად.
    Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    წვდომა +rwc –სტატუსის სამუშაო ლიბი. : მოდული
    დამუშავება განლაგების შემდგომი სიმულაციის დროს
    განლაგების შემდგომი სიმულაციების შემთხვევაში, ჯერ SDF file საჭიროა შედგენა დამუშავებამდე ncsdfc ბრძანების გამოყენებით.
    Xceliumfileსახელი>.sdf –გამომავალიfileსახელი>.sdf.X
    დამუშავების დროს გამოიყენეთ შედგენილი SDF გამომავალი –autosdf ოფციით, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –წვდომა +rwc –სტატუსის სამუშაო წიგნაკი. :module –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file უნდა იყოს ისე, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    COMPILED_SDF_FILE = " file>>
  5. სიმულაცია Xcelium-ის გამოყენებით. დამუშავების შემდეგ იქმნება სიმულაციური სნეპშოტი, რომელიც იტვირთება Xcelium-ის მიერ სიმულაციისთვის. ეს შეიძლება გაშვებული იყოს სურათების რეჟიმში ან GUI რეჟიმში.
    xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    შეცდომის მაქსიმუმი 15 – სტატუსის სამუშაო წიგნაკი. : მოდული
    Cadence Xcelium Setup
    MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ყველა შედგენის, შემუშავებისა და სიმულაციის ზემოაღნიშნული სამი ეტაპი შეიძლება ჩასვათ shell სკრიპტში file და მიღებულია ბრძანების ხაზიდან. ამ სამი ნაბიჯის გამოყენების ნაცვლად, დიზაინის სიმულაცია შესაძლებელია ერთ საფეხურზე ncverilog ან xrun ოფციის გამოყენებით, როგორც ნაჩვენებია შემდეგ კოდბლოკში.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
    files გამოიყენება დიზაინში>
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
    გამოიყენება დიზაინში>

4.3.1 ცნობილი საკითხები (დასვით შეკითხვა)
Testbench გამოსავალი
შემდეგი განცხადების გამოყენება მომხმარებლის მიერ გენერირებული ტესტის სკამზე ან Libero SoC-ის მიერ გენერირებული ნაგულისხმევი ტესტის სიხშირის დასაზუსტებლად არ მუშაობს Xcelium-თან.
ყოველთვის @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
სიმულაციის გასაშვებად შეცვალეთ შემდეგნაირად:
ყოველთვის #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: Xcelium-ისთვის შედგენილი ბიბლიოთეკები სპეციფიკურია პლატფორმისთვის (ანუ 64 ბიტიანი ბიბლიოთეკები არ არის თავსებადი 32 ბიტიან პლატფორმასთან და პირიქით).
პოსტინთური და პოსტ-განლაგების სიმულაციები MSS-ისა და SERDES-ის გამოყენებით
MSS ბლოკის შემცველი დიზაინის პოსტსინთური სიმულაციების გაშვებისას ან SERDES-ის გამოყენებით დიზაინის შემდგომი განლაგების სიმულაციების გაშვებისას, BFM სიმულაციები არ მუშაობს, თუ –libmap ვარიანტი არ არის მითითებული დამუშავების დროს. ეს იმიტომ ხდება, რომ დამუშავების დროს, MSS იხსნება სამუშაო ბიბლიოთეკიდან (ნაგულისხმევი აკინძვისა და სამუშაო ლიბის პოსტსინთ/პოსტ განლაგების გამო), სადაც ის მხოლოდ ფიქსირებული ფუნქციაა.
ncelab ბრძანება უნდა დაიწეროს ისე, როგორც ნაჩვენებია შემდეგ კოდის ბლოკში, რათა გადაჭრას MSS ბლოკი SmartFusion2 წინასწარ კომპილირებული ბიბლიოთეკიდან.
xmelab -libmap lib.map -libverbose -მესიჯი -წვდომა +rwc cfg1
და lib.რუკა file უნდა იყოს შემდეგი:
კონფიგურაცია cfg1;
დიზაინი ;
ნაგულისხმევი liblist smartfusion2 ;
endconfig
მან უნდა გადაწყვიტოს SmartFusion2 ბიბლიოთეკის ნებისმიერი უჯრედი სამუშაო ბიბლიოთეკაში, ანუ postsynth/post-layout-ის ძიებამდე.
–libmap ოფცია შეიძლება გამოყენებულ იქნას ნაგულისხმევად დამუშავების დროს ყველა სიმულაციისთვის (presynth, postsynth და post-layout). ეს თავიდან აიცილებს სიმულაციის პრობლემებს, რომლებიც გამოწვეულია ბიბლიოთეკებიდან ინსტანციების გადაჭრის გამო.
xmelab: *F,INTERR: INTERNAL EXCEPTION
ეს ncelab ინსტრუმენტის გამონაკლისი არის გაფრთხილება დიზაინებისთვის, რომლებიც შეიცავს FDDR-ს SmartFusion2-სა და IGLOO2-ში
პოსტსინთური და განლაგების შემდგომ სიმულაციების დროს –libmap ოფციის გამოყენებით.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ეს საკითხი ეცნობა Cadence-ის მხარდაჭერის ჯგუფს (SAR 52113).

4.4 სample Tcl და shell სკრიპტი fileს (დასვით შეკითხვა)
შემდეგი files არის კონფიგურაცია files საჭიროა დიზაინისა და shell სკრიპტის დასაყენებლად file Xcelium ბრძანებების გასაშვებად.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
განსაზღვრეთ COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/CCC_0/SB_CCC_0_FCCC.v =>
პრესინტი)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
პრესინტი)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_HPMS/SB_HPMS.v => პრესინთეზია)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB/SB.v => პრესინთეზა)
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
განსაზღვრეთ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/სამუშაო/SB_top/SB_top.v => პრესინტი)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, ${PROJECT_DIR}/კომპონენტი/work/SB_top/testbench.v => პრესინთეზია)
LIB_MAP-ის განსაზღვრა ($LIB_MAP, + => პრესინთეზია)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -განახლება -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../კომპონენტი/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagევ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagევ
../../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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-მუშაობა presynth -logfile ncelab.log -errormax 15 -წვდომა +rwc -სტატუს presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

4.5 ავტომატიზაცია (მიკროჩიპის შესვლა)
შემდეგი სკრიპტი file აკონვერტებს ModelSim run.do files კონფიგურაციაშია fileსაჭიროა Xcelium-ის გამოყენებით სიმულაციების გასაშვებად.
სკრიპტი File გამოყენება
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
მდებარეობა_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w

################################################ ##########################################
##################
#გამოყენება: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

################################################ ##########################################
##################
გამოიყენეთ POSIX;
მკაცრი გამოყენება;
ჩემი ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser ($postsynth, $family, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
sub qusta_parser {
ჩემი $ModelSim_run_do = $_[0];
ჩემი $actel_family = $_[1];
ჩემი $lib_location = $_[2];
ჩემი $სახელმწიფო;
თუ (-e „$ModelSim_run_do“)
{
გახსნა (INFILE,”$ModelSim_run_do”);
ჩემი @ModelSim_run_do =FILE>;
ჩემი $ ხაზი;
თუ ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
გახსნა (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
გახსნა (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
გახსნა (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} სხვა
{
ბეჭდვა “Wrong Inputs მოცემული file\n”;
ბეჭდვა „#გამოყენება: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”ბიბლიოთეკების_მდებარეობა\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#ზოგადი ოპერაციები
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ამობეჭდეFILE „$line \n“;
თუ ($line =~ m/vmap\s+.*($actel_family)/)
{
ამობეჭდეFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($ ხაზი =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/კომპონენტი/..\/..\/კომპონენტი/გ;
ამობეჭდეFILE „$line \n“;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ამობეჭდეFILE „$line \n“;
} სხვა
{
ამობეჭდეFILE „$line \n“;
}
}
დახურვა (INFILE);
დახურვა (OUTFILE);
} სხვა {
ბეჭდვა „$ModelSim_run_do არ არსებობს. ხელახლა გაუშვით სიმულაცია \n”;
}
}

Siemens QuestaSim Setup/ModelSim Setup (დასვით შეკითხვა)

გაქცევა.გააკეთე files, გენერირებული Libero SoC-ის მიერ ModelSim Microsemi Editions-ის სიმულაციისთვის, შეიძლება გამოყენებულ იქნას QuestaSim/ModelSim SE/DE/PE სიმულაციისთვის ერთი შეცვლით. ModelSim ME/ModelSim Pro ME run.do-ში fileწინასწარ შედგენილი ბიბლიოთეკების მდებარეობა უნდა შეიცვალოს.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: 
ნაგულისხმევად, სიმულაციური ინსტრუმენტი, გარდა ModelSim Pro ME, ახორციელებს დიზაინის ოპტიმიზაციას სიმულაციის დროს, რამაც შეიძლება გავლენა მოახდინოს სიმულაციური არტეფაქტების ხილვადობაზე, როგორიცაა დიზაინის ობიექტები და შეყვანის სტიმული.
ეს ჩვეულებრივ გამოსადეგია კომპლექსური სიმულაციებისთვის სიმულაციის გაშვების დროის შესამცირებლად, ვრცელი, თვითშემოწმების ტესტების სკამების გამოყენებით. თუმცა, ნაგულისხმევი ოპტიმიზაცია შეიძლება არ იყოს შესაბამისი ყველა სიმულაციისთვის, განსაკუთრებით იმ შემთხვევებში, როდესაც თქვენ ელით სიმულაციის შედეგების გრაფიკულად შემოწმებას ტალღის ფანჯრის გამოყენებით.
ამ ოპტიმიზაციით გამოწვეული პრობლემების გადასაჭრელად, თქვენ უნდა დაამატოთ შესაბამისი ბრძანებები და შესაბამისი არგუმენტები სიმულაციის დროს, რათა აღადგინოთ ხილვადობა დიზაინში. ხელსაწყოს სპეციფიკური ბრძანებებისთვის იხილეთ გამოყენებული სიმულატორის დოკუმენტაცია.

5.1 გარემოს ცვლადები (დასვით შეკითხვა)
ქვემოთ მოცემულია გარემოს საჭირო ცვლადები.

  • LM_LICENSE_FILE: უნდა შეიცავდეს ლიცენზიისკენ მიმავალ გზას file.
  • MODEL_TECH: უნდა დაადგინოს გზა QuestaSim-ის ინსტალაციის მთავარი დირექტორიაში.
  • PATH: უნდა მიუთითებდეს MODEL_TECH-ის მიერ მითითებულ შესრულებად მდებარეობაზე.

5.2 run.do-ის კონვერტაცია Mentor QuestaSim-ისთვის (დასვით შეკითხვა)
გაქცევა.გააკეთე fileLibero SoC-ის მიერ გამომუშავებული s ModelSim Microsemi Editions სიმულაციისთვის შეიძლება გამოყენებულ იქნას QuestaSim/ModelSim_SE სიმულაციისთვის ერთი ცვლილებით.
MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: ყველა დიზაინები, რომლებიც სიმულირებულია QuestaSim-ის გამოყენებით, უნდა შეიცავდეს -novopt-ს
ვარიანტი vsim ბრძანებასთან ერთად run.do სკრიპტში files.
5.3 ჩამოტვირთეთ შედგენილი ბიბლიოთეკა (დასვით შეკითხვა)
ჩამოტვირთეთ ბიბლიოთეკები Mentor Graphics QuestaSim-ისთვის Microsemi-დან webსაიტი.

Synopsys VCS Setup (დასვით შეკითხვა)

Microsemi-ის მიერ რეკომენდებული ნაკადი ეყრდნობა Elaborate and Compile ნაკადს VCS-ში. ეს დოკუმენტი შეიცავს სკრიპტს file რომელიც იყენებს run.do სკრიპტს files გენერირდება Libero SoC-ის მიერ და ქმნის კონფიგურაციას files საჭიროა VCS სიმულაციისთვის. სცენარი file იყენებს გაშვებას.do file რომ გააკეთოს შემდეგი.

  • შექმენით ბიბლიოთეკის რუკა file, რომელიც კეთდება synopsys_sim.setup-ის გამოყენებით file მდებარეობს იმავე დირექტორიაში, სადაც მუშაობს VCS სიმულაცია.
  • შექმენით shell სკრიპტი file თქვენი დიზაინის შემუშავება და შედგენა VCS-ის გამოყენებით.

6.1 გარემოს ცვლადები (დასვით შეკითხვა)
დააყენეთ შესაბამისი გარემოს ცვლადები VCS-ისთვის თქვენი დაყენების საფუძველზე. გარემოს ცვლადები საჭირო VCS დოკუმენტაციის მიხედვით არის:

  • LM_LICENSE_FILE: უნდა შეიცავდეს მაჩვენებელს ლიცენზიის სერვერზე.
  • VCS_HOME: უნდა მიუთითებდეს VCS-ის ინსტალაციის მთავარი დირექტორიას მდებარეობაზე.
  • PATH: უნდა შეიცავდეს მაჩვენებელს VCS_HOME დირექტორიას ქვემოთ მდებარე ბინ დირექტორიაში.

6.2 ჩამოტვირთეთ შედგენილი ბიბლიოთეკა (დასვით შეკითხვა)
ჩამოტვირთეთ ბიბლიოთეკები Synopsys VCS-ისთვის Microsemi-დან webსაიტი.
6.3 VCS სიმულაციური სკრიპტი File (დასვით შეკითხვა)
VCS-ის დაყენების და დიზაინისა და განსხვავებული run.do გენერირების შემდეგ files Libero SoC-დან, თქვენ უნდა:

  1. შექმენით ბიბლიოთეკის რუკა file synopsys_sim.setup; ეს file შეიცავს მითითებებს ყველა ბიბლიოთეკის ადგილმდებარეობის შესახებ, რომელიც გამოიყენებს დიზაინს.
    MICROCHIP Libero SoC Simulation Library Software - ხატულა  მნიშვნელოვანია: file სახელი არ უნდა შეიცვალოს და ის უნდა იყოს განთავსებული იმავე დირექტორიაში, სადაც სიმულაცია მუშაობს. აქ არის ყოფილიampლე ასეთი ა file პრესინთეზის სიმულაციისთვის.
    სამუშაო > EFAULT
    SmartFusion2:
    presynth : ./presynth
    ნაგულისხმევი: ./მუშაობა
  2. შეიმუშავეთ განსხვავებული დიზაინი files, testbench-ის ჩათვლით, VCS-ში vlogan ბრძანების გამოყენებით. ეს ბრძანებები შეიძლება შედიოდეს shell სკრიპტში file. შემდეგი არის ყოფილიampიმ ბრძანებებიდან, რომლებიც საჭიროა rtl.v-ში განსაზღვრული დიზაინის დასამუშავებლად, მისი ტესტის ადგილით განსაზღვრული
    ტესტის მაგიდა.ვ.
    vlogan +v2k -მუშაობა presynth rtl.v
    vlogan +v2k -მუშაობა presynth testbench.v
  3. შეადგინეთ დიზაინი VCS-ის გამოყენებით შემდეგი ბრძანების გამოყენებით.
    vcs –sim_res=1fs presynth.testbench
    შენიშვნა: სიმულაციის დროის გარჩევადობა უნდა იყოს დაყენებული 1fs-ზე სწორი ფუნქციონალური სიმულაციისთვის.
  4. დიზაინის შედგენის შემდეგ დაიწყეთ სიმულაცია შემდეგი ბრძანების გამოყენებით.
    ./simv
  5. უკან ანოტირებული სიმულაციისთვის, VCS ბრძანება უნდა იყოს ისეთი, როგორიც ნაჩვენებია შემდეგ კოდურ ბლოკში.
    vcs postlayout.testbench –sim_res=1fs –sdf max: .
    სახელი>: file path> –gui –l postlayout.log

6.4 შეზღუდვები/გამონაკლისები (დასვით შეკითხვა)
ქვემოთ მოცემულია Synopsys VCS დაყენების შეზღუდვები/გამონაკლისები.

  • VCS სიმულაციების გაშვება შესაძლებელია მხოლოდ Libero SoC-ის Verilog პროექტებისთვის. VCS სიმულატორს აქვს მკაცრი VHDL ენის მოთხოვნები, რომლებიც არ აკმაყოფილებს Libero SoC ავტოგენერირებული VHDL-ს. files.
  • თქვენ უნდა გქონდეთ $finish განცხადება Verilog testbench-ში, რათა შეწყვიტოთ სიმულაცია, როცა გინდათ.
    MICROCHIP Libero SoC Simulation Library Software - ხატულა მნიშვნელოვანია: როდის სიმულაციები გადის GUI რეჟიმში, გაშვების დრო შეიძლება განისაზღვროს GUI-ში.

6.5 სample Tcl და Shell Script Fileს (დასვით შეკითხვა)
შემდეგი Perl ავტომატიზირებს synopsys_sim.setup-ის გენერაციას file ასევე შესაბამისი shell სკრიპტი fileსაჭიროა დიზაინის შემუშავება, შედგენა და სიმულაცია.
თუ დიზაინი იყენებს MSS-ს, დააკოპირეთ test.vec file მდებარეობს Libero SoC პროექტის სიმულაციის საქაღალდეში VCS სიმულაციის საქაღალდეში. შემდეგი სექციები შეიცავს სampლე გაქცევა.გააკეთე files გენერირებული Libero SoC-ის მიერ, მათ შორის შესაბამისი ბიბლიოთეკის რუკების და shell სკრიპტის ჩათვლით files საჭიროა VCS სიმულაციისთვის.
6.5.1 წინასწარი სინთეზი (დასვით შეკითხვა)
Presynth_run.do
მშვიდად დააყენეთ ACTELLIBNAME SmartFusion2
მშვიდად დააყენეთ PROJECT_DIR „/sqa/users/me/VCS_Tests/Test_DFF“
თუ {[file არსებობს presynth/_info]} {
echo „INFO: სიმულაციის ბიბლიოთეკის პრესინტი უკვე არსებობს“
} სხვა {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
ვლოგი - სამუშაო პრესინთეზა „${PROJECT_DIR}/component/work/SD1/SD1.v“
ვლოგი „+incdir+${PROJECT_DIR}/stimulus“ -სამუშაო პრესინთემა „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
ტალღის დამატება /SD1_TB1/*
დაამატეთ log -r /*
გაუშვით 1000 ც
presynth_main.csh
#!/bin/csh -f
დააყენეთ PROJECT_DIR = „/sqa/users/Me/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth „${PROJECT_DIR}/component/
work/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -მუშაობა
presynth „${PROJECT_DIR}/stimulus/SD1_TB1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l გაშვება.log
Synopsys_sim.setup
სამუშაო > ნაგულისხმევი
SmartFusion2: /VCS/SmartFusion2
presynth : ./presynth
ნაგულისხმევი: ./მუშაობა

6.5.2 პოსტსინთეზი (დასვით შეკითხვა)
postsynth_run.do
მშვიდად დააყენეთ ACTELLIBNAME SmartFusion2
მშვიდად დააყენეთ PROJECT_DIR „/sqa/users/Me/VCS_Tests/Test_DFF“
თუ {[file არსებობს პოსტსინტი/_ინფორმაცია]} {
echo „INFO: სიმულაციის ბიბლიოთეკის პოსტსინტი უკვე არსებობს“
} სხვა {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion 2”
ვლოგი - სამუშაო პოსტსინტი „${PROJECT_DIR}/synthesis/SD1.v“
ვლოგი „+incdir+${PROJECT_DIR}/stimulus“ - სამუშაო პოსტსინტი „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
ტალღის დამატება /SD1_TB1/*
დაამატეთ log -r /*
გაუშვით 1000 ც
ჟურნალი SD1_TB1/*
გასასვლელი
Postsynth_main.csh
#!/bin/csh -f
დააყენეთ PROJECT_DIR = „/sqa/users/Me/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth „${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -მუშაობა
პოსტსინტი „${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 გაშვება.log
Synopsys_sim.setup
სამუშაო > ნაგულისხმევი
SmartFusion2: /VCS/SmartFusion2
პოსტსინტი : ./postsynth
ნაგულისხმევი: ./მუშაობა
6.5.3 განლაგების შემდგომი (დასვით შეკითხვა)
postlayout_run.do
მშვიდად დააყენეთ ACTELLIBNAME SmartFusion2
მშვიდად დააყენეთ PROJECT_DIR „E:/ModelSim_Work/Test_DFF“
თუ {[file არსებობს ../designer/SD1/simulation/postlayout/_info]} {
echo „INFO: სიმულაციის ბიბლიოთეკა ../designer/SD1/simulation/postlayout უკვე არსებობს“
} სხვა {
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/
SmartFusion 2”
vlog -სამუშაო პოსტ-განლაგება „${PROJECT_DIR}/designer/SD1/SD1_ba.v“
ვლოგი „+incdir+${PROJECT_DIR}/stimulus“ - სამუშაო პოსტ-განლაგება „${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
ტალღის დამატება /SD1_TB1/*
დაამატეთ log -r /*
გაუშვით 1000 ც
Postlayout_main.csh
#!/bin/csh -f
დააყენეთ PROJECT_DIR = „/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout „${PROJECT_DIR}/
დიზაინერი/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -მუშაობა
პოსტ-განლაგება „${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 გაშვება.log
Synopsys_sim.setup
სამუშაო > ნაგულისხმევი
SmartFusion2: /VCS/SmartFusion2
postlayout : ./postlayout
ნაგულისხმევი: ./workVCS
6.6 ავტომატიზაცია (დასვით შეკითხვა)
ნაკადი შეიძლება ავტომატიზირებული იყოს შემდეგი Perl სკრიპტის გამოყენებით file რომ გადაიყვანოთ ModelSim run.do files შევიდა VCS თავსებადი shell სკრიპტი files, შექმენით შესაბამისი დირექტორიები Libero SoC სიმულაციის დირექტორიაში და შემდეგ გაუშვით სიმულაციები.
გაუშვით სკრიპტი file შემდეგი სინტაქსის გამოყენებით.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################ ############################
#
#გამოყენება: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
################################################ #############################
ჩემი ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(„mkdir VCS_Presynth“)) {ბეჭდვა „mkdir ვერ მოხერხდა:\n“;}
if(system(„mkdir VCS_Postsynth“)) {ბეჭდვა „mkdir ვერ მოხერხდა:\n“;}
if(system("mkdir VCS_Postlayout")) {ბეჭდვა "mkdir ვერ მოხერხდა:\n";}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do ($presynth,"presynth");
ჩდირ (../“);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do ($postsynth,”postsynth”);
ჩდირ (../“);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do ($postlayout,"postlayout");
ჩდირ (../“);
sub parse_do {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
ჩემი %LIB = ();
ჩემი $file = $_[0] ;
ჩემი $state = $_[1];
გახსნა (INFILE"$file”) || die „ვერ გახსნა File მიზეზი შეიძლება იყოს:$!”;
if ($state eq „presynth“)
{
open(OUT1,”>presynth_main.csh”) || die “Cant Cream Command File მიზეზი შეიძლება იყოს:$!”;
}
elsif ($state eq „postsynth“)
{
open(OUT1,”>postsynth_main.csh”) || die „არ შემიძლია ბრძანების შექმნა File მიზეზი შეიძლება იყოს:$!”;
}
elsif ($state eq „postlayout“)
{
open(OUT1,”>postlayout_main.csh”) || die “Cant Cream Command File მიზეზი შეიძლება იყოს:$!”;
}
სხვა
{
ამობეჭდვა "სიმულაციის მდგომარეობა აკლია \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || die „არ შემიძლია ბრძანების შექმნა File მიზეზი შეიძლება იყოს:$!”;
# .csh file
ამობეჭდოთ OUT1 “#!/bin/csh -f\n\n\n” ;
#ᲐᲬᲧᲝᲑᲐ FILE
ამობეჭდვა2 „WORK > DEFAULT\n“ ;
ამობეჭდოთ OUT2 „SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n“;
ხოლო ($ ხაზი =FILE>)
{

Synopsys VCS Setup

თუ ($line =~ m/ჩუმად დაყენებულია PROJECT_DIR\s+\”(.*?)\”/)
{
ამობეჭდოთ OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
თუ ($ ხაზი =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp ($ ხაზი);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
ამობეჭდოთ OUT1 „$line\n“;
}
elsif (($ხაზი =~ m/vsim.*presynth\.(.*)/) || ($ხაზი =~ m/vsim.*postsynth\.(.*)/) || ($ხაზი
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#print „TB Name : $tb \n“;
თუ ($ხაზი =~ m/sdf(.*)\.sdf/)
{
chomp ($ ხაზი);
$ხაზი = $1 ;
#print “LINE : $line \n” ;
თუ ($ ხაზი =~ მ/მაქს/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
ამობეჭდვა 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” ;
}
ელსიფი ($ხაზი =~ მ/წთ/)
{
$line =~ წ/წთ \/// ;
$line =~ s/=/:/;
ამობეჭდვა 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 ($ ხაზი =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
ამობეჭდვა OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ModelSim SDF ფორმატი
#$sdf = „-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf“; -VCS
SDF ფორმატი
}
}
}
ბეჭდვა
OUT1 „\n\n“
;
if
($state eq „presynth“
)
{
ბეჭდვა
OUT2 „პრესინთ
: ./presynth\n”
;
ბეჭდვა
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
ელსიფი
($state eq „postsynth“
)
{
ბეჭდვა
OUT2 „პოსტინტი
: ./postsynth\n”
;
ბეჭდვა
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
ელსიფი
($state eq „postlayout“
)
{
ამობეჭდვა OUT2 “postlayout : ./postlayout\n” ;
}
სხვა
{
ამობეჭდვა "სიმულაციის მდგომარეობა აკლია \n" ;
}
foreach $i (გასაღებები %LIB)
{
#print “Key : $i Value : $LIB{$i} \n” ;
ამობეჭდოთ OUT2 “$i : ./$i\n” ;
}
ამობეჭდოთ OUT1 „\n\n“ ;
ამობეჭდვა OUT1 “./simv -l run.log\n” ;
ამობეჭდვა2 “ნაგულისხმევი : ./სამუშაო\n” ;
დახურვა INFILE;
დახურვა OUT1;
დახურვა OUT2;
}

გადასინჯვის ისტორია (მიკროჩიპის შესვლა

გადასინჯვის ისტორია აღწერს ცვლილებებს, რომლებიც განხორციელდა დოკუმენტში. Ცვლილებები
ჩამოთვლილია გადასინჯვით, დაწყებული უახლესი პუბლიკაციით.

რევიზია თარიღი აღწერა
A 12/2023 ამ გადასინჯვაში შეტანილია შემდეგი ცვლილებები:
• დოკუმენტი გადაკეთდა მიკროჩიპის შაბლონად. საწყისი რევიზია.
• განახლებულია განყოფილება 5. Siemens QuestaSim Setup/ModelSim Setup მოიცავს ახალ შენიშვნას, რომელიც განმარტავს ხილვადობაზე გავლენას სიმულაციისა და ოპტიმიზაციის დროს.

მიკროჩიპის FPGA მხარდაჭერა
Microchip FPGA პროდუქტების ჯგუფი მხარს უჭერს თავის პროდუქტებს სხვადასხვა დამხმარე სერვისებით, მათ შორის მომხმარებელთა სერვისით, მომხმარებელთა ტექნიკური დახმარების ცენტრით, webსაიტი და გაყიდვების ოფისები მთელს მსოფლიოში.
კლიენტებს სთავაზობენ ეწვიონ Microchip-ის ონლაინ რესურსებს მხარდაჭერის გუნდთან დაკავშირებამდე, რადგან სავარაუდოა, რომ მათ კითხვებზე პასუხი უკვე გაცემულია.
დაუკავშირდით ტექნიკური დახმარების ცენტრს webსაიტი ზე www.microchip.com/support. ახსენეთ FPGA მოწყობილობის ნაწილის ნომერი, აირჩიეთ შესაბამისი საქმის კატეგორია და ატვირთეთ დიზაინი fileტექნიკური დახმარების საქმის შექმნისას.
დაუკავშირდით მომხმარებელთა მომსახურებას პროდუქტის არატექნიკური მხარდაჭერისთვის, როგორიცაა პროდუქტის ფასები, პროდუქტის განახლება, განახლებული ინფორმაცია, შეკვეთის სტატუსი და ავტორიზაცია.

  • ჩრდილოეთ ამერიკიდან დარეკეთ 800.262.1060
  • დანარჩენი მსოფლიოდან დარეკეთ 650.318.4460
  • ფაქსი, მსოფლიოს ნებისმიერი ადგილიდან, 650.318.8044

მიკროჩიპის ინფორმაცია
მიკროჩიპი Webსაიტი
მიკროჩიპი გთავაზობთ ონლაინ მხარდაჭერას ჩვენი საშუალებით webსაიტი ზე www.microchip.com/. ეს webსაიტი გამოიყენება დასამზადებლად files და ინფორმაცია ადვილად ხელმისაწვდომი მომხმარებლებისთვის. ზოგიერთი ხელმისაწვდომი შინაარსი მოიცავს:

  • პროდუქტის მხარდაჭერა – მონაცემთა ფურცლები და შეცდომები, განაცხადის შენიშვნები და სampპროგრამები, დიზაინის რესურსები, მომხმარებლის სახელმძღვანელოები და ტექნიკის მხარდაჭერის დოკუმენტები, უახლესი პროგრამული უზრუნველყოფის გამოშვებები და დაარქივებული პროგრამული უზრუნველყოფა
  • ზოგადი ტექნიკური მხარდაჭერა - ხშირად დასმული კითხვები (FAQs), ტექნიკური მხარდაჭერის მოთხოვნები, ონლაინ სადისკუსიო ჯგუფები, მიკროჩიპის დიზაინის პარტნიორი პროგრამის წევრების სია
  • Microchip-ის ბიზნესი – პროდუქტის ამომრჩეველი და შეკვეთის სახელმძღვანელო, მიკროჩიპის უახლესი პრესრელიზები, სემინარების და ღონისძიებების ჩამონათვალი, მიკროჩიპების გაყიდვების ოფისების, დისტრიბუტორებისა და ქარხნების წარმომადგენლების ჩამონათვალი.

პროდუქტის ცვლილების შეტყობინების სერვისი
Microchip-ის პროდუქტის ცვლილების შეტყობინებების სერვისი ეხმარება კლიენტებს მიკროჩიპის პროდუქტებზე არსებული ინფორმაცია. აბონენტები მიიღებენ შეტყობინებას ელფოსტით, როდესაც არის ცვლილებები, განახლებები, გადასინჯვები ან შეცდომები, რომლებიც დაკავშირებულია კონკრეტულ პროდუქტის ოჯახთან ან განვითარების ხელსაწყოებთან.
რეგისტრაციისთვის გადადით www.microchip.com/pcn და მიჰყევით რეგისტრაციის ინსტრუქციას.
მომხმარებელთა მხარდაჭერა
Microchip-ის პროდუქტების მომხმარებლებს შეუძლიათ მიიღონ დახმარება რამდენიმე არხით:

  • დისტრიბუტორი ან წარმომადგენელი
  • ადგილობრივი გაყიდვების ოფისი
  • ჩაშენებული გადაწყვეტილებების ინჟინერი (ESE)
  • ტექნიკური მხარდაჭერა

მხარდაჭერისთვის მომხმარებლებმა უნდა დაუკავშირდნენ თავიანთ დისტრიბუტორს, წარმომადგენელს ან ESE-ს. ადგილობრივი გაყიდვების ოფისები ასევე ხელმისაწვდომია მომხმარებლების დასახმარებლად. ამ დოკუმენტში შედის გაყიდვების ოფისებისა და ადგილების ჩამონათვალი.
ტექნიკური მხარდაჭერა ხელმისაწვდომია მეშვეობით webსაიტი: www.microchip.com/support
მიკროჩიპური მოწყობილობების კოდის დაცვის ფუნქცია
გაითვალისწინეთ კოდის დაცვის ფუნქციის შემდეგი დეტალები მიკროჩიპის პროდუქტებზე:

  • მიკროჩიპის პროდუქტები აკმაყოფილებს სპეციფიკაციებს, რომლებიც მოცემულია მიკროჩიპის მონაცემთა ფურცელში.
  • Microchip თვლის, რომ მისი ოჯახის პროდუქტები უსაფრთხოა, როდესაც გამოიყენება დანიშნულებისამებრ, ოპერაციული სპეციფიკაციების ფარგლებში და ნორმალურ პირობებში.
  • მიკროჩიპი აფასებს და აგრესიულად იცავს მის ინტელექტუალურ საკუთრების უფლებებს. მიკროჩიპის პროდუქტის კოდის დაცვის მახასიათებლების დარღვევის მცდელობა მკაცრად აკრძალულია და შესაძლოა არღვევდეს ციფრული ათასწლეულის საავტორო უფლებების აქტს.
  • არც მიკროჩიპი და არც ნახევარგამტარების სხვა მწარმოებელი არ იძლევა მისი კოდის უსაფრთხოების გარანტიას. კოდის დაცვა არ ნიშნავს იმას, რომ ჩვენ გარანტიას ვაძლევთ პროდუქტის „შეურღვევია“.
    კოდის დაცვა მუდმივად ვითარდება. მიკროჩიპი მოწოდებულია მუდმივად გააუმჯობესოს ჩვენი პროდუქციის კოდის დაცვის მახასიათებლები.

იურიდიული ცნობა
ეს პუბლიკაცია და აქ არსებული ინფორმაცია შეიძლება გამოყენებულ იქნას მხოლოდ Microchip-ის პროდუქტებთან, მათ შორის მიკროჩიპის პროდუქტების დიზაინის, ტესტირებისა და ინტეგრაციისთვის თქვენს აპლიკაციაში. ამ ინფორმაციის ნებისმიერი სხვა გზით გამოყენება არღვევს წინამდებარე პირობებს. ინფორმაცია მოწყობილობის აპლიკაციებთან დაკავშირებით მოწოდებულია მხოლოდ თქვენი მოხერხებულობისთვის და შეიძლება შეიცვალოს განახლებებით. თქვენი პასუხისმგებლობაა უზრუნველყოთ, რომ თქვენი აპლიკაცია აკმაყოფილებს თქვენს სპეციფიკაციებს. დაუკავშირდით თქვენს ადგილობრივ მიკროჩიპის გაყიდვების ოფისს დამატებითი მხარდაჭერისთვის ან მიიღეთ დამატებითი მხარდაჭერა აქ www.microchip.com/en-us/support/design-help/client-support-services.
ეს ინფორმაცია მოწოდებულია მიკროჩიპის მიერ "როგორც არის". მიკროჩიპი არ იძლევა რაიმე სახის წარმომადგენლობას ან გარანტიას, იქნება ეს გამოხატული თუ ნაგულისხმევი, წერილობითი თუ ზეპირი, კანონიერი ან სხვაგვარად, დაკავშირებული ინფორმაციასთან, მათ შორის, მაგრამ არა შეზღუდული შეზღუდული არადარღვევა, ვაჭრობა და ვარგისიანობა კონკრეტული მიზნისთვის, ან მის მდგომარეობასთან, ხარისხთან ან შესრულებასთან დაკავშირებული გარანტიები.
არავითარ შემთხვევაში მიკროჩიპი არ იქნება პასუხისმგებელი რაიმე სახის ირიბი, სპეციალური, სადამსჯელო, შემთხვევითი ან თანმიმდევრული დანაკარგისთვის, ზიანის, ღირებულების ან რაიმე სახის ხარჯზე, რაც არ უნდა იყოს დაკავშირებული აშშ-სთან, ჩვენთან მაშინაც კი, თუ მიკროჩიპს მიეცა რეკომენდაცია შესაძლებლობის ან დაზიანების შესახებ. კანონით ნებადართული სრულყოფილად, მიკროჩიპის მთლიანი პასუხისმგებლობა ყველა პრეტენზიაზე რაიმე ფორმით, რომელიც დაკავშირებულია ინფორმაციასთან ან მის გამოყენებასთან, არ აღემატება საკომისიოების ოდენობას, ასეთის არსებობის შემთხვევაში, ინფორმაცია.
მიკროჩიპის მოწყობილობების გამოყენება სიცოცხლის მხარდაჭერისა და/ან უსაფრთხოების აპლიკაციებში მთლიანად მყიდველის რისკის ქვეშაა და მყიდველი თანახმაა დაიცვას, აანაზღაუროს და შეინახოს უვნებელი მიკროჩიპი ნებისმიერი და ყველა ზიანისგან, პრეტენზიისგან, სარჩელისგან ან ხარჯისგან. არანაირი ლიცენზია არ არის გადაცემული, ირიბად ან სხვაგვარად, ნებისმიერი მიკროჩიპის ინტელექტუალური საკუთრების უფლებით, თუ სხვა რამ არ არის მითითებული.
სავაჭრო ნიშნები
მიკროჩიპის სახელი და ლოგო, მიკროჩიპის ლოგო, Adaptec, AVR, AVR ლოგო, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, Linktys, maXe MediaLB, megaAVR, Microsemi, Microsemi ლოგო, MOST, MOST ლოგო, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 ლოგო, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST, SST Logoym, SuperF. , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron და XMEGA არის Microchip Technology-ის რეგისტრირებული სავაჭრო ნიშნები, რომლებიც ჩართულია აშშ-ში და სხვა ქვეყნებში.
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 ლოგო, Quiet-Wire, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime და ZL არის მიკროჩიპის ტექნოლოგიის რეგისტრირებული სავაჭრო ნიშნები აშშ-ში.
მიმდებარე გასაღების ჩახშობა, AKS, ანალოგური ციფრული ასაკისთვის, ნებისმიერი კონდენსატორი, AnyIn, AnyOut, გაძლიერებული გადართვა, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion. , DAM, ECAN, ესპრესო T1S, EtherGREEN, GridTime, IdealBridge, შიდა სერიული პროგრამირება, ICSP, INICnet, ინტელექტუალური პარალელურობა, IntelliMOS, ჩიპებს შორის კავშირი, JitterBlocker, Knob-on-Display, KoD, maxCrypto,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB სერტიფიცირებული ლოგო, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, 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, სრული გამძლეობა, სანდო დრო, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect და ZENA არის Microchip Technology Incorporated-ის სავაჭრო ნიშნები.
აშშ-ში და სხვა ქვეყნებში.
SQTP არის Microchip Technology-ის მომსახურების ნიშანი, რომელიც დაფუძნებულია აშშ-ში
Adaptec ლოგო, Frequency on Demand, Silicon Storage Technology და Symmcom არის Microchip Technology Inc.-ის რეგისტრირებული სავაჭრო ნიშნები სხვა ქვეყნებში.
GestIC არის Microchip Technology Germany II GmbH & Co. KG-ის რეგისტრირებული სავაჭრო ნიშანი, Microchip Technology Inc.-ის შვილობილი კომპანია, სხვა ქვეყნებში.
აქ ნახსენები ყველა სხვა სავაჭრო ნიშანი მათი შესაბამისი კომპანიების საკუთრებაა.
© 2023, Microchip Technology Incorporated და მისი შვილობილი კომპანიები. Ყველა უფლება დაცულია.
ISBN: 978-1-6683-3694-6
ხარისხის მართვის სისტემა
Microchip-ის ხარისხის მართვის სისტემების შესახებ ინფორმაციისთვის ეწვიეთ www.microchip.com/quality.

ამერიკა აზია/წყნარი ოკეანე აზია/წყნარი ოკეანე ევროპა
კორპორატიული ოფისი
2355 West Chandler Blvd.
ჩენდლერი, AZ 85224-6199
ტელ: 480-792-7200
ფაქსი: 480-792-7277
ტექნიკური მხარდაჭერა:
www.microchip.com/support
Web მისამართი:
www.microchip.com
ატლანტა
დულუთი, GA
ტელ: 678-957-9614
ფაქსი: 678-957-1455
ოსტინი, ტეხასი
ტელ: 512-257-3370
ბოსტონი
Westborough, MA
ტელ: 774-760-0087
ფაქსი: 774-760-0088
ჩიკაგო
იტასკა, IL
ტელ: 630-285-0071
ფაქსი: 630-285-0075
დალასი
ადისონი, TX
ტელ: 972-818-7423
ფაქსი: 972-818-2924
დეტროიტი
ნოვი, MI
ტელ: 248-848-4000
ჰიუსტონი, ტეხასი
ტელ: 281-894-5983
ინდიანაპოლისი
ნობლსვილი, ინ
ტელ: 317-773-8323
ფაქსი: 317-773-5453
ტელ: 317-536-2380
ლოს ანჯელესი
მისია ვიეჯო, კალიფორნია
ტელ: 949-462-9523
ფაქსი: 949-462-9608
ტელ: 951-273-7800
რალი, NC
ტელ: 919-844-7510
ნიუ-იორკი, ნიუ-იორკი
ტელ: 631-435-6000
სან ხოსე, კალიფორნია
ტელ: 408-735-9110
ტელ: 408-436-4270
კანადა - ტორონტო
ტელ: 905-695-1980
ფაქსი: 905-695-2078
ავსტრალია - სიდნეი
ტელ: 61-2-9868-6733
ჩინეთი - პეკინი
ტელ: 86-10-8569-7000
ჩინეთი - ჩენგდუ
ტელ: 86-28-8665-5511
ჩინეთი - ჩონკინგი
ტელ: 86-23-8980-9588
ჩინეთი - დონგუანი
ტელ: 86-769-8702-9880
ჩინეთი - გუანჯოუ
ტელ: 86-20-8755-8029
ჩინეთი - ჰანჯოუ
ტელ: 86-571-8792-8115
ჩინეთი - ჰონგ კონგის SAR
ტელ: 852-2943-5100
ჩინეთი - ნანჯინგი
ტელ: 86-25-8473-2460
ჩინეთი - ცინგდაო
ტელ: 86-532-8502-7355
ჩინეთი - შანხაი
ტელ: 86-21-3326-8000
ჩინეთი - შენიანგი
ტელ: 86-24-2334-2829
ჩინეთი - შენჟენი
ტელ: 86-755-8864-2200
ჩინეთი - სუჯოუ
ტელ: 86-186-6233-1526
ჩინეთი - ვუჰანი
ტელ: 86-27-5980-5300
ჩინეთი - Xian
ტელ: 86-29-8833-7252
ჩინეთი - Xiamen
ტელ: 86-592-2388138
ჩინეთი - ჟუჰაი
ტელ: 86-756-3210040
ინდოეთი - ბანგალორი
ტელ: 91-80-3090-4444
ინდოეთი - ნიუ დელი
ტელ: 91-11-4160-8631
ინდოეთი - პუნი
ტელ: 91-20-4121-0141
იაპონია - ოსაკა
ტელ: 81-6-6152-7160
იაპონია - ტოკიო
ტელ: 81-3-6880- 3770
კორეა - დეგუ
ტელ: 82-53-744-4301
კორეა - სეული
ტელ: 82-2-554-7200
მალაიზია - კუალა ლუმპური
ტელ: 60-3-7651-7906
მალაიზია - პენანგი
ტელ: 60-4-227-8870
ფილიპინები - მანილა
ტელ: 63-2-634-9065
სინგაპური
ტელ: 65-6334-8870
ტაივანი – ჰსინ ჩუ
ტელ: 886-3-577-8366
ტაივანი - კაოსიუნგი
ტელ: 886-7-213-7830
ტაივანი - ტაიპეი
ტელ: 886-2-2508-8600
ტაილანდი - ბანგკოკი
ტელ: 66-2-694-1351
ვიეტნამი - ჰო ჩიმინი
ტელ: 84-28-5448-2100
ავსტრია – უელსი
ტელ: 43-7242-2244-39
ფაქსი: 43-7242-2244-393
დანია - კოპენჰაგენი
ტელ: 45-4485-5910
ფაქსი: 45-4485-2829
ფინეთი – ესპო
ტელ: 358-9-4520-820
საფრანგეთი - პარიზი
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
გერმანია – გარქინგი
ტელ: 49-8931-9700
გერმანია – ჰაანი
ტელ: 49-2129-3766400
გერმანია – ჰაილბრონი
ტელ: 49-7131-72400
გერმანია - კარლსრუე
ტელ: 49-721-625370
გერმანია - მიუნხენი
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
გერმანია – როზენჰაიმი
ტელ: 49-8031-354-560
ისრაელი – რაანანა
ტელ: 972-9-744-7705
იტალია - მილანი
ტელ: 39-0331-742611
ფაქსი: 39-0331-466781
იტალია - პადოვა
ტელ: 39-049-7625286
ნიდერლანდები – დრუნენი
ტელ: 31-416-690399
ფაქსი: 31-416-690340
ნორვეგია - ტრონდჰეიმი
ტელ: 47-72884388
პოლონეთი - ვარშავა
ტელ: 48-22-3325737
რუმინეთი - ბუქარესტი
Tel: 40-21-407-87-50
ესპანეთი - მადრიდი
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
შვედეთი - გოტენბერგი
Tel: 46-31-704-60-40
შვედეთი - სტოკჰოლმი
ტელ: 46-8-5090-4654
დიდი ბრიტანეთი - ვოკინგემი
ტელ: 44-118-921-5800
ფაქსი: 44-118-921-5820

MICROCHIP ლოგო© 2023 Microchip Technology Inc. და მისი შვილობილი კომპანიები
DS50003627A -

დოკუმენტები / რესურსები

MICROCHIP Libero SoC Simulation Library Software [pdf] მომხმარებლის სახელმძღვანელო
DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *