Simulation Libero SoC
Дастурҳои танзими китобхона
Муқаддима
Ҳадафи ин ҳуҷҷат тавсифи тартиби таъсиси муҳити симулятсия бо истифода аз лоиҳаи Libero SoC ҳамчун вуруд мебошад. Ин ҳуҷҷат ба китобхонаҳои пешакӣ тартибдодашуда, ки барои истифода бо Libero SoC v11.9 ва версияҳои нави нармафзор пешбинӣ шудаанд, мувофиқат мекунад. Китобхонаҳои пешниҳодшуда барои Verilog тартиб дода шудаанд. Истифодабарандагони VHDL литсензияеро талаб мекунанд, ки моделсозии режими омехтаро иҷозат медиҳад.
Китобхонаҳои моделсозии тартибдодашуда барои абзорҳои зерин дастрасанд:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise ва Xcelium
- Siemens QuestaSim
- Synopsys 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ле, fileсро метавон ба presynth_run.do, postsynth_run.do ва postlayout_run.do иваз кард.
Setup 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
Модели сим | Фаъол - HDL |
влог | алог |
vcom | acom |
vlib | алиб |
vsim | асим |
vmap | амап |
Дар зер чунин астample run.do марбут ба симуляторҳои Aldec.
- Ҷойгиршавии директорияи кории ҷориро таъин кунед.
dsn насб кунед - Номи китобхонаи корӣ таъин кунед, ҷойгиршавии онро харита кунед ва сипас ҷойгиршавии оилаи Microchip FPGA-ро харита кунед
китобхонаҳои пешакӣ тартибдодашуда (барои мисолample, SmartFusion2), ки дар он шумо тарҳи худро иҷро мекунед.
алиб пресинт
amap presynth presynth
amap SmartFusion2 - Ҳама HDL-и заруриро тартиб диҳед fileҳо дар тарҳрезӣ бо китобхонаи зарурӣ истифода мешаванд.
alog -work presynth temp.v (барои Verilog)
alog -work presynth testbench.v
acom -кор presynth temp.vhd (барои Vhdl)
acom -кор presynth testbench.vhd - Тарҳро тақлид кунед.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us давед
2.4 Масъалаҳои маълум (Савол диҳед)
Дар ин бахш масъалаҳо ва маҳдудиятҳои маълум номбар шудаанд.
- Китобхонаҳое, ки бо истифода аз Riviera-PRO тартиб дода шудаанд, хоси платформа мебошанд (яъне китобхонаҳои 64-бит наметавонанд дар платформаи 32-бит кор кунанд ва баръакс).
- Барои тарҳҳое, ки дорои SERDES/MDDR/FDDR мебошанд, дар run.do-и худ имконоти зеринро истифода баред files ҳангоми иҷро кардани симулятсияҳо пас аз тартиб додани тарҳҳои онҳо:
– Active-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 дар моделиронӣ
Setup Incisive Cadence (Савол диҳед)
Шумо бояд скрипт эҷод кунед file монанд ба ModelSim ME/ModelSim Pro ME run.do барои иҷро кардани
Симулятори Cadence Incisive. Ин қадамҳоро иҷро кунед ва скрипт эҷод кунед file барои NCSim ё скриптро истифода баред file
барои табдил додани ModelSim ME/ModelSim Pro ME run.do пешбинӣ шудааст fileс ба конфигуратсия files
барои иҷро кардани моделиронӣ бо истифода аз NCSim лозим аст.
Муҳим: Cadence нашри версияҳои нави Incisive Enterprise-ро бас кардааст
симулятор ва дастгирии симулятори Xcelium -ро оғоз кард.
3.1 Тағйирёбандаҳои муҳити зист (Савол диҳед)
Барои иҷро кардани симулятори Cadence Incisive, тағирёбандаҳои муҳити зеринро танзим кунед:
- LM_LICENSE_FILE: бояд нишондиҳандаеро ба иҷозатнома дар бар гирад file.
- cds_root: бояд ба макони феҳристи хонагии насби Cadence Incisive ишора кунад.
- PATH: бояд ба макони қуттии зери феҳристи асбобҳо ишора кунад, ки аз ҷониби cds_root нишон дода шудааст, яъне,
$cds_root/tools/bin/64bit (барои мошини 64-бит ва $cds_root/tools/bin барои мошини 32-бит).
Дар сурати гузариш байни системаҳои оператсионии 64-бит ва 32-бит се роҳи ташкили муҳити симулятсия вуҷуд дорад:
Мисоли 1: Тағйирёбандаи PATH
Фармони зеринро иҷро кунед:
насб кардани роҳ = (install_dir/tools/bin/64bit $path) барои мошинҳои 64-бит ва
роҳро танзим кунед = (install_dir/tools/bin $path) барои мошинҳои 32бит
Ҳолати 2: Истифодаи Опсияи сатри фармони -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 ДАРОМАД: INCA
Муҳим: The сатри 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 ҲАМАИ | 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 EXCLUDE:ncelab
Агар шумо тағирёбандаи CDS_AUTO_64BIT-ро барои истисно кардани абзорҳои Incisive таъин кунед (setenv CDS_AUTO_64BIT EXCLUDE:INCA), ҳама абзорҳои Incisive дар реҷаи 32-бит иҷро мешаванд. Аммо, варианти сатри фармони -64bit тағирёбандаи муҳити зистро аз байн мебарад.
Конфигуратсияи зерин files ба шумо дар идоракунии маълумоти шумо ва назорати кори асбобҳо ва утилитаҳои симулятсия кӯмак мекунад:
- Харитасозии китобхона file (cds.lib) — Номи мантиқии ҷойгиршавии тарҳи шуморо муайян мекунад.
- Китобхонаҳо ва онҳоро бо номҳои феҳристи физикӣ алоқаманд мекунанд.
- Тағйирёбандаҳо file (hdl.var) — Тағирёбандаҳоеро муайян мекунад, ки ба рафтори абзорҳо ва утилитаҳои симулятсия таъсир мерасонанд.
3.2 Китобхонаи тартибдодашударо зеркашӣ кунед (Савол диҳед)
Китобхонаҳоро барои Cadence Incisive аз Microsemi зеркашӣ кунед webсайт.
3.3 Эҷоди скрипти NCSim File (Савол диҳед)
Пас аз сохтани нусхаи run.do files, ин қадамҳоро иҷро кунед, то симулятсияи худро бо истифода аз NCSim иҷро кунед:
- CDs.lib эҷод кунед file ки китобхонахои дастрас ва чойгиршавии онхоро муайян мекунад. Дар file дорои изҳоротест, ки номҳои мантиқии китобхонаро бо роҳҳои феҳристи физикии худ харита мекунанд. Барои мисолample, агар шумо моделиронии presynth-ро иҷро кунед, cds.lib file навишта шудааст, ки дар кодблоки зерин нишон дода шудааст.
ТАЙЁР КУНЕД presynth ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB-ро муайян кунед
Smartfusion2-ро муайян кунед - hdl.var эҷод кунед file, конфигуратсияи ихтиёрӣ file ки дорои тағирёбандаҳои конфигуратсия мебошад, ки чӣ гуна муҳити тарроҳии шуморо муайян мекунад. Тағйирёбандаи зерин fileс дохил мешаванд:
– Тағирёбандаҳое, ки барои муайян кардани китобхонаи корӣ истифода мешаванд, ки дар он компилятор объектҳои тартибдодашуда ва дигар маълумоти ҳосилшударо нигоҳ медорад.
- Барои Verilog, тағирёбандаҳо (LIB_MAP, VIEW_MAP, WORK), ки барои муайян кардани китобхонаҳо ва viewс барои ҷустуҷӯ, вақте ки таҳиякунанда мисолҳоро ҳал мекунад.
– Тағирёбандаҳое, ки ба шумо имкон медиҳанд, ки вариантҳо ва далелҳои сатри фармони компилятор, таҳиякунанда ва симуляторро муайян кунед.
Дар сурати моделиронии presynth собиқampЛе дар боло нишон дода шудааст, мегӯянд, ки мо се RTL files: av, bv ва testbench.v, ки бояд мутаносибан ба китобхонаҳои presynth, COREAHBLITE_LIB ва presynth тартиб дода шаванд. hdl.var file метавонад тавре навишта шавад, ки дар блоки зерин нишон дода шудааст.
КОРРО ПРЕЗИДЕНТ муайян кунед
PROJECT_DIR-ро муайян кунед files>
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
FINE LIB_MAP ($LIB_MAP, + => presynth) - Тарҳро тартиб диҳед files бо истифода аз опсияи 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 - ҳолати worklib. :модул –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 - ҳолати worklib. : модул
Муҳим: Ҳамаи се марҳилаи дар боло зикршуда барои тартиб додан, коркард ва тақлид кардан мумкин аст ба скрипти ниҳонӣ гузошта шаванд 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 бит мувофиқ нестанд ва баръакс).
Симуляцияҳои постсинтӣ ва пас аз тарҳрезӣ бо истифода аз MSS ва SERDES Ҳангоми иҷро кардани симулятсияи постсинти тарҳҳои дорои блоки MSS ё моделсозии пас аз тарҳбандии тарҳҳо бо истифода аз SERDES, моделсозии BFM кор намекунад, агар опсияи -libmap бошад
хангоми тахия муайян карда нашудааст. Ин аз он сабаб аст, ки ҳангоми коркард, MSS аз китобхонаи корӣ ҳал карда мешавад (аз сабаби бастани пешфарз ва worklib postsynth/post-layout), ки он танҳо як Функсияи собит аст.
Фармони ncelab бояд тавре навишта шавад, ки дар блоки коди зерин барои ҳалли MSS нишон дода шудааст
блок аз китобхонаи пешакӣ тартибдодашудаи SmartFusion2.
ncelab -libmap lib.map -libverbose -Паём -дастрасӣ +rwc cfg1
ва lib.map file бояд чунин бошад:
конфигуратсияи cfg1;
тарҳрезӣ ;
пешфарз liblist smartfusion2 ;
endconfig
Ин ҳама гуна ячейкаро дар китобхонаи SmartFusion2 пеш аз ҷустуҷӯ дар китобхонаи корӣ, яъне постсинт/пост-лайк ҳал мекунад.
Опсияи -libmap метавонад ба таври нобаёнӣ ҳангоми таҳияи ҳар як моделиронӣ (псинт, постсинт ва пас аз тарҳ) истифода шавад. Ин аз мушкилоти моделиронӣ, ки дар натиҷаи ҳалли мисолҳо аз китобхонаҳо ба вуҷуд меоянд, пешгирӣ мекунад.
ncelab: * F, INTERR: ИСТИСНОИИ ДОХИЛИ
Ин истиснои абзори ncelab як огоҳӣ барои тарҳҳое мебошад, ки дорои FDDR дар SmartFusion 2 ва IGLOO 2 ҳангоми симулятсияҳои постсинтӣ ва пас аз тарҳрезӣ бо истифода аз опсияи -libmap.
Муҳим: Ин масъала ба дастаи дастгирии Cadence (SAR 52113) хабар дода шудааст.
3.4 Сample Tcl ва Shell Script Fileс (Савол диҳед)
Баъдина files конфигуратсия мебошанд files барои танзими тарҳрезӣ ва скрипти ниҳонӣ лозим аст file барои иҷро кардани фармонҳои NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB-ро муайян кунед
ТАЙЁР КУНЕД presynth ./presynth
Hdl.var
КОРРО ПРЕЗИДЕНТ муайян кунед
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/coreahbite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_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/coreahbite_slavestagev => COREAHBLITE_LIB)
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite.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)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
пресинт)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
FINE LIB_MAP ($LIB_MAP, + => presynth)
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 -Паём -cdslib ./cds.lib -hdlvar ./hdl.var
-кор presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench: модул
ncsim -Паём -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench: модул
3.5 Автоматизатсия (Савол диҳед)
Скрипти зерин file ModelSim run.do -ро табдил медиҳад fileс ба конфигуратсия files барои иҷро кардани моделиронӣ бо истифода аз NCSim лозим аст.
Скрипт File Истифода
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Ҷойгиршавии_китобхонаҳои_Cadence_Precompiled
Cadence_parser.pl
#!/usr/bin/perl -w
###################################################################### ############################################################
##################
#Истифода: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Ҷойгиршавии_Китобхонаҳои_Микросеми_Оилаҳои пешакӣ тартибдодашуда#
###################################################################### ############################################################
##################
истифодаи POSIX;
сахт истифода баред;
ман ($presynth, $postsynth, $postlayout, $оила, $lib_location) = @ARGV;
&questa_parser($presynth, $оила, $lib_location);
&questa_parser($postsynth, $оила, $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”);
$stat = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
кушода (ДАРFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stat = $1;
} elsif ($ModelSim_run_do =~ м/(паҳнбанди баъди)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
кушода (ДАРFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stat = $1;
} дигар
{
чоп кунед "Вурудҳои нодуруст додашуда ба file\n”;
чоп кунед "#Истифода: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Ҷойгиршавии_китобхонаҳо\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Амалиёти умумӣ
$line =~ s/..\/дизайнер.*симулятсия\///г;
$хат =~ s/$state/$state\_questa/g;
#чоп карданFILE "$line \n";
агар ($хат =~ m/vmap\s+.*($actel_family)/)
{
чоп карданFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($хат =~ m/vmap\s+(.*._LIB)/)
{
$хат =~ s/..\/компонент/..\/..\/компонент/г;
чоп карданFILE "$line \n";
} elsif ($хат =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
чоп карданFILE "$line \n";
} дигар
{
чоп карданFILE "$line \n";
}
}
наздик (INFILE);
пӯшидан(БОР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 пешбинӣ шудааст fileс ба конфигуратсия files барои иҷро кардани моделиронӣ бо истифода аз Xcelium лозим аст.
4.1 Тағйирёбандаҳои муҳити зист (Савол диҳед)
Барои иҷро кардани Cadence Xcelium, тағирёбандаҳои муҳити зеринро танзим кунед:
- LM_LICENSE_FILE: бояд нишондиҳандаеро ба иҷозатнома дар бар гирад file.
- cds_root: бояд ба макони феҳристи хонагии Cadence Incisive Installation ишора кунад.
- PATH: бояд ба макони қуттии зери феҳристи асбобҳо ишора кунад, ки аз ҷониби cds_root (яъне
$cds_root/tools/bin/64bit (барои мошини 64 бит ва $cds_root/tools/bin барои 32 бит)
мошин).
Дар сурати гузариш байни системаҳои оператсионии 64-бит ва 32-бит се роҳи ташкили муҳити симулятсия вуҷуд дорад:
Мисоли 1: Тағйирёбандаи PATH
насб кардани роҳ = (install_dir/tools/bin/64bit $path) барои мошинҳои 64-бит ва
роҳро танзим кунед = (install_dir/tools/bin $path) барои мошинҳои 32бит
Ҳолати 2: Истифодаи Опсияи сатри фармони -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 ДАРОМАД: INCA
Муҳим: The сатри 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 ҲАМАИ | 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-бит кор мекунанд. Бо вуҷуди ин, ба
Опсияи сатри фармони -64bit тағирёбандаи муҳити атрофро бекор мекунад.
Конфигуратсияи зерин files ба шумо дар идоракунии маълумоти шумо ва назорати кори асбобҳо ва утилитаҳои симулятсия кӯмак мекунад:
- Харитасозии китобхона file (cds.lib) номи мантиқии ҷойгиршавии тарҳи шуморо муайян мекунад.
- Китобхонаҳо ва онҳоро бо номҳои феҳристи физикӣ алоқаманд мекунанд.
- Тағйирёбандаҳо file (hdl.var) тағирёбандаҳоеро муайян мекунад, ки ба рафтори асбобҳо ва утилитаҳои симулятсия таъсир мерасонанд.
4.2 Китобхонаи тартибдодашударо зеркашӣ кунед (Савол диҳед)
Китобхонаҳоро барои Cadence Xcelium аз Microsemi зеркашӣ кунед webсайт.
4.3 Эҷоди скрипти Xcelium file (Савол диҳед)
Пас аз сохтани нусхаи run.do files, қадамҳои зеринро иҷро кунед, то симулятсияи худро бо истифода аз скрипти Xcelium иҷро кунед file.
- CDs.lib эҷод кунед file ки он муайян мекунад, ки кадом китобхонаҳо дастрасанд ва дар куҷо ҷойгиранд.
Дар file дорои изҳоротест, ки номҳои мантиқии китобхонаро бо роҳҳои феҳристи физикии худ харита мекунанд. Барои мисолample, агар шумо моделиронии presynth-ро иҷро кунед, cds.lib file метавонад тавре навишта шавад, ки дар блоки зерин нишон дода шудааст.
ТАЙЁР КУНЕД presynth ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB-ро муайян кунед
Smartfusion2-ро муайян кунед - hdl.var эҷод кунед file ки конфигуратсияи ихтиёрӣ аст file ки дорои тағирёбандаҳои конфигуратсия мебошад, ки чӣ гуна муҳити тарроҳии шуморо муайян мекунад. Инҳо дар бар мегиранд:
– Тағирёбандаҳое, ки барои муайян кардани китобхонаи корӣ истифода мешаванд, ки дар он компилятор объектҳои тартибдодашуда ва дигар маълумоти ҳосилшударо нигоҳ медорад.
- Барои Verilog, тағирёбандаҳо (LIB_MAP, VIEW_MAP, WORK), ки барои муайян кардани китобхонаҳо ва viewс барои ҷустуҷӯ, вақте ки таҳиякунанда мисолҳоро ҳал мекунад.
– Тағирёбандаҳое, ки ба шумо имкон медиҳанд, ки вариантҳо ва далелҳои сатри фармони компилятор, таҳиякунанда ва симуляторро муайян кунед.
Дар сурати моделиронии presynth собиқampЛе дар боло нишон дода шудааст, мегӯянд, ки мо 3 RTL files av, bv ва testbench.v, ки бояд мутаносибан ба китобхонаҳои presynth, COREAHBLITE_LIB ва presynth тартиб дода шаванд. hdl.var file метавонад тавре навишта шавад, ки дар блоки зерин нишон дода шудааст.
КОРРО ПРЕЗИДЕНТ муайян кунед
PROJECT_DIR-ро муайян кунед files>
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
FINE LIB_MAP ($LIB_MAP, + => presynth) - Тарҳро тартиб диҳед files бо истифода аз опсияи 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 - ҳолати worklib. :модул –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 - ҳолати worklib. : модул
Танзимоти 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
Истифодаи изҳороти зерин барои муайян кардани басомади соат дар testbench аз ҷониби корбар тавлидшуда ё санҷиши пешфарз, ки аз ҷониби Libero SoC тавлид шудааст, бо Xcelium кор намекунад.
ҳамеша @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Барои иҷро кардани симулятсия ба таври зерин тағир диҳед:
ҳамеша #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Муҳим: Китобхонаҳои тартибдодашуда барои Xcelium ба платформа хосанд (яъне китобхонаҳои 64 бит бо платформаи 32 бит мувофиқ нестанд ва баръакс).
Симуляцияҳои Postsynth ва Post-Laout бо истифода аз MSS ва SERDES
Ҳангоми иҷро кардани симулятсияҳои постсинти тарҳҳои дорои блоки MSS ё моделсозии пас аз тарҳбандии тарҳҳо бо истифода аз SERDES, моделсозии BFM кор намекунад, агар ҳангоми таҳияи имконоти -libmap муайян карда нашавад. Ин аз он сабаб аст, ки ҳангоми коркард, MSS аз китобхонаи корӣ ҳал карда мешавад (аз сабаби бастани пешфарз ва worklib postsynth/post-layout), ки он танҳо як Функсияи собит аст.
Фармони ncelab бояд тавре навишта шавад, ки дар блоки коди зерин нишон дода шудааст, то блоки MSS аз китобхонаи пешакӣ тартибдодашудаи SmartFusion2 ҳал карда шавад.
xmelab -libmap lib.map -libverbose -Паём -дастрасӣ +rwc cfg1
ва lib.map file бояд чунин бошад:
конфигуратсияи cfg1;
тарҳрезӣ ;
пешфарз liblist smartfusion2 ;
endconfig
Ин бояд ҳама ячейкаҳои китобхонаи SmartFusion2-ро пеш аз ҷустуҷӯ дар китобхонаи корӣ ҳал кунад, яъне postsynth/post-layout.
Опсияи -libmap метавонад ба таври нобаёнӣ ҳангоми коркард барои ҳар як моделиронӣ истифода шавад (presynth, postsynth ва post-layout). Ин аз мушкилоти моделиронӣ, ки дар натиҷаи ҳалли мисолҳо аз китобхонаҳо ба вуҷуд меоянд, пешгирӣ мекунад.
xmelab: * F, INTERR: ИСТИСНОИИ ДОХИЛИ
Ин истиснои асбоби ncelab як огоҳӣ барои тарҳҳои дорои FDDR дар SmartFusion2 ва IGLOO2 мебошад
ҳангоми симулятсияҳои постсинтӣ ва пас аз тарҳсозӣ бо истифода аз имконоти -libmap.
Муҳим: Ин масъала ба дастаи дастгирии Cadence (SAR 52113) хабар дода шудааст.
4.4 Сample Tcl ва скрипти shell fileс (Савол диҳед)
Баъдина files конфигуратсия мебошанд files барои танзими тарҳрезӣ ва скрипти ниҳонӣ лозим аст file барои иҷро кардани фармонҳои Xcelium.
Cds.lib
Smartfusion2-ро муайян кунед /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB-ро муайян кунед
ТАЙЁР КУНЕД presynth ./presynth
Hdl.var
КОРРО ПРЕЗИДЕНТ муайян кунед
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/coreahbite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_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/coreahbite_slavestagev => COREAHBLITE_LIB)
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP-ро муайян кунед ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahbite.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)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
пресинт)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth)
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
FINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
FINE LIB_MAP ($LIB_MAP, + => presynth)
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 -Паём -cdslib ./cds.lib -hdlvar ./hdl.var
-кор presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench: модул
ncsim -Паём -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench: модул
4.5 Автоматизатсия (Воридшавӣ ба микрочип)
Скрипти зерин file табдил медиҳад ModelSim run.do fileс ба конфигуратсия files барои иҷро кардани моделиронӣ бо истифода аз Xcelium лозим аст.
Скрипт File Истифода
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Ҷойгиршавии_китобхонаҳои_Cadence_Precompiled
Cadence_parser.pl
#!/usr/bin/perl -w
###################################################################### ############################################################
##################
#Истифода: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Ҷойгиршавии_Китобхонаҳои_Микросеми_Оилаҳои пешакӣ тартибдодашуда#
###################################################################### ############################################################
##################
истифодаи POSIX;
сахт истифода баред;
ман ($presynth, $postsynth, $postlayout, $оила, $lib_location) = @ARGV;
&questa_parser($presynth, $оила, $lib_location);
&questa_parser($postsynth, $оила, $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”);
$stat = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
кушода (ДАРFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stat = $1;
} elsif ($ModelSim_run_do =~ м/(паҳнбанди баъди)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
кушода (ДАРFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stat = $1;
} дигар
{
чоп кунед "Вурудҳои нодуруст додашуда ба file\n”;
чоп кунед "#Истифода: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Ҷойгиршавии_китобхонаҳо\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Амалиёти умумӣ
$line =~ s/..\/дизайнер.*симулятсия\///г;
$хат =~ s/$state/$state\_questa/g;
#чоп карданFILE "$line \n";
агар ($хат =~ m/vmap\s+.*($actel_family)/)
{
чоп карданFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($хат =~ m/vmap\s+(.*._LIB)/)
{
$хат =~ s/..\/компонент/..\/..\/компонент/г;
чоп карданFILE "$line \n";
} elsif ($хат =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
чоп карданFILE "$line \n";
} дигар
{
чоп карданFILE "$line \n";
}
}
наздик (INFILE);
пӯшидан(БОРFILE);
} дигар {
чоп "$ModelSim_run_do вуҷуд надорад. Симуляцияро дубора иҷро кунед \n”;
}
}
Танзимоти Siemens QuestaSim/Setup ModelSim (Савол диҳед)
Дар run.do files, ки аз ҷониби Libero SoC барои моделсозӣ бо истифода аз ModelSim Microsemi Edition тавлид шудааст, метавонад барои моделсозӣ бо истифода аз 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-ро муайян кунад.
- PATH: бояд ба макони иҷрошаванда ишора кунад, ки аз ҷониби 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 Китобхонаи тартибдодашударо зеркашӣ кунед (Савол диҳед)
Китобхонаҳоро барои Graphics Mentor QuestaSim аз Microsemi зеркашӣ кунед webсайт.
Танзимоти Synopsys VCS (Савол диҳед)
Ҷараёне, ки аз ҷониби Microsemi тавсия шудааст, ба ҷараёни таҳия ва тартибдиҳӣ дар VCS такя мекунад. Ин ҳуҷҷат дорои скрипт мебошад file ки скрипти run.do-ро истифода мебарад files аз ҷониби Libero SoC тавлид шудааст ва насбро тавлид мекунад fileс барои симулятсияи VCS лозим аст. Скрипт file run.do -ро истифода мебарад file ки амалхои зеринро ба чо оранд.
- Харитаи китобхона эҷод кунед file, ки бо истифода аз synopsys_sim.setup анҷом дода мешавад file дар ҳамон феҳрист ҷойгир шудааст, ки моделсозии VCS кор мекунад.
- Скрипти shell эҷод кунед file бо истифода аз VCS тарҳи худро таҳия ва тартиб диҳед.
6.1 Тағйирёбандаҳои муҳити зист (Савол диҳед)
Дар асоси танзимоти худ тағирёбандаҳои муҳити мувофиқро барои VCS таъин кунед. Тағйирёбандаҳои муҳити зист тибқи ҳуҷҷатҳои VCS инҳоянд:
- LM_LICENSE_FILE: бояд ишоракунандаро ба сервери литсензия дар бар гирад.
- VCS_HOME: бояд ба макони директорияи хонагии насби VCS ишора кунад.
- PATH: бояд ишоракунандаро ба директорияи бин дар зер феҳристи VCS_HOME дохил кунад.
6.2 Китобхонаи тартибдодашударо зеркашӣ кунед (Савол диҳед)
Китобхонаҳоро барои Synopsys VCS аз Microsemi зеркашӣ кунед webсайт.
6.3 Скрипти симулятсияи VCS File (Савол диҳед)
Пас аз насб кардани VCS ва тавлиди тарроҳӣ ва run.do гуногун files аз Libero SoC, шумо бояд:
- Харитаи китобхонаро эҷод кунед file synopsys_sim.setup; ин file дорои нишондодҳои ҷойгиршавии ҳамаи китобхонаҳо, ки аз ҷониби тарҳ истифода мешаванд.
Муҳим: The file ном набояд тағир ёбад ва он бояд дар ҳамон директорияе ҷойгир бошад, ки симулятсия иҷро мешавад. Дар ин ҷо собиқ астampле барои чунин а file барои симулятсияи пресинтез.
КОР > ЭФАУЛТ
SmartFusion2:
presynth: ./presynth
САФАР: ./work - Тарҳрезии гуногунро таҳия кунед fileс, аз ҷумла testbench, бо истифода аз фармони vlogan дар VCS. Ин фармонҳо метавонанд ба скрипти shell дохил карда шаванд file. Дар поён як собиқ астample аз фармонҳое, ки барои таҳияи тарҳи дар rtl.v муайяншуда бо санҷиши он, ки дар он муайян карда шудаанд, лозиманд.
testbench.v.
vlogan +v2k -кор presynth rtl.v
vlogan +v2k -кор presynth testbench.v - Тарҳро бо истифода аз VCS бо фармони зерин тартиб диҳед.
vcs –sim_res=1fs presynth.testbench
Эзоҳ: The ҳалли вақти моделиронӣ бояд ба 1fs барои моделсозии дурусти функсионалӣ муқаррар карда шавад. - Пас аз тартиб додани тарҳ, бо истифода аз фармони зерин моделиронӣ оғоз кунед.
./simv - Барои моделиронии қафои эзоҳ, фармони VCS бояд тавре бошад, ки дар блоки коди зерин нишон дода шудааст.
vcs postlayout.testbench –sim_res=1fs –sdf макс: .
ном>: file path> –gui –l postlayout.log
6.4 Маҳдудиятҳо/истисноҳо (Савол диҳед)
Дар зер маҳдудиятҳо/истисноҳои танзимоти Synopsys VCS мавҷуданд.
- Симуляцияҳои VCS танҳо барои лоиҳаҳои Verilog аз Libero SoC иҷро мешаванд. Симулятори VCS дорои талаботи қатъии забони VHDL мебошад, ки аз ҷониби Libero SoC VHDL-и худкор тавлидшуда қонеъ карда намешавад. files.
- Шумо бояд дар testbench Verilog изҳороти $finish дошта бошед, то симулятсияро ҳар вақте ки хоҳед, қатъ кунед.
Муҳим: кай моделиронӣ дар ҳолати GUI иҷро мешаванд, вақти корро дар GUI муайян кардан мумкин аст.
6.5 Сample Tcl ва Shell Script Fileс (Савол диҳед)
Perl зерин тавлиди synopsys_sim.setup-ро автоматӣ мекунад file инчунин скрипти дахлдори shell fileБарои таҳия, тартиб додан ва тақлид кардани тарҳ зарур аст.
Агар тарҳ MSS-ро истифода барад, test.vec-ро нусхабардорӣ кунед file дар папкаи моделиронии лоиҳаи Libero SoC ба папкаи моделиронии VCS ҷойгир шудааст. Дар бахшҳои зерин сample 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 мавҷуд аст]} {
echo "INFO: Китобхонаи симулятсияи presynth аллакай вуҷуд дорад"
} дигар {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -кор presynth "${PROJECT_DIR}/component/work/SD1/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -кор presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
илова мавҷ /SD1_TB1/*
илова log -r /*
1000ns иҷро кунед
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 -кор presynth "${PROJECT_DIR}/component/
кор/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -кор
presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
КОР > ПУРСАФ
SmartFusion2: /VCS/SmartFusion2
presynth: ./presynth
САФАР: ./work
6.5.2 Постсинтез (Савол диҳед)
postsynth_run.do
оромона танзим ACTELLIBNAME SmartFusion2
оромона танзим PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
агар {[file postsynth/_info мавҷуд аст]} {
echo "INFO: Постсинти китобхонаи симулятсия аллакай вуҷуд дорад"
} дигар {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2"
vlog -кор postsynth "${PROJECT_DIR}/synthesis/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -кор postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
илова мавҷ /SD1_TB1/*
илова log -r /*
1000ns иҷро кунед
сабти 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 -кор postsynth "${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -кор
postsynth "${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]} {
echo "INFO: Китобхонаи моделиронӣ ../designer/SD1/simulation/postlayout аллакай вуҷуд дорад"
} дигар {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2"
vlog -пешбарии кор "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -пешбарии кор "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
илова мавҷ /SD1_TB1/*
илова log -r /*
1000ns иҷро кунед
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 fileс ба скрипти ҷилди мувофиқи 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(система(“mkdir VCS_Presynth”)) {чоп “mkdir ноком шуд:\n”;}
if(система(“mkdir VCS_Postsynth”)) {чоп “mkdir ноком шуд:\n”;}
if(система(“mkdir VCS_Postlayout”)) {чоп “mkdir ноком шуд:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .' ;
&parse_do($presynth,"presynth");
чдир («../»);
chdir (VCS_Postsynth);
`cp ../$ARGV[1] .' ;
&parse_do($postsynth,"postsynth");
чдир («../»);
chdir (VCS_Postlayout);
`cp ../$ARGV[2] .' ;
&parse_do($postlayout,"postlayout");
чдир («../»);
subparse_do {
ман $ vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k";
ман %LIB = ();
доллари манfile = $_[0];
$давлати ман = $_[1];
кушода (INFILE,”$file”) || бимирад «Кушодан мумкин нест File Сабаб метавонад:$!”;
агар ($state eq "presynth")
{
кушода(OUT1,”>presynth_main.csh”) || die "Фармон эҷод карда наметавонам File Сабаб метавонад:$!”;
}
elsif ($state eq "postsynth")
{
кушода(OUT1,”>postsynth_main.csh”) || die "Фармон эҷод карда наметавонам File Сабаб метавонад:$!”;
}
elsif ($state eq "postlayout")
{
open(OUT1,”>postlayout_main.csh”) || die "Фармон эҷод карда наметавонам File Сабаб метавонад:$!”;
}
дигар
{
print "Ҳолати моделиронӣ мавҷуд нест \n" ;
}
кушода(OUT2,">synopsys_sim.setup") || die "Фармон эҷод карда наметавонам File Сабаб метавонад:$!”;
# .csh file
чоп OUT1 “#!/bin/csh -f\n\n\n” ;
#ТАШКИЛ КАРДАН FILE
чопи OUT2 “КОР > ПУРСАФ\n” ;
чоп OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
дар ҳоле ки ($ хати =FILE>)
{
Танзимоти Synopsys VCS
агар ($line =~ м/ба таври ором гузошта PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($хат =~ m/vlog.*\.v\”/ )
{
агар ($хат =~ м/\с+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp ($ хати);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
чоп OUT1 “$line\n”;
}
elsif ($хат =~ m/vsim.*presynth\.(.*)/) || ($хат =~ m/vsim.*postsynth\.(.*)/) || ($сатр
=~ m/vsim.*пайвандак\.(.*)/) )
{
$tb = $1;
$tb =~ с/ //г;
chomp ($ tb);
#print "Номи TB: $tb \n";
агар ($хат =~ 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
макс:$tb.$line.sdf -l compile.log\n” ;
}
элсиф ($хат =~ м/дақ/)
{
$хат =~ с/дақ \/// ;
$хат =~ 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” ;
}
элсиф ($хат =~ м/тип/)
{
$line =~ s/typ \/// ;
$хат =~ s/=/:/;
чоп OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
чоп:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Формати ModelSim SDF
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
Формати SDF
}
}
}
чоп кардан
OUT1 "\n\n"
;
if
($state eq "presynth"
)
{
чоп кардан
OUT2 "presynth
: ./presynth\n"
;
чоп кардан
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
элсиф
($state eq "postsynth"
)
{
чоп кардан
OUT2 "постсинт
: ./postsynth\n"
;
чоп кардан
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
элсиф
($state eq "постлайн"
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
дигар
{
print "Ҳолати моделиронӣ мавҷуд нест \n" ;
}
foreach $i (калидҳои %LIB)
{
#print “Калид : $i Арзиш : $LIB{$i} \n” ;
чоп OUT2 “$i : ./$i\n” ;
}
чоп OUT1 "\n\n" ;
чоп OUT1 “./simv -l run.log\n” ;
print OUT2 “DEFAULT : ./work\n” ;
пӯшидан INFILE;
пӯшидани OUT1;
пӯшидани OUT2;
}
Таърихи таҷдиди назар (Воридшавӣ ба микрочип
Таърихи таҷдиди назар тағйиротҳоеро, ки дар ҳуҷҷат амалӣ карда шудаанд, тавсиф мекунад. Тағйирот
аз рӯи навсозӣ, сар карда аз охирин нашрия номбар шудаанд.
Барраси | Сана | Тавсифи |
A | 12/2023 | Дар таҳрири мазкур тағйироти зерин ворид карда мешаванд: • Ҳуҷҷат ба қолаби Microchip табдил дода шудааст. Баррасии ибтидоӣ. • Қисми таҷдидшуда 5. Setup Siemens QuestaSim/ModelSim Setup барои дохил кардани ёддошти нав, ки таъсири намоёнро ҳангоми симулятсия ва оптимизатсия шарҳ медиҳад. |
Дастгирии Microchip FPGA
Гурӯҳи маҳсулоти Microchip FPGA маҳсулоти худро бо хидматҳои гуногуни дастгирӣ дастгирӣ мекунад, аз ҷумла Хадамоти муштариён, Маркази дастгирии техникии муштариён, webсайт ва офисҳои фурӯш дар саросари ҷаҳон.
Ба мизоҷон тавсия дода мешавад, ки пеш аз тамос бо дастгирӣ ба захираҳои онлайни Microchip муроҷиат кунанд, зеро эҳтимол дорад, ки ба дархостҳои онҳо аллакай ҷавоб дода шудааст.
Тавассути маркази дастгирии техникӣ тамос гиред webсайт дар www.microchip.com/support. Рақами Қисмати дастгоҳи FPGA -ро қайд кунед, категорияи парвандаи мувофиқро интихоб кунед ва тарҳро бор кунед fileс ҳангоми ташкили парвандаи дастгирии техникӣ.
Барои дастгирии ғайритехникии маҳсулот, ба монанди нархгузории маҳсулот, такмилдиҳии маҳсулот, маълумоти навсозӣ, ҳолати фармоиш ва иҷозат ба Хадамоти муштариён тамос гиред.
- Аз Амрикои Шимолӣ ба 800.262.1060 занг занед
- Аз тамоми ҷаҳон ба рақами 650.318.4460 занг занед
- Факс, аз ҳар гӯшаи ҷаҳон, 650.318.8044
Маълумоти микрочип
Микрочип Webсайт
Microchip тавассути мо дастгирии онлайн пешниҳод мекунад webсайт дар www.microchip.com/. Ин webсайт барои сохтан истифода мешавад fileс ва маълумот ба осонӣ ба мизоҷон дастрас аст. Баъзе аз мундариҷаи дастрас иборатанд аз:
- Дастгирии маҳсулот - Варақаҳои маълумот ва хатогиҳо, қайдҳои барнома ва сampбарномаҳо, захираҳои тарроҳӣ, дастурҳои корбар ва ҳуҷҷатҳои дастгирии сахтафзор, версияҳои охирини нармафзор ва нармафзори бойгонӣ
- Дастгирии умумии техникӣ - Саволҳои зуд-зуд пурсидашаванда (FAQs), дархостҳои дастгирии техникӣ, гурӯҳҳои мубоҳисавии онлайн, рӯйхати аъзоёни барномаи шарики тарроҳии Microchip
- Бизнеси 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, Adaptec, AVR, логотипи AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, maMDlu, maMDlu MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST логотип, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 логотип, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logometr, SuperFlash, Sym , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron ва XMEGA тамғаҳои ба қайд гирифташудаи Microchip Technology Incorporated дар ИМА ва дигар кишварҳо мебошанд.
AgileSwitch, APT, ClockWorks, Ширкати Embedded Control Solutions, EtherSynch, Flashtec, Назорати Hyper Speed, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus логотипи, Quiet- Wire, SmartFu, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime ва ZL тамғаҳои ба қайд гирифташудаи Microchip Technology Incorporated дар ИМА мебошанд
Паҳнкунии калидҳои ҳамсоя, AKS, аналогӣ барои синну соли рақамӣ, ҳама гуна конденсатор, AnyIn, AnyOut, Гузаришҳои васеъшуда, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoCompanion, CryptoCompanion, CryptoCompanion, CryptoCompanion, DEMICDPler, CryptoCompanion. Мутобиқати миёна , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Барномасозии силсилавии дарунсохт, ICSP, INICnet, параллелизатсияи интеллектуалӣ, IntelliMOS, Пайвастшавӣ байни чипҳо, JitterBlocker, Knob-on-Display, KoD, maxCryView, memBrain, Mindi, MiWi, MPASM, MPF, логотипи MPLAB Certified, MPLIB, MPLINK, MultiTRAK, NetDetach, Generation Code Omniscient, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Blocker Ripple, 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 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 Вест Чандлер 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 Бостон Вестборо, MA Тел: 774-760-0087 Факс: 774-760-0088 Чикаго Итаска, Ил Тел: 630-285-0071 Факс: 630-285-0075 Даллас Аддисон, TX Тел: 972-818-7423 Факс: 972-818-2924 Детройт Нови, МИ Тел: 248-848-4000 Хьюстон, Техас Тел: 281-894-5983 Индианаполис Ноблсвилл, ИН Тел: 317-773-8323 Факс: 317-773-5453 Тел: 317-536-2380 Лос-Анҷелес Mission Viejo, CA Тел: 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 -
Ҳуҷҷатҳо / Сарчашмаҳо
![]() |
Барномаи Китобхонаи Simulation MICROCHIP Libero SoC [pdf] Дастури корбар DS50003627A, Libero SoC Software Library Simulation, Software Library SoC Simulation, Software Library Simulation, Software Library, Software |