FPGA CW Keyer (12)

dash4

The dot/dash ratio can be different from usual 1:3.

parameter COUNT_DOT   = 32'h0010_0000;
parameter COUNT_DASH  = 32'h0040_0000;
parameter COUNT_SPACE = 32'h0010_0000;
//
if ( shift_reg [5] )
begin
    count_max <= COUNT_DASH;
    count     <= 32'h0000_0000;
    r_state   <=  4'b0001; // next state is DASH
end

The state transition becomes simpler in this way.

shannon

The figure is from the very famous paper by Shannon.