利用AMSVF進行混合信號SoC的全芯片驗證
AMSVF的應用與重要功能
AMSVF中有許多實用而重要的功能,其中某些功能可用于減少建立測試用例所需的手工時間,而另外一些功能可用于驗證性能。
自動總線連接
在HDL語言中,總線信號的使用非常普遍且不可或缺。但SPICE中并沒有類似的概念或定義,連接到SPICE支電路的Verilog總線必須被分解到每一個單獨的端口,而且必須按順序連接。例如:
module verilog;
wire [0:5] v;
analog_top xana_top ( v[0], v[1], v[2], v[3], v[4], v[5] );
endmodule
.subckt analog_top p0> p1> p2> p3> p4> p5>
...
.ends
為了準確地連接Verilog實例和SPICE subckt,總線信號v[0:5]必須被分離。通常,分離的過程需要極為耗時的手動編輯,尤其對于規(guī)模較大的總線更是如此。而在AMSVF中,通過自動總線連接功能,用戶可以輕松地將實例寫為:
analog_top xana_top ( v );
用戶可以在SPICE網(wǎng)表中設置總線界定符,告知AMSVF哪個符號用于總線信號。這里符號> 和[ ]為默認界定符,甚至也可以支持空總線界定符。
AICM與BDR
AMS Designer嚴格遵從Verilog AMS的規(guī)范確定(Discipline Resolution)過程,它讓用戶可以依靠工具確認信號間的連通性,并能實現(xiàn)連接模塊的自動插入。
AICM(自動插入連接模塊)算法判定通過未聲明端口相連的線網(wǎng)規(guī)范,然后在模擬和數(shù)字域邊界上插入連接模塊。除了電氣到邏輯(E2L)以及邏輯到電氣(L2E)這兩個普通的連接模塊外,AICM還支持雙向的連接模塊,這對于不想明確指定線網(wǎng)端口方向的用戶來說是非常方便的。
在驗證大規(guī)模設計時,尤其是在ncelab階段,新的BDR(鎖定規(guī)范確定)功能能夠讓設計師應用他們的設計知識去控制并縮小規(guī)范確定的解析范圍以提升性能。此外,如果通過AMSVF驗證的設計在數(shù)字和模擬之間有清晰的界限,或其所有線網(wǎng)都已被明確地聲明,那么,利用“-disres none”選項甚至可以跳過規(guī)范確定過程,顯著縮短運行時間。因此,這種新功能可以大幅提高AMSVF在ncelab階段的性能和效率。
此外,BDR對于多電源設計來說是非常實用的。例如,對于同時使用5V、3.3V和1.8V供應電源的電路來說,當數(shù)字模塊用不同的供應電源連接模擬模塊時,數(shù)字信號將會有不同的數(shù)字規(guī)范,如logic5V、logic33V 和logic18V,而對于單電源設計來說,僅用缺省的logic這一個數(shù)字規(guī)范即可。因此通過這種功能,用戶可以為設計中的數(shù)字模塊設定不同的數(shù)字規(guī)范,以便模擬器更加準確地插入連接模塊。
Stub View
Stub View提供了從模擬中移除原理圖或Verilog AMS模塊的途徑。通過移除不影響模擬結果或是沒有使用到的模塊,可以幫助用戶加快模擬速度。另外,該功能可以用于確認哪個模塊是造成模擬速度降低的主要原因。
比如,電路中包含有不同激勵源的3個通道,每個通道彼此獨立,利用Stub View功能移除其中的一或兩個通道,就可以大幅加快模擬速度。
評論