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