Ejemplo n.º 1
0
def sim(Test, TestFun):
    if TestFun is None:
        return
    return
    tvsim = generate_simulator_test_vectors(Test)
    tvfun = generate_function_test_vectors(Test, TestFun)
    assert tvsim == tvfun
Ejemplo n.º 2
0
def test_circuit(Circuit):
    def fn(I):
        return I

    function_test_vectors = generate_function_test_vectors(Circuit, fn)
    simulator_test_vectors = generate_simulator_test_vectors(Circuit)
    assert function_test_vectors == simulator_test_vectors
Ejemplo n.º 3
0
def sim(Test, TestFun):
    if TestFun is None:
        return
    if magma.mantle_target in ['spartan3', 'spartan6']:
        return
    tvsim = generate_simulator_test_vectors(Test)
    tvfun = generate_function_test_vectors(Test, TestFun)
    assert tvsim == tvfun
Ejemplo n.º 4
0
# In[2]:

m.compile("build/FullAdder", FullAdder, output="coreir")
get_ipython().magic('cat build/FullAdder.json')

# In[3]:

m.compile("build/FullAdder", FullAdder, output="coreir-verilog")
get_ipython().magic('cat build/FullAdder.v')

# In[4]:

from fault.test_vectors import generate_simulator_test_vectors
from bit_vector import BitVector

test_vectors_raw = [[0, 0, 0, 0, 0], [0, 0, 1, 1, 0], [0, 1, 0, 1, 0],
                    [0, 1, 1, 0, 1], [1, 0, 0, 1, 0], [1, 0, 1, 0, 1],
                    [1, 1, 0, 0, 1], [1, 1, 1, 1, 1]]

test_vectors = [[BitVector(x) for x in test_vector]
                for test_vector in test_vectors_raw]

tests = generate_simulator_test_vectors(FullAdder, flatten=False)
print("Success" if tests == test_vectors else "Failure")

# In[5]:

from magma.waveform import waveform

waveform(test_vectors_raw, ["a", "b", "cin", "sum", "cout"])
Ejemplo n.º 5
0
def sim(Test, TestFun):
    tvsim = generate_simulator_test_vectors(Test)
    tvfun = generate_function_test_vectors(Test, TestFun)
    assert tvsim == tvfun
Ejemplo n.º 6
0
def test_add():
    width = 4
    mask = 2**width - 1
    Add = DefineAdd(width)
    assert generate_function_test_vectors(Add, lambda x, y: (x + y) & mask) == \
        generate_simulator_test_vectors(Add)
Ejemplo n.º 7
0
Adder4 = DefineAdder(4)


# In[2]:


print(repr(Adder4))


# In[3]:


m.compile("build/Adder4", Adder4, output="coreir")
get_ipython().magic('cat build/Adder4.json')


# In[4]:


from fault.test_vectors import generate_simulator_test_vectors
import fault

tests = generate_simulator_test_vectors(Adder4, flatten=False)
print(" a  b  ci o  co")
for test in tests:
    for t in test:
        print("{:2d}".format(t.as_uint()), end=' ')
    print()