(loop for i from 1 to 31 do (insert (format " alu_slice slice%d(result[%d],cout[%d],a[%d],b[%d],cout[%d],op);\n" i i i i i (1- i)))) (loop for i from 1 to 31 do (insert (format " alu_slice2 slice%d(result[%d],cout[%d],a[%d],b[%d],cout[%d],op,binvert);\n" i i i i i (1- i)))) ;; Lisp code from l05 (loop for i from 1 to 12 do (insert (format " assign carry[%d] =" i)) (loop for j from 0 to (1- i) do (insert (format " g[%d]" j)) (loop for k from (1+ j) to (1- i) do (insert (format " & p[%d]" k))) (insert (if (equal j (- i 1)) ";\n\n" "\n |")))) (loop for i from 0 to 11 do (insert (format " cla_slice s%d(sum[%d],g[%d],p[%d],a[%d],b[%d],carry[%d]);\n" i i i i i i i))) (loop for i from 0 to 11 do (insert (format " bfa_implicit bfa%d(sum[%d],carry[%d],a[%d],b[%d],carry[%d]);\n" i i i i i (1- i))))