Thiết kế - mô phỏng - program FPGA

19/03/2012 0 4517

Ví dụ một chương trình thiết kế FPGA để tạo ra vạch màu (color bar) hiển thị trên LCD. Mô phỏng dùng ModelSim, và tổng hợp file program cho FPGA dùng Quartus Web Edition.

Các bạn có thể dùng ngôn ngữ VHDL hoặc Verilog để thiết kế. Ở ví dụ này mình sử dụng Verilog và thiết kế cho FPGA Altera CycloneII.

Module thiết kế có tên là color_bar.v. Để mô phỏng cần phải viết 1 chương trình testbench, testbench này sẽ tạo ra tín hiệu như clk, reset… để test module thiết kế. File testbench color_bar_tb.v.

Trước tiên các bạn load file ở link bên dưới, giải nén và đặt vào nơi nào đó trên ổ cứng, trong ví dụ này mình đặt vào D:/

 

http://www.mediafire.com/?1nl5lbooioa8rue

Khởi động ModelSim. Menu View -> Transcript hiển thị của sổ transcript.

Menu File -> New -> Project  để tạo project mới mô phỏng.

Project Name <Color_bar> (*)tên project tùy thích

Project Location <D:/Color_bar>

Xong nhấn OK.

 

Lúc này bạn sẽ thấy trong D:/Color_bar/ sẽ thấy xuất hiện folder work và file Color_bar.mpf.

Tiếp theo là bước mô phỏng module.

Trước khi bắt đầu mô phỏng, mình giới thiệu sơ về nội dung bên trong D:/Color_bar.

D:/Color_bar/RTL: đây là nơi chứa các source RTL mà các bạn thiết kế.

D:/Color_bar/TB: chứa các testbench, testbench sẽ tạo ra tín hiệu rst, clk… để test source RTL của các bạn.

D:/Color_bar/sim.do: file này thực thi các command đơn giản dùng để mô phỏng.

Trong file sim.do, < vlog -work work ./RTL/*.v > dòng lệnh compile các file source bên trong D:/Coloer_bar/RTL.

    <vlog -work work ./TB/*.v> dòng lệnh compile các file testbench bên trong D:/Coloer_bar/TB.

        (*)trường hợp mô phỏng source VHDL thì < vcom -work work ./RTL/*.vhd >

    <vsim  work.color_bar_tb> simulation command.(*)color_bar_tb là tên file testbench.

    < add wave sim:/color_bar_tb/*> cho phép add tất cả các tín hiệu bên trong testbench, tín hiệu nào ko được add thì ko nhìn thấy được dạng song.

        (hiện tại bên trong color_bar_tb chỉ có rst và clk mà thôi)

    < add wave sim:/color_bar_tb/color_bar_i/*> add các tín hiệu bên trong module color_bar.

        (*) chú ý, tùy theo tên module thiết kế tên gì mà dòng lệnh cũng phải sửa lại cho đúng (color_bar_tb, color_bar_i)

< run 5300 us> thời gian mô phỏng.

Và bây giờ bắt đầu mô phỏng.

Tại cửa sổ Transcript các bạn gõ dòng lệnh <do sim.do> và nhấn Enter.

 

Lúc này chương trình sẽ compile tìm lỗi thiết kế và mô phỏng module.

Nếu gặp error thì phải sửa lại source chương trình hoặc testbench tùy theo nội dung error đo và lặp lại dòng lệnh <do sim.do>.

Sau khi ModelSim thực hiện xong, sẽ xuất hiện cửa sổ chứa dạng sóng như hình bên dưới. Các bạn kiểm tra xem chương trình mình thiết kế có đúng với yêu cầu ko nhé.

(*)Trường hợp ko xuất hiện cửa sổ dạng sóng thì vào menu View -> Wave

 

Sau khi simulation xong, bước tiếp theo là dung Quartus để tổng hợp và tạo file pof, sof (configuration file) và program FPGA.

Khởi động Quartus. Vào menu File -> New Project Wizard.

 

Chọn đến đường dẫn có chứa source RTL và tên project. Xong nhấn Next.

 

Nhấn Add All để add tất cả các file source. Ở ví dụ này chỉ có 1 file duy nhất color_bar.v.

 

 Nhấn Next và chọn loại đang thiết kế FPGA.

Tiếp tục Next và Finish.

 

Từ menu Processing -> Start Compilation.

 

Quartus sẽ compile và tổng hợp thông tin về thiết kế. Nếu có error thì phải sửa, còn warning phải tìm hiểu xem warning đó có ảnh hưởng gì đến thiết kế hay ko.

 

Tiếp theo là thiết lập pin_out cho FPGA, tức là các ngõ input, output trong color_bar.v sẽ được thiết lập ứng với chân nào của FPGA.

Từ menu Assignments -> Pin Planner.

 

 Tại mục Location, các bạn thiết lập tín hiệu vào ra tương ứng với chân FPGA đã thiết kế trên board.

 

Sau khi thiết lập xong, từ menu Processing trong cửa sổ chính -> Start Compilation thêm 1 lần nữa. Lúc này Quartus sẽ tạo cho bạn file color_bar.pof và color_bar.sof dùng để program FPGA.

Bước cuối cùng là program cho FPGA. Từ menu Tool->Programmer.

Tùy theo cấu hình phần cứng của FPGA trên board mà có cách programe FPGA khác nhau, các bạn tham khảo thêm trên internet nhe.

 

Trên đây là 1 ví dụ đơn giản cách thiết kế, mô phỏng và program FPGA, hy vọng các bạn sẽ có thể tự mình thiết kế được FPGA và chúc các bạn có nhiều sáng tạo hơn nữa để chúng ta cùng trao đổi và học tập.

Nguồn: icdrec.edu.vn

Đăng nhập