CCSN Library
PT-SI在進(jìn)行噪聲分析前,首先需要確認(rèn)Library中具備噪聲模型。CCSN噪聲模型建模是基于CCB(Channel Connected Block)。數(shù)字邏輯單元可以認(rèn)為由一級或多級CCB組成,其中反相器,與非門,或非門只包含一級CCB;與門則包含兩級CCB;而寄存器則包含多級CCB。下面就簡單區(qū)分一下三種情況下噪聲建模的區(qū)別:
單級CCB邏輯單元
對于單級CCB邏輯單元,例如反相器,噪聲建模基于時序狐(Arc Based)。噪聲的傳輸可以基于Timing Arc,模型轉(zhuǎn)換框圖如下:
反相器的噪聲模型在.lib中大致如下:
pin (Z) {
...
timing () {
related_pin: A;
...
ccsn_first_stage() { /*First stage CCB*/
...
}
}
...
}
兩級CCB邏輯單元
對于兩級CCB邏輯單元,例如與門,噪聲建模也是基于時序狐(Arc Based)。分為input stage (ccsn_first_stage)和output stage (ccsn_last_stage),噪聲的傳輸亦可以基于Timing Arc,模型轉(zhuǎn)換框圖如下:
與門的噪聲模型在.lib中大致如下:
pin (Z) {
...
timing () {
related_pin: A;
...
ccsn_first_stage() { /*Input to Internal Node*/
...
}
ccsn_last_stage() { /*Internal Node to Output*/
...
}
}
...
}
多級CCB邏輯單元
對于多級CCB邏輯單元,例如寄存器,噪聲建模是基于Pin的 (Pin Based),對于所有inputs都抽取ccsn_first_stage模型,對于outputs抽取ccsn_last_stage模型。如果這種邏輯單元中存在某些input-output的路徑只有兩級CCB,也可以通過Arc Based方式建模。模型轉(zhuǎn)換框圖如下:
寄存器的噪聲模型在.lib中大致如下:
pin (CDN) {
...
}
pin (CP) {
...
ccsn_first_stage() {
...
}
}
pin (D) {
...
ccsn_first_stage() {
...
}
}
pin (Q) {
...
timing () {
related_pin: CDN;
...
ccsn_first_stage() { /*Input to Internal Node*/
...
}
ccsn_last_stage() { /*Internal Node to Output*/
...
}
}
...
}
需要注意的,對于Arc Based和Pin Based兩種方式,.lib中噪聲相關(guān)的屬性存儲的對象是不同的,Arc Based噪聲屬性是存在對于的Arc中,而Pin Based噪聲屬性則是與Pin關(guān)聯(lián)的,具體的區(qū)別可以參看下面的命令:
#Arc Based Attributes
get_attribute [get_lib_timing_arc -of [get_lib_cell */INV1X]] has_ccs_noise_above_high
#Pin Based Attributes
get_attribute [get_lib_pins -of [get_lib_cell */INV1X]] has_ccs_noise_above_high
噪聲分析實戰(zhàn)
為了進(jìn)行Noise或者Glitch分析,需要對一個串?dāng)_造成的Bump建模,它有寬度和高度,還有面積等屬性概念(如下圖所示),在分析噪聲時可以分別針對height, area, area_percent進(jìn)行分析,命令如下:
#默認(rèn)值是height
report_noise -slack_type height
#area=1/2* height * width
report_noise -slack_type area
#area_percent = (constrainted height - actual height) / constrainted height
report_noise -slack_type area_percent
PT-SI在進(jìn)行update_noise計算時,首先會采用較為悲觀的方式快速計算一個類似于下圖中DC noise margin的閾值,如果計算出的Bump Height遠(yuǎn)低于該值,那么就可以斷定沒有noise不會傳播,沒有危害。如果計算出的Bump Height接近這個閾值,那么工具就會啟動更精細(xì)的類似SPICE的門級仿真,取得更精確的結(jié)果。通過這種方式,即節(jié)省了時間,又保證了精度。
下圖中的曲線可以看做是Noise Immunity Curve(NIC),在曲線左下角的Glitch都是無害的,而右上角的Glitch都是必須修復(fù)掉的。PT-SI在進(jìn)行Noise門級仿真時會實時地計算出各個點的NIC,通過PT的GUI界面也可以調(diào)出這類圖片。
最后,簡單聊一聊萬一出現(xiàn)的noise違例,我們怎么去修復(fù)呢?
這個需要結(jié)合受害(victim)和攻擊(aggressor) Net相關(guān)路徑的時序,周圍Net和Cell的密集程度等情況來具體分析,大致上有以下方法:
(1)增加受害Net的驅(qū)動單元驅(qū)動能力
(2)減少受害Net的負(fù)載單元驅(qū)動能力
(3)增加受害Net和攻擊Net的間距
(4)降低攻擊Net的驅(qū)動單元驅(qū)動能力
(5)通過加Buffer將受害Net打斷 (工具一般是通過這種方式來修復(fù))
(6)將受害或者攻擊Net的驅(qū)動單元或者負(fù)載單元挪開一定距離,并重新ECO繞線
-
寄存器
+關(guān)注
關(guān)注
31文章
5372瀏覽量
121296 -
反相器
+關(guān)注
關(guān)注
6文章
314瀏覽量
43527 -
CCSN
+關(guān)注
關(guān)注
0文章
3瀏覽量
7109 -
GUI
+關(guān)注
關(guān)注
3文章
663瀏覽量
39917 -
SPICE仿真
+關(guān)注
關(guān)注
1文章
27瀏覽量
6453
發(fā)布評論請先 登錄
相關(guān)推薦
怎么抑制PCB小間距QFN封裝引入的串擾
什么是串擾它的形成原理是怎樣的
![什么是<b class='flag-5'>串</b><b class='flag-5'>擾</b>它的形成原理是怎樣的](https://file.elecfans.com/web1/M00/A6/D2/o4YBAF2B2LiAERZQAAJlx4qzAdQ962.png)
如何解決PCB串擾問題
如何解決EMC設(shè)計中的串擾問題?
串擾是怎么引起的 降低串擾有哪些方法
理解串擾Crosstalk
![理解<b class='flag-5'>串</b><b class='flag-5'>擾</b>Crosstalk](https://file.elecfans.com//web2/M00/69/3E/pYYBAGMhM0CATzqpAAA497aWryg45.jpeg)
使用電感降低噪聲的注意點:串擾、GND線反彈噪聲
![使用電感降低<b class='flag-5'>噪聲</b>的注意點:<b class='flag-5'>串</b><b class='flag-5'>擾</b>、GND線反彈<b class='flag-5'>噪聲</b>](https://file.elecfans.com/web2/M00/8F/9E/pYYBAGPjFTuABOi_AAA_w_Yighc417.jpg)
S參數(shù)與串擾知識的講解
![S參數(shù)與<b class='flag-5'>串</b><b class='flag-5'>擾</b>知識的<b class='flag-5'>講解</b>](https://file1.elecfans.com/web2/M00/82/7E/wKgaomRUzPuAO347AAA9wCxzykE362.png)
評論