|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def mydir():
|
|
|
|
import os
|
|
|
|
from pathlib import Path
|
|
|
|
return Path(os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))))
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_2ig_circuit(mydir):
|
|
|
|
from kyupy import verilog
|
|
|
|
from kyupy.techlib import SAED32
|
|
|
|
return verilog.load(mydir / 'b15_2ig.v.gz', branchforks=True, tlib=SAED32)
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_2ig_circuit_resolved(b15_2ig_circuit):
|
|
|
|
from kyupy.techlib import SAED32
|
|
|
|
cr = b15_2ig_circuit.copy()
|
|
|
|
cr.resolve_tlib_cells(SAED32)
|
|
|
|
return cr
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_4ig_circuit(mydir):
|
|
|
|
from kyupy import verilog
|
|
|
|
from kyupy.techlib import SAED32
|
|
|
|
return verilog.load(mydir / 'b15_4ig.v.gz', branchforks=True, tlib=SAED32)
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_4ig_circuit_resolved(b15_4ig_circuit):
|
|
|
|
from kyupy.techlib import SAED32
|
|
|
|
cr = b15_4ig_circuit.copy()
|
|
|
|
cr.resolve_tlib_cells(SAED32)
|
|
|
|
return cr
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_2ig_delays(mydir, b15_2ig_circuit):
|
|
|
|
from kyupy import sdf
|
|
|
|
from kyupy.techlib import SAED32
|
|
|
|
return sdf.load(mydir / 'b15_2ig.sdf.gz').iopaths(b15_2ig_circuit, tlib=SAED32)[1:2]
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_2ig_sa_nf_test_resp(mydir, b15_2ig_circuit_resolved):
|
|
|
|
from kyupy import stil
|
|
|
|
s = stil.load(mydir / 'b15_2ig.sa_nf.stil.gz')
|
|
|
|
tests = s.tests(b15_2ig_circuit_resolved)[:,1:]
|
|
|
|
resp = s.responses(b15_2ig_circuit_resolved)[:,1:]
|
|
|
|
return (tests, resp)
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def b15_4ig_sa_rf_test_resp(mydir, b15_4ig_circuit_resolved):
|
|
|
|
from kyupy import stil
|
|
|
|
s = stil.load(mydir / 'b15_4ig.sa_rf.stil.gz')
|
|
|
|
tests = s.tests(b15_4ig_circuit_resolved)[:,1:]
|
|
|
|
resp = s.responses(b15_4ig_circuit_resolved)[:,1:]
|
|
|
|
return (tests, resp)
|