OparinVD 0 Monday at 04:58 PM Posted Monday at 04:58 PM · Report post Доброго дня! Я прикручиваю bd.tcl к своему кастомному ip. Можно ли в нем помимо стандартных callback'ов, которые дергает вивда при валидации bd, положить свои функции, которые буду дергать я со своего топлевел-bd? Например, передавать по кругу некий list, а каждый инстанс bd_cell добавит в этот list всё, что сочтет нужным. Если абстрактно, то выглядеть должно как-то так: set bdcell_01 [ create_bd_cell -type ip -vlnv <somthing #01> ] set bdcell_02 [ create_bd_cell -type ip -vlnv <somthing #02> ] set reglist [list ] bdcell_01.register reglist bdcell_02.register reglist foreach item $reglist { ...} Как этим пользоваться я в полной мере еще не продумал )) Может и не нужно оно вовсе, но пока интересна принципиальная возможность такой техники, можно ли на нее закладываться? Quote Share this post Link to post Share on other sites More sharing options...
OparinVD 0 Tuesday at 09:50 AM Posted Tuesday at 09:50 AM · Report post Попробовал зайти чере namespace. Добавил вот это в bd.tcl namespace eval ns1 { proc my_callback {cell params} { puts "**********************" puts "$cell Hello from my_callback" puts "** params: $params ***" } } но не прокатило. Видимо bd.tcl в явном виде не сорсится. Или сорсится, но в каком-то отдельном служебном контексте... Quote Share this post Link to post Share on other sites More sharing options...
OparinVD 0 Thursday at 04:54 PM Posted Thursday at 04:54 PM · Report post а, всё нормально, заблудился в namespace'ах всё, что прописано в bd.tcl, живет в namespace, образованном от vlnv (без разделителей), поэтому надо было или определять namespace eval ::ns1 {} чтобы наследоваться от топа, или сразу обращаться к любой функции в bd.tcl как ${vlnv}::my_func думаю, на этом всё )) Quote Share this post Link to post Share on other sites More sharing options...