Skip to content

Commit

Permalink
Add test for verilator target with test vectors
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardt committed Aug 17, 2018
1 parent c67f7cf commit 42ccf06
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions tests/test_test_vectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,31 @@ def fn(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


def test_basic_circuit():
def f(a, b, c):
return (a & b) ^ c

import magma as m
import mantle

class main(m.Circuit):
IO = ["a", m.In(m.Bit), "b", m.In(m.Bit), "c", m.In(m.Bit),
"d", m.Out(m.Bit)]

@classmethod
def definition(io):
m.wire(f(io.a, io.b, io.c), io.d)

import shutil
import os
os.mkdir("build")
m.compile("build/main", main, "coreir-verilog")

from fault.verilator_target import VerilatorTarget

test_vectors = generate_function_test_vectors(main, f)

VerilatorTarget(main, test_vectors).run()
shutil.rmtree("build")

0 comments on commit 42ccf06

Please sign in to comment.