W
wangjill
Guest
Продукт Промени 5.5bВ FLI функция mti_GetSignalType () е бил променен така, че за
справя до пристанище на сигнала, който е бил свит я връща типа ID
на официалния пристанище, а не тип Идентификатор на действителния сигнала, за които се
е припаднал.
(Това продължава вида ID съвместими с името
че получавате от един и същи сигнал дръжка.)
В FLI функция mti_SetSignalValue () вече не granulates атомно
множество сигнали.
Тя определя целия масив стойност директно към върха
атомно ниво масив сигнала, вместо iterating чрез subelements.
(Имайте предвид, че за не-атомно масиви то все още iterates чрез
subelements.)
Оптимизация е направено за няколко FLI шофьор функции в
За да се даде възможност на водача на атомната масиви (което е бързо, отколкото
нормалния начин на шофиране масиви в subelement ниво).
Arrays са атомно ако им subelements са изброяване вид, ако те
имат не повече от един водач, ако те са задвижвани само при нулево забавяне,
ако те не са свързани с или INOUT пристанища, и ако те не са
всички свързани с композитен резолюция или тип конверсия функции.
Следните функции са били променени, както е посочено:mti_CreateDriver () вече създава атомно драйвери за атомна опълчиха сигнали.
Тя ще гранулирам една атомна опълчиха сигнал, само ако повече от един водач
е създаден за нея.mti_FindDriver () вече не granulates атомна опълчиха сигнали.mti_GetDriverSubelements () ще гранулирам една атомна опълчиха сигнал
с цел да се получи на водача subelements.mti_ScheduleDriver () сега ще карам атомно сигнали масив с нула забавяне.
Разписания с ненулева забавяне ще доведе до атомна опълчиха на сигнала да бъдат
гранулирани.Имайте предвид, че mti_GetDriverNames () и mti_GetDriverValues ()
няма да се връщат всяка информация за атомна опълчиха сигнали.
Също така имайте предвид, че mti_GetSignalSubelements () сили гранулиране на
атомно масив сигнал.
В VHDL и Verilog компилатори са били променени да не показвате пълното използване на
Информация при ползването грешка случва.
Пълно използване на съобщение стане Показан
само когато-помогнат превключвате се използва.А сега изпръсквам екрана се появява на OEM версии на ModelSim идентифициране
то както е различен от редовните ModelSim PE продукт.
(OEM само)Нови функции добавят към 5.5bА особеност е добавен в позволяват Solaris споделена памет.
Функцията може да се увеличи
изпълнение на големи симулации.
Виж по-долу за повече подробности.Две програми за улесняване на Solaris споделена памет функция са
добавяне на "sunos5" и "sunos5v9" платформи.
В изпълнимите са
разположени в рамките на "sunos5" и "sunos5v9" директории в modeltech дърво
и са на име vshminit и vshminf.За да научите как да използвате тази функция, да се позове vsim и натиснете Помощ меню
Help> Technotes> Solaris_Shared_Memory
Курсора време бутон на вълната Window е засилен.Курсора време бутон е времето стойност показани стойностите колона и
курсора ред на вълна прозорец.А правото на мишката клик (RMB) върху този бутон ще се обърне да входна област
, където можете да въведете нов път стойност.
След това, курсора (и изглед)
ще се премести на новото време.
Налице е нова функция, FLI, mti_CreateTimeType (), която се използва, за да
една дръжка от тип descriptor за VHDL време тип.
Едно полезно приложение
е за отпечатване на текущия момент.
Така например,curr_time_str = mti_Image (mti_NowIndirect (& curr_time),
mti_CreateTimeType ());
mti_PrintFormatted ( "Време% S делта% D: Сигнал% S /% S е% DN",
curr_time_str, mti_Delta (),
region_name, mti_GetSignalName (sigid), sigval);
Задаване на нов предпочитание променлива PrefMain (stallKernel) към 1, ще причини
симулация ядрото на пауза, докато вълна Window актуализации настъпят.
Ако симулатор
не се изпълнява, или променлива е настроено на 0, няма да има ефект.
Стандартната стойност е 0.
В командния runStatus има нова опция наречена-пълна, които
ще се върне на държавата и причината (статус).
VSIM 5> when clk {stop}
VSIM 6> run
# Simulation stop requested
VSIM 7> runStatus
# break
VSIM 8> runStatus -full
# break user_stop
Възможните стойности са причина:bkpt
bkpt_builtin
приключвам
fatal_error
iteration_limit
silent_halt
Стъпка
step_builtin
step_wait_suspend
user_break
user_halt
user_stop
неизвестен
Причината стойност има смисъл само след пускане или стъпка команда
възвръщаемост.
Повикване runStatus, докато тя е все още в движение
-членка (т.е., когато вътре в тялото) ще се върне предишната причина стойност.В този момент, потребителят е предупреден, че може да получите резултати, които не
очаквам.
По пътя на пауза ключова работи, това е възможно да се получи поради
Код на гърба, които могат да бъдат или user_break или user_stop.
Това е така, защото
на почивка може да се появи в различни точки в симулация цикъл.
Ако
симулатор е оценка на процеса по време на почивка, A user_break
Ще се върна, въпреки това, ако симулатора е завършил процеси и
е актуализирането на сигнала ценности, тогава user_stop ще бъдат върнати.
В фините
начин да видиш това в сегашната система е с Източник прозорец.
В
първият случай на източника прозорец показва файла линия с номер
синята стрелка, докато в последния случай не източник линия е показано.
Нов набор от компилатор превключватели са били добавени към позволи допълнително
портата на ниво оптимизации да се появят при Verilog клетки библиотеки.По първоначални версии на 5.5, тези оптимизации са изключително консервативни
по отношение на това дали или не е било разрешено за оптимизация.
С 5.5b,
няколко стрелки са били добавени към забраните на някои от тези проверки.
В ключове, са посочени в vlog компилатор за командния ред.
Те имат ефект само при съставянето на портата на ниво клетки библиотеки, като се използват
най-бързо преминаване.
Може също така да посочите-debugCellOpt
превключвате да се провери дали са настъпили оптимизации.nocheckCLUP
Това преминаване позволява свързване петелки в клетката да бъдат оптимизирани.
nocheckOPRD
Това позволява преминаването изходен порт да се чете вътрешно от клетката.
Имайте предвид, ако стойността
прочети е само стойността допринесли за изхода от клетки, и ако там '
шофьор в мрежата извън клетката, стойността четат, няма да отразяват
на решени стойност.
nocheckDNET
Това позволи на двете преминаването на пристанището и забавено порт (създаден за негативните настройка / задръжте)
да бъдат използвани в функционалната част на клетката.
nocheckSUDP
Това позволява преминаването пореден UDP за шофиране друга пореден UDP.
Ако сте посочили nocheckALL, всички тези знамена ще бъдат активирани.
Имайте предвид също така
функциите на клетката трябва да бъдат проверени, след като използвате един от тези
превключватели.
В vlog-бързо преминаване сега дръжки клетки с $ setuphold
и $ recrem timingchecks, които използват или tstamp_cond
tcheck_cond аргументи.Добавя предупреждение при изработването generics / параметри, посочени в командния
съответствие с G-или-грам не са налични в дизайна.VHDL подобрение на ефективността бяха добавени към Std_Developerskit std_mempak
пакет.
В Mem_Load и Mem_Dump процедури сега са претоварени по подразбиране с
ускорено версии на тези процедури.
А recompile на VHDL код използвайки
тези процедури ще доведе до използването на вградения в ускорени процедури.
Съставяне с-noaccel std_mempak vcom вариант ще доведе до
Използването на оригинални VHDL код от опаковката.Възможността е добавен към ModelSim PE и OEM продукти (ModelSim SE вече
има тази функция), за да плоча и каскада прозорци от командния ред.
Това
функционалност е възможна само от GUI-рано.Verilog 2001 подкрепа за взаимно закъснения.
Тази функция е активирана с-v2k_intr_delay ключ.
Ключ
причините за забавянето да се вижда по време на натоварването порт (по-рано, потребителят трябва да
свържете буфер вътре товара модул да видите закъснение).
Ако сте
$sdf_annotate() разговори в дизайна, които не се изпълняват
тогава трябва да добавите Verilog задача $sdf_done() след последното Ви
$sdf_annotate() за да премахнете всички нулево забавяне MIPDs, които може да са били
създаден.
[Това съобщение беше редактирано от: ssyang относно 2001-06-02 22:00]
справя до пристанище на сигнала, който е бил свит я връща типа ID
на официалния пристанище, а не тип Идентификатор на действителния сигнала, за които се
е припаднал.
(Това продължава вида ID съвместими с името
че получавате от един и същи сигнал дръжка.)
В FLI функция mti_SetSignalValue () вече не granulates атомно
множество сигнали.
Тя определя целия масив стойност директно към върха
атомно ниво масив сигнала, вместо iterating чрез subelements.
(Имайте предвид, че за не-атомно масиви то все още iterates чрез
subelements.)
Оптимизация е направено за няколко FLI шофьор функции в
За да се даде възможност на водача на атомната масиви (което е бързо, отколкото
нормалния начин на шофиране масиви в subelement ниво).
Arrays са атомно ако им subelements са изброяване вид, ако те
имат не повече от един водач, ако те са задвижвани само при нулево забавяне,
ако те не са свързани с или INOUT пристанища, и ако те не са
всички свързани с композитен резолюция или тип конверсия функции.
Следните функции са били променени, както е посочено:mti_CreateDriver () вече създава атомно драйвери за атомна опълчиха сигнали.
Тя ще гранулирам една атомна опълчиха сигнал, само ако повече от един водач
е създаден за нея.mti_FindDriver () вече не granulates атомна опълчиха сигнали.mti_GetDriverSubelements () ще гранулирам една атомна опълчиха сигнал
с цел да се получи на водача subelements.mti_ScheduleDriver () сега ще карам атомно сигнали масив с нула забавяне.
Разписания с ненулева забавяне ще доведе до атомна опълчиха на сигнала да бъдат
гранулирани.Имайте предвид, че mti_GetDriverNames () и mti_GetDriverValues ()
няма да се връщат всяка информация за атомна опълчиха сигнали.
Също така имайте предвид, че mti_GetSignalSubelements () сили гранулиране на
атомно масив сигнал.
В VHDL и Verilog компилатори са били променени да не показвате пълното използване на
Информация при ползването грешка случва.
Пълно използване на съобщение стане Показан
само когато-помогнат превключвате се използва.А сега изпръсквам екрана се появява на OEM версии на ModelSim идентифициране
то както е различен от редовните ModelSim PE продукт.
(OEM само)Нови функции добавят към 5.5bА особеност е добавен в позволяват Solaris споделена памет.
Функцията може да се увеличи
изпълнение на големи симулации.
Виж по-долу за повече подробности.Две програми за улесняване на Solaris споделена памет функция са
добавяне на "sunos5" и "sunos5v9" платформи.
В изпълнимите са
разположени в рамките на "sunos5" и "sunos5v9" директории в modeltech дърво
и са на име vshminit и vshminf.За да научите как да използвате тази функция, да се позове vsim и натиснете Помощ меню
Help> Technotes> Solaris_Shared_Memory
Курсора време бутон на вълната Window е засилен.Курсора време бутон е времето стойност показани стойностите колона и
курсора ред на вълна прозорец.А правото на мишката клик (RMB) върху този бутон ще се обърне да входна област
, където можете да въведете нов път стойност.
След това, курсора (и изглед)
ще се премести на новото време.
Налице е нова функция, FLI, mti_CreateTimeType (), която се използва, за да
една дръжка от тип descriptor за VHDL време тип.
Едно полезно приложение
е за отпечатване на текущия момент.
Така например,curr_time_str = mti_Image (mti_NowIndirect (& curr_time),
mti_CreateTimeType ());
mti_PrintFormatted ( "Време% S делта% D: Сигнал% S /% S е% DN",
curr_time_str, mti_Delta (),
region_name, mti_GetSignalName (sigid), sigval);
Задаване на нов предпочитание променлива PrefMain (stallKernel) към 1, ще причини
симулация ядрото на пауза, докато вълна Window актуализации настъпят.
Ако симулатор
не се изпълнява, или променлива е настроено на 0, няма да има ефект.
Стандартната стойност е 0.
В командния runStatus има нова опция наречена-пълна, които
ще се върне на държавата и причината (статус).
VSIM 5> when clk {stop}
VSIM 6> run
# Simulation stop requested
VSIM 7> runStatus
# break
VSIM 8> runStatus -full
# break user_stop
Възможните стойности са причина:bkpt
bkpt_builtin
приключвам
fatal_error
iteration_limit
silent_halt
Стъпка
step_builtin
step_wait_suspend
user_break
user_halt
user_stop
неизвестен
Причината стойност има смисъл само след пускане или стъпка команда
възвръщаемост.
Повикване runStatus, докато тя е все още в движение
-членка (т.е., когато вътре в тялото) ще се върне предишната причина стойност.В този момент, потребителят е предупреден, че може да получите резултати, които не
очаквам.
По пътя на пауза ключова работи, това е възможно да се получи поради
Код на гърба, които могат да бъдат или user_break или user_stop.
Това е така, защото
на почивка може да се появи в различни точки в симулация цикъл.
Ако
симулатор е оценка на процеса по време на почивка, A user_break
Ще се върна, въпреки това, ако симулатора е завършил процеси и
е актуализирането на сигнала ценности, тогава user_stop ще бъдат върнати.
В фините
начин да видиш това в сегашната система е с Източник прозорец.
В
първият случай на източника прозорец показва файла линия с номер
синята стрелка, докато в последния случай не източник линия е показано.
Нов набор от компилатор превключватели са били добавени към позволи допълнително
портата на ниво оптимизации да се появят при Verilog клетки библиотеки.По първоначални версии на 5.5, тези оптимизации са изключително консервативни
по отношение на това дали или не е било разрешено за оптимизация.
С 5.5b,
няколко стрелки са били добавени към забраните на някои от тези проверки.
В ключове, са посочени в vlog компилатор за командния ред.
Те имат ефект само при съставянето на портата на ниво клетки библиотеки, като се използват
най-бързо преминаване.
Може също така да посочите-debugCellOpt
превключвате да се провери дали са настъпили оптимизации.nocheckCLUP
Това преминаване позволява свързване петелки в клетката да бъдат оптимизирани.
nocheckOPRD
Това позволява преминаването изходен порт да се чете вътрешно от клетката.
Имайте предвид, ако стойността
прочети е само стойността допринесли за изхода от клетки, и ако там '
шофьор в мрежата извън клетката, стойността четат, няма да отразяват
на решени стойност.
nocheckDNET
Това позволи на двете преминаването на пристанището и забавено порт (създаден за негативните настройка / задръжте)
да бъдат използвани в функционалната част на клетката.
nocheckSUDP
Това позволява преминаването пореден UDP за шофиране друга пореден UDP.
Ако сте посочили nocheckALL, всички тези знамена ще бъдат активирани.
Имайте предвид също така
функциите на клетката трябва да бъдат проверени, след като използвате един от тези
превключватели.
В vlog-бързо преминаване сега дръжки клетки с $ setuphold
и $ recrem timingchecks, които използват или tstamp_cond
tcheck_cond аргументи.Добавя предупреждение при изработването generics / параметри, посочени в командния
съответствие с G-или-грам не са налични в дизайна.VHDL подобрение на ефективността бяха добавени към Std_Developerskit std_mempak
пакет.
В Mem_Load и Mem_Dump процедури сега са претоварени по подразбиране с
ускорено версии на тези процедури.
А recompile на VHDL код използвайки
тези процедури ще доведе до използването на вградения в ускорени процедури.
Съставяне с-noaccel std_mempak vcom вариант ще доведе до
Използването на оригинални VHDL код от опаковката.Възможността е добавен към ModelSim PE и OEM продукти (ModelSim SE вече
има тази функция), за да плоча и каскада прозорци от командния ред.
Това
функционалност е възможна само от GUI-рано.Verilog 2001 подкрепа за взаимно закъснения.
Тази функция е активирана с-v2k_intr_delay ключ.
Ключ
причините за забавянето да се вижда по време на натоварването порт (по-рано, потребителят трябва да
свържете буфер вътре товара модул да видите закъснение).
Ако сте
$sdf_annotate() разговори в дизайна, които не се изпълняват
тогава трябва да добавите Verilog задача $sdf_done() след последното Ви
$sdf_annotate() за да премахнете всички нулево забавяне MIPDs, които може да са били
създаден.
[Това съобщение беше редактирано от: ssyang относно 2001-06-02 22:00]