使用Matlab生成波形文件在Cadence中仿真

對(duì)于Cadence中電路仿真,我們一般使用的信號(hào)源都是直接使用analogLib庫(kù)里提供的一些正弦、指數(shù)、方波等信號(hào),不過(guò)有時(shí)我們仿真一個(gè)電路往往是前面系統(tǒng)已經(jīng)處理過(guò)的信號(hào),不是簡(jiǎn)單的信號(hào)形式了(可能是半高斯波形什么的),這個(gè)時(shí)候可以通過(guò)Matlab生成波形文件,導(dǎo)入到Cadence中進(jìn)行仿真。為方便起見(jiàn),下面以正弦信號(hào)為例,即通過(guò)Matlab生成正弦信號(hào)波形文件,然后將這個(gè)文件導(dǎo)入到Cadence中進(jìn)行仿真。

首先,使用外部波形文件必須用到Cadence自帶analogLib庫(kù)里的vsource這個(gè)源做為波形文件的載體,見(jiàn)下圖:

vsource

接下來(lái),得確定Cadence能識(shí)別的波形文件格式,一般是dat格式的文件,文件中數(shù)據(jù)分為兩列:第一列為時(shí)間,第二列也就是第一列時(shí)間點(diǎn)上對(duì)應(yīng)波形值,以下是一個(gè)用Matlab生成正弦波波形文件的例子,主要用到Matlab中的fopen,fprintf和fclose這3個(gè)函數(shù):

 t=0:1e-9:2e-6; % 時(shí)間范圍0->2us,步長(zhǎng)1ns

y=sin((1e6)*pi*t); % 生成頻率為1MHz的正弦波信號(hào)

m=[t;y];           % 寫(xiě)入一個(gè)2列n(時(shí)間點(diǎn)數(shù),此例中為2001個(gè))行的矩陣中

fid=fopen('input.dat','wt');   % 新建一個(gè)input.dat文件,對(duì)它進(jìn)行寫(xiě)操作

fprintf(fid,'%.9f %.8f\n',m);  % 將矩陣m中的數(shù)據(jù)寫(xiě)入文件中

fclose(fid);      % 關(guān)閉文件

現(xiàn)在就可以實(shí)驗(yàn)下了,假設(shè)生成的波形文件在/home/heli這個(gè)目錄下,那么我們回到cadence中導(dǎo)入該波形文件,其中設(shè)置詳見(jiàn)下圖:

vsource2
  • 注意圖中的標(biāo)號(hào):

1.Source Type選擇pwl;

2.WaveForm Entry Method 選擇File;

3.Delay Time可以設(shè)置波形延遲的時(shí)間(不設(shè)默認(rèn)沒(méi)有延遲);

4.DC offset設(shè)置直流偏置量(不設(shè)默認(rèn)偏壓為0);

5.Amplitude scale factor設(shè)置乘以幅值的系數(shù)(不設(shè)默認(rèn)為1)。

設(shè)置完成后就可以仿真了,大家看下仿真波形吧:

vsource3


原文地址:《使用Matlab生成波形文件在Cadence中仿真》 作者:蘇祖博涅

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容