LoginSignup
0
0

More than 3 years have passed since last update.

vistaでquartus その9

Posted at

概要

vistaでquartusやってみた。
zundokoやってみた。

環境

windows vista 32bit
quartus ii v13.0
ep2c5t144ボード

写真

image

サンプルコード

module test2(input clk, input rst, output tx);
    localparam NEXT = 4'b0000;
    localparam DONE = 4'b1111;
    reg [7:0] r;
    reg [3:0] n;
    reg [7:0] char;
    reg [3:0] state = NEXT;
    reg send = 0;
    reg [23:0] cnt;
    wire clk2 = cnt[13];
    tx1 tx1(.clk(clk), .rst(rst), .send(send), .data(char), .tx(tx), .ed(ed));
    always @(posedge clk)
    begin
        cnt <= cnt + 1'b1;
    end
    always @(posedge clk2)
    begin
        send <= 0;
        if (ed)
        begin   
            if (rst == 0)
            begin
                state <= NEXT;
                r <= 234;
                n <= 0;
            end
            else if (state == NEXT)
            begin
                r <= r * 5 + 1;
                state <= 1;
            end
            else if (state != DONE)
            begin
                if (n == 4)
                begin
                    case (state)
                    1:
                    begin
                        char <= "d";
                        state <= state + 1;
                    end
                    2:
                    begin
                        char <= "o";
                        state <= state + 1;
                    end
                    3:
                    begin
                        char <= "k";
                        state <= state + 1;
                    end
                    4:
                    begin
                        char <= "o";
                        state <= state + 1;
                    end
                    5:
                    begin
                        char <= "k";
                        state <= state + 1;
                    end
                    6:
                    begin
                        char <= "i";
                        state <= state + 1;
                    end
                    7:
                    begin
                        char <= "y";
                        state <= state + 1;
                    end
                    8:
                    begin
                        char <= "o";
                        state <= state + 1;
                    end
                    9:
                    begin
                        char <= "s";
                        state <= state + 1;
                    end
                    10:
                    begin
                        char <= "i";
                        state <= DONE;
                    end
                    endcase
                end
                else if (r < 127)
                begin
                    case (state)
                    1:
                    begin
                        char <= "z";
                        state <= state + 1;
                    end
                    2:
                    begin
                        char <= "u";
                        state <= state + 1;
                    end
                    3:
                    begin
                        char <= "n";
                        state <= state + 1;
                    end
                    4:
                    begin
                        char <= " ";
                        n <= n + 1;
                        state <= NEXT;
                    end
                    endcase
                end
                else 
                begin
                    case (state)
                    1:
                    begin
                        char <= "d";
                        state <= state + 1;
                    end
                    2:
                    begin
                        char <= "o";
                        state <= state + 1;
                    end
                    3:
                    begin
                        char <= "k";
                        state <= state + 1;
                    end
                    4:
                    begin
                        char <= "o";
                        state <= state + 1;
                    end 
                    5:
                    begin
                        char <= " ";
                        n <= 0;
                        state <= NEXT;
                    end
                    endcase
                end
                send <= 1;
            end
        end
    end
endmodule




以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0