1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

hướng dẩn sử dụng xilinx lập trình cho FPGA!!!

Thảo luận trong 'Lập trình' bắt đầu bởi pro_and_brao, 8 Tháng năm 2011.

  1. pro_and_brao Moderator

    Số bài viết: 484
    Đã được thích: 8
    Điểm thành tích: 18
    Hướng dẫn sử dụng phần mềm Xilinx ISE
    Xilinx ISE và Xilinx EDK là hai bộ phần mềm chuyên dùng để cấu hình cho FPGA của hãng Xilinx. Xilinx ISE dùng cho việc biên dịch và tổng hợp các file HDL (VHDL hoặc Verilog HDL) thành file bitstream (*.bit) cấu hình cho FPGA. Xilinx EDK chuyên dùng để hỗ trợ phát triển các ứng dụng nhúng có chứa CPU trên FPGA của Xilinx.

    Ngoài ra, Xilinx ISE còn hỗ trợ mô phỏng các file HDL để kiểm tra xem hệ thống có hoạt động đúng như yêu cầu cần thiết kế hay không. Hơn nữa, Xilinx ISE còn có thể kết hợp với phần mềm ModelSim của hãng Mentor Graphic để thực thi những tác vụ mô phỏng lớn viết bằng ngôn ngữ HDL.

    1. Xilinx ISE
    1.1. Tổng quan về Xilinx ISE
    Xilinx ISE (Integrated Software Environment) là một bộ phần mềm thiết kế của Xilinx , cho phép ta thực hiện các hệ thống nhúng của Xilinx từ khâu thiết kế ban đầu (thông qua VHDL, Verilog HDL, ABEL hoặc là vẽ Schematic) cho đến khâu cuối cùng là nạp thiết kế của mình lên FPGA. Để bắt đầu một thiết kế, ta phải tạo một project mới trong ISE thông qua công cụ quản lý ISE Project Navigator. Sau đó ISE Project Navigator sẽ quản lý tất cả các quá trình thiết kế trong trong project đó.




    Chú thích
    1: Toolbar : Hộp công cụ của ISE
    2: Cửa sổ quản lý các file trong project.
    3: Cửa sồ quản lý tiến trình trong ISE .
    4: Cửa sổ làm việc (Work Space) : cho phép xem,chỉnh sửa các file nguồn, dạng sóng.
    5: Cửa sổ console : hiển thị thông báo về các tiến trình đang chạy, thông báo lỗi…

    Quy trình thiết kết trong ISE bao gồm các quá trình sau : Design Entry -> Synthesis -> Implementation -> Verification -> Device Configuration.
    * Design Entry : Đây là bước đầu tiên trong quá trình thiết kế của ISE. Trong suốt quá trình design entry, ta sẽ thiết kế những file nguồn (Source File) theo những yêu cầu ban đầu (những mô tả chức năng của hệ thống mà ta cần phải thiết kế). Ở bước này, ta sẽ dùng những ngôn ngữ mô tả phần cứng như : VHDL, Verilog HDL, Abel hoặc dạng Schematic để thiết kế . Chúng ta có thể dùng nhiều ngôn ngữ khác nhau trong cùng một thiết kế. Ví dụ như : thiết kế các module chức năng bằng Verilog HDL, sau đó dùng dạng schematic (sơ đồ khối) để thiết kế hệ thống chính.
    * Synthesis : Sau khi thiết kế hệ thống và thực hiện những mô phỏng để kiểm tra chức năng logic của hệ thống, chúng ta phải chạy synthesis để chuyển đổi những file nguồn được viết bằng VHDL,Verilog HDL, … thành file netlist. Những file netlist này cần thiết để đưa vào quá trình Implementation.
    * Implementation : Quá trình này sẽ chuyển đổi thiết kế ở mức logic thành các file định dạng vật lý để có thể download xuống FPGA. Sau khi chạy Synthesis, chúng ta sẽ có những file netlist, quá trình Implementation sẽ chuyển đổi những file netlist đó thành những file cấu hình vật lý cụ thể dựa vào linh kiện FPGA cụ thể mà ta đang sử dụng, do đó quá trình này đòi hỏi chúng ta phải chỉ rõ linh kiện FPGA nào đang được sử dụng.
    * Verification: Sau khi chạy bước Implementation, chúng ta sẽ có thể mô phỏng thiết kế của mình một cách chính xác hơn. Vì quá trình mô phỏng ở bước Design Entry chỉ có thể mô phỏng chức năng của mạch chứ nó chưa thể mô phỏng thời gian (timing), timing tùy thuộc vào linh kiện vật lý cụ thể .
    * Device Configuration: Đây là bước cuối cùng trong suốt quá trình thiết kế . Ở bước này các file định dạng cấu hình sẽ được dùng để tạo ra những file bitstream để nạp xuống chip FPGA .


    1.2. Quá trình thiết kế trên ISE :
    Để dễ hình dung, ta sẽ tạo một mạch đếm nhị phân đơn giản trên kit XUP (do Digilent chế tạo với FPGA Virtex II Pro của Xilinx) với Xilinx ISE bằng ngôn ngữ Verilog HDL.


    * Mô tả hệ thống:
    Mạch đếm nhị phân nhận xung clock từ hệ thống xung clock trên XUP và tín hiệu RESET được tạo ra từ nút ấn trên kit, giá trị đếm (8 bit) sẽ được xuất ra 8 led trên kit. Mạch đếm nhị phân sẽ reset lại nếu có tín hiệu reset từ nút ấn.

    * Tạo project trong Xilinx ISE
    Để bắt đầu thiết kế ,việc đầu tiên ta phải làm là tạo một project mới. File -> New Project, sau đó điền tên của project mới “counter” vào “project name” và chỉ đường dẫn để chứa project “counter” trong “project location”. Do chúng ta sẽ dùng Verilog HDL để thiết kế nên chúng sẽ chọn ở phần “Top-level Module type” là HDL, sau đó ấn next.


    Chọn FPGA đang sử dụng trên kit, đối với kit XUP, chọn Device family là Virtex2p, Device : XC2VP30, Package : ff896, Speed Grade : -7, ấn next.


    Chọn "New Source" và chọn "Verilog Module" (bởi vì ta đang dùng verilog), điền tên của module cần thiết kế : counter. Ấn next.


    Khai báo các input, output của module counter (input là : clk, reset; output là : data_out).


    Ấn next cho đến khi hoàn thành bước tạo một file source mới, sau đó double click chọn counter.v trên cửa số quản lý file trong project để mở file counter.v, sau đó thêm các dòng lệnh viết cho module counter như hình vẽ.








    Việc tiếp theo là phải map chân cho module counter với chân clock của kit, các led, và nút ấn với tín hiệu reset, việc gán chân này phải tham khảo User Guide của kit để biết các chân cụ thể. Cụ thể ở mạch counter này ta sẽ gán tín hiệu clk với chân AJ15, nguồn clock của kit, reset với chân AG5, và các chân data_out với các chân led : V7, Y2, V5, U7, W1, V3, T9, V2. Chọn Assign Package Pin trong phần User Constraint trong cửa sổ quản lý các tiến trình, và gán chân như trong hình vẽ, sau khi gán chân xong, save lại file chứa thông tin việc gán chân của hệ thống (*.ucf).




    Sau khi gán chân xong, ta sẽ chuyển sang quá trình Synthesis. Chọn Synthesis-XST trong cửa sổ tiến trình. Nếu file source bị sai cú pháp thì quá trình Synthesis sẽ báo lỗi, khi đó ta phải sửa lại cho đúng. Nếu file source đã đúng thì quá trình Synthesis sẽ tạo ra các file netlist , khi đó sẽ có dấu check màu xanh hiện lên để báo cho ta biết là quá trình Synthesis đã thành công. Sau khi Synthesis xong, chúng ta sẽ chọn Implement Design trong cửa sổ tiến trình để tạo ra các file cấu hình cho module counter.
    Sau quá trình Implement chúng ta đã có các file cấu hình của hệ thống, tuy nhiên có rất nhiều loại file cấu hình tùy theo chúng ta sẽ khởi động hệ thống từ thiết bị nào : nếu muốn khởi động từ PROM ta sẽ cần phải tạo ra file cấu hình theo định dạng hex hoặc bin, nếu muốn khởi động từ Compact Flash thì cần phải tạo ra file *.ace. Việc tạo ra file cấu hình được thực hiện khi chọn “Generate PROM, ACE or JTAG file” trong cửa sổ quản lý tiến trình. Sau đó chúng ta có nạp trực tiếp file cấu hình từ JTAG hoặc chép file cấu hình vào CF card, hoặc nạp vào PROM. Để nạp trực tiếp qua JTAG, ta chọn “Confige Device (iMPACT)” trong cửa sổ tiến trình. Sau đó ISE Project Navigator sẽ khởi động gói iMPACT để bắt đầu dectect xem kit có sẵn sàng để nạp chưa, nếu có thì iMPACT sẽ yêu cầu ta chọn file cấu hình để nạp vô FPGA hoặc PROM .





    Sau khi gán xong file cấu hình ta sẽ nạp file cấu hình vào FPGA .





    Các led trên kit sẽ thực hiện đếm nhị phân.
    P/S: tài liệu copy tại diễn đàn điện tử.com.
    nếu bạn muốn viết chương trình test bench cho sản phẩm FPGA của mình thì vào project chọn new source --->vhdl tesx becnh ---> gõ tên vào rồi next.

    đây là link down tài liệu VHDL căn bản : http://www.mediafire.com/?ezzznwmyzgn
  2. tinhban_9x New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  3. kimdaivp New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này