Languages

CommunityCategory: XMODELCSV 파일에 담겨 있는 파형을 XMODEL 시뮬레이션에서 재생하기

XMODEL

CSV 파일에 담겨 있는 파형을 XMODEL 시뮬레이션에서 재생하기

SA Support Team Staff 2019-08-12

XMODEL 시뮬레이션에 적용하고 싶은 파형 정보가 CSV 파일에 아래와 같은 형식으로 저장되어 있습니다.

time1, value1
time2, value2
…

이 파형을 XMODEL 시뮬레이션에서 재생하는 방법이 있을까요?

1 Answers
Best Answer
SA Support Team Staff 2019-08-12

가장 간단한 방법은 CSV 파일에 저장되어 있는 파형정보를 MODELFIT 라이브러리를 활용해서 'pwl_gen' primitive에서 사용할 수 있는 파라메터 파일로 변환하는 방법 같습니다.
예를 들어, 아래의 Python 스크립트를 실행하면, waves.csv 파일을 읽어서 그 정보를 pwl_gen.dat라는 파라메터 파일로 변환 및 저장합니다.

#!/usr/bin/env xmodelpy

import numpy as np
import modelfit

data = np.loadtxt('waves.csv', delimiter=',')
t, v = data[:,0], data[:,1]

modelfit.modelfit(model='pwl_gen', in_=t, out=v, 
                  abstol=1e-4, reltol=1e-2, filename='pwl_gen.dat')

이렇게 생성된 pwl_gen.dat 파일을 XMODEL testbench 상에서 아래의 예처럼 pwl_gen primitive의 인자로 전달하면, 해당 primitive는 같은 파형을 signal이라는 신호로 재생하게 됩니다.

xreal signal;
pwl_gen #(.filename("/<PATH>/pwl_gen.dat")) I0 (signal);

여기서 '<PATH>'pwl_gen.dat 파일의 절대경로 위치를 의미합니다.
GLISTER에서 schematic 형태로 testbench를 작성한다면 아래처럼 pwl_gen primitive를 사용하시면 됩니다.