TCL withSNPS info existscreate_cellcreate_netconnect_net
文章目錄
- info exists
- create cell
- create_net
- connect_net
info的選項有很多
info exists
語法格式為:
info exists var
意思是說info exists varName 如果名為varName的變量在當前上下文(作為全局或局部變量)存在,返回1,否則返回0。
create cell
這句cmd是SNPS的cmd,代表的意思是說創建一個leaf cells或者是一個hierarchy cell在當前的design或者是sub_design.
如上,首先是定義SDFF是lib里面的哪一顆SDFF,然后create一個新的cell出來,這個cell的reference_name是這個SVN_FSDPQ0_8的cell,從而,tool會創建一個名字叫做cisco的cell,并且指導這個新cell的端口方向,pin的數目等的創建。
create_net
可以指導create_net可以創建一個net的list,如果有選項-power的話,就會接power,如果有選項-ground的話,就會接地。
不過這個只在topo模式下有效
在net_list里面可以創建的是signle bit的net,一定要注意的是在一個hierarchy下面只能有一個唯一名字的net。
如果你想將這些scalar net(signle bit)變成bus的話,可以用create_bus的命令
注意,你在一個hierarchy下面創建的net都是沒有連接的,如果你想要建立起來連接關系,你需要使用cmd:
connect_net
如果你想要移除掉這種連接關系,可以使用remove_net
這個cmd。
如上的例子,在當前的中,在mid1的sub design下面創建了net:
N1 N2 N3 N4 .
然后如果要看見是否創建成果,可以采用get_nets mid1*
也就是把hierarchy在mid1下面的net都抓了出來。
connect_net
這句cmd的作用是connect指定過的net到指定的pin或者是ports上面。
注意這個net必須是signgle bit,不可以是bus,必須要存在在當前的design中。
net是指明要連接的net
object_list指的是net要連接到的pin和ports的list,如果這個ports或者說pin已經被連接上了,那么tool就會報錯。一個net可以連接到很多pin或者ports,但是你不能一個pin或者ports上連接是超過一個net。
另外net,你可以再任何hierarchy下面,但是,你指定的所有port和pins必須要在一個hierarchy 。
如上圖所示,pin和ports要在指定的net相同的hierarchy,換句話說創建的net不能跨域自己的hierarchy去連接。
實驗驗證如下,一旦跨域,就會報錯。
如下圖,可以看到我們create的port,當沒有指明方向的時候默認是input
如下圖所示,可以看到相當于整個port assign賦值給了CISCO這個net。
如上,可以看到默認連接到了input,而這個net還是floating的。
現在再創近一個output,然后將這個CISCO的net連接到了output上去。
疑問:如何指定任意一個地方創建了net后,然后連接到任意的port上?
總結
以上是生活随笔為你收集整理的TCL withSNPS info existscreate_cellcreate_netconnect_net的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCL with SNPS - get_
- 下一篇: TCL with SNPS sizeof