|
发表于 2016-1-20 17:23:57
|
显示全部楼层
回复 22# zhanghao301
写个VerilogA模块直接把采保的输出读到一个.csv文件里, 然后用MATLAB处理数据, 下面给你个保存数据的VerilogA代码的例子, 我自己写的用起来很方便:
`include "constants.vams"
`include "disciplines.vams"
module DATA_LOG( clk, data_in );
parameter VREF_P = 5.0;
parameter VREF_N = 0.0;
parameter VTH = 2.5;
parameter NUM_OF_CODES = 512;
input clk, data_in;
electrical clk, data_in;
integer fid, i;
analog
begin
@( initial_step )
begin
fid = $fopen( "path/SH_SNDR.csv", "w" ); //保存数据到双引号内的路径
i = 0;
end
@( cross( V( clk ) - VTH, +1 ) )
begin
$fstrobe( fid, " %g ", V( data_in ) );
i = i + 1;
if ( i > NUM_OF_CODES )
begin
$strobe ( " Simulation terminates! " );
$fclose( fid );
end
end
end
endmodule |
|