Симулација на Libero SoC
Инструкции за поставување библиотека
Вовед
Целта на овој документ е да ја опише постапката за поставување на симулациската средина користејќи проект Libero SoC како влез. Оваа документација одговара на претходно компајлираните библиотеки обезбедени за употреба со Libero SoC v11.9 и поновите изданија на софтвер. Обезбедените библиотеки се составени за Verilog. На корисниците на VHDL им е потребна лиценца која дозволува симулација со мешан режим.
Составените библиотеки за симулација се достапни за следните алатки:
- Aldec Active-HDL
- Алдек Ривиера-ПРО
- Cadence Incisive Enterprise и Xcelium
- Siemens QuestaSim
- Synopsys VCS
За да побарате библиотека за друг симулатор, контактирајте Техничка поддршка за микрочип.
Интеграција на Libero SoC
Libero SoC поддржува симулација користејќи ModelSim ME со генерирање на run.do file. Ова file се користи од ModelSim ME/ModelSim Pro ME за поставување и извршување на симулацијата. За да користите други алатки за симулација, можете да генерирате ModelSim ME/ModelSim Pro ME run.do и да ја измените скриптата Tcl file да ги користите командите што се компатибилни со вашиот симулатор.
1.1 Libero SoC Tcl File Генерација (Поставете прашање)
Откако ќе го креирате и генерирате дизајнот во Libero SoC, започнете симулација ModelSim ME/ModelSim Pro ME во сите фази на дизајнирање (presynth, postsynth и post-layout). Овој чекор го генерира run.do file за ModelSim ME/ModelSim Pro ME за секоја фаза на дизајнирање.
Важно: По започнувањето на секое симулирање, преименувајте го автоматски генерираниот run.do file под директориумот за симулација за да се спречи Libero SoC да го препише тоа file. За прampле, на files може да се преименува во presynth_run.do, postsynth_run.do и postlayout_run.do.
Aldec Setup за Active-HDL и Riviera-Pro (Поставете прашање)
Трчањето.направи file што се користи од ModelSim ME/ModelSim Pro ME може да се модифицира и да се користи за симулација со помош на симулаторите Aldec.
2.1 Променлива на животната средина (Поставете прашање)
Поставете ја вашата променлива на околината на вашата лиценца file локација:
LM_LICENSE_FILE: мора да вклучува покажувач до серверот за лиценца.
2.2 Преземи компајлирана библиотека (Поставете прашање)
Преземете ги библиотеките за Aldec Active-HDL и Aldec Riviera-PRO од микрочипот webсајт.
2.3 Конвертирање run.do за симулација Aldec (Поставете прашање)
Трчањето.направи fileгенерираните од Libero SoC за симулации со помош на алатката Active-HDL и Riviera-Pro може да се користат за симулации со помош на Active-HDL и Riviera-Pro со една промена. Следната табела ги наведува командите што се еквивалентни на Aldec што треба да се менуваат во моделот Run.do file.
Табела 2-1. Aldec еквивалентни команди
ModelSim | Активен-HDL |
блог | алог |
vcom | acom |
vlib | алиб |
vsim | асим |
vmap | Амап |
Следува какоample run.do поврзани со симулаторите Aldec.
- Поставете ја локацијата на тековниот работен директориум.
постави dsn - Поставете име на работна библиотека, мапирајте ја нејзината локација и потоа мапирајте ја локацијата на семејството Microchip FPGA
прекомпајлирани библиотеки (на прample, SmartFusion2) на кој го извршувате вашиот дизајн.
alib presynth
амап пресинт пресинт
amap SmartFusion2 - Составете ги сите потребни HDL fileсе користи во дизајнот со потребната библиотека.
alog –work presynth temp.v (за Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (за Vhdl)
acom –work presynth testbench.vhd - Симулирајте го дизајнот.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
работи 10 us
2.4 Познати прашања (Поставете прашање)
Овој дел ги наведува познатите проблеми и ограничувања.
- Библиотеките составени со помош на Riviera-PRO се специфични за платформата (т.е. 64-битните библиотеки не можат да се извршуваат на 32-битна платформа и обратно).
- За дизајни кои содржат SERDES/MDDR/FDDR, користете ја следнава опција во вашиот run.do fileдодека се извршуваат симулации по составувањето на нивните дизајни:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (за пресинтски и пост-распоред симулации) и asim –O5 (за пост-распоред симулации)
Поставувањето Aldec за Active-HDL и Riviera-Pro ги има следните SAR-и што чекаат. За повеќе информации, контактирајте Техничка поддршка за микрочип. - SAR 49908 – Active-HDL: Грешка во VHDL за симулации на математички блокови
- SAR 50627 – Riviera-PRO 2013.02: Симулациски грешки за дизајни SERDES
- SAR 50461 – Riviera-PRO: asim -O2/-O5 опција во симулации
Поставување Cadence Incisive (Поставете прашање)
Треба да креирате скрипта 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 Installation.
- ПАТ: мора да укаже на локацијата на корпата под директориумот алатки посочена од cds_root, односно,
$cds_root/tools/bin/64bit (за 64-битна машина и $cds_root/tools/bin за 32-битна машина).
Постојат три начини за поставување на симулациската средина во случај на префрлување помеѓу 64-битни и 32-битни оперативни системи:
Случај 1: PATH променлива
Извршете ја следнава команда:
постави патека = (install_dir/tools/bin/64bit $path) за 64-битни машини и
постави патека = (install_dir/tools/bin $path) за 32-битни машини
Случај 2: Користење на опцијата за командна линија -64 бита
Во командната линија наведете -64битна опција за да се повика 64битната извршна датотека.
Случај 3: Поставување на променливата на животната средина INCA_64BIT или CDS_AUTO_64BIT
Променливата INCA_64BIT се третира како булова. Можете да ја поставите оваа променлива на која било вредност или на нула низа.
setenv INCA_64BIT
Важно: На Променливата на околината INCA_64BIT не влијае на другите алатки на Cadence, како што се алатките за IC. Сепак, за алатките Incisive, променливата INCA_64BIT ја надминува поставката за променливата на околината CDS_AUTO_64BIT. Ако е поставена променливата на околината INCA_64BIT, сите алатки Incisive работат во 64-битен режим. setenv CDS_AUTO_64BIT ВКЛУЧУВА: INCA
Важно: На низата INCA мора да биде со големи букви. Сите извршни датотеки мора да се извршуваат или во 32-битен режим или во 64-битен режим, не поставувајте ја променливата да вклучува една извршна датотека, како во следново:
setenv CDS_AUTO_64BIT ВКЛУЧУВА: 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 EXCLUDE:ic_binary | 64 бит | 32 бит |
setenv CDS_AUTO_64BIT ИСКЛУЧУВАЊЕ: 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-битен режим. Сепак, опцијата -64 битна командна линија ја надминува променливата на околината.
Следнава конфигурација 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 што ги дефинира библиотеките кои се достапни и нивната локација. На file содржи изјави кои мапираат логички имиња на библиотеката на нивните патеки на физички директориум. За прample, ако ја извршувате симулацијата на пресинтот, cds.lib file е напишано како што е прикажано во следниот блок на кодови.
DEFINE presynth ./presynth
ДЕФИНИРАЈ COREAHBLITE_LIB ./COREAHBLITE_LIB
ДЕФИНИРАЈТЕ ја паметната фузија2 - Направете hdl.var file, опционална конфигурација file што содржи променливи за конфигурација, што одредува како е конфигурирана вашата дизајнерска околина. Следната променлива fileсе вклучени:
– Променливи кои се користат за одредување на работната библиотека каде што компајлерот складира компајлирани објекти и други изведени податоци.
– За Verilog, променливи (LIB_MAP, VIEW_MAP, WORK) кои се користат за одредување на библиотеките и views да пребарува кога елабораторот решава инстанци.
– Променливи кои ви дозволуваат да ги дефинирате опциите и аргументите на командната линија за компајлер, елаборатор и симулатор.
Во случај на пресинтенска симулација прampле прикажано погоре, да речеме дека имаме три RTL files: av, bv и testbench.v, кои треба да се компајлираат во библиотеки presynth, COREAHBLITE_LIB и presynth соодветно. hdl.var file може да се запише како што е прикажано во следниот блок на кодови.
ДЕФИНИРАЈ РАБОТА пресинта
ДЕФИНИРАЈ PROJECT_DIR files>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => пресинтеза)
DEFINE 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 –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
пристап +rwc –работна листа на статус. : модул
Елаборација за време на симулација по распоред
Во случај на симулации после распоред, прво SDF file треба да се компајлира пред елаборација со помош на командата ncsdfc.
ncsdfcfileиме>.sdf –излезfileиме>.sdf.X
За време на елаборацијата користете го компајлираниот SDF излез со опција –autosdf како што е прикажано во следниот блок на кодови.
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –пристап +rwc –работно поле за статус. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file мора да биде како што е прикажано во следниот блок на кодови.
COMPILED_SDF_FILE =“ file>> - Симулирајте користејќи ncsim. По елаборацијата се креира симулациска слика, која се вчитува од ncsim за симулација. Може да работи во сериски режим или GUI режим.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –работно поле за статус. : модул
Важно: Сите горенаведени три чекори на составување, елаборирање и симулирање може да се стават во скрипта на школка file и извори од командната линија. Наместо да се користат овие три чекори, дизајнот може да се симулира во еден чекор користејќи ја опцијата ncverilog или irun како што е прикажано во следниот блок на кодови.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileсе користи во дизајнот>
ирун +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
се користи во дизајнот>
3.3.1 Познати прашања (Поставете прашање)
Промена на тест-бенч
Користењето на следнава изјава за одредување на фреквенцијата на часовникот во тест-клупата генерирана од корисникот или стандардната тест-клупа генерирана од Libero SoC не работи со NCSim.
секогаш @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Изменете го на следниов начин за да ја извршите симулацијата:
секогаш #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Важно: Составен библиотеките за NCSim се специфични за платформата (т.е. 64-битните библиотеки не се компатибилни со 32-битна платформа и обратно).
Postsynth и Post-layout симулации со користење на MSS и SERDES Додека се извршуваат постсинтални симулации на дизајни што го содржат блокот MSS или пост-распоред симулации на дизајни користејќи SERDES, симулациите BFM не работат ако опцијата –libmap е
не е наведено во текот на елаборацијата. Тоа е затоа што за време на елаборацијата, MSS се решава од работната библиотека (поради стандардното врзување и работното поле што е постсинт/пост-распоред) каде што е само Фиксна функција.
Командата ncelab мора да биде напишана како што е прикажано во следниот блок код за да се реши MSS
блок од предкомпајлираната библиотека SmartFusion2.
ncelab -libmap lib.map -libverbose -Порака -пристап +rwc cfg1
и lib.мапата file мора да биде како што следува:
конфигурација cfg1;
дизајн ;
стандардна листа на смартфузија2 ;
endconfig
Ова ја решава секоја ќелија во библиотеката SmartFusion2 пред да ја погледне работната библиотека, т.е. постсинт/пост-распоред.
Опцијата –libmap може да се користи стандардно за време на елаборацијата за секоја симулација (presynth, postsynth и post-layout). Ова ги избегнува проблемите со симулацијата што се предизвикани поради решавање на примероци од библиотеки.
ncelab: *F,INTERR: INTERNAL EXCEPTION
Овој исклучок од алатката ncelab е предупредување за дизајни кои содржат FDDR во SmartFusion 2 и IGLOO 2 за време на постсинт и пост-распоред симулации со користење на опцијата –libmap.
Важно: Овој проблем е пријавен до тимот за поддршка на Cadence (SAR 52113).
3.4 Сample Tcl и Shell Script Fileс (Поставете прашање)
Следното files се конфигурацијата fileПотребни се за поставување на скрипта за дизајн и школка file за извршување на команди NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ДЕФИНИРАЈ COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
ДЕФИНИРАЈ РАБОТА пресинта
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB/CCC_0/SB_CCC_0_FCCC.v =>
пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
пресинт)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB_HPMS/SB_HPMS.v => пресинтеза)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => пресинтеза)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => пресинт)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, + => пресинтеза)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -ажурирање -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../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 -Message -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 -status presynth.testbench:module
3.5 Автоматизација (Поставете прашање)
Следното сценарио file го конвертира стартувањето ModelSim.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;
користете строги;
my ($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];
мојата $состојба;
ако (-e „$ModelSim_run_do“)
{
отворено (INFILE,”$ModelSim_run_do”);
мојот @ModelSim_run_do =FILE>;
мојата линија $;
ако ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
отворено (ИЗЛЕЗFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
отворено (ИЗЛЕЗFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elif ( $ModelSim_run_do =~ m/(пост-распоред)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
отворено (ИЗЛЕЗFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} друго
{
печати „Погрешни влезови дадени на file\n”;
печати „#Употреба: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Локација_библиотеки\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Општи операции
$line =~ s/..\/designer.*симулација\///g;
$line =~ s/$state/$state\_questa/g;
#ИспечатиFILE „$line \n“;
ако ($line =~ m/vmap\s+.*($actel_family)/)
{
ИспечатиFILE „vmap $actel_family \”$lib_location\”\n”;
} elif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ИспечатиFILE „$line \n“;
} elif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ИспечатиFILE „$line \n“;
} друго
{
ИспечатиFILE „$line \n“;
}
}
затвори (ВОFILE);
затвори (ИЗЛЕЗFILE);
} друго {
печати „$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 Installation.
- ПАТ: мора да укаже на локацијата на корпата под директориумот алатки посочена од cds_root (т.е
$cds_root/tools/bin/64bit (за 64-битна машина и $cds_root/tools/bin за 32-битна
машина).
Постојат три начини за поставување на симулациската средина во случај на префрлување помеѓу 64-битни и 32-битни оперативни системи:
Случај 1: PATH променлива
постави патека = (install_dir/tools/bin/64bit $path) за 64-битни машини и
постави патека = (install_dir/tools/bin $path) за 32-битни машини
Случај 2: Користење на опцијата за командна линија -64 бита
Во командната линија наведете -64 битна опција за да се повика 64-битната извршна датотека.
Случај 3: Поставување на променливата на животната средина INCA_64BIT или CDS_AUTO_64BIT
Променливата INCA_64BIT се третира како булова. Оваа променлива може да ја поставите на која било вредност или на нула
низа.
setenv INCA_64BIT
Важно: На Променливата на околината INCA_64BIT не влијае на другите алатки на Cadence, како што се алатките за IC. Сепак, за алатките Incisive, променливата INCA_64BIT ја надминува поставката за променливата на околината CDS_AUTO_64BIT. Ако променливата на околината INCA_64BIT е et, сите алатки Incisive работат во 64-битен режим.
setenv CDS_AUTO_64BIT ВКЛУЧУВА: INCA
Важно: На низата INCA мора да биде со големи букви. Сите извршни датотеки мора да се извршуваат или во 2-битен режим или во 64-битен режим, не поставувајте ја променливата да вклучува една извршна датотека, како во следново:
setenv CDS_AUTO_64BIT ВКЛУЧУВА: 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 ИСКЛУЧУВАЊЕ: INCA | 32-битни | 64-битни |
Важно: Сите алатки Incisive мора да се извршуваат или во 32-битен режим или во 64-битен режим, не користете EXCLUDE за да исклучите одредена извршна датотека, како што е следново:
setenv CDS_AUTO_64BIT ИСКЛУЧУВАЊЕ: ncelab
Ако ја поставите променливата CDS_AUTO_64BIT да ги исклучи алатките Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), сите алатки Incisive се извршуваат во 32-битен режим. Меѓутоа, на
Опцијата -64 битна командна линија ја надминува променливата на околината.
Следнава конфигурација fileви помага да управувате со вашите податоци и да ја контролирате работата на алатките и комуналните услуги за симулација:
- Мапирање на библиотеката file (cds.lib) дефинира логично име за локацијата на вашиот дизајн.
- Библиотеки и ги поврзува со имиња на физички директориуми.
- Променливи file (hdl.var) дефинира променливи кои влијаат на однесувањето на алатките и алатките за симулација.
4.2 Преземи компајлирана библиотека (Поставете прашање)
Преземете ги библиотеките за Cadence Xcelium од Microsemi's webсајт.
4.3 Креирање на скрипта Xcelium file (Поставете прашање)
По креирањето на копија од run.do files, извршете ги следните чекори за да ја извршите вашата симулација користејќи скрипта Xcelium file.
- Креирајте cds.lib file што дефинира кои библиотеки се достапни и каде се наоѓаат.
На file содржи изјави кои мапираат логички имиња на библиотеката на нивните патеки на физички директориум. За прample, ако ја извршувате симулацијата на пресинтот, cds.lib file може да се запише како што е прикажано во следниот блок на кодови.
DEFINE presynth ./presynth
ДЕФИНИРАЈ COREAHBLITE_LIB ./COREAHBLITE_LIB
ДЕФИНИРАЈТЕ ја паметната фузија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>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => пресинтеза)
DEFINE 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 –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
пристап +rwc –работна листа на статус. : модул
Елаборација за време на симулација по распоред
Во случај на симулации после распоред, прво SDF file треба да се компајлира пред елаборација со помош на командата ncsdfc.
Xceliumfileиме>.sdf –излезfileиме>.sdf.X
За време на елаборацијата користете го компајлираниот SDF излез со опција –autosdf како што е прикажано во следниот блок на кодови.
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –пристап +rwc –работно поле за статус. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file мора да биде како што е прикажано во следниот блок на кодови.
COMPILED_SDF_FILE =“ file>> - Симулирајте со помош на Xcelium. По елаборацијата се креира симулациска слика која е вчитана од Xcelium за симулација. Ова може да се изврши во сериски режим или GUI режим.
xmsim –Message –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
fileсе користи во дизајнот>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
се користи во дизајнот>
4.3.1 Познати прашања (Поставете прашање)
Промена на тест-бенч
Користењето на следнава изјава за одредување на фреквенцијата на часовникот во тест-клупата генерирана од корисникот или стандардната тест-клупа генерирана од 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 се решава од работната библиотека (поради стандардното врзување и работното поле што е постсинт/пост-распоред) каде што е само Фиксна функција.
Командата ncelab мора да биде напишана како што е прикажано во следниот блок за кодови за да се реши блокот MSS од прекомпајлираната библиотека SmartFusion2.
xmelab -libmap lib.map -libverbose -Порака -пристап +rwc cfg1
и lib.мапата file мора да биде како што следува:
конфигурација cfg1;
дизајн ;
стандардна листа на смартфузија2 ;
endconfig
Ова мора да ја реши секоја ќелија во библиотеката SmartFusion2 пред да погледне во работната библиотека, т.е. постсинт/пост-распоред.
Опцијата –libmap може да се користи стандардно за време на елаборацијата за секоја симулација (пресинт, постсинт и пост-распоред). Ова ги избегнува проблемите со симулацијата што се предизвикани поради решавање на примероци од библиотеки.
xmelab: *F,INTERR: INTERNAL EXCEPTION
Овој исклучок од ncelab алатка е предупредување за дизајни кои содржат FDDR во SmartFusion2 и IGLOO2
за време на постсинт и пост-распоред симулации со користење на опцијата –libmap.
Важно: Овој проблем е пријавен до тимот за поддршка на Cadence (SAR 52113).
4.4 Сample Tcl и школка скрипта fileс (Поставете прашање)
Следното files се конфигурацијата fileПотребни се за поставување на скрипта за дизајн и школка file за извршување на командите на Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ДЕФИНИРАЈ COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
ДЕФИНИРАЈ РАБОТА пресинта
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB/CCC_0/SB_CCC_0_FCCC.v =>
пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => пресинт)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
пресинт)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB_HPMS/SB_HPMS.v => пресинтеза)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => пресинтеза)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/компонента/работа/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => пресинт)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => пресинтеза)
DEFINE LIB_MAP ($LIB_MAP, + => пресинтеза)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -ажурирање -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../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 -Message -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 -status presynth.testbench:module
4.5 Автоматизација (Најава за микрочип)
Следното сценарио file конвертира ModelSim run.do files во конфигурација fileПотребни се за извршување на симулации со помош на Xcelium.
Скрипта File Употреба
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
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;
користете строги;
my ($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];
мојата $состојба;
ако (-e „$ModelSim_run_do“)
{
отворено (INFILE,”$ModelSim_run_do”);
мојот @ModelSim_run_do =FILE>;
мојата линија $;
ако ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
отворено (ИЗЛЕЗFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
отворено (ИЗЛЕЗFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elif ( $ModelSim_run_do =~ m/(пост-распоред)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
отворено (ИЗЛЕЗFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} друго
{
печати „Погрешни влезови дадени на file\n”;
печати „#Употреба: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Локација_библиотеки\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Општи операции
$line =~ s/..\/designer.*симулација\///g;
$line =~ s/$state/$state\_questa/g;
#ИспечатиFILE „$line \n“;
ако ($line =~ m/vmap\s+.*($actel_family)/)
{
ИспечатиFILE „vmap $actel_family \”$lib_location\”\n”;
} elif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ИспечатиFILE „$line \n“;
} elif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ИспечатиFILE „$line \n“;
} друго
{
ИспечатиFILE „$line \n“;
}
}
затвори (ВОFILE);
затвори (ИЗЛЕЗFILE);
} друго {
печати „$ModelSim_run_do не постои. Повторете ја симулацијата повторно \n”;
}
}
Siemens QuestaSim Setup/ModelSim Setup (Поставете прашање)
Трчањето.направи files, генерирани од Libero SoC за симулации со користење на ModelSim Microsemi Editions, може да се користат за симулации со користење на QuestaSim/ModelSim SE/DE/PE со една промена. Во ModelSim ME/ModelSim Pro ME се кандидира.do file, локацијата на претходно компајлираната библиотека треба да се измени.
Важно:
Стандардно, алатката за симулација различна од ModelSim Pro ME врши оптимизација на дизајнот за време на симулацијата што може да влијае на видливоста на симулациските артефакти како што се дизајнерските објекти и влезниот стимул.
Ова е вообичаено корисно за намалување на времето на симулација за сложени симулации, користејќи опширни, самопроверливи тест-клупи. Сепак, стандардните оптимизации можеби не се соодветни за сите симулации, особено во случаи кога очекувате графички да ги прегледате резултатите од симулацијата користејќи го брановиот прозорец.
За да ги решите проблемите предизвикани од оваа оптимизација, мора да додадете соодветни команди и поврзани аргументи за време на симулацијата за да ја вратите видливоста во дизајнот. За команди специфични за алатката, видете ја документацијата на симулаторот што се користи.
5.1 Променливи на животната средина (Поставете прашање)
Следниве се потребните променливи на животната средина.
- LM_LICENSE_FILE: мора да ја вклучи патеката до лиценцата file.
- MODEL_TECH: мора да ја идентификува патеката до локацијата на домашниот директориум на инсталацијата QuestaSim.
- ПАТ: мора да покажува на извршната локација посочена од MODEL_TECH.
5.2 Конвертирање на run.do за Mentor QuestaSim (Поставете прашање)
Трчањето.направи fileгенерирани од 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 and Compile во VCS. Овој документ вклучува скрипта file што ја користи скриптата run.do files генериран од Libero SoC и го генерира поставувањето fileе потребно за симулација на VCS. Скриптата file користи трчање.направи file да го направите следново.
- Направете мапирање на библиотека file, што се прави со помош на synopsys_sim.setup file лоциран во истиот директориум каде што работи VCS симулацијата.
- Направете скрипта за школка file да го елаборирате и составите вашиот дизајн користејќи VCS.
6.1 Променливи на животната средина (Поставете прашање)
Поставете ги соодветните променливи на околината за VCS врз основа на вашето поставување. Променливите на животната средина потребни според документацијата VCS се:
- LM_LICENSE_FILE: мора да вклучува покажувач до серверот за лиценца.
- VCS_HOME: мора да укажува на локацијата на домашниот директориум на инсталацијата VCS.
- ПАТ: мора да вклучува покажувач до директориумот за отпадоци под директориумот VCS_HOME.
6.2 Преземи компајлирана библиотека (Поставете прашање)
Преземете ги библиотеките за Synopsys VCS од Microsemi's webсајт.
6.3 Скрипта за симулација на VCS File (Поставете прашање)
По поставувањето на VCS и генерирањето на дизајнот и различниот старт.do files од Libero SoC, мора:
- Направете мапирање на библиотеката file synopsys_sim.setup; ова file содржи покажувачи за локацијата на сите библиотеки што треба да ги користи дизајнот.
Важно: На file името не смее да се менува и мора да се наоѓа во истиот директориум каде што се извршува симулацијата. Еве еден поранешенampле за таков file за симулација на пресинтеза.
РАБОТА > EFAULT
SmartFusion2:
пресинт : ./пресинт
Стандардно: ./работа - Елаборирајте го различниот дизајн files, вклучувајќи го тестбенч, користејќи ја командата vlogan во VCS. Овие команди може да бидат вклучени во скрипта на школка file. Следува ексampле од командите кои се потребни за да се елаборира дизајн дефиниран во rtl.v со неговата тест бенч дефинирана во
тест клупа.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Компајлирајте го дизајнот користејќи VCS користејќи ја следнава команда.
vcs –sim_res=1fs presynth.testbench
Забелешка: На Временската резолуција на симулацијата мора да биде поставена на 1fs за правилна функционална симулација. - Откако ќе се состави дизајнот, започнете со симулација користејќи ја следнава команда.
./simv - За симулација со задни белешки, командата VCS мора да биде како што е прикажано во следниот блок на кодови.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
име>: file path> –gui –l postlayout.log
6.4 Ограничувања/исклучоци (Поставете прашање)
Следниве се ограничувањата/исклучоците од поставувањето на Synopsys VCS.
- VCS симулациите може да се извршуваат само за Verilog проекти на Libero SoC. Симулаторот VCS има строги барања за јазикот VHDL кои не се исполнети од Libero SoC авто-генериран VHDL files.
- Мора да имате изјава $finish во тестбенч Verilog за да ја прекинете симулацијата кога и да сакате.
Важно: кога симулациите се извршуваат во режим на GUI, времето на извршување може да се одреди во GUI.
6.5 Сample Tcl и Shell Script Fileс (Поставете прашање)
Следниот Perl го автоматизира генерирањето на synopsys_sim.setup file како и соодветната скрипта на школка fileПотребни се за да се елаборира, состави и симулира дизајнот.
Ако дизајнот користи MSS, копирајте го test.vec file лоциран во папката за симулација на проектот Libero SoC во папката за симулација VCS. Следните делови содржат сampле трчај.направи fileгенерирани од Libero SoC, вклучувајќи го соодветното мапирање на библиотеката и скрипта за школка fileе потребно за симулација на VCS.
6.5.1 Пред-синтеза (Поставете прашање)
Presynth_run.do
тивко поставете го ACTELLIBNAME SmartFusion2
тивко поставете го PROJECT_DIR „/sqa/users/me/VCS_Tests/Test_DFF“
ако {[file постои пресинт/_инфо]} {
ехо „ИНФО: Пресинтот на библиотеката за симулација веќе постои“
} друго {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth „${PROJECT_DIR}/component/work/SD1/SD1.v“
влог „+incdir+${PROJECT_DIR}/stimulus“ -работна пресинта „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
додадете бран /SD1_TB1/*
додадете log -r /*
работи 1000s
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
WORK > STANDARD
SmartFusion2: /VCS/SmartFusion2
пресинт : ./пресинт
Стандардно: ./работа
6.5.2 Пост-синтеза (Поставете прашање)
postsynth_run.do
тивко поставете го ACTELLIBNAME SmartFusion2
тивко поставете го PROJECT_DIR „/sqa/users/Me/VCS_Tests/Test_DFF“
ако {[file постои постсинт/_инфо]} {
ехо „ИНФО: Постсинтот на библиотеката за симулација веќе постои“
} друго {
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“
влог „+incdir+${PROJECT_DIR}/stimulus“ -работна постсинтет „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
додадете бран /SD1_TB1/*
додадете log -r /*
работи 1000s
дневник 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
WORK > STANDARD
SmartFusion2: /VCS/SmartFusion2
постсинт : ./постсинт
Стандардно: ./работа
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 пост-распоред -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/дизајнер/SD1/
SD1_ba.sdf пост-распоред.SD1_TB1
додадете бран /SD1_TB1/*
додадете log -r /*
работи 1000s
Postlayout_main.csh
#!/bin/csh -f
постави PROJECT_DIR = „/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout „${PROJECT_DIR}/
дизајнер/SD1/SD1_ba.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -работа
пост-распоред „${PROJECT_DIR}/stimulus/SD1_TB1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
WORK > STANDARD
SmartFusion2: /VCS/SmartFusion2
постраспоред : ./постлајут
Стандардно: ./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 не успеа:\n“;}
if (system („mkdir VCS_Postsynth“)) {print „mkdir не успеа:\n“;}
if (system („mkdir VCS_Postlayout“)) {print „mkdir не успеа:\n“;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
чдир (../“);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
чдир (../“);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do ($postlayout,”postlayout”);
чдир (../“);
под анализа_направи {
мојот $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
мојот %LIB = ();
мојот $file = $_[0] ;
мојата $состојба = $_[1];
отворено (INFILE,“$file”) || умре „Не можам да се отворам File Причината може да биде:$!“;
ако ($state eq „presynth“)
{
open(OUT1,”>presynth_main.csh”) || die „Не можам да создадам команда File Причината може да биде:$!“;
}
elsif ($state eq „postsynth“)
{
open(OUT1,”>postsynth_main.csh”) || die „Не можам да создадам команда File Причината може да биде:$!“;
}
elsif ($state eq „postlayout“)
{
open(OUT1,”>postlayout_main.csh”) || die „Не можам да создадам команда File Причината може да биде:$!“;
}
друго
{
печати „Недостасува состојба на симулација \n“ ;
}
open(OUT2,”>synopsys_sim.setup”) || die „Не можам да создадам команда File Причината може да биде:$!“;
# .csh file
испечати OUT1 „#!/bin/csh -f\n\n\n“ ;
# ПОСТАВЕТЕ FILE
испечати2 „РАБОТА > ПОСТАНДНО\n“ ;
печати OUT2 „SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n“;
додека ($line =FILE>)
{
Поставување на Synopsys VCS
ако ($line =~ m/тивко поставено PROJECT_DIR\s+\”(.*?)\”/)
{
испечати OUT1 „постави PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
ако ($line =~ m/\s+(\w*?)\_LIB/)
{
#print „\$1 =$1 \n“ ;
$temp = “$1″.”_LIB”;
#print „Temp = $temp \n“ ;
$LIB{$temp}++;
}
chomp ($ линија);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
испечати OUT1 „$line\n“;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp ($tb);
#print „Име на TB : $tb \n“;
ако ( $line =~ m/sdf(.*)\.sdf/)
{
chomp ($ линија);
$line = $1 ;
#print „LINE : $line \n“ ;
ако ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
елсиф ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
print 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” ;
}
елсиф ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
print 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“; -ВЦС
SDF формат
}
}
}
печати
OUT1 „\n\n“
;
if
( $state eq „presynth“
)
{
печати
OUT2 „presynth
: ./presynth\n“
;
печати
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n“
;
}
елсиф
( $state eq „postsynth“
)
{
печати
OUT2 “postsynth
: ./postsynth\n“
;
печати
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n“
;
}
елсиф
( $state eq „postlayout“
)
{
отпечати OUT2 „postlayout : ./postlayout\n“ ;
}
друго
{
печати „Недостасува состојба на симулација \n“ ;
}
foreach $i (клучеви %LIB)
{
#print “Key : $i Вредност : $LIB{$i} \n” ;
отпечати OUT2 „$i : ./$i\n“ ;
}
испечати OUT1 „\n\n“ ;
печати OUT1 “./simv -l run.log\n” ;
испечати2 „СТАНДАРНО : ./работа\n“ ;
затвори ВОFILE;
затвори OUT1;
затвори OUT2;
}
Историја на ревизии (Најава за микрочип
Историјата на ревизии ги опишува промените што беа имплементирани во документот. Промените
се наведени по ревизија, почнувајќи од најактуелната публикација.
Ревизија | Датум | Опис |
A | 12/2023 | Следниве измени се направени во оваа ревизија: • Документот е претворен во шаблон за микрочип. Почетна ревизија. • Ажуриран дел 5. Siemens QuestaSim Setup/ModelSim Setup да вклучи нова забелешка која го објаснува влијанието врз видливоста при симулација и оптимизација. |
Поддршка за FPGA за микрочип
Групата производи на Microchip FPGA ги поддржува своите производи со различни услуги за поддршка, вклучувајќи ги и услугите за клиенти, Центарот за техничка поддршка на клиентите, а webсајт и канцеларии за продажба низ целиот свет.
На клиентите им се предлага да ги посетат онлајн ресурсите на Microchip пред да стапат во контакт со поддршката бидејќи е многу веројатно дека нивните прашања се веќе одговорени.
Контактирајте го Центарот за техничка поддршка преку webсајт на www.microchip.com/support. Спомнете го бројот на дел од уредот FPGA, изберете соодветна категорија на случај и прикачете дизајн fileпри креирање на случај за техничка поддршка.
Контактирајте со службата за корисници за нетехничка поддршка на производот, како што се цените на производите, надградбите на производите, информациите за ажурирање, статусот на нарачката и овластувањето.
- Од Северна Америка, јавете се на 800.262.1060
- Од остатокот од светот, јавете се на 650.318.4460
- Факс, од каде било во светот, 650.318.8044
Информации за микрочип
Микрочипот Webсајт
Микрочип обезбедува онлајн поддршка преку нашата webсајт на www.microchip.com/. Ова webсајт се користи за да се направи fileи информации лесно достапни за клиентите. Некои од достапните содржини вклучуваат:
- Поддршка за производи – Листови со податоци и грешки, белешки за апликација и сampле програми, ресурси за дизајн, упатства за корисникот и документи за поддршка на хардверот, најнови изданија на софтвер и архивиран софтвер
- Општа техничка поддршка - Често поставувани прашања (ЧПП), барања за техничка поддршка, онлајн групи за дискусија, листа на членови на програмата за партнерски дизајн на микрочип
- Business of Microchip – водичи за избор на производи и нарачки, најнови соопштенија за печатот на Microchip, листа на семинари и настани, огласи за продажни канцеларии на Microchip, дистрибутери и фабрички претставници
Услуга за известување за промена на производот
Услугата за известување за промена на производот на Microchip им помага на клиентите да бидат актуелни за производите на Microchip. Претплатниците ќе добиваат известување по е-пошта секогаш кога има промени, ажурирања, ревизии или грешки поврзани со одредена фамилија на производи или алатка за развој од интерес.
За да се регистрирате, одете на www.microchip.com/pcn и следете ги упатствата за регистрација.
Поддршка за корисници
Корисниците на производите на Микрочип можат да добијат помош преку неколку канали:
- Дистрибутер или претставник
- Локална канцеларија за продажба
- Инженер за вградени решенија (ESE)
- Техничка поддршка
Клиентите треба да контактираат со нивниот дистрибутер, претставник или ESE за поддршка. Локалните канцеларии за продажба се исто така достапни за да им помогнат на клиентите. Во овој документ е вклучен список на продажни канцеларии и локации.
Техничката поддршка е достапна преку webсајт на: www.microchip.com/support
Функција за заштита на код на уреди со микрочип
Забележете ги следните детали за функцијата за заштита на кодот на производите на Microchip:
- Производите со микрочип ги исполнуваат спецификациите содржани во нивниот посебен лист со податоци за микрочипови.
- Микрочип верува дека неговата фамилија на производи е безбедна кога се користи на предвидениот начин, во рамките на работните спецификации и под нормални услови.
- Микрочипот ги вреднува и агресивно ги штити своите права на интелектуална сопственост. Обидите да се прекршат карактеристиките за заштита на кодот на производот на Microchip се строго забранети и може да го прекршат Законот за авторски права на дигиталниот милениум.
- Ниту Microchip ниту кој било друг производител на полупроводници не може да ја гарантира безбедноста на неговиот код. Заштитата на кодот не значи дека гарантираме дека производот е „нескршлив“.
Заштитата на кодот постојано се развива. Микрочип е посветен на континуирано подобрување на карактеристиките за заштита на кодот на нашите производи.
Правно известување
Оваа публикација и информациите овде може да се користат само со производите на Микрочип, вклучително и за дизајнирање, тестирање и интегрирање на производите на Микрочип со вашата апликација. Користењето на овие информации на кој било друг начин ги прекршува овие услови. Информациите за апликациите на уредот се обезбедени само за ваша погодност и може да бидат заменети со ажурирања. Ваша одговорност е да се осигурате дека вашата апликација ги исполнува вашите спецификации. Контактирајте ја локалната канцеларија за продажба на Microchip за дополнителна поддршка или добијте дополнителна поддршка на www.microchip.com/en-us/support/design-help/client-support-services.
ОВАА ИНФОРМАЦИЈА СЕ ОБЕЗБЕДУВА МИКРОЧИП „КАКО ШТО Е“. МИКРОЧИП НЕ ДАВА НИКАКВИ ПРЕТСТАВУВАЊА ИЛИ ГАРАНЦИИ БИЛО ИЗРАЗНИ ИЛИ ИМПЛИЦИРАНИ, ПИСМЕНИ ИЛИ УСНИ, ЗАКОНСКИ ИЛИ ПОинаку, ПОВРЗАНИ СО ИНФОРМАЦИИТЕ ВКЛУЧУВАЈТЕ НО НЕ ОГРАНИЧЕНИ НА ОГРАНИЧЕНО НЕПРЕКРШУВАЊЕ, ПРОДАЖБА И СООДВЕТНОСТ ЗА ПОСЕДНА ЦЕЛ ИЛИ ГАРАНЦИИ ПОВРЗАНИ СО НЕГОВАТА СОСТОЈБА, КВАЛИТЕТ ИЛИ ИЗВЕДБА.
ВО НИКОЈ СЛУЧАЈ МИКРОЧИПОТ НЕМА ДА СЕ ОДГОВАРА ЗА НИКАКВА ИНДИРЕКТНА, ПОСЕБНА, КАЗНЕТНА, ИНЦИДЕНТАЛНА ИЛИ СОСЕДНИЧКА ЗАГУБА, ШТЕТА, ТРОШОЦА ИЛИ ТРОШОВИ ОД БИЛО БИЛО ПОВРЗАН СО НАС, НИЕ ЗА НИЕ, ДУРИ И ДА Е СОВЕТЕН МИКРОЧИП ЗА МОЖНОСТА ИЛИ ШТЕТИТЕ СЕ ПРЕДВИДЕЛИ. ВО ЦЕЛОСНИОТ СТЕМЕН ДОЗВОЛЕН СО ЗАКОН, ВКУПНАТА ОДГОВОРНОСТ НА МИКРОЧИПОТ ЗА СИТЕ ПОБАРУВАЊА НА КАКОВ НАЧИН ПОВРЗАНИ СО ИНФОРМАЦИИТЕ ИЛИ НЕГОВАТА УПОТРЕБА НЕМА ДА ЈА НАДМИНАТ ВИСИНАТА НА НАДОМЕСТОЦИ, АКО ГИ ПОСТОЈАТ ТОА ШТО ГИ ПЛАТУВААТ ИНФОРМАЦИИ.
Употребата на уредите со микрочип во апликациите за одржување во живот и/или за безбедност е целосно на ризик на купувачот, а купувачот се согласува да го брани, обештети и чува безопасниот Микрочип од сите штети, барања, тужби или трошоци кои произлегуваат од таквата употреба. Ниту една лиценца не се пренесува, имплицитно или на друг начин, според правата на интелектуална сопственост на Микрочип, освен ако не е поинаку наведено.
Заштитни знаци
Името и логото на микрочипот, логото на микрочипот, Adaptec, AVR, AVR логото, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LinkTouchS, maXe MediaLB, megaAVR, Microsemi, Microsemi лого, MOST, MOST лого, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 лого, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST, SST, SST Logoymricom, , 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 логото, QuietFusion, Wire, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime и ZL се регистрирани заштитни знаци на Microchip Technology инкорпорирана во САД
Потиснување на соседни клучеви, AKS, аналогно за-дигитално доба, кој било кондензатор, AnyIn, AnyOut, зголемено префрлување, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, DEMICPmicler, CryptoCompanion. , DAM, ECAN, еспресо T1S, EtherGREEN, GridTime, IdealBridge, сериско програмирање во коло, ICSP, INICnet, интелигентно паралелно, IntelliMOS, поврзување меѓу чипови, JitterBlocker, Knob-on-Display, KoD, maxCrypto,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Сертифицирано лого, MPLIB, MPLINK, MultiTRAK, NetDetach, генерирање на сезнаен код, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, вкупна издржливост, доверливо време, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect и ZENA се заштитни знаци на Microchip Technology Incorporated
во САД и други земји.
SQTP е сервисна ознака на Microchip Technology инкорпорирана во САД
Логото Adaptec, Frequency on Demand, Silicon Storage Technology и Symmcom се регистрирани заштитни знаци на Microchip Technology Inc. во други земји.
GestIC е регистрирана трговска марка на Microchip Technology Germany II GmbH & Co. KG, подружница на Microchip Technology Inc., во други земји.
Сите други трговски марки споменати овде се сопственост на нивните соодветни компании.
© 2023, Microchip Technology Incorporated и нејзините подружници. Сите права се задржани.
ISBN: 978-1-6683-3694-6
Систем за управување со квалитет
За информации во врска со системите за управување со квалитет на Microchip, посетете ја www.microchip.com/quality.
АМЕРИКА | АЗИЈА/ПАЦИФИК | АЗИЈА/ПАЦИФИК | ЕВРОПА |
Корпоративна канцеларија 2355 Западен Чендлер бул. Чендлер, АЗ 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 Далас Адисон, ТХ тел: 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 Рали, NC тел: 919-844-7510 Њујорк, Њујорк тел: 631-435-6000 Сан Хозе, Калифорнија тел: 408-735-9110 тел: 408-436-4270 Канада – Торонто тел: 905-695-1980 Факс: 905-695-2078 |
Австралија – Сиднеј Тел: 61-2-9868-6733 Кина – Пекинг Тел: 86-10-8569-7000 Кина - Ченгду Тел: 86-28-8665-5511 Кина - Чонгкинг Тел: 86-23-8980-9588 Кина – Донгуан Тел: 86-769-8702-9880 Кина – Гуангжу Тел: 86-20-8755-8029 Кина – Хангжу Тел: 86-571-8792-8115 Кина – Хонг Конг САР Тел: 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 Холандија – Друнен Тел: 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 -
Документи / ресурси
![]() |
Софтвер за библиотека за симулација на МИКРОЧИП Libero SoC [pdf] Упатство за корисникот DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software |