Лагатып MICROCHIP Мадэляванне Libero SoC
Інструкцыі па наладжванні бібліятэкі

Уводзіны

(Задайце пытанне)

Мэта гэтага дакумента - апісаць працэдуру наладжвання асяроддзя мадэлявання з выкарыстаннем праекта Libero SoC у якасці ўваходных дадзеных. Гэтая дакументацыя адпавядае папярэдне скампіляваным бібліятэкам, прадстаўленым для выкарыстання з Libero SoC v11.9 і больш новымі версіямі праграмнага забеспячэння. Прадстаўленыя бібліятэкі скампіляваны для Verilog. Карыстальнікам VHDL патрабуецца ліцэнзія, якая дазваляе мадэляванне ў змешаным рэжыме.
Скампіляваныя бібліятэкі мадэлявання даступныя для наступных інструментаў:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise і Xcelium
  • Siemens QuestaSim
  • Сінопсіс VCS

Каб запытаць бібліятэку для іншага сімулятара, звяжыцеся з намі Тэхнічная падтрымка Microchip.

Інтэграцыя 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 на ўсіх этапах праектавання (прэсінт, постсінт і пост-кампаноўка). Гэты крок стварае 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 для Active-HDL і Riviera-Pro (Задайце пытанне)

Run.do file які выкарыстоўваецца ModelSim ME/ModelSim Pro ME, можна мадыфікаваць і выкарыстоўваць для мадэлявання з дапамогай сімулятараў Aldec.
2.1 Зменная асяроддзя (Задайце пытанне)
Усталюйце зменную асяроддзя ў адпаведнасці з вашай ліцэнзіяй file размяшчэнне:
LM_LICENSE_FILE: павінен уключаць паказальнік на сервер ліцэнзій.
2.2 Спампаваць скампіляваную бібліятэку (Задайце пытанне)
Спампуйце бібліятэкі для Aldec Active-HDL і Aldec Riviera-PRO з Microchip webсайт.
2.3 Пераўтварэнне run.do для мадэлявання Aldec (Задайце пытанне)
Run.do fileS, створаны Libero SoC для мадэлявання з выкарыстаннем інструмента Active-HDL і Riviera-Pro, можна выкарыстоўваць для мадэлявання з выкарыстаннем Active-HDL і Riviera-Pro з адной зменай. У наступнай табліцы пералічаны каманды, эквівалентныя Aldec, якія трэба змяніць у ModelSim run.do file.
Табліца 2-1. Эквівалентныя каманды Aldec

ModelSim Актыўны-ЛПВП
відэаблог алог
vcom акам
вліб аліб
усім асім
vmap amap

Наступнае якample run.do, звязаны з сімулятарамі Aldec.

  1. Усталюйце месцазнаходжанне бягучага працоўнага каталога.
    ўсталяваць дсн
  2. Усталюйце працоўную назву бібліятэкі, адзначце яе месцазнаходжанне, а затым адзначце месцазнаходжанне сямейства Microchip FPGA
    папярэдне скампіляваныя бібліятэкі (напрample, SmartFusion2), на якім вы запускаеце свой дызайн.
    аліб прэсінт
    amap прэсінт прэсінт
    amap SmartFusion2
  3. Скампілюйце ўсе неабходныя HDL files выкарыстоўваецца ў дызайне з неабходнай бібліятэкай.
    alog –працаваць перадсінт. temp.v (для Verilog)
    alog –праца перад сінтэзам.v
    acom –work presynth temp.vhd (для Vhdl)
    acom –працаваць перадсінтэзацыйны тэставы стэнд.vhd
  4. Імітаваць дызайн.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    запусціць 10 нас

2.4 Вядомыя праблемы (Задайце пытанне)
У гэтым раздзеле пералічаны вядомыя праблемы і абмежаванні.

  • Бібліятэкі, скампіляваныя з дапамогай Riviera-PRO, залежаць ад платформы (г.зн. 64-бітныя бібліятэкі не могуць працаваць на 32-бітнай платформе, і наадварот).
  • Для праектаў, якія змяшчаюць SERDES/MDDR/FDDR, выкарыстоўвайце наступны параметр у вашым run.do files падчас запуску мадэлявання пасля кампіляцыі іх праектаў:
    – Актыўны-HDL: asim –o2
    – Riviera-PRO: asim –O2 (для мадэлявання перад сінтэзацыяй і пасля макета) і asim –O5 (для мадэлявання пасля макета)
    Налада Aldec для Active-HDL і Riviera-Pro мае наступныя SAR. Для атрымання дадатковай інфармацыі звяртайцеся Тэхнічная падтрымка Microchip.
  • SAR 49908 – Active-HDL: Памылка VHDL для мадэлявання матэматычнага блока
  • SAR 50627 – Riviera-PRO 2013.02: Памылкі мадэлявання для праектаў SERDES
  • SAR 50461 – Riviera-PRO: варыянт asim -O2/-O5 у мадэляванні

Налада Cadence Incisive (Задайце пытанне)

Вам трэба стварыць скрыпт 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 - значок Важна: кадэнцыя спыніла выпуск новых версій Incisive Enterprise
сімулятар і пачаў падтрымліваць сімулятар Xcelium.

3.1 Зменныя асяроддзя (Задайце пытанне)
Каб запусціць сімулятар Cadence Incisive, наладзьце наступныя зменныя асяроддзя:

  1. LM_LICENSE_FILE: павінен уключаць паказальнік на ліцэнзію file.
  2. cds_root: павінен паказваць на размяшчэнне хатняга каталога ўстаноўкі Cadence Incisive.
  3. ШЛЯХ: павінен паказваць на размяшчэнне bin у каталогу інструментаў, на які паказвае cds_root, гэта значыць,
    $cds_root/tools/bin/64bit (для 64-бітнай машыны і $cds_root/tools/bin для 32-бітнай машыны).
    У выпадку пераключэння паміж 64-разраднымі і 32-разраднымі аперацыйнымі сістэмамі ёсць тры спосабы наладжвання асяроддзя мадэлявання:

Выпадак 1: Зменная PATH
Выканайце наступную каманду:
set path = (install_dir/tools/bin/64bit $path) для 64-бітных машын і
set path = (install_dir/tools/bin $path) для 32-бітных машын
Выпадак 2: выкарыстанне параметра каманднага радка -64bit
У камандным радку ўкажыце параметр -64bit, каб выклікаць 64-бітны выканальны файл.
Выпадак 3: Налада зменнай асяроддзя INCA_64BIT або CDS_AUTO_64BIT
Пераменная INCA_64BIT разглядаецца як лагічная. Вы можаце ўсталяваць для гэтай зменнай любое значэнне або нулявы радок.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - значок Важна: The Зменная асяроддзя INCA_64BIT не ўплывае на іншыя інструменты Cadence, такія як інструменты IC. Аднак для інструментаў Incisive зменная INCA_64BIT перавызначае наладу для зменнай асяроддзя CDS_AUTO_64BIT. Калі ўсталявана зменная асяроддзя INCA_64BIT, усе інструменты Incisive працуюць у 64-бітным рэжыме. setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - значок Важна: The радок 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 НЯМА 32 біт 32 біт
setenv CDS_AUTO_64BIT ВЫКЛЮЧЭННЕ:ic_двайковы 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-бітным рэжыме. Аднак параметр каманднага радка -64bit перавызначае зменную асяроддзя.
Наступная канфігурацыя fileдапаможа вам кіраваць дадзенымі і кантраляваць працу інструментаў мадэлявання і ўтыліт:

  • Карціраванне бібліятэкі file (cds.lib) — вызначае лагічную назву для размяшчэння вашага дызайну.
  • Бібліятэкі і звязвае іх з імёнамі фізічных каталогаў.
  • Пераменныя file (hdl.var) — вызначае зменныя, якія ўплываюць на паводзіны інструментаў мадэлявання і ўтыліт.

3.2 Спампаваць скампіляваную бібліятэку (Задайце пытанне)
Спампуйце бібліятэкі для Cadence Incisive ад Microsemi's webсайт.
3.3 Стварэнне сцэнарыя NCSim File (Задайце пытанне)
Пасля стварэння копіі run.do files, выканайце наступныя дзеянні, каб запусціць мадэляванне з дапамогай NCSim:

  1. Стварыце cds.lib file які вызначае даступныя бібліятэкі і іх месцазнаходжанне. The file змяшчае аператары, якія супастаўляюць лагічныя імёны бібліятэк з іх фізічнымі шляхамі каталогаў. Напрыкладample, калі вы запускаеце мадэляванне прэсінта, файл cds.lib file пішацца, як паказана ў наступным кодавым блоку.
    ВЫЗНАЧЭННЕ прэсінт ./прэсінт
    ВЫЗНАЧЫЦЬ COREAHBLITE_LIB ./COREAHBLITE_LIB
    ВЫЗНАЧЫЦЬ smartfusion2
  2. Стварыце hdl.var file, дадатковая канфігурацыя file які змяшчае зменныя канфігурацыі, якія вызначаюць, як настроена ваша асяроддзе праектавання. Наступная зменная fileУключаны:
    – Зменныя, якія выкарыстоўваюцца для ўказання працоўнай бібліятэкі, дзе кампілятар захоўвае скампіляваныя аб'екты і іншыя вытворныя даныя.
    – Для Verilog, зменныя (LIB_MAP, VIEW_MAP, WORK), якія выкарыстоўваюцца для ўказання бібліятэк і views для пошуку, калі распрацоўшчык вырашае выпадкі.
    – Зменныя, якія дазваляюць вызначаць параметры і аргументы каманднага радка кампілятара, распрацоўшчыка і сімулятара.
    У выпадку мадэлявання прэсінта напрample паказана вышэй, скажам, у нас ёсць тры RTL files: av, bv і testbench.v, якія неабходна скампіляваць у бібліятэкі presynth, COREAHBLITE_LIB і presynth адпаведна. HDl.var file можна запісаць, як паказана ў наступным кодавым блоку.
    ВЫЗНАЧЭННЕ ПРАЦЫ прэсінт
    ВЫЗНАЧЫЦЬ PROJECT_DIR files>
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, + => прэсінт)
  3. Складзіце дызайн fileз дапамогай опцыі ncvlog.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Распрацуйце дызайн з дапамогай ncelab. Распрацоўшчык будуе іерархію дызайну на аснове інфармацыі аб стварэнні і канфігурацыі ў дызайне, устанаўлівае злучэнне сігналаў і вылічвае пачатковыя значэнні для ўсіх аб'ектаў у дызайне. Распрацаваная іерархія дызайну захоўваецца ў здымку мадэлявання, які з'яўляецца прадстаўленнем вашага дызайну, які сімулятар выкарыстоўвае для запуску мадэлявання.
    ncelab –Паведамленне –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    доступ +rwc –status worklib. :модуль
    Распрацоўка падчас мадэлявання пасля макета
    У выпадку мадэлявання пасля макета, спачатку SDF file неабходна скампіляваць перад распрацоўкай з дапамогай каманды ncsdfc.
    ncsdfcfileімя>.sdf –выхадfileімя>.sdf.X
    Падчас распрацоўкі выкарыстоўвайце скампіляваны вывад SDF з параметрам –autosdf, як паказана ў наступным блоку кода.
    ncelab -autosdf –Паведамленне –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –доступ +rwc –рабочая бібліятэка стану. :модуль –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file павінен быць такім, як паказана ў наступным кодавым блоку.
    COMPILED_SDF_FILE = “ file>”
  5. Мадэлюйце з дапамогай ncsim. Пасля распрацоўкі ствараецца здымак мадэлявання, які загружаецца ncsim для мадэлявання. Вы можаце працаваць у пакетным рэжыме або ў рэжыме GUI.
    ncsim –Паведамленне –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    errormax 15 – рабочая бібліятэка стану. :модуль

MICROCHIP Libero SoC Simulation Library Software - значок Важна: Усе вышэйпералічаныя тры этапы кампіляцыі, распрацоўкі і мадэлявання можна змясціць у сцэнар абалонкі file і атрыманы з каманднага радка. Замест выкарыстання гэтых трох этапаў праектаванне можна змадэляваць за адзін крок з дапамогай опцыі ncverilog або irun, як паказана ў наступным блоку кода.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files выкарыстоўваецца ў дызайне>
irun +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-бітнай платформай, і наадварот).
Мадэляванне Postsynth і Postsynth з выкарыстаннем MSS і SERDES Падчас мадэлявання postsynth канструкцый, якія змяшчаюць блок MSS, або пост-макетаў мадэлявання канструкцый з выкарыстаннем SERDES, мадэляванне BFM не працуе, калі ўключана опцыя –libmap
не ўдакладняецца пры распрацоўцы. Гэта таму, што падчас распрацоўкі MSS вырашаецца з рабочай бібліятэкі (з-за прывязкі па змаўчанні і працоўнай бібліятэкі з'яўляецца postsynth/post-layout), дзе гэта проста фіксаваная функцыя.
Для вырашэння MSS каманда ncelab павінна быць напісана, як паказана ў наступным блоку кода
блок з папярэдне скампіляванай бібліятэкі SmartFusion2.

ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
і lib.map file павінна быць наступным:
канфігурацыя cfg1;
дызайн ;
Спіс спісаў па змаўчанні smartfusion2 ;
endconfig
Гэта вырашае любую ячэйку ў бібліятэцы SmartFusion2 перад праглядам працоўнай бібліятэкі, напрыклад, postsynth/post-layout.
Параметр –libmap можа быць выкарыстаны па змаўчанні падчас распрацоўкі для кожнай сімуляцыі (presynth, postsynth і post-layout). Гэта дазваляе пазбегнуць праблем мадэлявання, якія ўзнікаюць з-за дазволу асобнікаў з бібліятэк.
ncelab: *F,INTERR: УНУТРАННАЕ ВЫКЛЮЧЭННЕ
Гэта выключэнне інструмента ncelab з'яўляецца перасцярогай для канструкцый, якія змяшчаюць FDDR у SmartFusion 2 і IGLOO 2 падчас мадэлявання postsynth і post-layout з выкарыстаннем опцыі –libmap.
MICROCHIP Libero SoC Simulation Library Software - значок Важна: Аб гэтай праблеме паведамілі ў службу падтрымкі Cadence (SAR 52113).

3.4 Сample Tcl і Shell Script Files (Задайце пытанне)
Наступнае files з'яўляюцца канфігурацыяй fileнеабходныя для наладжвання дызайну і сцэнарыя абалонкі file для выканання каманд NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ВЫЗНАЧЫЦЬ COREAHBLITE_LIB ./COREAHBLITE_LIB
ВЫЗНАЧЭННЕ прэсінт ./прэсінт

HDl.вар
ВЫЗНАЧЭННЕ ПРАЦЫ прэсінт
ВЫЗНАЧЫЦЬ 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}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, + => прэсінт)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -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_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 -Паведамленне -cdslib ./cds.lib -hdlvar ./hdl.var
-работа прэсінт -лагfile ncelab.log -errormax 15 -доступ +rwc -статус presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -статус 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
Location_of_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);
суб questa_parser {
мой $ModelSim_run_do = $_[0];
мая $actel_family = $_[1];
маё $lib_location = $_[2];
мой $ стан;
if ( -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”);
$стан = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
адкрыты (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$стан = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/)
{
`mkdir QUESTA_POSTLAYOUT`;
адкрыты (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$стан = $1;
} яшчэ
{
раздрукаваць «Няправільныя ўводы, дадзены ў file\n”;
print “#Usage: 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 “$радок \n”;
калі ($line =~ m/vmap\s+.*($actel_family)/)
{
раздрукавацьFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$радок =~ s/..\/component/..\/..\/component/g;
раздрукавацьFILE “$радок \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
раздрукавацьFILE “$радок \n”;
} яшчэ
{
раздрукавацьFILE “$радок \n”;
}
}
блізка (INFILE);
зачыніць (ВЫХОДFILE);
} яшчэ {
print “$ModelSim_run_do не існуе. Паўтарыць мадэляванне \n”;
}
}

Налада Cadence Xcelium (Мікрачып Уваход)

Вам трэба стварыць скрыпт 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.
  3. ШЛЯХ: павінен паказваць на размяшчэнне bin у каталогу інструментаў, на які паказвае cds_root (г.зн
    $cds_root/tools/bin/64bit (для 64-бітнай машыны і $cds_root/tools/bin для 32-бітнай машыны
    машына).

У выпадку пераключэння паміж 64-разраднымі і 32-разраднымі аперацыйнымі сістэмамі ёсць тры спосабы наладжвання асяроддзя мадэлявання:
Выпадак 1: Зменная PATH
set path = (install_dir/tools/bin/64bit $path) для 64-бітных машын і
set path = (install_dir/tools/bin $path) для 32-бітных машын
Выпадак 2: выкарыстанне параметра каманднага радка -64bit
У камандным радку ўкажыце параметр -64bit, каб выклікаць 64-бітны выканальны файл.
Выпадак 3: Налада зменнай асяроддзя INCA_64BIT або CDS_AUTO_64BIT
Пераменная INCA_64BIT разглядаецца як лагічная. Вы можаце ўсталяваць для гэтай зменнай любое значэнне або нуль
радок.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - значок Важна: The Зменная асяроддзя INCA_64BIT не ўплывае на іншыя інструменты Cadence, такія як інструменты IC. Аднак для інструментаў Incisive зменная INCA_64BIT перавызначае наладу для зменнай асяроддзя CDS_AUTO_64BIT. Калі зменная асяроддзя INCA_64BIT роўна et, усе інструменты Incisive працуюць у 64-бітным рэжыме.
setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - значок Важна: The радок 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 НЯМА 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-бітным рэжыме, не выкарыстоўвайце ВЫКЛЮЧЭННЕ, каб выключыць пэўны выканальны файл, як паказана ніжэй:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Калі вы ўсталюеце зменную CDS_AUTO_64BIT, каб выключыць інструменты Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), усе інструменты Incisive працуюць у 32-бітным рэжыме. Аднак, ст
Параметр каманднага радка -64bit перавызначае зменную асяроддзя.
Наступная канфігурацыя fileдапаможа вам кіраваць дадзенымі і кантраляваць працу інструментаў мадэлявання і ўтыліт:

  • Карціраванне бібліятэкі file (cds.lib) вызначае лагічную назву для размяшчэння вашага дызайну.
  • Бібліятэкі і звязвае іх з імёнамі фізічных каталогаў.
  • Пераменныя file (hdl.var) вызначае зменныя, якія ўплываюць на паводзіны інструментаў мадэлявання і ўтыліт.

4.2 Спампаваць скампіляваную бібліятэку (Задайце пытанне)
Спампуйце бібліятэкі для Cadence Xcelium з Microsemi's webсайт.
4.3 Стварэнне сцэнарыя Xcelium file (Задайце пытанне)
Пасля стварэння копіі run.do files, выканайце наступныя крокі, каб запусціць мадэляванне з дапамогай сцэнарыя Xcelium file.

  1. Стварыце cds.lib file які вызначае, якія бібліятэкі даступныя і дзе яны знаходзяцца.
    The file змяшчае аператары, якія супастаўляюць лагічныя імёны бібліятэк з іх фізічнымі шляхамі каталогаў. Напрыкладample, калі вы запускаеце мадэляванне прэсінта, файл cds.lib file можна запісаць, як паказана ў наступным кодавым блоку.
    ВЫЗНАЧЭННЕ прэсінт ./прэсінт
    ВЫЗНАЧЫЦЬ 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 можна запісаць, як паказана ў наступным кодавым блоку.
    ВЫЗНАЧЭННЕ ПРАЦЫ прэсінт
    ВЫЗНАЧЫЦЬ PROJECT_DIR files>
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
    ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, + => прэсінт)
  3. Складзіце дызайн fileз дапамогай опцыі ncvlog.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Распрацуйце дызайн з дапамогай ncelab. Распрацоўшчык будуе іерархію дызайну на аснове інфармацыі аб стварэнні і канфігурацыі ў дызайне, устанаўлівае злучэнне сігналаў і вылічвае пачатковыя значэнні для ўсіх аб'ектаў у дызайне. Распрацаваная іерархія дызайну захоўваецца ў здымку мадэлявання, які з'яўляецца прадстаўленнем вашага дызайну, які сімулятар выкарыстоўвае для запуску мадэлявання.
    Xcelium –Паведамленне –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    доступ +rwc –status worklib. :модуль
    Распрацоўка падчас мадэлявання пасля макета
    У выпадку мадэлявання пасля макета, спачатку SDF file неабходна скампіляваць перад распрацоўкай з дапамогай каманды ncsdfc.
    Xceliumfileімя>.sdf –выхадfileімя>.sdf.X
    Падчас распрацоўкі выкарыстоўвайце скампіляваны вывад SDF з параметрам –autosdf, як паказана ў наступным блоку кода.
    xmelab -autosdf –Паведамленне –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –доступ +rwc –рабочая бібліятэка стану. :модуль –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file павінен быць такім, як паказана ў наступным кодавым блоку.
    COMPILED_SDF_FILE = “ file>”
  5. Мадэлюйце з дапамогай Xcelium. Пасля распрацоўкі ствараецца здымак мадэлявання, які загружаецца Xcelium для мадэлявання. Гэта можна запусціць у пакетным рэжыме або ў рэжыме GUI.
    xmsim –Паведамленне –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    errormax 15 – рабочая бібліятэка стану. :модуль
    Налада Cadence Xcelium
    MICROCHIP Libero SoC Simulation Library Software - значок Важна: Усе вышэйпаказаныя тры этапы кампіляцыі, распрацоўкі і мадэлявання можна змясціць у скрыпт абалонкі 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-бітнай платформай, і наадварот).
Мадэляванне Postsynth і Post-layout з выкарыстаннем MSS і SERDES
Пры выкананні постсінтаграфічнага мадэлявання канструкцый, якія змяшчаюць блок MSS, або паслямакетнага мадэлявання канструкцый з выкарыстаннем SERDES, мадэляванне BFM не працуе, калі параметр –libmap не ўказаны падчас распрацоўкі. Гэта таму, што падчас распрацоўкі MSS вырашаецца з рабочай бібліятэкі (з-за прывязкі па змаўчанні і працоўнай бібліятэкі з'яўляецца postsynth/post-layout), дзе гэта проста фіксаваная функцыя.
Каманда ncelab павінна быць напісана, як паказана ў наступным блоку кода, каб вырашыць блок MSS з папярэдне скампіляванай бібліятэкі SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
і lib.map file павінна быць наступным:
канфігурацыя cfg1;
дызайн ;
Спіс спісаў па змаўчанні smartfusion2 ;
endconfig
Гэта павінна вырашыць любую ячэйку ў бібліятэцы SmartFusion2, перш чым шукаць працоўную бібліятэку, г.зн. postsynth/post-layout.
Параметр –libmap можа быць выкарыстаны па змаўчанні падчас распрацоўкі для кожнай сімуляцыі (presynth, postsynth і post-layout). Гэта дазваляе пазбегнуць праблем мадэлявання, якія ўзнікаюць з-за дазволу асобнікаў з бібліятэк.
xmelab: *F,INTERR: УНУТРАННАЕ ВЫКЛЮЧЭННЕ
Гэта выключэнне інструмента ncelab з'яўляецца перасцярогай для праектаў, якія змяшчаюць FDDR у SmartFusion2 і IGLOO2
падчас мадэлявання postsynth і post-layout з выкарыстаннем опцыі –libmap.
MICROCHIP Libero SoC Simulation Library Software - значок Важна: Аб гэтай праблеме паведамілі ў службу падтрымкі Cadence (SAR 52113).

4.4 Сample Tcl і скрыпт абалонкі files (Задайце пытанне)
Наступнае files з'яўляюцца канфігурацыяй fileнеабходныя для наладжвання дызайну і сцэнарыя абалонкі file для запуску каманд Xcelium.
Cds.lib
ВЫЗНАЧЫЦЬ smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ВЫЗНАЧЫЦЬ COREAHBLITE_LIB ./COREAHBLITE_LIB
ВЫЗНАЧЭННЕ прэсінт ./прэсінт
HDl.вар
ВЫЗНАЧЭННЕ ПРАЦЫ прэсінт
ВЫЗНАЧЫЦЬ 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}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => прэсінт )
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
ВЫЗНАЧЫЦЬ LIB_MAP ($LIB_MAP, + => прэсінт)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -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_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 -Паведамленне -cdslib ./cds.lib -hdlvar ./hdl.var
-работа прэсінт -лагfile ncelab.log -errormax 15 -доступ +rwc -статус presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -статус 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
Location_of_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);
суб questa_parser {
мой $ModelSim_run_do = $_[0];
мая $actel_family = $_[1];
маё $lib_location = $_[2];
мой $ стан;
if ( -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”);
$стан = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
адкрыты (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$стан = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/)
{
`mkdir QUESTA_POSTLAYOUT`;
адкрыты (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$стан = $1;
} яшчэ
{
раздрукаваць «Няправільныя ўводы, дадзены ў file\n”;
print “#Usage: 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 “$радок \n”;
калі ($line =~ m/vmap\s+.*($actel_family)/)
{
раздрукавацьFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$радок =~ s/..\/component/..\/..\/component/g;
раздрукавацьFILE “$радок \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
раздрукавацьFILE “$радок \n”;
} яшчэ
{
раздрукавацьFILE “$радок \n”;
}
}
блізка (INFILE);
зачыніць (ВЫХОДFILE);
} яшчэ {
print “$ModelSim_run_do не існуе. Паўтарыць мадэляванне \n”;
}
}

Наладка Siemens QuestaSim/ModelSim (Задайце пытанне)

Run.do 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.
  • ШЛЯХ: павінен паказваць на размяшчэнне выкананага файла, на якое паказвае MODEL_TECH.

5.2 Пераўтварэнне run.do для Mentor QuestaSim (Задайце пытанне)
Run.do fileS, створаныя Libero SoC для мадэлявання з выкарыстаннем ModelSim Microsemi Editions можна выкарыстоўваць для мадэлявання з выкарыстаннем QuestaSim/ModelSim_SE з адным змяненнем.
MICROCHIP Libero SoC Simulation Library Software - значок Важна: Усе канструкцыі, якія мадэлююцца з дапамогай QuestaSim, павінны ўключаць -novopt
варыянт разам з камандай vsim у скрыпце run.do files.
5.3 Спампуйце скампіляваную бібліятэку (Задайце пытанне)
Спампуйце бібліятэкі для Mentor Graphics QuestaSim ад Microsemi's webсайт.

Настройка Synopsys VCS (Задайце пытанне)

Паток, рэкамендаваны Microsemi, абапіраецца на паток Elaborate і Compile у VCS. Гэты дакумент уключае сцэнар file які выкарыстоўвае скрыпт run.do files генеруецца Libero SoC і стварае наладу fileнеабходныя для мадэлявання VCS. Скрыпт file выкарыстоўвае run.do file зрабіць наступнае.

  • Стварыце адлюстраванне бібліятэкі file, што робіцца з дапамогай synopsys_sim.setup file знаходзіцца ў тым жа каталогу, дзе працуе мадэляванне VCS.
  • Стварыце скрыпт абалонкі file распрацаваць і скампіляваць свой дызайн з дапамогай VCS.

6.1 Зменныя асяроддзя (Задайце пытанне)
Усталюйце адпаведныя зменныя асяроддзя для VCS на аснове вашых налад. Зменныя асяроддзя, неабходныя ў адпаведнасці з дакументацыяй VCS:

  • LM_LICENSE_FILE: павінен уключаць паказальнік на сервер ліцэнзій.
  • VCS_HOME: павінен паказваць на размяшчэнне хатняга каталога ўстаноўкі VCS.
  • PATH: павінен уключаць паказальнік на каталог bin ніжэй каталога VCS_HOME.

6.2 Спампаваць скампіляваную бібліятэку (Задайце пытанне)
Спампуйце бібліятэкі для Synopsys VCS з Microsemi's webсайт.
6.3 Скрыпт мадэлявання VCS File (Задайце пытанне)
Пасля наладжвання VCS і стварэння дызайну і іншага run.do fileз Libero SoC, вы павінны:

  1. Стварыце адлюстраванне бібліятэкі file synopsys_sim.setup; гэта file змяшчае ўказальнікі на размяшчэнне ўсіх бібліятэк, якія будуць выкарыстоўвацца дызайнам.
    MICROCHIP Libero SoC Simulation Library Software - значок  Важна: The file Імя не павінна змяняцца, і яно павінна знаходзіцца ў тым жа каталогу, дзе працуе мадэляванне. Вось былыampле для такога file для мадэлявання перадсінтэзу.
    ПРАЦА > ПРАЦА
    SmartFusion2:
    прэсінт : ./прэсінт
    ПА ЗМАВЧАННІ: ./work
  2. Распрацуйце іншы дызайн files, уключаючы тэставы стэнд, з дапамогай каманды vlogan у VCS. Гэтыя каманды могуць быць уключаны ў сцэнар абалонкі file. Далей ідзе былыampз каманд, неабходных для распрацоўкі канструкцыі, вызначанай у rtl.v, з яе тэставым стэндам, вызначаным у
    testbench.v.
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. Скампілюйце дызайн з дапамогай VCS з дапамогай наступнай каманды.
    vcs –sim_res=1fs presynth.testbench
    Заўвага: The Для карэктнага функцыянальнага мадэлявання часовая раздзяляльнасць мадэлявання павінна быць усталявана на 1 кадр.
  4. Пасля таго, як дызайн скампіляваны, пачніце мадэляванне з дапамогай наступнай каманды.
    ./сімв
  5. Для мадэлявання з зваротнай анатацыяй каманда VCS павінна быць такой, як паказана ў наступным блоку кода.
    vcs postlayout.testbench –sim_res=1fs –sdf макс.: .
    імя>: file шлях> –gui –l postlayout.log

6.4 Абмежаванні/Выключэнні (Задайце пытанне)
Ніжэй прыведзены абмежаванні/выключэнні налад Synopsys VCS.

  • Мадэляванне VCS можна запускаць толькі для праектаў Verilog Libero SoC. Сімулятар VCS мае строгія патрабаванні да мовы VHDL, якія не выконваюцца аўтаматычна створаным VHDL Libero SoC files.
  • Вы павінны мець аператар $finish у тэставым стэндзе Verilog, каб спыніць мадэляванне, калі захочаце.
    MICROCHIP Libero SoC Simulation Library Software - значок Важна: Калі мадэляванне выконваецца ў рэжыме GUI, час працы можа быць указана ў GUI.

6.5 Сample Tcl і Shell Script Files (Задайце пытанне)
Наступны Perl аўтаматызуе стварэнне файла synopsys_sim.setup file а таксама адпаведны скрыпт абалонкі fileнеабходныя для распрацоўкі, кампіляцыі і мадэлявання дызайну.
Калі ў дызайне выкарыстоўваецца MSS, скапіруйце test.vec file знаходзіцца ў тэчцы мадэлявання праекта Libero SoC у тэчцы мадэлявання VCS. Наступныя раздзелы ўтрымліваюць sample run.do files, створаны Libero SoC, уключаючы адпаведнае адлюстраванне бібліятэкі і сцэнар абалонкі fileнеабходныя для мадэлявання VCS.
6.5.1 Папярэдні сінтэз (Задайце пытанне)
Presynth_run.do
ціха ўсталяваць ACTELLIBNAME SmartFusion2
спакойна ўсталюйце PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
калі {[file існуе presynth/_info]} {
рэха «ІНФА: Presynth бібліятэкі мадэлявання ўжо існуе»
} яшчэ {
vlib прэсінт
}
vmap прэсінт прэсінт
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -працоўны перадсінт “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L прэсінт -t 1fs прэсінт.SD1_TB1
дадаць хвалю /SD1_TB1/*
дадаць журнал -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/
праца/SD1/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 presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ПРАЦА > ПА ЗМАВЧАННІ
SmartFusion2 : /VCS/SmartFusion2
прэсінт : ./прэсінт
ПА ЗМАВЧАННІ: ./work

6.5.2 Постсінтэз (Задайце пытанне)
postsynth_run.do
ціха ўсталяваць ACTELLIBNAME SmartFusion2
спакойна ўсталюйце PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
калі {[file існуе postsynth/_info]} {
рэха «ІНФА: бібліятэка мадэлявання postsynth ужо існуе»
} яшчэ {
vlib постсінт
}
vmap постсінт постсінт
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -працоўны постсінт “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
дадаць хвалю /SD1_TB1/*
дадаць журнал -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 run.log
Synopsys_sim.setup
ПРАЦА > ПА ЗМАВЧАННІ
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
ПА ЗМАВЧАННІ: ./work
6.5.3 Пост-кампаноўка (Задайце пытанне)
postlayout_run.do
ціха ўсталяваць ACTELLIBNAME SmartFusion2
ціха ўсталяваць PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
калі {[file існуе ../designer/SD1/simulation/postlayout/_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/
SmartFusion2”
vlog -work postlayout “${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/*
дадаць журнал -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 -рабочы паслямакет “${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 run.log
Synopsys_sim.setup
ПРАЦА > ПА ЗМАВЧАННІ
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
ПА ЗМАВЧАННІ: ./workVCS
6.6 Аўтаматызацыя (Задайце пытанне)
Паток можа быць аўтаматызаваны з дапамогай наступнага сцэнарыя Perl file для пераўтварэння ModelSim run.do files у VCS-сумяшчальны сцэнар абалонкі 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”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir failed:\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 (“../”);
sub parse_do {
мой $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
мой %LIB = ();
мой $file = $_[0] ;
мой $state = $_[1];
адкрыты (ІНFILE,”$file») || памерці «Не магу адкрыць File Прычына можа быць:$!»;
калі ($state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || памерці «Не магу стварыць каманду File Прычына можа быць:$!»;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || памерці «Не магу стварыць каманду File Прычына можа быць:$!»;
}
elsif ($state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || памерці «Не магу стварыць каманду File Прычына можа быць:$!»;
}
яшчэ
{
print “State Simulation is missing \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || памерці «Не магу стварыць каманду File Прычына можа быць:$!»;
# .csh file
вывесці OUT1 “#!/bin/csh -f\n\n\n” ;
#УСТАЛЯВАЦЬ FILE
вывесці OUT2 “РАБОТА > ПА ЗМАВЧАННІ\n” ;
вывесці OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
пакуль ($радок =FILE>)
{

Налада Synopsys VCS

if ($line =~ m/quietly set PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
if ($line =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp ($ радок);
$line =~ s/^vlog/$vlog/ ;
$радок =~ s/ //g;
вывесці OUT1 “$line\n”;
}
elsif (($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
жаваць ($tb);
#print “Назва TB: $tb \n”;
калі ($line =~ m/sdf(.*)\.sdf/)
{
chomp ($ радок);
$радок = $1;
#print “LINE : $line \n” ;
калі ($радок =~ м/макс/)
{
$радок =~ s/max \/// ;
$радок =~ 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” ;
}
elsif ($лінія =~ м/мін/)
{
$радок =~ с/мін \/// ;
$радок =~ 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 ($line =~ m/typ/)
{
$радок =~ s/тып \/// ;
$радок =~ 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
}
}
}
друкаваць
ВЫХОД 1 “\n\n”
;
if
( $state eq «presynth»
)
{
друкаваць
OUT2 “прэсінт
: ./presynth\n”
;
друкаваць
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs прэсінт.$tb -l
compile.log\n”
;
}
elsif
( $state eq «постсінт»
)
{
друкаваць
OUT2 “постсінт
: ./postsynth\n”
;
друкаваць
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq «постмакет»
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
яшчэ
{
print “State Simulation is missing \n” ;
}
foreach $i (ключы %LIB)
{
#print “Ключ: $i Значэнне: $LIB{$i} \n” ;
вывесці OUT2 “$i : ./$i\n” ;
}
вывесці OUT1 “\n\n” ;
вывесці OUT1 “./simv -l run.log\n” ;
вывесці OUT2 “ПА ЗМАВЧАННІ : ./праца\n” ;
зачыніць INFILE;
зачыніць OUT1;
зачыніць OUT2;
}

Гісторыя версій (Мікрачып Уваход

Гісторыя версій апісвае змены, якія былі ўнесены ў дакумент. Змены
пералічаны па версіях, пачынаючы з самай актуальнай публікацыі.

Рэвізія Дата Апісанне
A 12/2023 У гэтай рэдакцыі ўнесены наступныя змены:
• Дакумент пераўтвораны ў шаблон Microchip. Першапачатковая рэдакцыя.
• Абноўлены раздзел 5. Siemens QuestaSim Setup/ModelSim Setup, каб уключыць новую заўвагу, якая тлумачыць уплыў на бачнасць падчас мадэлявання і аптымізацыі.

Падтрымка Microchip FPGA
Група прадуктаў Microchip FPGA забяспечвае сваю прадукцыю рознымі службамі падтрымкі, уключаючы службу падтрымкі кліентаў, цэнтр тэхнічнай падтрымкі кліентаў, webсайт і офісы продажаў па ўсім свеце.
Кліентам прапануецца наведаць інтэрнэт-рэсурсы Microchip перад тым, як звяртацца ў службу падтрымкі, бо вельмі верагодна, што на іх запыты ўжо дадзены адказы.
Звярніцеся ў цэнтр тэхнічнай падтрымкі праз webсайт на www.microchip.com/support. Укажыце нумар дэталі прылады FPGA, абярыце адпаведную катэгорыю корпуса і загрузіце дызайн files пры стварэнні тэхпадтрымкі.
Звярніцеся ў службу падтрымкі для атрымання нетэхнічнай падтрымкі прадукту, напрыклад, цэнаўтварэння прадукту, абнаўлення прадукту, абнаўлення інфармацыі, статусу заказу і аўтарызацыі.

  • З Паўночнай Амерыкі тэлефануйце па нумары 800.262.1060
  • З астатняга свету тэлефануйце па нумары 650.318.4460
  • Факс, з любой кропкі свету, 650.318.8044

Інфармацыя пра мікрачып
Мікрачып Webсайт
Кампанія Microchip забяспечвае анлайн-падтрымку праз нашу webсайт на www.microchip.com/. гэта webсайт выкарыстоўваецца для стварэння fileі інфармацыя, лёгка даступная для кліентаў. Частка даступнага кантэнту ўключае:

  • Падтрымка прадукту – тэхнічныя лісты і памылкі, заўвагі па ўжыванні і sampпраграмы, дызайнерскія рэсурсы, кіраўніцтва карыстальніка і дакументы па падтрымцы апаратнага забеспячэння, апошнія выпускі праграмнага забеспячэння і архіў праграмнага забеспячэння
  • Агульная тэхнічная падтрымка – часта задаюць пытанні (FAQ), запыты на тэхнічную падтрымку, анлайнавыя групы абмеркавання, спіс удзельнікаў партнёрскай праграмы Microchip design
  • Business of Microchip – Кіраўніцтва па выбары і замове прадуктаў, апошнія прэс-рэлізы Microchip, спісы семінараў і мерапрыемстваў, спісы гандлёвых офісаў Microchip, дыстрыб'ютараў і прадстаўнікоў заводаў.

Служба паведамлення аб змене прадукту
Паслуга апавяшчэнняў Microchip аб зменах у прадукце дапамагае трымаць кліентаў у курсе прадуктаў Microchip. Падпісчыкі будуць атрымліваць апавяшчэнні па электроннай пошце кожны раз, калі будуць адбывацца змены, абнаўленні, рэвізіі або памылкі, звязаныя з вызначаным сямействам прадуктаў або інструментам распрацоўкі, якія ўяўляюць цікавасць.
Для рэгістрацыі перайдзіце па адрасе www.microchip.com/pcn і выконвайце інструкцыі па рэгістрацыі.
Падтрымка кліентаў
Карыстальнікі прадуктаў Microchip могуць атрымаць дапамогу па некалькіх каналах:

  • Дыстрыбутар або прадстаўнік
  • Мясцовы офіс продажаў
  • Інжынер убудаваных рашэнняў (ESE)
  • Тэхнічная падтрымка

Кліенты павінны звязацца са сваім дыстрыбутарам, прадстаўніком або ESE па падтрымку. Мясцовыя офісы продажаў таксама даступныя, каб дапамагчы кліентам. Спіс гандлёвых офісаў і месцаў уключаны ў гэты дакумент.
Тэхнічная падтрымка даступная праз webсайт па адрасе: www.microchip.com/support
Функцыя абароны кода прылад Microchip
Звярніце ўвагу на наступныя дэталі функцыі абароны кода на прадуктах Microchip:

  • Прадукты Microchip адпавядаюць спецыфікацыям, якія змяшчаюцца ў іх спецыфікацыі Microchip.
  • Кампанія Microchip лічыць, што яе сямейства прадуктаў бяспечна пры выкарыстанні па прызначэнні, у межах працоўных спецыфікацый і ў звычайных умовах.
  • Microchip шануе свае правы на інтэлектуальную ўласнасць і актыўна абараняе іх. Спробы парушыць функцыі абароны кода прадукту Microchip строга забароненыя і могуць парушаць Закон аб аўтарскім праве ў лічбавае тысячагоддзе.
  • Ні Microchip, ні любы іншы вытворца паўправаднікоў не можа гарантаваць бяспеку свайго кода. Абарона кода не азначае, што мы гарантуем, што прадукт «незломны».
    Абарона кода пастаянна развіваецца. Microchip імкнецца пастаянна паляпшаць функцыі абароны кода нашай прадукцыі.

Юрыдычная інфармацыя
Гэтую публікацыю і змешчаную ў ёй інфармацыю можна выкарыстоўваць толькі з прадуктамі Microchip, у тым ліку для распрацоўкі, тэсціравання і інтэграцыі прадуктаў Microchip з вашым дадаткам. Выкарыстанне гэтай інфармацыі любым іншым спосабам парушае гэтыя ўмовы. Інфармацыя аб праграмах прылады прадастаўляецца толькі для вашага зручнасці і можа быць заменена абнаўленнямі. Вы нясеце адказнасць за тое, каб ваша заяўка адпавядала вашым патрабаванням. Каб атрымаць дадатковую падтрымку, звярніцеся ў мясцовы офіс продажаў Microchip або па адрасе www.microchip.com/en-us/support/design-help/client-support-services.
ГЭТАЯ ІНФАРМАЦЫЯ ПРАДСТАЎЛЯЕЦЦА MICROCHIP «ЯК ЁСЦЬ». MICROCHIP НЕ РОБІЦЬ НІЯКІХ ЗАЯЎ І НІЯКІХ ГАРАНТЫЙ ЯВНЫХ АБО РАЗУМЕВАННЫХ, ПІСЬМОВЫХ АБО ВУСНЫХ, СТАТУТНЫХ ЦІ ІНШЫХ, ЗВЯЗАНЫХ ДА ІНФАРМАЦЫІ, ВКЛЮЧАЮЧЫ, АЛЕ НЕ АБМЕЖУЮЧЫСЯ ЛЮБЫЯ РАЗУМЕВАНЫЯ ГАРАНТЫІ НЕПАРУШЭННЯ, КАМЕРТНАЯ ПРЫДАТНАСЦЬ І ПРЫДАТНАСЦЬ ДЛЯ ПЭЙНАЙ МЭТЫ АБО ГАРАНТЫІ, ЗВЯЗАНЫЯ ДА ЯГО СТАНУ, ЯКАСЦІ АБО ЭФФЕКЦЫЙНАСЦІ.
КАМПАНІЯ MICROCHIP НІ У КІМ РАБОТЫ НЕ НЯСЕ АДКАЗНАСЦІ ЗА ЛЮБЫЯ УСКОСНЫЯ, СПЕЦЫЯЛЬНЫЯ, ШТРАФНЫЯ, ВЫПАДКОВЫЯ АБО АСКОПНЫЯ СТРАТЫ, ШКОДУ, КОШТ АБО ВЫТРАТЫ ЛЮБЫХ РОДАЎ, ЗВЯЗАНЫЯ З ІНФАРМАЦЫЯЙ АБО ЯЕ ВЫКАРЫСТАННЕМ, ЯК БЫ НЕ БЫЛО ВЫЧЫНАНА, НАВАТ КАЛІ MICROCHIP ПАВЕДАМЛЕНЫ ПРА МАГЧЫМАСЦЬ АБО ШКОДЫ ПРАДБАЧУЕМЫЯ. У ПОЎНАЙ МЕРЫ, ДАЗВОЛЕНАЙ ЗАКОНАМ, ПОЎНАЯ АДКАЗНАСЦЬ MICROCHIP ПА ЎСІХ ПРАТЫЗАХ, ЯКІМ СПОСАБАМ ЗВЯЗАНЫХ З ІНФАРМАЦЫЯЙ АБО ЯЕ ВЫКАРЫСТАННЕМ, НЕ БУДЗЕ ПЕРАВЫШАЦЬ СУМУ ГАНАРАТУ, КАЛІ ЁСЦЬ ЁСЦЬ, ЯКУЮ ВЫ ЗАПЛАЦІЛІ НЕПАМОГУЧНА MICROCHIP ЗА ІНФАРМАЦЫЮ.
Выкарыстанне прылад Microchip у праграмах жыццезабеспячэння і/або забеспячэння бяспекі ажыццяўляецца цалкам на рызыку пакупніка, і пакупнік згаджаецца абараняць, кампенсаваць страты і абараняць Microchip ад любых пашкоджанняў, прэтэнзій, пазоваў або выдаткаў, якія вынікаюць з такога выкарыстання. Ніякія ліцэнзіі не перадаюцца, няяўна ці іншым чынам, у рамках правоў на інтэлектуальную ўласнасць Microchip, калі не пазначана іншае.
Таварныя знакі
Назва і лагатып Microchip, лагатып Microchip, Adaptec, AVR, лагатып AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, лагатып Microsemi, MOST, лагатып MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, лагатып PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, лагатып SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron і XMEGA з'яўляюцца зарэгістраванымі гандлёвымі маркамі Microchip Technology Incorporated у ЗША і іншых краінах.
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, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime і ZL з'яўляюцца зарэгістраванымі гандлёвымі маркамі Microchip Technology Incorporated у ЗША
Падаўленне суседніх ключоў, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, унутрысхемнае паслядоўнае праграмаванне, ICSP, INICnet, інтэлектуальнае распараллеліванне, IntelliMOS, падключэнне паміж чыпамі, блакіроўшчык дрыгацення, ручка-на-дысплеі, KoD, maxCrypto, макс.View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, 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, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect і ZENA з'яўляюцца гандлёвымі маркамі Microchip Technology Incorporated
у ЗША і іншых краінах.
SQTP з'яўляецца знакам абслугоўвання Microchip Technology Incorporated у ЗША
Лагатып 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
Атланта
Дулут, Джорджыя
тэл.: 678-957-9614
Факс: 678-957-1455
Осцін, Тэхас
тэл.: 512-257-3370
Бостан
Уэстбара, Масачусэтс
тэл.: 774-760-0087
Факс: 774-760-0088
Чыкага
Ітаска, штат Ілінойс
тэл.: 630-285-0071
Факс: 630-285-0075
Далас
Addison, TX
тэл.: 972-818-7423
Факс: 972-818-2924
Дэтройт
Нові, М.І
тэл.: 248-848-4000
Х'юстан, Тэхас
тэл.: 281-894-5983
Індыянапаліс
Ноблсвіл, Індыяна
тэл.: 317-773-8323
Факс: 317-773-5453
тэл.: 317-536-2380
Лос-Анджэлес
Місія Вьеха, Каліфорнія
тэл.: 949-462-9523
Факс: 949-462-9608
тэл.: 951-273-7800
Ролі, Паўночная Караліна
тэл.: 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
Кітай – САР Ганконг
Тэл.: 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
Кітай – Сіань
Тэл.: 86-29-8833-7252
Кітай - Сямэнь
Тэл.: 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
Нідэрланды – Drunen
Тэл.: 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 [pdfКіраўніцтва карыстальніка
DS50003627A, Праграмнае забеспячэнне для мадэлявання сістэмы Libero SoC, праграмнае забеспячэнне для бібліятэкі мадэлявання SoC, праграмнае забеспячэнне для бібліятэкі мадэлявання, праграмнае забеспячэнне для бібліятэкі, праграмнае забеспячэнне

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *