Обычно такой вопрос считается широким и самоуверенным для SO.Но так как я принимал непосредственное участие в разработке и стандартизации SystemVerilog, я могу представить несколько фактов из статьи , о которой я писал.
Программные блоки поступили непосредственно от пожертвования языка Vera для SystemVerilog от Synopsys и попытайтесь имитировать семантику планирования, которую приложение PLI взаимодействует с симулятором Verilog.
program
Изначально целью блока SystemVerilog было избежать условий гонки.(не нарушения синхронизации) между дискретизацией и движущими сигналами между тестируемым устройством и испытательным стендом.Он также контролировал запуск и завершение " test ".
С момента его появления ряд других функций в SystemVerilog объединили потребность в program
блоках, как я объясняю в моем статья .