yes 23 January 27, 2025 Posted January 27, 2025 · Report post это все с каденсовским симулятором. я кокотб это впервые увидел в чужом проекте и хочется как-то позвать функцию из SV кода удивительно мало гуглиться, и я через питоновскую CDLL вроде достал sv_export.so и из питона что-то вызывается, но до симулятора не доходит точнее ncsim выдает ошибку No scope set prior to calling ... и имя функции ============== может я вообще не так делаю (даже С с питоном никогда не смешивал, не то что HDL) - наверняка этот cocotb весь через DPI сделан, и может какой-то штатный способ есть ему подсунуть верилог функцию - вот ничего толкового не смог нагуглить по вопросу ну а если я так как и надо делаю - то что упускаю? из С функция вызывается, если что Quote Share this post Link to post Share on other sites More sharing options...
yes 23 January 28, 2025 Posted January 28, 2025 · Report post то ли я что-то упустил, то ли поменялся стандарт/имплементация в ius с того момента, как я этот код запускал... попробовал тот же DPI из C позвать и там надо [теперь] явно задавать контекст - вызывать svSetScope() или как-то так. вроде раньше был контекст того модуля, где объявлена DPI функция ??? ------ напишу С-обертку с контекстом для этой DPI функции и эту обертку буду из питона звать. так наверно заработает... вопрос - можно ли как-то это "из коробки" в cocotb сделать? Quote Share this post Link to post Share on other sites More sharing options...
yes 23 January 29, 2025 Posted January 29, 2025 · Report post Через С работает, в С перед вызовом SV svScope sim_scope = svGetScopeFromName("top"); svSetScope(sim_scope); Quote Share this post Link to post Share on other sites More sharing options...
nice_vladi 3 February 3, 2025 Posted February 3, 2025 · Report post Если над дёрнуть внешнюю функцию внутри cocotb то это делается силами Python, cocotb и симулятор тут не при чём. Но вот если надо дёргать функции в/из RTL дизайна, то могут быть нюансы. cocotb не очень хорошо поддерживает xcelium, буквально пол года назад начали как-то двигаться в этом направлении. Так что с этим симулятором ещё может быть достаточно много багов. Quote Share this post Link to post Share on other sites More sharing options...
yes 23 February 3, 2025 Posted February 3, 2025 · Report post 11 hours ago, nice_vladi said: Если над дёрнуть внешнюю функцию внутри cocotb то это делается силами Python, cocotb и симулятор тут не при чём. Но вот если надо дёргать функции в/из RTL дизайна, то могут быть нюансы. cocotb не очень хорошо поддерживает xcelium, буквально пол года назад начали как-то двигаться в этом направлении. Так что с этим симулятором ещё может быть достаточно много багов. make для кселиума у них есть и вроде все работает. Каких-либо глюков я не встретил. Да, я сделал через с- шную dll и питоновскую ctype. Возможно, что очень криво, так как впервые этот ctype увидел. Но вопрос был, что может гдето внутрях cocotb такую задачу уже решили, и образно говоря, достаточно было какуюнибудь переменную в мэйке задать и получить все это "ис коропки" Quote Share this post Link to post Share on other sites More sharing options...
new123 0 February 4, 2025 Posted February 4, 2025 · Report post On 2/3/2025 at 6:40 AM, nice_vladi said: cocotb не очень хорошо поддерживает xcelium, буквально пол года назад начали как-то двигаться в этом направлении. наблюдаю за несколькими разрабами, которые юзают эту связку, вроде не жалуются несколько лет но и опять же, они не прогоняют такие углубленные и серьезные тесты как я через cocotb+questa. Быть может он глубже себя ведет хуже. Quote Share this post Link to post Share on other sites More sharing options...