Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന vpassertp കമാൻഡ് ആണിത്.
പട്ടിക:
NAME
vpassert - പ്രീപ്രോസസ് വെരിലോഗ് കോഡ് അവകാശവാദങ്ങൾ
സിനോപ്സിസ്
vpassert [ --സഹായിക്കൂ ] [ --തീയതി ] [ --നിശബ്ദമായി ] [ -y ഡയറക്ടറികൾ... ] [ ഫയലുകൾ... ]
വിവരണം
Vpassert നിർദ്ദിഷ്ട വെരിലോഗ് ഫയലുകൾ വായിക്കുകയും പ്രത്യേക PLI അവകാശവാദങ്ങൾ പ്രീപ്രോസസ് ചെയ്യുകയും ചെയ്യും. ദി
മറ്റൊരു പേര് നൽകിയിട്ടില്ലെങ്കിൽ ഫയലുകൾ .vpassert എന്ന ഡയറക്ടറിയിലേക്ക് എഴുതപ്പെടും -o.
ഒരു ഡയറക്ടറി പാസ്സാക്കിയാൽ, ആ ഡയറക്ടറിയിലെ എല്ലാ ഫയലുകളും പ്രീപ്രോസസ് ചെയ്യപ്പെടും.
വാദങ്ങൾ
മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്യേണ്ട ഫയലുകൾ വ്യക്തമാക്കാൻ സ്റ്റാൻഡേർഡ് VCS, GCC പോലുള്ള പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്നു:
+libext+I +ഐ ... പ്രോസസ്സ് ചെയ്യേണ്ട വിപുലീകരണങ്ങൾ വ്യക്തമാക്കുക
-എഫ് ഐ ഫയലിലെ പാരാമീറ്ററുകൾ പാഴ്സ് ചെയ്യുക
-വി ഐ ലൈബ്രറി ഫയൽ പാഴ്സ് ചെയ്യുക (I )
-യീ ഡയറക്ടറിയിലെ എല്ലാ ഫയലുകളും പാഴ്സ് ചെയ്യുക (I )
-II ഡയറക്ടറിയിലെ എല്ലാ ഫയലുകളും പാഴ്സ് ചെയ്യുക (I )
+incdir+I ഡയറക്ടറിയിലെ എല്ലാ ഫയലുകളും പാഴ്സ് ചെയ്യുക (I )
ആവർത്തനം തടയുന്നതിനും input.vc യുടെ പുനരുപയോഗം അനുവദിക്കുന്നതിനും സിമുലേറ്ററിലേക്ക് കൈമാറുകയാണെങ്കിൽ,
ഔട്ട്പുട്ട് ഡയറക്ടറി മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്യാൻ അഭ്യർത്ഥിക്കുന്നു, ആ ഡയറക്ടറി അവഗണിക്കപ്പെട്ടിരിക്കുന്നു.
--എല്ലാ ഫയലുകളും
വികസിപ്പിക്കേണ്ട മാക്രോകളൊന്നും ഇല്ലാത്ത ഫയലുകൾ മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്യുകയും എഴുതുകയും ചെയ്യുക. എഴുതിയത്
സ്ഥിരസ്ഥിതിയായി, പ്രോസസ്സിംഗ് ആവശ്യമില്ലാത്ത ഫയലുകൾ എഴുതിയിട്ടില്ല.
ഈ ഓപ്ഷൻ സിമുലേറ്റർ കംപൈൽ സമയം വേഗത്തിലാക്കാം; എന്നതിൽ ഫയൽ എപ്പോഴും കാണപ്പെടും
പ്രീപ്രോസസ്ഡ് ഡയറക്ടറി, കംപൈലറിനെ വളരെയധികം -v തിരയുന്നതിൽ നിന്ന് സംരക്ഷിക്കുന്നു
അത് കണ്ടെത്താൻ ഡയറക്ടറികൾ.
--പ്രമാണം
സ്പെഷ്യൽ ആക്സിയോം ATHDL, ലഭ്യമല്ലാത്ത കോഡിന് ചുറ്റും ചേർത്തത് പ്രവർത്തനക്ഷമമാക്കുന്നു/അപ്രാപ്തമാക്കുന്നു.
--കോൾ-പിശക്
$uerror (അല്ലെങ്കിൽ $uassert മുതലായവ) ഒരു സന്ദേശം പ്രദർശിപ്പിക്കാൻ താൽപ്പര്യപ്പെടുമ്പോൾ, വ്യക്തമാക്കിയതിനെ വിളിക്കുക
$display, $stop എന്നിവയ്ക്ക് പകരം പ്രവർത്തനം.
--കോൾ-വിവരം
$uinfo ഒരു സന്ദേശം പ്രദർശിപ്പിക്കാൻ താൽപ്പര്യപ്പെടുമ്പോൾ, പകരം നിർദ്ദിഷ്ട ഫംഗ്ഷനിലേക്ക് വിളിക്കുക
$ ഡിസ്പ്ലേ.
--വിളിക്കുക-മുന്നറിയിപ്പ്
$uwarn (അല്ലെങ്കിൽ $uwarn_clk മുതലായവ) ഒരു സന്ദേശം പ്രദർശിപ്പിക്കാൻ താൽപ്പര്യപ്പെടുമ്പോൾ, വ്യക്തമാക്കിയിരിക്കുന്നവരെ വിളിക്കുക
$display, $stop എന്നിവയ്ക്ക് പകരം പ്രവർത്തനം.
--തീയതി
vpassert-ന്റെ അവസാന ഓട്ടത്തിനെതിരായ ഫയൽ തീയതികളും വലുപ്പങ്ങളും പരിശോധിക്കുക, എങ്കിൽ പ്രോസസ്സ് ചെയ്യരുത്
നൽകിയിരിക്കുന്ന സോഴ്സ് ഫയൽ മാറിയിട്ടില്ല.
--പെടുത്തിയിട്ടില്ല
നിർദ്ദിഷ്ട പ്രിഫിക്സിൽ ആരംഭിക്കുന്ന ഏതെങ്കിലും ഫയലുകൾ പ്രോസസ്സ് ചെയ്യുന്നത് ഒഴിവാക്കുക.
--സഹായിക്കൂ
ഈ സന്ദേശവും പ്രോഗ്രാമിന്റെ പതിപ്പും പ്രദർശിപ്പിക്കുകയും പുറത്തുകടക്കുകയും ചെയ്യുന്നു.
--language <1364-1995|1364-2001|1364-2005|1800-2005|1800-2009|1800-2012>
ഫയലുകൾക്കായി ഭാഷാ നിലവാരം സജ്ജമാക്കുക. ഏത് ടോക്കണുകളാണ് സിഗ്നലുകളെന്ന് ഇത് നിർണ്ണയിക്കുന്നു
എക്കാലത്തെയും സാധാരണമായ "ഡൂ" (ഡാറ്റ-ഔട്ട് സിഗ്നൽ, ഒരു ഡു-വെയിൽ ലൂപ്പ്) പോലുള്ള കീവേഡുകൾക്കെതിരെ
കീവേഡ്).
--കുറഞ്ഞത്
$uinfo ടെസ്റ്റിൽ `__message_minimum ഉൾപ്പെടുത്തുക, അങ്ങനെ __message_minimum=1 നിർവചിക്കുന്നതിലൂടെ
ചില uinfos കംപൈൽ സമയത്ത് ഒപ്റ്റിമൈസ് ചെയ്തേക്കാം.
--നോലിൻ
ലൈൻ നിർദ്ദേശങ്ങൾ പുറപ്പെടുവിക്കരുത്. വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ അവ --ഭാഷയ്ക്ക് കീഴിൽ ഉപയോഗിക്കും
1364-2001 ലും അതിനുശേഷവും.
--നോപ്ലി
എല്ലാ 'ലളിതമായ' PLI കോളുകളും ഇല്ലാതാക്കുക. പരാൻതീസിസിനുള്ളിലെ PLI ഫംഗ്ഷൻ കോളുകൾ ഉണ്ടാകില്ല
മാറ്റി, അതിനാൽ ഇനിയും സ്വമേധയാ ഇഫ്ഡിഫ്ഡ് ഔട്ട് ചെയ്യേണ്ടി വന്നേക്കാം. കുറയ്ക്കാൻ ഉപയോഗപ്രദമാണ്
നോൺ-പിഎൽഐ യോഗ്യതയുള്ള സിന്തസിസ് പ്രോഗ്രാമുകൾക്ക് ആവശ്യമായ `ifdef's തുക.
--നോസ്റ്റോപ്പ്
സ്ഥിരസ്ഥിതിയായി, $error, $warn ഒരു $stop പ്രസ്താവന ചേർക്കുക. കൂടെ --nostop, ഇതാണ്
ഒരു വേരിയബിൾ വർദ്ധിപ്പിച്ച് മാറ്റി, അത് സോപാധികമായി നിർത്താൻ ഉപയോഗിക്കാം
സിമുലേഷൻ.
--o ഫയല്
.vpassert എന്ന ഇൻപുട്ട് നാമത്തിന് പകരം നൽകിയിരിക്കുന്ന ഫയലിന്റെ പേര് ഔട്ട്പുട്ടിനായി ഉപയോഗിക്കുക. പേരാണെങ്കിൽ
ഒരു / എന്നതിൽ അവസാനിക്കുന്നു, ഇത് സ്ഥിരസ്ഥിതി നാമമുള്ള ഔട്ട്പുട്ട് ഡയറക്ടറിയായി ഉപയോഗിക്കുന്നു.
--നിശബ്ദമായി
ഏത് ഫയലുകളാണ് മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്യുന്നത് എന്നതിനെക്കുറിച്ചുള്ള സന്ദേശങ്ങൾ അടിച്ചമർത്തുക.
--റിയലിന്റന്റ്
എത്തിച്ചേരാനാകാത്ത കോഡിന് ചുറ്റും പ്രത്യേക റിയൽഇന്റന്റ് പ്രവർത്തനക്ഷമമാക്കുന്നു/പ്രവർത്തനരഹിതമാക്കുന്നു.
--സിന്ത്കോവ്
"ifdef SYNTHESIS" കാണുമ്പോൾ, കവറേജ് പ്രവർത്തനരഹിതമാക്കുക. `else അല്ലെങ്കിൽ `endif-ൽ പുനരാരംഭിക്കുക.
ഇത് കുട്ടികളുടെ നിർവചനങ്ങൾ പാലിക്കുന്നില്ല, ഉദാഹരണത്തിന്:
`ifdef സിന്തസിസ്
`മിസിന്തിനെ നിർവചിക്കുക
`endif
`ifdef MYSYNTH // ഇത് കവറേജ്-ഓഫ് ചെയ്യില്ല
--ടൈംഫോർമാറ്റ്-യൂണിറ്റുകൾ യൂണിറ്റുകൾ
വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, എല്ലാ സന്ദേശങ്ങൾക്കും മുമ്പായി വെരിലോഗ് $ടൈം ഫോർമാറ്റ് കോളുകൾ ഉൾപ്പെടുത്തുക. നൽകിയിരിക്കുന്നത് ഉപയോഗിക്കുക
യൂണിറ്റുകളായി വാദം. യൂണിറ്റുകൾ 10 ന്റെ ശക്തിയിലാണ്, അതിനാൽ -9 നാനോ സെക്കൻഡ് ഉപയോഗിക്കണമെന്ന് സൂചിപ്പിക്കുന്നു.
--ടൈംഫോർമാറ്റ്-പ്രിസിഷൻ പ്രിസി
--timeformat-units ഉപയോഗിക്കുമ്പോൾ, ഇത് കൃത്യമായ മൂല്യമായി ഉപയോഗിക്കുക, അക്കങ്ങളുടെ എണ്ണം
ദശാംശ പോയിന്റിന് ശേഷം. സ്ഥിരസ്ഥിതികൾ പൂജ്യത്തിലേക്ക്.
--വെരിക്കോവ്
എത്തിച്ചേരാനാകാത്ത കോഡിന് ചുറ്റും പ്രത്യേക വെരിക്കോവ് പ്രാപ്തമാക്കുന്നു/പ്രവർത്തനരഹിതമാക്കുന്നു.
--വെരിലേറ്റർ
പ്രത്യേക വെരിലേറ്റർ വിവർത്തനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കി.
--പതിപ്പ്
പ്രോഗ്രാം പതിപ്പ് പ്രദർശിപ്പിക്കുകയും പുറത്തുകടക്കുകയും ചെയ്യുന്നു.
--vcs
എത്തിച്ചേരാനാകാത്ത കോഡിന് ചുറ്റും ചേർത്ത പ്രത്യേക സംഗ്രഹം VCS പ്രാപ്തമാക്കുന്നു/പ്രവർത്തനരഹിതമാക്കുന്നു.
പ്രവർത്തനങ്ങൾ
ഈ വെരിലോഗ് സ്യൂഡോ-പ്ലൈ കോളുകൾ വിപുലീകരിച്ചു:
/*vp_coverage_off*/
ഈ ഘട്ടത്തിൽ ആരംഭിക്കുന്ന എല്ലാ ടൂളുകളുടെയും കവറേജ് പ്രവർത്തനരഹിതമാക്കുക. a-യിൽ ആയിരിക്കണമെന്നില്ല
അതുല്യമായ ലൈൻ.
/*vp_coverage_on*/
ഒരു vp_coverage_off കഴിഞ്ഞ് കവറേജ് വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക. ഒരു അദ്വിതീയ വരിയിൽ ആയിരിക്കേണ്ട ആവശ്യമില്ല.
$uassert (കേസ്, "സന്ദേശം", [vars...])
നൽകിയിരിക്കുന്ന കേസ് FALSE ആണെങ്കിൽ $uerror റിപ്പോർട്ട് ചെയ്യുക. (ഇഷ്ടം ഉറപ്പിക്കുക () സിയിൽ.)
$uassert_amone (സിഗ്, [സിഗ്...], "സന്ദേശം", [vars...])
ഒന്നിൽ കൂടുതൽ സിഗ്നലുകൾ ഉറപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, അല്ലെങ്കിൽ ഏതെങ്കിലും X ആണെങ്കിൽ $uerror റിപ്പോർട്ട് ചെയ്യുക. (ഒന്നും ഉറപ്പിച്ചിട്ടില്ല
ശരി.) പിശക് സന്ദേശത്തിൽ സിഗ്നൽ മൂല്യങ്ങളുടെ ബൈനറി ഡിസ്പ്ലേ ഉൾപ്പെടും.
$uassert_info (കേസ്, "സന്ദേശം", [vars...])
നൽകിയിരിക്കുന്ന കേസ് തെറ്റാണെങ്കിൽ $uinfo റിപ്പോർട്ട് ചെയ്യുക. (ഇഷ്ടം ഉറപ്പിക്കുക () സിയിൽ.)
$uassert_onehot (സിഗ്, [സിഗ്...], "സന്ദേശം", [vars...])
ഒരു സിഗ്നൽ അല്ലാതെ മറ്റൊന്ന് ഉറപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, അല്ലെങ്കിൽ X ആണെങ്കിൽ $uerror റിപ്പോർട്ട് ചെയ്യുക. പിശക്
സന്ദേശത്തിൽ സിഗ്നൽ മൂല്യങ്ങളുടെ ബൈനറി ഡിസ്പ്ലേ ഉൾപ്പെടും.
$uassert_req_ack (req_sig, ack_sig, [ഡാറ്റ_സിഗ്,...])
ഒരൊറ്റ സൈക്കിൾ അഭ്യർത്ഥന പൾസ് പരിശോധിക്കുക, തുടർന്ന് ഒരൊറ്റ സൈക്കിൾ അംഗീകാരം
പൾസ്. അഭ്യർത്ഥനയ്ക്കിടയിലും ഡാറ്റാ സിഗ്നലുകളൊന്നും മാറ്റാൻ അനുവദിക്കരുത്
അംഗീകാരം.
$ucheck_ilevel (ലെവൽ )
__മെസേജ് ലെവൽ, തന്നിരിക്കുന്ന ലെവലിന് തുല്യമോ വലുതോ ആണെങ്കിൽ ശരി എന്ന് തിരികെ നൽകുക
ആഗോള സന്ദേശങ്ങൾ ഓണാക്കി.
$ucover_clk (ക്ലോക്ക്, ലേബൽ)
$uerror_clk എന്നതിന് സമാനമായി, അടുത്ത നിർദ്ദിഷ്ട ക്ലോക്കിൽ SystemVerilog ഉറപ്പ് ചേർക്കുക
അരികിൽ, ലേബൽ വ്യക്തമാക്കിയിരിക്കുന്നു. കവർ പ്രോപ്പർട്ടികൾ "ഇൻലൈൻ" വ്യക്തമാക്കാൻ ഇത് അനുവദിക്കുന്നു
സാധാരണ RTL കോഡ് ഉപയോഗിച്ച്.
$ucover_foreach_clk (ക്ലോക്ക്, ലേബൽ, "msb:എൽഎസ്ബി", (... $ui ...))
$ucover_clk-ന് സമാനമാണ്, എന്നിരുന്നാലും എക്സ്പ്രഷനിലെ $ui മാറ്റിസ്ഥാപിക്കപ്പെടുന്ന ഒരു ശ്രേണി കവർ ചെയ്യുക
ശ്രേണി സൂചികയോടൊപ്പം.
പരിധി "msb:എൽഎസ്ബി" നിന്ന് സൂചിപ്പിക്കാൻ msb ഇറങ്ങി എൽഎസ്ബി ഉൾക്കൊള്ളുന്ന, കൂടാതെ/അല്ലെങ്കിൽ ഒരു കോമ വേർതിരിച്ചിരിക്കുന്നു
മൂല്യങ്ങളുടെ പട്ടിക.
ഇതിന് സമാനമായത്:
ഇതിനായി ($ui=msb; $ui>=lsb; $ui=$ui-1) ആരംഭിക്കുക
എങ്കിൽ ($ui ഉള്ള എക്സ്പ്രഷൻ)
$ucover_clk(ക്ലോക്ക്, ലേബൽ ## "_" ## ബിറ്റ്)
അവസാനിക്കുന്നു
എന്നിരുന്നാലും, ഫോർ ലൂപ്പിൽ നിന്ന് ഒരു ലേബൽ രൂപീകരിക്കാൻ ഒരു മാർഗവുമില്ല (മുകളിൽ ## ഉപയോഗിച്ച് സൂഡോകോഡ് ചെയ്തിരിക്കുന്നത് പോലെ),
അങ്ങനെ ഈ മാക്രോ.
$ui ലൂപ്പ് സൂചിക $ucover_foreach_clk-നുള്ളിൽ ഉപയോഗിച്ചു.
$uinfo (ലെവൽ, "സന്ദേശം", [vars...])
സ്റ്റാൻഡേർഡ് ഫോമിൽ ഒരു വിവര സന്ദേശം റിപ്പോർട്ട് ചെയ്യുക. മുന്നറിയിപ്പ് പരിധി കവിഞ്ഞാൽ പരിശോധന അവസാനിപ്പിക്കുക.
$uerror ("സന്ദേശം", [vars...])
സാധാരണ രൂപത്തിൽ ഒരു പിശക് സന്ദേശം റിപ്പോർട്ട് ചെയ്യുക. പിശക് പരിധി കവിഞ്ഞാൽ പരിശോധന അവസാനിപ്പിക്കുക.
$uerror_clk (ക്ലോക്ക്, "സന്ദേശം", [vars...])
അടുത്ത ക്ലോക്ക് എഡ്ജിൽ സ്റ്റാൻഡേർഡ് ഫോമിൽ ഒരു പിശക് സന്ദേശം റിപ്പോർട്ട് ചെയ്യുക. നിങ്ങൾ എ സ്ഥാപിക്കുകയാണെങ്കിൽ
ഒരു കോംബോ ലോജിക് ബ്ലോക്കിൽ (എല്ലായ്പ്പോഴും @*) $uerror മുതലായവ, ഇവന്റ് അടിസ്ഥാനമാക്കിയുള്ള സിമുലേറ്ററുകൾ തെറ്റായി പ്രവർത്തിച്ചേക്കാം
തകരാറുകൾ കാരണം അവകാശവാദം. $uerror_clk, പകരം താൽക്കാലികമായി ഇത് പരിഹരിക്കുന്നു
സിഗ്നൽ നൽകി, നിർദ്ദിഷ്ട അരികിലുള്ള ഒരു പുതിയ ക്ലോക്ക് ചെയ്ത ബ്ലോക്കിലേക്ക് അസെർട്ട് തന്നെ നീക്കുന്നു.
അച്ചടിച്ച ഏതെങ്കിലും വേരിയബിളുകൾ അടുത്ത ക്ലോക്ക് എഡ്ജിലെ മൂല്യങ്ങളായിരിക്കുമെന്ന് ശ്രദ്ധിക്കുക.
$uerror_clk അസൈൻ ചെയ്തിരിക്കുന്ന മൂല്യത്തിൽ നിന്ന് വ്യത്യാസപ്പെട്ടേക്കാം.
$uwarn ("സന്ദേശം", [vars...])
സാധാരണ രൂപത്തിൽ ഒരു മുന്നറിയിപ്പ് സന്ദേശം റിപ്പോർട്ട് ചെയ്യുക.
$uwarn_clk (ക്ലോക്ക് "സന്ദേശം", [vars...])
അടുത്ത ക്ലോക്ക് എഡ്ജിൽ സ്റ്റാൻഡേർഡ് ഫോമിൽ ഒരു മുന്നറിയിപ്പ് സന്ദേശം റിപ്പോർട്ട് ചെയ്യുക. $uerror_clk കാണുക.
വിതരണ
വെരിലോഗ്-പേൾ ഇതിന്റെ ഭാഗമാണ്http://www.veripool.org/> സൗജന്യ വെരിലോഗ് EDA സോഫ്റ്റ്വെയർ ടൂൾ
സ്യൂട്ട്. ഏറ്റവും പുതിയ പതിപ്പ് CPAN-ൽ നിന്നും ഇതിൽ നിന്നും ലഭ്യമാണ്
<http://www.veripool.org/verilog-perl>.
വിൽസൺ സ്നൈഡറിന്റെ പകർപ്പവകാശം 2000-2016. ഈ പാക്കേജ് ഒരു സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആണ്; നിങ്ങൾക്ക് പുനർവിതരണം ചെയ്യാം
ഗ്നു ലെസ്സർ ജനറൽ പബ്ലിക് ലൈസൻസിന്റെ നിബന്ധനകൾക്ക് കീഴിൽ അത് കൂടാതെ/അല്ലെങ്കിൽ പരിഷ്ക്കരിക്കുക
പതിപ്പ് 3 അല്ലെങ്കിൽ പേൾ ആർട്ടിസ്റ്റിക് ലൈസൻസ് പതിപ്പ് 2.0.
AUTHORS
വിൽസൺ സ്നൈഡർ[ഇമെയിൽ പരിരക്ഷിച്ചിരിക്കുന്നു]>, ഡുവാൻ ഗൽബി[ഇമെയിൽ പരിരക്ഷിച്ചിരിക്കുന്നു]>
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് vpassertp ഓൺലൈനായി ഉപയോഗിക്കുക