Мадэляванне 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 для кожнай фазы праектавання.
Важна: Пасля запуску кожнага запуску мадэлявання перайменуйце аўтаматычна згенераваны 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.
- Усталюйце месцазнаходжанне бягучага працоўнага каталога.
ўсталяваць дсн - Усталюйце працоўную назву бібліятэкі, адзначце яе месцазнаходжанне, а затым адзначце месцазнаходжанне сямейства Microchip FPGA
папярэдне скампіляваныя бібліятэкі (напрample, SmartFusion2), на якім вы запускаеце свой дызайн.
аліб прэсінт
amap прэсінт прэсінт
amap SmartFusion2 - Скампілюйце ўсе неабходныя HDL files выкарыстоўваецца ў дызайне з неабходнай бібліятэкай.
alog –працаваць перадсінт. temp.v (для Verilog)
alog –праца перад сінтэзам.v
acom –work presynth temp.vhd (для Vhdl)
acom –працаваць перадсінтэзацыйны тэставы стэнд.vhd - Імітаваць дызайн.
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.
Важна: кадэнцыя спыніла выпуск новых версій Incisive Enterprise
сімулятар і пачаў падтрымліваць сімулятар Xcelium.
3.1 Зменныя асяроддзя (Задайце пытанне)
Каб запусціць сімулятар Cadence Incisive, наладзьце наступныя зменныя асяроддзя:
- LM_LICENSE_FILE: павінен уключаць паказальнік на ліцэнзію file.
- cds_root: павінен паказваць на размяшчэнне хатняга каталога ўстаноўкі Cadence Incisive.
- ШЛЯХ: павінен паказваць на размяшчэнне 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
Важна: The Зменная асяроддзя INCA_64BIT не ўплывае на іншыя інструменты Cadence, такія як інструменты IC. Аднак для інструментаў Incisive зменная INCA_64BIT перавызначае наладу для зменнай асяроддзя CDS_AUTO_64BIT. Калі ўсталявана зменная асяроддзя INCA_64BIT, усе інструменты Incisive працуюць у 64-бітным рэжыме. setenv CDS_AUTO_64BIT INCLUDE:INCA
Важна: 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 біт |
Важна: Усе інструменты 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:
- Стварыце cds.lib file які вызначае даступныя бібліятэкі і іх месцазнаходжанне. The file змяшчае аператары, якія супастаўляюць лагічныя імёны бібліятэк з іх фізічнымі шляхамі каталогаў. Напрыкладample, калі вы запускаеце мадэляванне прэсінта, файл cds.lib file пішацца, як паказана ў наступным кодавым блоку.
ВЫЗНАЧЭННЕ прэсінт ./прэсінт
ВЫЗНАЧЫЦЬ COREAHBLITE_LIB ./COREAHBLITE_LIB
ВЫЗНАЧЫЦЬ smartfusion2 - Стварыце 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, + => прэсінт) - Складзіце дызайн fileз дапамогай опцыі ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Распрацуйце дызайн з дапамогай 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>” - Мадэлюйце з дапамогай ncsim. Пасля распрацоўкі ствараецца здымак мадэлявання, які загружаецца ncsim для мадэлявання. Вы можаце працаваць у пакетным рэжыме або ў рэжыме GUI.
ncsim –Паведамленне –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 – рабочая бібліятэка стану. :модуль
Важна: Усе вышэйпералічаныя тры этапы кампіляцыі, распрацоўкі і мадэлявання можна змясціць у сцэнар абалонкі 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;
Важна: складзены бібліятэкі для 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.
Важна: Аб гэтай праблеме паведамілі ў службу падтрымкі 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, наладзьце наступныя зменныя асяроддзя:
- LM_LICENSE_FILE: павінен уключаць паказальнік на ліцэнзію file.
- cds_root: павінен паказваць на размяшчэнне хатняга каталога ўстаноўкі Cadence Incisive.
- ШЛЯХ: павінен паказваць на размяшчэнне 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
Важна: The Зменная асяроддзя INCA_64BIT не ўплывае на іншыя інструменты Cadence, такія як інструменты IC. Аднак для інструментаў Incisive зменная INCA_64BIT перавызначае наладу для зменнай асяроддзя CDS_AUTO_64BIT. Калі зменная асяроддзя INCA_64BIT роўна et, усе інструменты Incisive працуюць у 64-бітным рэжыме.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Важна: 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-бітны |
Важна: Усе інструменты 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.
- Стварыце cds.lib file які вызначае, якія бібліятэкі даступныя і дзе яны знаходзяцца.
The file змяшчае аператары, якія супастаўляюць лагічныя імёны бібліятэк з іх фізічнымі шляхамі каталогаў. Напрыкладample, калі вы запускаеце мадэляванне прэсінта, файл cds.lib file можна запісаць, як паказана ў наступным кодавым блоку.
ВЫЗНАЧЭННЕ прэсінт ./прэсінт
ВЫЗНАЧЫЦЬ COREAHBLITE_LIB ./COREAHBLITE_LIB
ВЫЗНАЧЫЦЬ smartfusion2 - Стварыце 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, + => прэсінт) - Складзіце дызайн fileз дапамогай опцыі ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Распрацуйце дызайн з дапамогай 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>” - Мадэлюйце з дапамогай Xcelium. Пасля распрацоўкі ствараецца здымак мадэлявання, які загружаецца Xcelium для мадэлявання. Гэта можна запусціць у пакетным рэжыме або ў рэжыме GUI.
xmsim –Паведамленне –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 – рабочая бібліятэка стану. :модуль
Налада Cadence Xcelium
Важна: Усе вышэйпаказаныя тры этапы кампіляцыі, распрацоўкі і мадэлявання можна змясціць у скрыпт абалонкі 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;
Важна: Скампіляваныя бібліятэкі для 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.
Важна: Аб гэтай праблеме паведамілі ў службу падтрымкі 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, трэба змяніць размяшчэнне папярэдне скампіляваных бібліятэк.
Важна:
Па змаўчанні інструмент мадэлявання, акрамя 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 з адным змяненнем.
Важна: Усе канструкцыі, якія мадэлююцца з дапамогай 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, вы павінны:
- Стварыце адлюстраванне бібліятэкі file synopsys_sim.setup; гэта file змяшчае ўказальнікі на размяшчэнне ўсіх бібліятэк, якія будуць выкарыстоўвацца дызайнам.
Важна: The file Імя не павінна змяняцца, і яно павінна знаходзіцца ў тым жа каталогу, дзе працуе мадэляванне. Вось былыampле для такога file для мадэлявання перадсінтэзу.
ПРАЦА > ПРАЦА
SmartFusion2:
прэсінт : ./прэсінт
ПА ЗМАВЧАННІ: ./work - Распрацуйце іншы дызайн files, уключаючы тэставы стэнд, з дапамогай каманды vlogan у VCS. Гэтыя каманды могуць быць уключаны ў сцэнар абалонкі file. Далей ідзе былыampз каманд, неабходных для распрацоўкі канструкцыі, вызначанай у rtl.v, з яе тэставым стэндам, вызначаным у
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Скампілюйце дызайн з дапамогай VCS з дапамогай наступнай каманды.
vcs –sim_res=1fs presynth.testbench
Заўвага: The Для карэктнага функцыянальнага мадэлявання часовая раздзяляльнасць мадэлявання павінна быць усталявана на 1 кадр. - Пасля таго, як дызайн скампіляваны, пачніце мадэляванне з дапамогай наступнай каманды.
./сімв - Для мадэлявання з зваротнай анатацыяй каманда 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, каб спыніць мадэляванне, калі захочаце.
Важна: Калі мадэляванне выконваецца ў рэжыме 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 |
© 2023 Microchip Technology Inc. і яе даччыныя кампаніі
DS50003627A –
Дакументы / Рэсурсы
![]() |
Праграмнае забеспячэнне для мадэлявання MICROCHIP Libero SoC [pdfКіраўніцтва карыстальніка DS50003627A, Праграмнае забеспячэнне для мадэлявання сістэмы Libero SoC, праграмнае забеспячэнне для бібліятэкі мадэлявання SoC, праграмнае забеспячэнне для бібліятэкі мадэлявання, праграмнае забеспячэнне для бібліятэкі, праграмнае забеспячэнне |