You are on page 1of 33

CHƯƠNG 1: Giới thiệu về Verilog và FPGA

phenikaa-uni.edu.vn
giáo trình

Tuần Nội dung ghi


chú
1 Chương 0: Giới thiệu khóa học (1)
Chương 1: Giới thiệu Verilog và FPGA (2)
2 Chương 2: Cú pháp Verilog, Verilog cấu trúc và Thời gian (3)
3, 4 Chương 3: Testbench, Dataflow và Behavioral Verilog (6)
5 Chương 4: Bộ đếm, Bộ chuyển đổi/Bộ quay, Thông số (3)
6 Chương 5: Cấu trúc Testbench tiện dụng (3)
7 Luyện thi giữa kỳ (3)
số 8 Kiểm tra giữa kỳ (3)
9, 10 Chương 6: Máy trạng thái hữu hạn (FSM) trong Verilog (6)

phenikaa-uni.edu.vn
Nội dung

1.Hệ thống kỹ thuật số


2.Giới thiệu HDL
3.Verilog và VHDL
4.Mô-đun Verilog
5.Ghế thử nghiệm
6.FPGA
7.KIT LP-2900 và Quartus II
3

phenikaa-uni.edu.vn
1. Hệ thống kỹ thuật số
 Tín hiệu tương tự  Tín hiệu kĩ thuật số

phenikaa-uni.edu.vn
1. Hệ thống số (tiếp)
 thuật số được thiết kế để lưu trữ , xử lý và truyền đạt thông tin
dưới dạng kỹ thuật số.
 Ưu điểm của thiết bị số
• Khả năng tái tạo thông tin
• Tính linh hoạt và chức năng: lưu trữ, truyền tải thông tin dễ dàng hơn
• Dễ thiết kế và lập trình hơn
 định luật Moore
• Chip tăng gấp đôi mật độ (số lượng bóng bán dẫn) sau mỗi 18 tháng
• Thiết bị trở nên nhỏ hơn, nhanh hơn và rẻ hơn
• Bây giờ một con chip bao gồm hàng trăm triệu cổng
• Và chúng ta có thể có một chiếc “không dây-PDA-MP3-video-player-
camera-GPS-cell-phone”.
5

phenikaa-uni.edu.vn
1. Hệ thống số (tiếp)
 Các ứng dụng
• “ Số hóa ” đã lan rộng ra nhiều ứng dụng, bao gồm thông tin (máy tính),
viễn thông, hệ thống điều khiển, …
• Mạch kỹ thuật số thay thế nhiều hệ thống tương tự:
 Ghi âm thanh: từ băng sang CD nhạc sang máy nghe nhạc MP3 (MPEG Layer
3)
Xử lý hình ảnh: từ phim bạc đến máy ảnh kỹ thuật số
Mạng chuyển mạch điện thoại
Hệ thống điều khiển

phenikaa-uni.edu.vn
1. Hệ thống số (tiếp)
 ví dụ , hệ thống kiểm soát nhiệt độ

• Thông tin nhiệt độ ở dạng tương tự


được đo.
• ADC (Bộ chuyển đổi tương tự sang
kỹ thuật số)
• Xử lý tín hiệu số
• DAC (Bộ chuyển đổi kỹ thuật số
sang tương tự)
• Bộ điều khiển

phenikaa-uni.edu.vn
1. Hệ thống số (tiếp)
 ví dụ , mạch kỹ thuật số trong hệ thống thông tin liên lạc
không dây

phenikaa-uni.edu.vn
2. Giới thiệu HDL
 HDL = H phần cứng D mô tả L ngôn ngữ
• Cho phép lập mô hình và mô phỏng (với thời gian) của các thiết kế
kỹ thuật số
• Có thể được tổng hợp thành phần cứng (netlist) bằng các công cụ
tổng hợp ( trình biên dịch FPGA )
• Hai tiêu chuẩn chính trong ngành công nghiệp và học thuật
 Verilog HDL (Linh hoạt, lỏng lẻo, phổ biến hơn trong công nghiệp)
 VHDL – Very High-Speed Circuit HDL (Được gõ mạnh, phổ biến hơn
trong quốc phòng và ô tô)
 Đã sử dụng cả hai nhưng khóa học này sẽ sử dụng Verilog (VHDL
trong khóa học khác)
 Khi bạn có khái niệm về HDL down (có thể suy nghĩ và viết mã phần
cứng), ngôn ngữ sẽ tạo ra một chút khác biệt.
9

phenikaa-uni.edu.vn
2. Giới thiệu HDL (tt)
• Nó trông giống như một ngôn ngữ lập trình
• Nó không phải là một ngôn ngữ lập trình
 Điều quan trọng cần nhớ là bạn đang mô tả phần cứng.
 Mục đích chính của mã này là để tạo phần cứng.
 Phần cứng mà mã này mô tả (bộ đếm) có thể được mô phỏng trên máy tính.

10

phenikaa-uni.edu.vn
2. Giới thiệu HDL (tt)
 Mô phỏng/Xác thực HDL
• Sự thật đáng buồn 10% thiết kế, 90% xác thực
• Nếu bạn làm đúng, bạn sẽ tốn gấp 9 lần cho việc thử nghiệm/xác
nhận một thiết kế so với việc thiết kế nó

11

phenikaa-uni.edu.vn
2. Giới thiệu HDL (tt)
 Tại sao nên sử dụng HDL?
• Kích hoạt thiết kế lớn hơn
 Trừu tượng hơn sơ đồ, cho phép thiết kế lớn hơn
 Làm việc ở cấp độ bóng bán dẫn/cổng cho các thiết kế lớn: phức tạp
• Thiết kế di động
 Hành vi hoặc luồng dữ liệu Verilog có thể được tổng hợp thành một thư viện
mới với ít nỗ lực
 Verilog được viết bằng văn bản ASCII. Cuối cùng trong tính di động. Di động
hơn nhiều so với các tệp nhị phân của công cụ chụp sơ đồ GUI.
• Khám phá không gian giải pháp lớn hơn
 Các tùy chọn tổng hợp có thể giúp tối ưu hóa (sức mạnh, diện tích, tốc độ)
• Thiết kế được xác nhận tốt hơn
 Bản thân Verilog được sử dụng để tạo testbench: phương pháp linh hoạt cho
phép tự kiểm tra các bài kiểm tra 12

phenikaa-uni.edu.vn
3. Verilog và VHDL
Verilog so với VHDL
Một HDL được sử dụng để mô Một HDL được sử dụng trong tự
hình hóa các hệ thống điện tử động hóa thiết kế điện tử để mô
tả các hệ thống tín hiệu kỹ thuật
số và tín hiệu hỗn hợp, chẳng hạn
như mảng cổng lập trình trường
và mạch tích hợp
Dựa trên ngôn ngữ C Dựa trên ngôn ngữ Ada và Pascal
Trường hợp nhạy cảm Không phân biệt chữ hoa chữ
thường
Một ngôn ngữ mới hơn VHDL Cũ hơn và Verilog (1980)
(1984)
Ít phức tạp hơn Phức tạp hơn
13

phenikaa-uni.edu.vn
3. Verilog và VHDL (tiếp)
 Xu hướng theo thời gian

14

phenikaa-uni.edu.vn
3. Verilog và VHDL (tiếp)
 VHDL: Euro, Nam Mỹ, Úc
 Verilog: Châu Á, Bắc Mỹ, Đông Âu

15

phenikaa-uni.edu.vn
4. Mô-đun Verilog

16

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)
 Trong Verilog, một mạch là một mô-đun

17

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)

 Kiểu mô-đun
• Cấu trúc - kết nối nguyên thủy và mô-đun
• Luồng dữ liệu – sử dụng phép gán liên tục
• Hành vi – sử dụng các khối ban đầu và luôn luôn

 Một mô-đun duy nhất có thể sử dụng nhiều hơn một phương
pháp!

18

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)
 Cấu trúc
• Một sơ đồ ở dạng văn bản
• Xây dựng một mạch từ cổng / flip-flop
 Cổng là nguyên thủy (một phần của ngôn ngữ)
 Bản thân dép xỏ ngón được mô tả theo hành vi
• Thiết kế cấu trúc
 Tạo giao diện mô-đun
 Khởi tạo các cổng trong mạch
 Khai báo các dây bên trong cần thiết để kết nối các cổng
 Đặt tên của dây vào vị trí cổng kết nối của cổng
 Đối với người nguyên thủy, đầu ra luôn đến trước

19

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)
 Ví dụ cấu trúc

20

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)
 Ví dụ về luồng dữ liệu

21

phenikaa-uni.edu.vn
4. Mô-đun Verilog (tiếp)
 Ví dụ hành vi

22

phenikaa-uni.edu.vn
4. Bàn thử
 Cần phải xác minh để đảm bảo thiết kế đáp ứng các yêu cầu về thời gian
và chức năng.
 V xác minh thiết kế phần cứng kỹ thuật số.
 S mô phỏng và phân tích các thiết kế mà không cần bất kỳ phần cứng
vật lý hoặc phần cứng thiết bị nào.

23

phenikaa-uni.edu.vn
4. Bàn thí nghiệm (tiếp)
 Ví dụ:
M b c Y
ột
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0

24

phenikaa-uni.edu.vn
4. Bàn thí nghiệm (tiếp)
 Ví dụ :
Ví dụ Testbench – Tự kiểm tra Ví dụ testbench với Waveform Editor
M b c Y
ột
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0

25

phenikaa-uni.edu.vn
5. FPGA
 Khối xây dựng phần cứng

26

phenikaa-uni.edu.vn
5. FPGA (tiếp)
 Tế bào tiêu chuẩn
• Thư viện các cổng và cấu trúc chung (ô logic)
• Một ô bao gồm 1 LUT (Bảng tra cứu), 1 D-Flipflop và 1 2-1 MUX
• Sắp xếp các ô trên chip: cân bằng giữa linh hoạt và tốc độ (độ trễ)
• Kết nối chúng bằng định tuyến có thể lập trình: công nghệ cầu chì và
chống cầu chì

27

phenikaa-uni.edu.vn
5. FPGA (tiếp)
 Tế bào tiêu chuẩn
• Sử dụng các ký ức nhỏ làm bảng chân trị của hàm (LUT)
• LUT bao gồm một khối SRAM có thể thực hiện nhiều chức năng logic khác
nhau.
• LUT trong giữ một bảng chân lý tùy chỉnh.
• Khi một FPGA được cấu hình , các bit của LUT được tải bằng các số 1 hoặc
0 dựa trên bảng chân lý mong muốn.

28

phenikaa-uni.edu.vn
5. FPGA (tiếp)
 IO-Cell và RAM trong
• IO-Cells kết nối các chân I/O của FPGA (chân người dùng và chân chuyên
dụng) với các khối logic bên trong

Tế bào RAM trong


vào/ra

29

phenikaa-uni.edu.vn
5. FPGA (tiếp)
 Tại sao lại là FPGA chứ không phải CPU?
• CPU (Bộ xử lý trung tâm) là mục đích chung và có thể thực hiện bất kỳ
chức năng nào dựa trên chương trình phần mềm.
• CPU thực hiện một chương trình dựa trên một tập hợp các hướng dẫn được
chỉ định theo cách tuần tự.
• Người dùng có thể sửa đổi và
cấu hình FPGA để thực hiện
các tác vụ cụ thể.
• FPGA lý tưởng cho các hệ
thống song song, nơi phải thực
hiện đồng thời nhiều tác vụ.

30

phenikaa-uni.edu.vn
6. KIT LP-2900 và Quartus II
 Nền tảng phòng thí nghiệm logic LP-2900

31

phenikaa-uni.edu.vn
6. KIT LP-2900 và Quartus II (tiếp)
 Intel Quartus là phần mềm thiết kế thiết bị logic có thể lập trình (trước
đó là Altera Quartus II ).
 Cho phép phân tích và tổng hợp các thiết kế HDL, cho phép nhà phát
triển biên dịch thiết kế của họ, thực hiện phân tích thời gian, kiểm tra sơ
đồ RTL và định cấu hình thiết bị đích với lập trình viên.
 Bao gồm triển khai VHDL và Verilog để mô tả phần cứng, chỉnh sửa trực
quan các mạch logic và mô phỏng dạng sóng véc tơ.
 Quartus II 13.1 Web Edition được sử dụng trong khóa học này.
Liên kết:
https://www.intel.com/content/www/us/en/software-kit/666221/intel-
quartus-ii-web-edition-design-software-version-13-1-for-windows. html
32

phenikaa-uni.edu.vn
Bản tóm tắt
 D và những ưu điểm của nó
 HDL: mô hình hóa và mô phỏng các thiết kế kỹ thuật số
 Verilog và VHDL
 Ba loại thiết kế mô-đun Verilog: cấu trúc, luồng dữ liệu và
hành vi
 Testbenches và cách triển khai để xác minh mã của bạn
 FPGA

33

phenikaa-uni.edu.vn

You might also like