- Derive minimized boolean expressions, map to gates, or use multiplexers/PLAs for structured design.
- HDL synthesis (Verilog/VHDL) maps RTL to LUTs (FPGAs) or standard cells (ASICs).
- Hazard-aware implementations avoid glitches via proper factoring and timing.
// Verilog: Moore FSM skeleton
module fsm(input clk, input rst, input in, output reg out);
typedef enum logic [1:0] {S0=2'b00,S1=2'b01,S2=2'b10} state_t;
state_t s, s_next;
always_ff @(posedge clk or posedge rst) begin
if (rst) s <= S0; else s <= s_next;
end
always_comb begin
s_next = s; out = 0;
unique case (s)
S0: s_next = in ? S1 : S0;
S1: s_next = in ? S1 : S2;
S2: begin out = in; s_next = in ? S1 : S0; end
endcase
end
endmodule