FPGA CW Keyer (2)

waveform2

First, we simulate with DOTs only. Never mind the details, as I always say.

//---------  test bench ---------------------
initial begin
    CLK <= 1'b1;
    forever begin
        #10;
        CLK <= ~CLK;
    end
end

initial begin
    RST_N <= 1'b0;
     #50;
    RST_N <= 1'b1;
    #1100000;
    $finish;
end

initial begin
    IN_DOT <= 1'b1; #125; 
    IN_DOT <= 1'b0; #10;
    IN_DOT <= 1'b1; #100;
    IN_DOT <= 1'b0; #30;
    IN_DOT <= 1'b1; #100;
    IN_DOT <= 1'b0; #60;
    IN_DOT <= 1'b1; #100;
    IN_DOT <= 1'b0; #80;
    IN_DOT <= 1'b1; #100;
    IN_DOT <= 1'b0; #100;
    IN_DOT <= 1'b1; #1000000;
end
//---------  generate dot ---------------------
    always @ (posedge CLK or negedge RST_N) begin
        if ( RST_N == 1'b0 ) begin
            r_dot <= 1'b0;
        end
        else if ( IN_DOT == 1'b0 ) begin
            r_dot <= ~r_dot;
        end
        else begin
            r_dot <= 1'b0;
        end
    end

Quartus Prime on Ubuntu 16.04 LTS

quartusPrime

Installed Quartus Prime 15.1 Lite Edition and ModelSim-Altera Starter Edition 10.4b on Ubuntu 16.04 LTS.

modelsim

Note that the 32 bit library files are required to run the ModelSim-Altera (Starter) Edition software on Linux 64 bit platforms.

% sudo dpkg --add-architecture i386
% sudo apt-get update
% sudo apt-get install libxft2:i386 libxext6:i386 libncurses5:i386