Giáo trình Kỹ thuật số - 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.

pdf9 trang | Chuyên mục: Kỹ Thuật Số | Chia sẻ: tuando | Lượt xem: 828 | Lượt tải: 0download
Tóm tắt nội dung Giáo trình Kỹ thuật số - Bài 3: Giới thiệu về Quartus II và quy trình thiết kế trên FPGA, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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 x1 hoặc x2 đó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 x1 và x2, 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. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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; 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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 SW0 và SW1 làm các đầu vào x1 và x2 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 LEDG0, đượ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 >. 
Nhấp chọn x1 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 x1 (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 x2 cho chân L21 và đầu ra f cho chân U22. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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 x1 bằng ‘0’ trong đoạn từ 0 ns đến 100 ns, tiếp đến đặt x1 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 x2 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. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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 SW0 và SW1 để nhập đầu vào rồi quan sát đầu ra hiển thị trên 
LEDG0. 
Khoa Điện tử-Viễn thông, Đại học Bách khoa Hà nội 
Người biên soạn: KS. Nguyễn Minh Tiến và TS. Hoàng Mạnh Thắng    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 
- Altera. (06/2009). Quartus II Introduction Using VHDL Design [Online]. Available:  
- Altera. (2006). DE1 Development and Education Board User Manual [Online]. Available: 
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ế ? 

File đính kèm:

  • pdfgiao_trinh_ky_thuat_so_bai_3_gioi_thieu_ve_quartus_ii_va_quy.pdf