1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giới thiệu về Quatus II và quy trình thiết kế FPGA

9 1,3K 29

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 714,66 KB

Nội dung

Giới thiệu về Quatus II và quy trình thiết kế FPGA

Trang 1

BÀI 3:

GIỚI THIỆU VỀ QUARTUS II VÀ QUY TRÌNH THIẾT KẾ TRÊN FPGA

1 Mục tiêu

Bài thí nghiệm này giới thiệu về phần mềm Quartus II và tổng quan về các bước thực hiện trên CAD cho quy trình thiết kế mạch số Ví dụ về thiết kế mạch đơn giản minh họa cho từng bước dùng phần mềm Quartus II

và thực hiện trên FPGA của Altera

2 Kiến thức cần trang bị

- Cơ bản về thiết kế số,

- Cơ bản về ngôn ngữ mô tả phần cứng VHDL,

- Nắm rõ cách sử dụng kit DE1

3 Các kiến thức thu được

- Biết cách tạo một dự án trên phần mềm Quartus II

- Biết cách tổng hợp mạch logic từ mã VHDL dùng trình tổng hợp tích hợp sẵn của Quartus II

- Biết cách thực hiện mô phỏng cho mạch logic

- Biết cách gán chân cho FPGA để đưa các tín hiệu vào ra mạch logic nối với các chân trên FPGA

- Biết cách nạp và cấu hình cho FPGA

4 Các bước thực hiện một thiết kế

Các bước thể hiện quy trình thiết kế số trên các IC có thể lập trình (FPGA/CPLD) như sau:

Hình 1 Quy trình thiết kế CAD thông dụng

- Nhập thiết kế: Mạch logic mong muốn được mô tả bằng ngôn ngữ mô tả phần cứng như VHDL/Verilog hoặc bằng sơ đồ mạch

Trang 2

- Tổng hợp: Công cụ thực hiện chuyển các biểu diễn mạch điện ở trên thành dạng tệp netlist, trong đó biểu diễn các thành phần logic cần cho mạch cùng các kết nối giữa các thành phần logic

- Mô phỏng chức năng: Mạch đã tổng hợp được kiểm tra để phân tích tính chính xác về chức năng; trình mô phỏng không quan tâm đến vấn đề thời gian

- Fitting: Công cụ CAD Fitter xác định vị trí đặt các thành phần logic đã đưa ra trong tệp netlist vào trong FPGA, đồng thời xác định các đường đi dây trong FPGA để kết nối các thành phần logic

- Phân tích thời gian: Trễ đường truyền theo các đường khác nhau trong mạch đã được fit ở trên được phân tích để xác định khả năng hoạt động mong muốn của mạch

- Mô phỏng thời gian: Mạch đã được fit được kiểm tra để phân tích cả về chức năng và cả về mặt thời gian

- Lập trình và cấu hình: Mạch logic mong muốn được triển khai trên FPGA/CPLD thực tế thông qua chương trình nạp và cấu hình cho FPGA/CPLD

Cụ thể các bước thiết kế với Quartus II

Phần 1: Tạo mới một dự án

Bước 1: Chọn mục File > New Project Wizard để mở cửa sổ tạo mới dự án giống như Hình 2 Chú ý là dự

án cần có tên giống với tên của thực thể thiết kế, nó cho thấy thực thể là mức đỉnh Chọn tên light làm tên cho dự án và thực thể mức đỉnh, nhấp chọn Next

Hình 2 Cửa sổ chọn đường dẫn và tên dự án

Bước 2: Trong cửa sổ Family & Device Settings, chúng ta sẽ chọn loại chip, là chip FPGA Cyclone

EP2C20F484C7N có trên kit DE1 mà chúng ta sử dụng trong bài thí nghiệm Nhấp chọn Next để chuyển

sang cửa sổ chọn kế tiếp

Trang 3

Hình 3 Cửa sổ chọn loại chip FPGA dùng cho dự án

Bước 3: Trong của sổ kế tiếp, chúng ta có thể chọn lựa bất kỳ công cụ của hãng thứ ba nào cần dùng Công

cụ CAD thông dụng dùng cho phần mềm thiết kế mạch điện tử là EDA tools Vì chúng ta không cần thay đổi

gì trong việc lựa chọn công cụ, nhấp chọn Next

Bước 4: Quan sát bảng tổng kết các thiết lập vừa thực hiện Nhấp chọn Finish để quay trở về màn hình chính

của phần mềm Quartus II

Phần 2: Nhập thiết kế dùng mã VHDL

Trong bài thí nghiệm này, chúng ta sẽ tạo một mạch điều khiển đèn hai chiều như trong Hình 4 Mạch có thể

dùng để điều khiển một đèn LED khi một trong hai chuyển mạch x 1 hoặc x 2 đóng, tương ứng với mức logic

“1” Chú ý rằng chỉ cần dùng hàm XOR cho hai đầu vào x 1 và x 2, tuy nhiên chúng ta sẽ xây dựng lại bằng các cổng logic rời rạc

Hình 4 Mạch logic điều khiển đèn và bảng chân lý của mạch

Bước 1: Chọn mục File > New, trong cửa sổ New, chọn VHDL File, và nhấp chọn OK Sau khi nhấp chọn

OK thì cửa sổ soạn thảo sẽ hiện ra Nhập vào mã VHDL như dưới đây vào trong cửa sổ soạn thảo văn bản

Trang 4

Bước 2: Chọn mục File > Save As để mở cửa sổ Save As Trong phần Save as type chọn VHDL File Trong

phần File name nhập light Nhấp chọn Save để đưa tệp này vào trong thư mục của dự án

Phần 3: Thêm các tệp thiết kế vào một dự án

Bước 1: Chọn mục Assignments > Settings > Files, điều này dẫn đến cửa sổ như trong Hình 4 Một cách

khác là chọn Project > Add/Remove Files trong Project Nếu bạn dùng trình soạn thảo để tạo tệp và chọn vào hộp có nhãn Add file to current project, thì tệp light.vhd đã có trong dự án, ngược lại tệp này cần thêm vào

dự án

Hình 5 Cửa sổ các cài đặt có thể dùng để nhập tệp thiết kế vào dự án Bước 2: Nhấp chọn nút … bên cạnh phần File name để có cửa sổ chọn tệp cần thêm vào Nhấp chọn tệp

light.vhd và nhấp chọn Open Tệp đã chọn sẽ hiện tên trên phần File name Nhấp chọn Add và OK để đưa

tệp này vào dự án

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity light is port( x1, x2: in std_logic;

f : out std_logic);

end light;

architecture Behavioral of light is begin

f <= (x1 and not x2) or (not x1 and x2);

end Behavioral; 

Trang 5

Phần 4: Biên dịch mã VHDL

Bước 1: Nhấp chọn mục Processing > Start Complication Biên dịch thành công (hay không thành công) sẽ

được thông báo trên hộp thoại bung ra sau khi quá trình biên dịch kết thúc Xác nhận bằng cách nhấp nút

OK

Bước 2: Khi biên dịch hoàn thành, một báo cáo biên dịch được đưa ra Cửa sổ này cũng có thể mở ra bất kỳ

lúc nào bằng cách nhấp chọn Processing > Complication Report Trong báo cáo này bao gồm một số danh

mục ở bên trái cửa sổ, nhấp vào các danh mục này để thấy thông tin chi tiết của danh mục này hiện lên ở bên phải cửa sổ

Phần 5: Sửa các lỗi

Bước 1: Mở tệp light.vhd, dòng có câu lệnh gán biểu thức logic cho f, ta bỏ dấu chấm phẩy ở cuối dòng lệnh,

lưu thay đổi với tệp light.vhd rồi biên dịch lại dự án Lúc này phần mềm sẽ thông báo là biên dịch không

thành công và báo cáo tổng hợp đưa ra kết quả biên dịch dự án bị hỏng

Bước 2: Chọn mục Analysis & Synthesis > Messages để hiển thị thông báo lỗi Nhấp đôi vào thông báo lỗi

đầu tiên, dòng lệnh lỗi sẽ được đánh dấu trên trình soạn thảo văn bản, sửa lại cho đúng rồi biên dịch lại dự

án

Phần 6: Gán chân

Chúng ta sẽ gán các chuyển mạch gạt SW 0 và SW 1 làm các đầu vào x 1 và x 2 cho mạch điện Các chuyển mạch

này nối với các chân L22 và L21 của FPGA Và chúng ta sẽ gán đầu ra f tới LEDG 0, được kết nối với chân

U22 của FPGA

Bước 1: Nhấp chọn Assignments > Assignment Editor Trong Category chọn Pin Nhấp đôi vào <<new>>

Nhấp chọn x 1 từ danh sách trải xuống làm chân đầu tiên được gán Tiếp đến nhấp đôi vào hộp bên phải hộp

dành cho x 1 (cột Location) Chọn chân PIN_L22 từ danh mục hoặc có thể gõ trực tiếp L22 vào hộp Location

Hình 6 Cửa sổ Assignment Editor dùng để gán chân

Bước 2: Tương tự như trên, thực hiện gán chân cho đầu vào x 2 cho chân L21 và đầu ra f cho chân U22

Trang 6

Bước 3: Sau khi hoàn thành việc gán chân, nhấp chọn File > Save Đóng cửa sổ Assignment Editor, nhấp

chọn Yes và biên dịch lại mạch

Phần 7: Mô phỏng mạch thiết kế

Bước 1: Mở cửa sổ Waveform Editor bằng cách nhấp File > New, trong cửa sổ chọn dạng tệp, chọn Vector

Waveform File và nhấp OK.Cửa sổ Waveform Editor sẽ hiện ra trên giao diện chính Lưu tệp này với tên Light.vwf

Bước 2: Nhấp chọn Edit > End Time và nhập vào 200 ns trong hộp thoại bung ra, điều này cho phép thời

gian mô phỏng từ 0 dến 200 ns Nhấp chọn View > Fit in Window để nhìn thấy toàn bộ phần mô phỏng từ 0

đến 200 ns

Bước 3: Nhấp chọn Edit > Insert > Insert Node or Bus để mở cửa sổ nhập các đầu vào ra Nhấp nút Node

Finder để mở cửa sổ như trong hình 7, đặt phần Filter là Pins: all Nhấp chọn nút List để tìm các đầu vào và

ra trên phần bên trái cửa sổ

Hình 7 Cửa sổ chọn các tín hiệu vào ra đưa vào dạng sóng mô phỏng

Bước 4: Nhấp chọn các đầu vào ra bên cửa sổ bên trái rồi nhấp nút > để đưa đầu tín hiệu đó vào dạng sóng

kiểm tra Khi đã có đủ các đầu vào và ra, nhấp chọn OK để quay trở lại cửa sổ Waveform Editor

Bước 5: Đặt x 1 bằng ‘0’ trong đoạn từ 0 ns đến 100 ns, tiếp đến đặt x 1 bằng ‘1’ trong đoạn từ 100 ns đến 200

ns bằng cách đặt chuột ở vị trí bắt đầu đoạn này và nhấp kéo đến hết để đánh dấu vùng đặt giá trị, và chọn

giá trị ‘1’ trên thanh công cụ Tương tự như vậy đặt x 2 bằng 1 từ 50 ns đến 100 ns và từ 150 ns đến 200 ns

Bước 6: Thực hiện mô phỏng

Mô phỏng chức năng

Nhấp chọn Assignments > Settings Bên trái của cửa sổ Settings nhấp chọn Simulator Settings để có cửa sổ như trong Hình 8, chọn Functional trong mục chọn chế độ mô phỏng, và nhấp OK

Trang 7

Hình 8 Dạng sóng kiểm tra trước khi mô phỏng

Hình 9 Chọn chế độ mô phỏng chức năng cho trình mô phỏng

- Nhấp chọn Processing > Generate Functional Simulation Netlist Sau đó nhấp chọn Processing >

Start Simulation để thực hiện mô phỏng Kiểm tra dạng song đầu ra f có đúng theo chức năng của

mạch hay không

Trang 8

Hình 10 Dạng sóng mô phỏng chức năng

Mô phỏng thời gian

- Nhấp chọn Assignments > Settings Bên trái của cửa sổ Settings nhấp chọn Simulator Settings để có

cửa sổ như trong Hình 9, chọn Timing trong mục chọn chế độ mô phỏng, và nhấp OK

- Sau đó thực hiện mô phỏng theo cách vừa thực hiện như trên, quan sát dạng sóng đầu ra f và nhận

xét sự khác biệt so với dạng sóng này khi thực hiện mô phỏng chức năng

Phần 8: Nạp và cấu hình FPGA

Bước 1: Gạt chuyển mạch RUN/PROG sang vị trí RUN Nhấp chọn Tools > Programmer để có cửa sổ như

trong Hình 11 Đánh dấu vào tùy chọn Program/Configue để cho phép nạp tệp cấu hình light.sof

Hình 11 Giao diện của trình nạp và cấu hình FPGA

Bước 2: Nhấp nút Start bên trái cửa sổ để nạp tệp cấu hình này xuống FPGA Sau khi nạp thành công xuống

FPGA, hãy kiểm tra mạch điện này thực hiện trên FPGA có chạy đúng theo chức nămg mong muốn hay

không bằng cách dùng các chuyển mạch SW 0 và SW 1 để nhập đầu vào rồi quan sát đầu ra hiển thị trên LEDG0

Trang 9

1 Các gợi ý mở rộng:

Thiết kế và thực hiện mạch điện trên bằng cách vẽ mạch trực tiếp thay vì viết mã VHDL?

2 Tài liệu tham khảo

http://www.altera.com

3 Các câu hỏi đánh giá hiểu biết: Tại sao phải phân tích và mô phỏng thời gian cho thiết kế ?

Ngày đăng: 01/04/2014, 17:45

HÌNH ẢNH LIÊN QUAN

Hình 1. Quy trình thiết kế CAD thông dụng - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 1. Quy trình thiết kế CAD thông dụng (Trang 1)
Hình 2. Cửa sổ chọn đường dẫn và tên dự án - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 2. Cửa sổ chọn đường dẫn và tên dự án (Trang 2)
Hình 3. Cửa sổ chọn loại chip FPGA dùng cho dự án - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 3. Cửa sổ chọn loại chip FPGA dùng cho dự án (Trang 3)
Hình 4. Mạch logic điều khiển đèn và bảng chân lý của mạch - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 4. Mạch logic điều khiển đèn và bảng chân lý của mạch (Trang 3)
Hình 5. Cửa sổ các cài đặt có thể dùng để nhập tệp thiết kế vào dự án - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 5. Cửa sổ các cài đặt có thể dùng để nhập tệp thiết kế vào dự án (Trang 4)
Hình 6. Cửa sổ Assignment Editor dùng để gán chân - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 6. Cửa sổ Assignment Editor dùng để gán chân (Trang 5)
Hình 7. Cửa sổ chọn các tín hiệu vào ra đưa vào dạng sóng mô phỏng - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 7. Cửa sổ chọn các tín hiệu vào ra đưa vào dạng sóng mô phỏng (Trang 6)
Hình 9. Chọn chế độ mô phỏng chức năng cho trình mô phỏng - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 9. Chọn chế độ mô phỏng chức năng cho trình mô phỏng (Trang 7)
Hình 8. Dạng sóng kiểm tra trước khi mô phỏng - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 8. Dạng sóng kiểm tra trước khi mô phỏng (Trang 7)
Hình 10. Dạng sóng mô phỏng chức năng - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 10. Dạng sóng mô phỏng chức năng (Trang 8)
Hình 11. Giao diện của trình nạp và cấu hình FPGA - Giới thiệu về Quatus II và quy trình thiết kế FPGA
Hình 11. Giao diện của trình nạp và cấu hình FPGA (Trang 8)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w