blob: a3c4e54ba518cb477d646dfd8efd4072b5760156 [file] [log] [blame] [raw]
// Example code of a simple counter.
// CIRCT example code may not always work out of the box because the textual MLIR format is not always stable.
// The example tries to be compatible with the latest CIRCT version, using relatively stable IR.
hw.module @Counter(%clock: i1, %reset: i1) -> (count: i8) {
%c0_i8 = hw.constant 0 : i8
%c1_i8 = hw.constant 1 : i8
%counter = seq.compreg %0, %clock, %reset, %c0_i8 : i8
%0 = comb.add %counter, %c1_i8 : i8
hw.output %counter : i8
}