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