diff options
Diffstat (limited to 'cpu/example_cpu.ml')
-rw-r--r-- | cpu/example_cpu.ml | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cpu/example_cpu.ml b/cpu/example_cpu.ml new file mode 100644 index 0000000..2d60bec --- /dev/null +++ b/cpu/example_cpu.ml @@ -0,0 +1,19 @@ +open Netlist_gen + +(* Dumb CPU that just does an 8-bit addition *) + +let sumz n i = + let x, set_x = loop n in + let r = reg n x in + let o1, o2 = Alu.nadder n i r (const "0") in + set_x o1, o2 + +let p = + let width = 16 in + let sum, r = sumz width (get "in") in + program + [ "in", width ] + [ "out", width, sum; + "r", 1, r ] + +let () = Netlist_gen.print stdout p |