-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmullinengine.jl
More file actions
78 lines (62 loc) · 1.97 KB
/
mullinengine.jl
File metadata and controls
78 lines (62 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using Verilog
using Base.Test
using SigmoidNumbers
const TESTSET = [:multilang]
should_test(s) = s in TESTSET || "all" in ARGS
include("./general/posit-facts.jl")
include("./general/frac_round.v.jl")
include("./general/exp_trim.v.jl")
include("./decoder/posit_decode.v.jl")
include("./encoder/posit_encode.v.jl")
include("./multiplier/posit_mult.v.jl")
include("./adder/posit_add.v.jl")
#testing suite
if should_test(:basics)
include("./general/methods_testing.jl")
include("./decoder/posit_decode_test.jl")
include("./encoder/posit_encode_test.jl")
include("./multiplier/posit_mult_test.jl")
include("./adder/posit_add_test.jl")
end
if should_test(:add8)
@time test_8bit_add()
include("./adder/posit_add_test.cg.jl")
end
if should_test(:mul8)
#@time test_8bit_mul()
include("./multiplier/posit_mult_test.cg.jl")
end
srand(1)
#for restricted printing options
include("./mullinrow/mullinrow.v.jl")
if should_test(:mullin)
include("./mullinrow/mullintest.jl")
include("./mullinrow/mullintest-1row.jl")
include("./mullinrow/mullintest-2row.jl")
include("./mullinrow/mullintest-8row.jl")
test_mullin_mul()
test_mullin_add()
test_mullin_1row()
test_mullin_8rows()
end
#mullin sim stuff.
include("mullinrow-c/mullinsim.jl")
if should_test(:mullinsim)
should_test(:mullin) || include("./mullinrow/mullintest-8row.jl")
should_test(:idtest) && identity_test_mullin_8rows()
include("./mullinrow-c/mullinsim-test.jl")
include("./mullinrow/mullintest-8row-c.jl")
test_mullin_8rows_c()
end
if should_test(:make_clib)
should_test(:mullin_sim) || include("./mullinrow/mullintest-8row-c.jl")
verilate(mullin_8row_c_wrapper, (); path = "./cgen", with_source=true)
end
if should_test(:multilang)
should_test(:mullin) || include("./mullinrow/mullintest-8row.jl")
should_test(:mullin_sim) || include("./mullinrow/mullintest-8row-c.jl")
include("./mullinrow/multilanguage_c_library.jl")
#test_c_conversions()
generate_c_library()
test_multilanguage_c_wrapper()
end