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

Thực hành thiết kế vi mạch trên kit DE2

83 658 1

Đ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 83
Dung lượng 3,97 MB

Nội dung

Cửa sổ thiết lập các thông số của quá trình simulate.... Chọn thư mục chứa dirver Cửa sổ thông báo việc kiểm tra logo window không thành công, tuy nhiên việc này sẽ không bị ảnh hưởng đế

Trang 1

mong nhận được ý kiến đóng góp từ phía bạn đọc hoặc các bạn sinh viên

Chân thành cảm ơn!

TP.HCM, ngày 27 tháng 9 năm 2009

Trang 2

Buổi 1.  Tổng quan về các phần mềm thiết kế trên FPGA 7 

I.  Giới thiệu Board DE2 của Altera 7 

1.  Giới thiệu 7 

2.  Thành phần 7 

3.  Một vài ứng dụng của board DE2 8 

II.  Cách cài đặt Quartus II 8.0 và Nios II 9 

1.  Giới thiệu 9 

2.  Cài đặt 10 

III. Cách nạp chương trình cho Quartus II 8.0: 13 

1.  Tạo 1 project: 13 

2.  Viết chương trình và biên dịch: 17 

3.  Tạo file mô phỏng (simulate) và bắt đầu simulate 22 

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

Buổi 2   Mạch tổ hợp và mạch tuần tự 40  

I.  Giới thiệu 40 

1.  Giới thiệu 40 

2.  Hướng dẫn thiết kế FPGA thông qua sơ đồ khối/Schematic 40 

II.  Bài tập 46 

Buổi 3.  Lập trình Verilog với mô hình cấu trúc 48 

I.  Giới thiệu ModelSim 48 

1.  Giới thiệu 48 

2.  Cài đặt 48 

3.  Hướng dẫn 58 

II.  Bài tập 65 

Buổi 4.  Mô hình hành vi 67 

I.  Bài tập 67 

Buổi 5.  Mô hình hành vi (tt) 71 

I.  Bài tập 71 

Buổi 6.  Máy trạng thái 75 

I.  Giới thiệu 75 

1.  Giới thiệu 75 

2.  Hướng dẫn 75 

II.  Bài tập 83 

Trang 3

Hình 10 Thông báo cài đặt hoàn tất 13 

Hình 11 Tạo mới một project 14 

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

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

Hình 14 Hộp thoại tổng hợp các thông tin của project 17 

Hình 15 Tạo mới file 18 

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

Hình 17 Cửa sổ viết code 19 

Hình 18 Cửa sổ lập trình 20 

Hình 19 Hộp thoại lưu file 20 

Hình 20 Lựa chọn lop-level cho file 21 

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

Hình 22 Thông báo việc biên dịch thành công 22 

Hình 23 Tạo mới file testbench 23 

Hình 24 Chọn tín hiệu sẽ được test 23 

Hình 25 Hộp thoại lựa chọn tín hiệu 24 

Hình 26 Cửa sổ lựa chọn tín hiệu 24 

Hình 27 Xác nhận lại việc lựa chọn tín hiệu 25 

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

Hình 29 Cửa sổ Save As 26 

Hình 30 Lựa chọn chế độ simulate 26 

Hình 31 Cửa sổ thiết lập các thông số của quá trình simulate 27 

Hình 32 Thực hiện chức năng tổng hợp và phân tích chương trình 27 

Hình 33 Thông báo thành công 28 

Hình 34 Thiết lập file testbench cho chương trình 28 

Hình 35 Lựa chọn đường dẫn lưu trữ file testbench 28 

Hình 36 Chỉ định vị trí lưu trữ file testbench 29 

Hình 37 Tiến hành quá trình simulation 29 

Hình 38 Thông báo simulate thành công 30 

Hình 39 Kết quả quá trình mô phỏng (simulation) 30 

Hình 40 Cửa sổ gán chân 31 

Hình 41 Các tín hiệu cần gán chân 31 

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

Hình 43 Quá trình gán chân hoàn tất 32 

Hình 44 Lưu lại file cấu hình chân 33 

Trang 4

Hình 47 Cửa sổ Hardware Setup 35 

Hình 48 Cửa sổ lập trình 35 

Hình 49 Cửa sổ thiết bị 36 

Hình 50 Cứa sổ Device & Pin Options 37 

Hình 51 Thông báo thay đổi chế độ lập trình 37 

Hình 52 Cửa sổ lập trình trong chế độ AS 38 

Hình 53 Lựa chọn file cấu hình 38 

Hình 54 Quá trình lập trình hoàn tất 39 

Hình 55 Cửa sổ lựa chọn loại file 41 

Hình 56 Cửa sổ làm việc của Quartus 42 

Hình 57 Hộp thoại lựa chọn linh kiện có trong thư viện 43 

Hình 58 Đặc linh kiện lên cửa sổ làm việc 44 

Hình 59 Cửa sổ gán chân cho tín hiệu xuất nhập 45 

Hình 60 Hoàn tất việc vẽ mạch 45 

Hình 61 Lựa chọn file cấu hình cho project 46 

Hình 62 Cửa sổ cài đặt ModelSim 49 

Hình 63 Cửa sổ cài đặt ModelSim 50 

Hình 64 Cửa sổ lựa chọn thư mục cài đặt 51 

Hình 65 Lựa chọn tên thư mục cho chương trình 52 

Hình 66 Tổng hợp thông tin cài đặt 53 

Hình 67 Thanh process cài đặt 53 

Hình 68 Cửa sổ thông báo license của phần mềm 54 

Hình 69 Đăng ký thông tin 55 

Hình 70 Xem thông tin card mạng của máy 56 

Hình 71 Cửa sổ thuộc tín của hệ thống 57 

Hình 72 Cửa sổ biến môi trường 58 

Hình 73 Hộp thoại tạo mới một biến môi trường 58 

Hình 74 Cửa sổ làm việc của ModelSim 59 

Hình 75 Tạo mới project 59 

Hình 76 Thông tin của project mới 60 

Hình 77 Thêm các file vào project 60 

Hình 78 Hộp thoại tạo mới file 60 

Hình 79 Cửa sổ soạn thảo 61 

Hình 80 Tạo mới file 61 

Hình 81 Thêm file vào project 62 

Hình 82 Code verilog file testbench 62 

Hình 83 Thư viện word 63 

Hình 84 Thực hiện simulate 63 

Hình 85 Chọn tín hiệu sẽ được vẽ dạng sóng (giản đồ) 64 

Hình 86 Cửa sổ lệnh 64 

Hình 87 Giản đồ thơi gian của các tín hiệu 65 

Hình 88 Kết thúc quá trình simulate 65 

Hình 89 Sơ đồ kết nối mạch 66 

Hình 90 Kết nối mạch 68 

Trang 5

Hình 103 Tạo các đường chuyển trạng thái 78 

Hình 104 Thiết lập biểu thức chuyển trạng thái 79 

Hình 105 Thiết lập tín hiệu xuất và action của mỗi trạng thái 80 

Hình 106 Máy trạng thái 80 

Hình 107 Chuyển máy trạng thái sang định dạng của ngôn ngữ thiết kết phần cứn 81 

Hình 108 Code verilog được tạo ra từ máy trạng thái 82 

Hình 109 Chương trình chính 83 

Hình 110 Thiết lập top-level 83 

Hình 111 Lưu đồ trạng thái 84 

Trang 6

Buổi 1 Tổng quan về các phần mềm thiết kế trên FPGA

Mục tiêu

™ Nắm được công nghệ FPGA

™ Làm quen board thực hành DE2

™ Cài đặt, và làm quen với các phần mềm: Quartus II, Nios II

I Giới thiệu Board DE2 của Altera

- Vi mạch FPGA Altera Cyclone II 2C35

- Vi mạch Altera Serial Configuration – EPCS16

Trang 7

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

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

¾ Ứng dụng làm TV box

Hình 2 TV Box

Trang 8

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

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

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

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

II Cách cài đặt Quartus II 8.0 và Nios II

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

Nios II, môi trường phát triển tích hợp của họ Nios II (IDE), nó là công cụ phát triển chủ yếu của họ vi xử lý Nios II Phần mềm sẽ là môi trường cung cấp khả năng chỉnh sửa, xây dựng, debug và mô tả sơ lược về chương trình IDE còn cho phép tạo các chương trình từ đơn nhiệm (single-threaded) đến các chương

Trang 9

¾ Cài đặt phần mềm USB blaster driver

Vì Board DE2 được lập trình bằng cách sử dụng phần mềm USB Blaster (USB Blaster mechanism) Nên nếu USB Blaster driver chưa được cài đặt thì quá trình lập trình xuống board DE2 sẽ không thành công

Sau khi gắn board DE2 vào máy tính thông qua cổng USB, nếu USB Blaster

driver chưa được cài đặt thì hộp thoại sau sẽ xuất hiên, Chọn No, not this time sau

đó nhấn Next

Hình 5 Thông báo chưa cài dirver

Chọn Install from a specific location và chọn Next

Trang 11

Hình 8 Chọn thư mục chứa dirver

Cửa sổ thông báo việc kiểm tra logo window không thành công, tuy nhiên việc này sẽ không bị ảnh hưởng đến việc kết nối của chương trình sau này Bạn

tiếp tục nhấn Continue Anyway

Hình 9 Thông báo lỗi

Nhấn Finish để hoàn tất việc cài đặt

Trang 12

Hình 10 Thông báo cài đặt hoàn tất III Cách nạp chương trình cho Quartus II 8.0:

1 Tạo 1 project:

Bước 1 Vào Menu > file chọn New Project Wizard

Trang 13

Hình 11 Tạo mới một project Bước 2 Ta chọn thư mục để chứa project và đặt tên cho project, xem hình bên dưới

Trang 14

Hình 12 Hộp hội thoại tạo mới project Bước 3 Sau đó ta chọn hãng sản xuất chip và tên loại chip trên mạch

Trang 15

Hình 13 Hộp thoại lựa chọn chip Bước 4 Cuối cùng chọn Finish để hoàn tất

Trang 16

Hình 14 Hộp thoại tổng hợp các thông tin của project

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

Bước 1 Vào Menu > file chọn New

Trang 17

Hình 15 Tạo mới file Bước 2 Sau đó chọn loại file mà chúng ta muốn viết chương trình Ở đây ta

chọn loai file Verilog HDL

Trang 18

Hình 16 Lựa chọn loại file cần tạo Bước 3 Dưới đây là một đoạn chương trình demo: tính hàm f = x1 EX-OR

x2

Hình 17 Cửa sổ viết code Bước 4 Sau khi viết xong thì ta phải lưu tên file trùng với tên module của

chương trình

Trang 19

Hình 18 Cửa sổ lập trình

Hình 19 Hộp thoại lưu file

Chú ý: Chọn Add file to current project

Bước 5 Sau khi lưu file xong phải thiết lập cho file là top-level thì mới

biên dịch được

Trang 20

Hình 20 Lựa chọn lop-level cho file Bước 6 Biên dịch chương trình:

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

Trang 21

Hình 22 Thông báo việc biên dịch thành công

Chú ý: Đến đây thì có thế nạp trực tiếp lên board DE2 để kiểm thử hoặc sử dụng chương

trình mô phỏng có trên Quartus II Phần 3 sẽ trình bày các bước cân thiết để tạo file mô phỏng và tiến hành mô phỏng giản đồ thời gian Phần 4 sẽ trình bày các bước cần thiết để nạp lên board DE2 để kiểm thử trực tiếp trên board này

3 Tạo file mô phỏng (simulate) và bắt đầu simulate

Bước 1 Vào Menu > file chọn New, sau đó chọn Vector Waveform File

Trang 22

Hình 23 Tạo mới file testbench Bước 2 Sau đó nhấp chuột phải chọn Insert, chọn Insert Node or bus

Hình 24 Chọn tín hiệu sẽ được test Bước 3 Chọn Node Finder

Trang 23

Hình 25 Hộp thoại lựa chọn tín hiệu Bước 4 Cửa sổ lựa chọn tín hiệu sẽ xuất hiện (xem hình 26)

¾ Nhấn OK để hoàn tất việc chọn tín hiệu

Hình 26 Cửa sổ lựa chọn tín hiệu

Trang 24

Bước 5 Nhấn OK để ấn định các tín hiệu cần chọn

Hình 27 Xác nhận lại việc lựa chọn tín hiệu Bước 6 Thiết lập giá trị các tín hiệu:

¾ Ta rê chuột để tô khối chúng lại

¾ Sau đó sử dụng các nút 0, 1 để thiết lập giá trị cho chúng (xem hình 28)

Hình 28 Thiết lập giá trị cho các tín hiệu Bước 7 Sau khi thiết lập giá trị của các chân xong ta Save lại

Trang 25

Hình 29 Cửa sổ Save As Bước 8 Nhấp vào nút để lựa chọn chế độ simulate (xem hình 30)

Hình 30 Lựa chọn chế độ simulate Bước 9 Trong khung Simulate mode chọn chức năng Functional

Trang 26

Hình 31 Cửa sổ thiết lập các thông số của quá trình simulate Bước 10 Vào Processing > Generate Functional Simulation Netlist để tiến

hành quá trình phân tích và tổng hợp

Hình 32 Thực hiện chức năng tổng hợp và phân tích chương trình Bước 11 Hộp thoại thông báo quá trình phân tích và tổng hợp thành công,

chọn OK để ấn định

Trang 27

Hình 34 Thiết lập file testbench cho chương trình Bước 13 Nhấn vào nút để lựa chọn đường dẫn lưu trữ file testbench

Hình 35 Lựa chọn đường dẫn lưu trữ file testbench Bước 14 Lựa chọn vị trí lưu trữ file testbench trong hộp thoại Select File

Trang 28

Hình 36 Chỉ định vị trí lưu trữ file testbench Bước 15 Chọn Processing > Start Simulation hoặc nhấp vào nút để tiến hành quá trình simulation Nếu thành công thì sẽ có thông báo như hình

38, và kết quả quá trình mô phỏng sẽ được hiển thị như ở hình 39

Hình 37 Tiến hành quá trình simulation

Trang 29

Hình 39 Kết quả quá trình mô phỏng (simulation)

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

¾ Cấu hình chân

Để cấu hình chân bạn tiến hành lần lượt theo các bước sau:

Bước 1 Chọn Assignments-> Pins cửa sổ lựa chọn chân sẽ xuất hiện như hình:

Trang 30

Hình 40 Cửa sổ gán chân Bước 2 Nhấp đúp vào ô <<new>> ở cột To như trên hình Một menu chứa danh sách các chân cần gán sẽ được hiện ra Bạn chọn chân cần gán (ví dụ ở đây chọn tín hiệu cần gán x1)

Hình 41 Các tín hiệu cần gán chân Bước 3 Tiếp theo nhấn vào ô <<new>> ở cột Location Một menu chứa danh sách các chân trong FPGA sẽ được hiện ra bạn chọn chân của FPGA sẽ nối với tín hiệu (ví dụ ở đây chọn chân PIN_N25)

Trang 31

Hình 42 Danh sách các chân có thể được gán Bước 4 Lặp lại quá trình này cho đến khi gán hết các chân linh kiện

Hình 43 Quá trình gán chân hoàn tất Bước 5 Để lưu lại file cấu hình chân bạn chọn File -> Export, sau đó nhập tên file cân lưu

Trang 32

Hình 44 Lưu lại file cấu hình chân Bước 6 Ở những lần cấu hình sau ta có thể load file cấu hình đó bằng cách (nếu lần cấu hình chân này là hoàn toàn giống với lần cấu hình trước) Bạn chọn Assignment -> Import Assignments, tiếp theo bạn chọn file cấu hình chân rồi nhấn OK

Hình 45 Hộp thoại load file cấu hình chân

Chú ý: DE2 cung cấp một file cấu hình chuẩn, file này có tên DE2_pin_assigments.csv ở

trong thư mục File cấu hình chuẩn này sẽ kết nối tất cả các chân của DE2 Khi đó bạn chỉ cần đặt tên tín hiệu trùng tên với tín hiệu mà DE2 quy ước Ví dụ: các nút nhấn sẽ có tên là SW, các đèn led sẽ có tên là LEDG hay LEDR, …

¾ Nạp lên board

Trang 33

Lập trình theo chế độ JTAG

Tiến hành theo các bước:

Bước 1 Gạt nút RUN/PROG trên board DE2 sang RUN, sau đó chọn

Tools->Programmer, cửa sổ lập trình cho board DE2 sẽ xuất hiện như hình

vẽ

Hình 46 Cửa sổ lập trình (nạp) Bước 2 Trên cửa sổ lập trình, chọ lựa chọn JTAG trong khung chế độ lập trình (Mode) Tiếp đo nếu USB-Blaster không được chọn như trên hình, thì bạn nhấn Hardware Setup, cửa sổ Hardware Setup sẽ xuất hiện khi đó bạn chọn USB-Blaster để lựa chọn cổng kết nối với board DE2

Trang 34

Hình 47 Cửa sổ Hardware Setup Bước 3 Trở lại cửa sổ lập trình bạn chọn vào file lập trình (light.sof) Nếu

file này chưa có thì bạn có thể nhấn nút Add File để thêm file này vào Tiếp

đó bạn nhấp vào lựa chọn Program/configure

Hình 48 Cửa sổ lập trình Bước 4 Nhấn nút Start để bắt đầu việc lập trình Trong khi lập trình thì các đèn led trên board DE2 sẽ sáng mờ đi Trên cửa sổ lập trình, thanh Progess sẽ

cho thấy tiến trình nạp lên board DE2

Lập trình theo chế độ AS

Bước 1 Gạt nút RUN/PROG trên board DE2 sang PROG

Bước 2 Vào Assignment -> Device, chọn Device và sau đó chọn thiết bị là

EP2C35F672C6 Tiếp đó nhấp vào Device & Pin Options, cửa sổ Device & Pin Opions sẽ xuất hiện, bạn chọn tab Configuration, trong khung

Trang 35

Hình 49 Cửa sổ thiết bị

Trang 36

Hình 50 Cứa sổ Device & Pin Options Bước 3 Tools->Programmer, cửa sổ lập trình sẽ xuất hiện (như hình cửa

sổ lập trình) Tiếp đó trong khung Mode bạn chọn Active Serial

Programming Một thông báo sẽ hiện lên bạn chọn Yes

Hình 51 Thông báo thay đổi chế độ lập trình Bước 4 Cửa sổ lập trình ở chế độ AS sẽ hiện ra như hình bên dưới Bạn chọn nút Add File để thêm file cần nạp vào chương trình (light.pof, file để cấu hình cho chế độ AS sẽ có dạng *.pof và file cấu hình cho chế độ JTAG sẽ

có dạng *.sof)

Trang 38

Hình 54 Quá trình lập trình hoàn tất

Trang 39

2 Hướng dẫn thiết kế FPGA thông qua sơ đồ khối/Schematic

Để hiểu rõ quá trình thiết kế này, chúng tôi sẽ trình bày một ví dụ đơn giản sử dụng sơ đồ khối/schematic Chương trình sẽ hiện thực phép nor trên 2 tín hiệu SW[0] và SW[1] sau đó xuất tín hiệu ra LEDR[0] Để tạo một sơ đồ mạch và cấu hình ví dụ này lên FPGA bạn lần lượt thực hiện các bước sau:

Bước 1 Mở Quartus II và tạo một project mới (thực hiện như bài trước đã

trình bày)

Bước 2 Vào File -> New hoặc nhấp vào biểu tượng trên thanh công cụ

Cửa sổ lựa chọn loại file sẽ xuất hiện bạn chọn Block

Diagram/Schematic File sau đó nhấn OK

Trang 40

Hình 55 Cửa sổ lựa chọn loại file

Bước 3 Cửa sổ soạn thảo sẽ hiện ra như hình bên dưới

Trang 41

Cửa sổ project

Thanh công cụ

Cửa sổ làm việc

Hình 56 Cửa sổ làm việc của Quartus

Bước 4 Để thuận tiện cho việc soạn thảo của bạn, thì ở đây tôi sẽ giới thiệu

chức năng của một vài nút trên thanh công cụ:

a (Select tool): con trỏ là công cụ giúp chọn lựa các thành phần trên

cửa sổ làm việc

b Nút (Text tool) : công cụ tạo các ra các dòng văn bản trên cửa sổ

làm việc

c (Symbol tool): chứa linh kiện sử dụng cho quá trình soạn thảo (các

cổng luận lý, các megafunction, và các chứa năng khác)

d (Block tool): công cụ hỗ trợ việc tạo ra các khối chức năng Giúp

cho việc thiết kế nhiều cấp chức năng

e (orthogonal node tool): nối dây tín hiệu

f (orthogonal bus tool): nối bus cho các tín hiệu

g (Zoom tool): phóng to, thu nhỏ

h (Full Screen): Lựa chọn chế độ cửa sổ làm việc là Full Screen hay

không

i (Find): công cụ tìm kiếm trên cửa sổ làm việc

Bước 5 Tiếp đến bạn chọn nút (Symbol tool) cửa sổ xuất hiện

Ngày đăng: 29/08/2015, 10:22

w