|
Jazz is a high-level (lazy, declarative, higher-order, functional,
object-oriented, single-assignment, symbolic, strongly typed with
type-inference) modern programming language. See the Jazz home page. Jazz
is designed for expressing, concisely and accurately, very large digital
synchronous circuits. The execution of a program in Jazz synthesizes the netlist
for a synchronous circuit. The 2-adic semantics for nets n:net in Jazz is presented in "On
Circuits and Numbers" [pdf] . By construction, the netlist
has the same digital behaviour as the Jazz source code, according to
the above semantics. We use Jazz at ENS for teaching the art of digital
synchronous circuit design. We expect to soon also use the system as a
path to fully automatic logic synthesis (from a unique Jazz source code) for
challenging digital designs, targetting FPGAs and large reconfigurable
systems. |
|