1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ án FPGA KIT DE2

34 1,1K 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 684 KB

Nội dung

1.2 Ý nghĩa khoa học và thực tiễn của đề tài 1.2.1 Ý nghĩa khoa học Qua đề tài này tôi nắm được các vấn đề sau: - Hiểu được phần nào công việc thiết kế một hệ thống số - Nắm được cách th

Trang 1

BÁO CÁO TIẾN TRÌNH ĐỒ ÁN GIỮA KÌ MỤC LỤC :

Giới thiệu

Trang bìa Phiếu giao đề tài đồ án Bản nhận xét của giáo viên hướng dẫn Bản nhận xét của giáo viên phản biện Lời cảm ơn Muc lục Phần I: CƠ SỞ LÝ THUYẾT Chương 1: Dẫn nhập

1.1 Lý do chọn đề tài

1.2 Ý nghĩa khoa học và thực tiễn của đề tài

Chương 2 : Tìm hiểu về FPGA & kit DE2

2.1 FPGA

2.1.1 FPGA là gì ?

2.1.2 Lịch sữ của FPGA

2.1.3 Kiến trúc của FPGA

3.1.1.1 Khối logic

3.1.1.2 Hệ thống mạch liên kết

3.1.1.3 Các phần tử tích hợp sẵn

3.1.4 Ứng dụng

3.1.5 Ý nghĩa và vai trò của FPGA

4.2 Kit DE2

4.2.1 Giới thiệu

4.2.2 Thành phần

4.2.3 Một vài ứng dụng

Chương 3: Giới thiệu về quartus II

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

Trang 2

3.2 Giới thiệu

3.3 Cách nạp chương trình cho Quartus II

3.3.1 Tạo 1 project

3.3.2 Viết chương trình và biên dịch

3.3.3 Tạo file mô phỏng và mô phỏng

3.3.4 Cấu hình chân và nạp lên board

Chương 4: Giới thiệu VERILOG

4.1 Verilog là gì ?

4.2 Các cổng cơ bản trong Verilog

4.2 Các dạng dữ liệu

4.3 Toán tử, toán hạng

4.4 Module

4.5 Khuôn mẫu hành vi

4.6 Khối always và khối initial

4.7 Chức năng linh kiện

Phần II: THIẾT KẾ

Phần III: KẾT LUẬN

Trang 3

DANH SÁCH HÌNH

Hình 3.1 Kiến trúc tổng quan FPGA

Hình 3.2 Khối logic FPGA

Hình 3.3 Board DE2

Hình 3.4 Thông tin chi tiết của board DE2

Hình 3.5 TV board

Hình 3.6 Chương trình vẽ (paintbrush)

Hình 3.7 Máy hát karaoke và máy chơi nhạc từ card SD

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

Hình 4.2 Hộp hội thoại tạo mới project

Hình 4.3 Hộp thoại lựa chọn chip

Hình 4.4 Lựa chọn loại file cần tạo

Hình 4.5 Biên dịch chương trình

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

Hình 4.7 Thiết lập giá trị cho các tín hiệu

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

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

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

Hình 4.12 Danh sách các chân có thể được gán

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

Hình 5.1 Sơ đồ mạch giải mã

Hình 5.2 Mạch giải mã 3 sang 8

Hình 5.3 IC74LS138

Hình 5.4 Mạch giải mã dùng IC74LS138

Hình 5.5 Các dạng sóng vào ra của mạch giải mã 3 sang 8

Hình 5.6 Sơ đồ bộ chọn kênh

Hình 5.7 Mạch chọn kênh 2 ngõ vào

Hình 5.8 Mạch chọn kênh 4 ngõ vào

Hình 5.9 Mạch chọn kênh dùng IC74LS151

Hình 5.10 Các dạng sóng của mạch chọn kênh 4 vào

Hình 5.11 Mạch cộng bán phần

Hình 5.12 Mạch cộng toàn phần

Hình 5.13 IC cộng toàn phần

Hình 5.14 Mạch cộng nhìn trước số nhớ

Hình 5.15 Mạch cộng BCD

Hình 5.16 Các dạng sóng của mạch cộng bán phần

Trang 4

Hình 5.17 Mô hình đếm lên

Hình 5.18 Mô hình đếm xuống

Hình 5.19 Bộ đếm lên nhị phân 4 bit dùng JK-FF

Hình 5.20 Các dạng sóng ngõ vào ra của mạch đếm

Hình 6.1 Sơ đồ khối một máy tính cổ điển

Hình 6.2 Sơ đồ khối của vi xử lý

Hình 6.3 Sơ đồ khối hệ vi xử lý

Hình 6.4 Các tín hiệu cơ bản trong μP

Hình 6.5 Định thì bus cơ bản

Hình 6.6 Giao tiếp bus cơ bản

Hình 6.7 Giải mã địa chỉ dùng 74LS138

Hình 6.8 74LS138 mắc cascaded (liên tầng)

Hình 6.9 Giải mã dùng bộ so sánh

Hình 6.10 Định thì đọc bộ nhớ

Hình 6.11 Định thì ghi bộ nhớ

Trang 5

Năm 1971 với sự ra đời của vi xử lý, đã làm cho kỹ thuật số phát triển nhảy vọt đồng thời những ứng dụng của nó trong cuộc sống cũng ngày càng đa dạng hơn Sự ra đời của các vi mạch lập trình như vi điều khiển, vi xử lý, vi mạch số lập trình…đã tạo ra một bước ngoặc trong lĩnh vực xử lý, điều khiển Chúng làm cho lĩnh vực xử lý, điều khiểm trở nên tự động hóa và ngày càng hiện đại hơn Trong công nghiệp, các thiết bị điều khiểm bằng cơ khí thô sơ có độ chính xác và an toàn kém được thế bằng những thiết bị điều khiển tự động với độ chính xác cao hơn, an toàn hơn Nhờ đó năng suất lao động không ngừng được nâng cao Trong đời sống hằng ngày, vi xử lý được ứng dụng rất nhiều vào các thiết bị dân dụng như máy

Trang 6

tính, ti vi, máy điều hòa nhiệt độ, lò vi ba… qua đó làm cho các thiết bị trở nên đa chức năng hơn, dễ dàng sữ dụng hơn, tiện nghi hơn.

Với những ứng dụng rộng rãi như trên, thiết nghĩ việc tìm hiểu vi xử lý, vi điều khiển và những ứng dụng của nó là rất cần thiết Trong khuôn khổ hạn hẹp của đề tài, cũng như kiến thức và khả năng, tôi chỉ tìm hiểu một ứng dụng nhỏ của

vi xử lý là thiết kế một bộ vi xử lý đơn giản

1.2 Ý nghĩa khoa học và thực tiễn của đề tài

1.2.1 Ý nghĩa khoa học

Qua đề tài này tôi nắm được các vấn đề sau:

- Hiểu được phần nào công việc thiết kế một hệ thống số

- Nắm được cách thiết kế hệ tống số với Altera FPGA

- Hiểu thêm về kit DE2 của Altera

1.4.1 Ý nghĩa thực tiễn

Bộ xử lý có khả năng thực hiện các chỉ dẫn sữ dụng bộ nhớ và các thiết bị máy tính

1.5 Tình hình nghiên cứu

Hiện nay trong thực tế các bộ vi xử lý được rất nhiều người qua tâm và thiết

kế Đặc biệt nó được thiết kế sữ dụng cho các CPU của máy tính

1.6 Phương pháp nghiên cứu

Sữ dụng các phương pháp và phương tiện nghiên cứu để thu thập tài liệu về

đề tài đã xác định Dữ liệu thu thập được sẽ là chất liệu để xây dựng nên đề tài

Trang 7

Điều cần thiết là thu thập tài liệu một cách đầy đủ, chính xác và phù hợp với đề tài đang thực hiện.

Ở đây tôi sữ dụng phương pháp tham khảo tài liệu là chủ yếu Việc tham khảo các tài liệu nhằm gom góp lại các kiến thức cần thiết Sau đó các tài liệu phải được chọn lọc kỹ càng trên cơ sở kế thừa những nền tảng đồng thời cần khắc phục những mặt hạn chế Đa phần các tài liệu tham khảo là các sách chuyên nghành và những luận văn tốt nghiệp của các khóa trước

Việc xây dựng đề tài được thực hiện theo đúng cấu trúc của một luận văn do nhà trường quy định nhằm đảm bảo tính sư phạm và phù hợp với kế hoạch đào tạo của nhà trường

CHƯƠNG 2 TÌM HIỂU VỀ FPGA & KIT DE2

2.1 FPGA

2.2.2 FPGA là gì ?

Trang 8

FPGA là viết tắt của thuật ngữ tiếng anh “Field programmable Gate Array”,

là vi mạch dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được

Vi mạch FPGA được cấu thành từ các bộ phận:

 Các khối logic cơ bản lập trình được (logic block)

 Hệ thống mạch liên kết lập trình được

 Khối vào/ra (IO Pads)

 Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý

FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA

ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng

Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn;

và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được

có trước nó

Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ

mô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu này như Synopsys, Synplify Các gói phần mềm này có khả năng thực hiện tất cả các

Trang 9

bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL).

2.2.3 Lịch sữ của FPGA

FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn các phần tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000 đến 100.000 cổng logic; con số này đối với PAL, PLA còn thấp hơn nữa chỉ đạt vài nghìn đến 10.000

CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programable devices, thuật ngữ chung chỉ PAL, PLA) SPLD thường là một mảng logic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ đồng bộ (clocked register) Cấu trúc này hạn chế khả năng thực hiện những hàm phức tạp và thông thường hiệu suất làm việc của vi mạch phụ thuộc vào cấu trúc cụ thể của vi mạch hơn là vào yêu cầu bài toán

Kiến trúc của FPGA là kiến trúc mảng các khối logic, khối logic, nhỏ hơn nhiều nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA có thể chứa nhiều hơn các phần tử logic và phát huy tối đa khả năng lập trình của các phần tử logic và hệ thống mạch kết nối, để đạt được mục đích này thì kiến trúc của FPGA phức tạp hơn nhiều so với CPLD

Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các bộ nhân cộng (multication and accumulation, MAC), thuật ngữ tiếng Anh

là DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP

Trang 10

Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ trợ tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khi vẫn đảm bảo hoạt động bình thường cho các bộ phận khác.

2.2.4 Kiến trúc của FPGA

Cấu trúc tổng thể của một FPGA được minh họa ở hình sau

Hình 3.1 Kiến trúc tổng quan FPGA

2.2.4.1 Khối logic

Trang 11

Hình 3.2 Khối logic FPGA

Phần tử chính của FPGA là các khối logic (logic block) Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop, LUT (Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4 đầu vào, kêt quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop

Trong tài liệu hướng dẫn của các dòng FPGA của Xilinx còn sử dụng khái niệm SLICE, 1 Slice tạo thành từ gồm 4 khối logic, số lượng các Slices thay đổi từ vài nghìn đến vài chục nghìn tùy theo loại FPGA

Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn hỗ trợ thêm 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng số đầu vào của LUT lên 6 chân Cấu trúc này là nhằm tăng tốc các bộ số học logic.2.2.4.2 Hệ thống mạch liên kết

Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn, dài và rất dài Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình được (programable switch), trong một khối chuyển mạch chứa một

Trang 12

số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau.

2.2.4.3 Các phần tử tích hợp sẵn

Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân ARV…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit

2.2.5 Ứng dụng

Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính

Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài

ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực

2.2.5 Ý nghĩa và vai trò của FPGA

Với khả năng tái cấu hình mạnh, FPGA đóng một vai trò vô cùng to lớn trong việc giảm giá thành và thời gian chế tạo ASIC bằng cách sử dụng FPGA trong quá trình thiết kế luận lý trước khi đưa ra sản xuất các ASIC mẫu Quy trình

Trang 13

sản xuất Chip ASIC bằng cách này gọi là fabless rất phổ biến hiện nay trên thế giới, giúp các công ty nhỏ và vừa và đặc biệt là các nước yếu về công nghệ như Việt nam tham gia vào thế giới của IC.

FPGA rất hay được sử dụng trong các hệ thống SDR (Software Defined Radio) vì khả năng tái cấu hình giúp các chức năng của thiết bị có thể thay đổi nhanh chống

2.3 Kit DE2

Kit DE2 cung cấp cho người sử dụng nhiều đặc điểm linh hoạt để học tập và

có thể phát triển nhiều dự án đa phương tiện khác nhau Chúng được thiết kế không những phù hợp cho môi trường họp tập ở các trường đại học và cao đẳng

mà còn phù hợp với cả trong môi trường làm việc công nghiệp Các khối thiết kế ứng dụng trên KIT được chọn lọc dựa trên những thiết kế phổ biến nhất trong các sản phẩm đa phương tiện như DVD, VCD, MP3 player và nhiều ứng dụng điều khiển khác Kit DE2 cho phép người dùng nhanh chóng thấu hiểu được những thủ thuật để thiết kế các dự án công nghiệp Ngoài ra nó còn cung cấp một nền tảng kiến thức cơ bản cho người dùng đam mê trong lĩnh vực thiết kế vi mạch như phát triển những hệ thống kỹ thuật số tinh vi

2.3.1 Giới thiệu

Board DE2 là board mạch phục vụ cho việc nghiên cứu và phát triển về các lĩnh vực luận lý số học (digital logic), tổ chức máy tính (computer organization) và FPGA

Trang 14

Hình 3.3 Board DE2

2.3.2 Thành phần

Board DE2 cung cấp khá nhiều tính năng hỗ trợ cho việc nghiên cứu và phát triển, dưới đây là thông tin chi tiết của một board DE2:

Trang 15

Hình 3.4 Thông tin chi tiết của board DE2

 FPGA:

- Vi mạch FPGA Altera Cyclone II 2C35

- Vi mạch Altera Serial Configuration – EPCS16

- Bộ giải mã TV và cổng nối TV-in

- Bộ điều khiển USB Host/Slave với cổng USB kiểu A và kiểu B

- Cổng nối PS/2 chuột/bàn phím

Trang 16

- Bộ giải mã/mã hóa âm thanh 24-bit chất lượng đĩa quang với jack cắm line-in, line-out, và microphone

- 2 Header mở rộng 40-pin với lớp bảo vệ diode

- Cổng giao tiếp RS-232 và cổng nối 9-pin

- Cổng giao tiếp hồng ngoại

- Bộ dao động 50-MHz và 27-MHz cho đồng hồ nguồn

2.3.3 Một vài ứng dụng của board DE2

 Ứng dụng làm TV box

Hình 3.5 TV box

Trang 17

 Chương trình vẽ bằng chuột USB (paintbrush)

Hình 3.6 Chương trình vẽ (paintbrush)

 Máy hát Karaoke và máy chơi nhạc SD

Hình 3.7 Máy hát karaoke và máy chơi nhạc từ card SD

Trang 18

CHƯƠNG 3 GIỚI THIỆU VỀ QUARTUS II

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

Công cụ CAD (Computer Aided Design) tạo nên sự thuận lợi khi thực hiện một mạch logic mong muốn bằng cách sử dụng các thiết bị logic lập trình được, như chip FPGA

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

Trang 19

- Design Entry (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.

- Synthesis (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

- Functional Simulation (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

- Timinh Analysis (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

- Timing Silmulation (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

- Programming and configuration (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

mô phỏng (simulation), và lập trình lên thiết bị (DE2)

3.3 Cách nạp chương trình cho Quartus II

Ngày đăng: 02/06/2016, 09:17

w