Hướng dẫn sử dụng mạch Sipeed Tang Nano 9k Gowin GW1NR-9 FPGA Development Board

FPGA TANG NANO 9K

Hôm nay hãy cùng mình làm quen với cách sử dụng phần mềm GowinKIT Sipeed Tang Nano 9k Gowin GW1NR-9 FPGA Development Board qua ứng dụng cơ bản là Blink Led.

Chuẩn bị

  1. Ngôn ngữ lập trình: Ngôn ngữ thông dụng cho FPGA là VHDL và  Verilog. (ở đây mình dùng verilog vì nó thân thiện với những bạn đã có kiến thức về ngôn ngữ C)
  2. Một chút xíu kiến thức về kỹ thuật số.(tín hiệu LOGIC các mạch Flip-Flop, các cổng AND,NOR,NOT… vân vân và mây mây 😌)

->Bấy nhiêu thôi là mình đã có thể tham gia vào cuộc đua tốc độ này rồi, quá dễ dàng phải không nào.😛còn bây giờ ae cùng mình bước vào cửa ải đầu tiên là cài đặt môi trường trò chơi nào.

Cài đặt phần mềm Gowin

Tải phần mềm tại đây:  Download Link  (nhớ là phải đăng ký tài khoản thì mới tải về được nhé.😊)

TANG NANO 9K FPGA

Chọn bản Sofware phù hợp với nhu cầu, (bản Education FREE, bản còn lại thì có tính phí nhé), sau khi tải về thì làm theo hướng dẫn trong link sau để cài đặt nhé: Hướng dẫn Install IDE

Chạy chương trình đầu tiên Blink Led

Đầu tiên chúng ta cần xem qua ( Schematic) để biết các chân IO trên KIT dược sắp xếp như thế nào:

TANG NANO 9K FPGA_VERILOG

Mở phần mềm Gowin (trên window nhấn Ctrl + N) hoặc nhấp vào file -> new để tạo Project mới:

TANG NANO 9K

Điền tên và lưu Project vào thư mục mong muốn sau đó nhấn Next:

TANG NANO 9K

Chọn theo các bước như hình sau đó nhấn Next rồi nhấn Finish:

TANG NANO 9K

Nhấp chuột phải vào file có chỉ mục số 1, chọn new -> chọn ngôn ngữ lập trình, ở đây mình dùng verilog nên mình sẽ chọn verilog file, bạn nào dùng VHDL thì chọn VHDL file -> sau đó nhấn OK:

FPGA _TANG 9K_DEMO_BLINK_LED

Điền tên và nơi lưu trữ file, sau đó nhấn OK:

FPGA _TANG 9K_DEMO_BLINK_LEDNhấp đúp chuột trái vào ô số 1 sau đó nhập code vào ô số 2:

FPGA _TANG 9K_DEMO_BLINK_LED

** CODE mình sẽ để ở đây nhé:

// Quick blinking a LED

/* module */
module blinking (

    input CLOCK_50,
    output [1:0] LEDG
    
);

    /* reg */
    reg data1 = 1'b0;
    reg [32:0] counter;
    reg state;
    
    /* assign */
    assign LEDG[0] = state;
    assign LEDG[1] = state;
    
    /* always */
    always @ (posedge CLOCK_50) begin
        counter <= counter + 1;
        state <= counter[23]; // <------ data to change
    end

endmodule

Sau khi code xong, tiếp theo ae bấm vào process sau đó (2click chuột trái) đúp bồ click vào Synthesize và đợi load đến 100% như hình:

FPGA _TANG 9K_DEMO_BLINK_LED

FPGA _TANG 9K_DEMO_BLINK_LED

Nhấn 2 click vào  FloorPlanner sao đó nhấn OK để tạo file .cst:

FPGA _TANG 9K_DEMO_BLINK_LED

Nhấn vào Package View sau dó nhấn vào các file ở mục 2 trong hình để show các chân io cấu hình:

FPGA TANG NANO 9K VERILOG BLINK_LED

Nhấn vào IO constraints và điền số chân vào các port mong muốn.

Lưu ý: nhớ xem schematic, biết chức năng của các chân I\0 để cấu hình chuẩn nhất nhé. 

FPGA TANG NANO 9K VERILOG LINK_LED

Nhấp 2 click vào Place & route và đợi chương trình chạy xong  100%:

FPGA TANG NANO 9K

Làm theo các bước trong ảnh, tại bước 4 là nơi lưu file đuôi .fs sau khi đã được Place & route, file này sẽ dược nạp vào kit nano 9k, tiếp thep nhấn vào Program/configure để test:

Chớp chớp như này là kê cao gối ngủ được rồi 😁:

Tìm kiếm

Các kênh truyền thông

Dịch vụ

Các chuyên mục

Bài viết liên quan

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments