Tải bản đầy đủ (.docx) (93 trang)

THIẾT kế KIT PHÁT TRIỂN CPLD và xây DỰNG bộ THÍ NGHIỆM TRÊN KIT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.36 MB, 93 trang )

THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

--------------------------------------------------

---------------------------------

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: .…………….………….…….. Số hiệu sinh viên: ……………………………..
Khoá:…………………….Viện: Điện tử - Viễn thông

Ngành: ……………….............................

1. Đầu đề đồ án:
………………………………………………..
………………………………………………………………………………………………………………………………
…………………………………………………………………..……….........

2. Các số liệu và dữ liệu ban đầu:
……………………………………………………………………………………………………………………………….
……………………………..
…………………………………………………………………………………………………………..

3. Nội dung các phần thuyết minh và tính toán:
...................................................................................................................................................................................................
...................................................................................................................................................................................................
………………………………………………………………………………………………………………………………



4. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ):
...................................................................................................................................................................................................
...................................................................................................................................................................................................
………………………………………………………………………………………………………………………………

5. Họ tên giảng viên hướng dẫn: ……………………………………………………………………
6. Ngày giao nhiệm vụ đồ án: ………………………………………………………………………
7. Ngày hoàn thành đồ án: ……………………………………………………………..……………………...
Chủ nhiệm Bộ môn

Ngày
tháng
năm
Giảng viên hướng dẫn

Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày

tháng

năm

Cán bộ phản biện

1


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

---------------------------------------------------

BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: ........................................................................ Số hiệu sinh viên: ..........................................
Ngành: ......................................................................................................... Khoá: ..........................................................
Giảng viên hướng dẫn:......................................................................................................................................................
Cán bộ phản biện: .............................................................................................................................................................
1. Nội dung thiết kế tốt nghiệp:
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
........................................................................................................

2. Nhận xét của cán bộ phản biện:
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
....................................................

Ngày

tháng


năm

Cán bộ phản biện
( Ký, ghi rõ họ và tên )

2


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN
Đề tài "Thiết kế kit phát triển FPGA và xây bộ thí nghiệm kèm kit" được
thực hiện bởi nhóm gồm 3 thành viên:
1. Lê Đức Trung

SHSV 20096384

Xây dựng bộ thí nghiệm kèm kit.
2. Nguyễn Thành Trung

SHSV 20096385

Thiết kế kit.
3. Nguyễn Minh Đức
Thiết kế kit.

3

SHSV 20096333



THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

MỤC LỤC

4


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

DANH MỤC HÌNH ẢNH

5


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

DANH MỤC BẢNG BIỂU

6


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

DANH MỤC CÁC TỪ VÀ THUẬT NGỮ VIẾT TẮT

Từ viết tắt

Thuật ngữ tiếng anh


Ý nghĩa

SOPC

System On a Programmable Chip

Hệ thống Trên 1 Chip Khả trình

PLD

Programmable Logic Device

Thiết bị logic lập trình được

VHDL

VHSIC hardware description
language

Ngôn ngữ mô tả phần cứng

CPLD

Complex Programmable Logic
Device

Một vi mạch mà người dùng có
thể lập trình được

DSP


Digital signal processing

Xử lý tín hiệu số

7


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

LỜI NÓI ĐẦU
Khai thác, nghiên cứu cơ bản công nghệ mới là bước không thể thiếu trong
việc cải tiến, nâng cao, cũng như chế tạo mới các trang thiết bị quân sự và dân sự
nhằm đáp ứng việc hiện đại hoá công nghiệp hoá của đất nớc. Cùng với sự phát
triển vượt bậc của nghành công nghệ thông tin, các công nghệ mới về các mạch
tích hợp vi điện tử, các mạch tổ hợp logic lập trình được ra đời đã làm cho các
sản phẩm quân sự cũng như dân sự ngày càng hoàn thiện và ưu việt hơn. Để tiến
một bước xa hơn trong việc cải tiến, chế tạo đòi hỏi phải có công nghệ
tiên tiến phù hợp với tình hình chung của thế giới. Trên cơ sở phát triển từ các chíp
PLA, hiện nay công nghệ na nô đã được áp dụng vào để chế tạo các mạch tích hợp
lập trình được FPGA và CPLD, nó đã làm cho mạch tích hợp logic lên đến hàng
chục triệu cổng, tốc độ đồng hồ lên đến 500 MHz. ứng dụng công nghệ mới vào
trong thiết kế chế tạo các thiết bị điện tử lập trình PLIC là một bớc cần thiết cho
tương lai với một nước đang phát triển như Việt Nam. Việc áp dụng công nghệ mới
trong lĩnh vực chế tạo mạch điện tử
để đáp ứng những yêu cầu trên là hoàn toàn cấp thiết mang tính thực tế cao. Công
nghệ FPGA (Field Programmable Gate Array) và CPLD (Complex Programmable
Logic Device) đã đợc các hãng lớn tập trung nghiên cứu và chế tạo, điển hình là
Xilinx và Altera. Để làm chủ công nghệ mới và tổ chức thiết kế sản xuất công nghệ
FPGA của Xilinx cho phép chúng ta tự thiết kế những vi mạch riêng, những bộ xử

lý số riêng dành cho ứng dụng của chúng ta. Đặc biệt trong lĩnh vực xử lý tín hiệu
số, các mạch tích hợp dùng để nhận dạng âm thanh, hình ảnh, cảm biến với tính
mềm dẻo cao và giá thành thấp
Mặc dù công nghệ FPGA và CPLD đã xuất hiện từ năm 1985, xong đối với nước ta
thì nó vẫn còn rất mới. Do vậy tìm hiểu, làm chủ về công nghệ FPGA & CPLD là
việc làm hoàn toàn cần thiết. Nó có ý nghĩa đối với các lĩnh vực Điện tử -Viễn
thông và công nghệ thông tin.
Với mục đích cung cấp KIT phát triển CPLD cho các bạn sinh viên và giúp các
bạn có điều kiện làm việc với KIT thực tế trong môn học về thiết kế phần cứng sử
dụng ngôn ngữ mô tả phần cứng hay bước đầu tiếp cận với lĩnh vực nghiên cứu về
8


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

CPLD, FPGA, nhóm em thực hiện đề tài : "Thiết kế bộ KIT phát triển CPLD và xây
dựng bộ thí nghiệm trên KIT". Bộ KIT cung cấp phần cứng phục phụ các bài học cơ
bản, giao tiếp các thiết bị ngoại vi thông dụng, thực hành thí nghiệm đối với mạch
số. Trong quá trình thực hiện, do hạn chế về mặt thời gian cũng như kiến thức, nên
đề tài không thể tránh khỏi những thiếu sót. Chúng em mong nhận được sự đóng
góp của thầy cô và các bạn để đề tài được hoàn thiện hơn.
Em xin gửi lời cảm ơn chân thành đến:
-

Cô Ths.Đinh Thị Nhung là người đã tạo điều kiện & tận tình hướng dẫn cho
chúng em nghiên cứu, học tập trong suốt thời gian qua.

-

Viện điện tử viễn thông, trường đại học Bách Khoa Hà Nội đã tạo môi trường

học tập, nghiên cứu tốt cho em trong suốt 5 năm.

Cảm ơn tất cả người thân, gia đình, bạn bè đã giúp đỡ trong quá trình học tập,
nghiên cứu.
Nhóm sinh viên thực hiện
LÊ ĐỨC TRUNG
NGUYỄN THÀNH TRUNG
NGUYỄN MINH ĐỨC

9


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

CHƯƠNG 1. TỔNG QUAN CPLD
1.1 Giới thiệu vi điều khiển CPLD
CPLD (viết tắt của Complex Programmable Logic Device) là một vi mạch mà
người dùng có thể lập trình được. Nó cũng tương tự như FPGA về ứng dụng nhưng
không có nhiều cổng logic (logic gates) như FPGA. Do đó nếu cần thiết kế những
mạch phức tạp (thí dụ như khi thiết kế một CPU mềm thì nên dùng FPGA.) CPLD
chỉ phù hợp cho những thiết kế đơn giản. Trong khi FPGA thì dựa trênSRAM,
CPLD lại dựa trên EEPROM, do dó nó ghi nhớ được lập trình khi tắt nguồn điên.
Chỉ cần nạp điện lên là CPLD có thể hoạt động mà không cần phải tải lập trình
xuống

như

FPGA.[1] [2] [3] Những

hãng


chế

tạo

CPLD

gồm

có Xilinx, Altera, Lattice và Actel.
CPLD bao gồm nhiều khối mạch được đưa vào trong một chip. Mỗi khối
mạch được hình thành từ một PAL kết hợp với macrocell, các khối được kết nối
với nhau thông qua mạng lưới đường kết nối (interconnection) khả trình, mỗi
khối được kết nối tương ứng với một khối I/O.Như vậy, 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.

10


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

Hình 1. 1 Cấu trúc CPLD
Công nghệ chuyển mạch transistor cửa động(floating gate transistor) được
ứng dụng đối với các chip CPLD. Một EEPROM hoặc một transistor EPROM được
sử dụng như một chuyển mạch khả trình.

Chương trình được nạp vào chip CPLD sẽ không bị mất đi khi mất nguồn
điện. CPLD thích hợp cho các ứng dụng đơn giản do hạn chế về tài nguyên, cổng
logic trong một chip CPLD có thể lên tới khoảng 20000 cổng.

11


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

1.2 Altera Max series
Bảng 1. 1 Các dòng CPLD của Altera



Single-chip, non-volatile FPGA



Optimal system component integration in small form factor



Broad range of IP including Analog block, DSP, and Nios II
embedded processor support



Robust features at up to 50 percent lower total power vs.
competitive CPLDs




Lower total system cost through architecture that integrates
previously external functions



Instant-on, single-chip CPLD built on non-volatile
architecture



Instant-on, non-volatile, single-chip CPLD solution



1/10th the power of MAX CPLDs, with low cost, low power
and high density



On-board user flash memory. 1.8-V, 2.5-V, and 3.3-V supply
voltages



Instant-on, non-volatile, low-cost CPLD for low density
solutions

12




Deterministic timing



5.0-V I/O support. 2.5-V, 3.3-V, and 5.0-V supply voltages


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

1.3 CPLD và FPGA của Altera
Altera là một trong số những nhà sản xuất, phân phối hàng đầu các sản phẩm
công nghệ CPLD và FPGA. Sản phẩm cơ bản trong lĩnh vực FPGA : Cyclone, Arria
và Stratix. Đối với công nghệ CPLD, Altera cung cấp các chip dòng MAX II, MAX
V, MAX 3000, MAX 7000.
1.2 MAX II của Altera
Chip MAX II có mật độ cổng logic từ 240 đến 2210(LEs), bộ nhớ lưu trữ UMF
kích thước 8 Kbits thuộc loại bộ nhớ không bị mất dữ liệu khi nguồn điện ngừng
cung cấp.
Bảng 1. 2 Dòng chíp MAX II
Phần tử logic
Macrocells
Chân I/O
UMF(Kbits)

EPM240/G/Z
240
192

80
8

EPM570/G/Z
570
440
160
8

EPM1270/G
1270
980
212
8

EPM2210/G
2210
1700
272
8

.
Kiến trúc của MAX II gồm các cột và hàng kết nối với nhau bằng các tín hiệu kết
nối trong giữa các khối mảng logic(LABs). Mỗi khối mảng logic gồm 10 phần tử
logic(LEs). Phần tử logic là đơn vị logic nhỏ nhất cung cấp khả năng thực hiện chức
năng logic người dùng. Chân pin I/O được cung cấp từ các phần tử I/O(IOE) sắp
xếp xung quanh các LABs tại vị trí cuối hàng và cột.

13



THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

Hình 1. 2. Sơ đồ khối trong MAX II
MAX II cung cấp mạng lưới tín hiệu clock, mạng tín hiệu clock gồm 4 đường
clock chạy khắp chip, cung cấp tới các nguồn tài nguyên trong chip. Tín hiệu clock
cũng được sử dụng làm tín hiệu điều khiển như tín hiệu xóa, cài đặt, cho phép.

Hình 1. 3. Cấu trúc LAB
14


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

1.4 Cyclon III của Altera
Cyclon III được cấu tạo từ các phần tử logic(LE) có mật độ từ 5000 đến 200000
phần tử, các LE kết nối với nhau theo từng khối mảng logic(LAB); chip cung cấp
khối nhớ dung lượng 0,5Mb đến 8Mb phục phụ ứng dụng mở rộng: thiết kế hệ
nhúng, xử lí tín hiệu số...
Mỗi khối LAB được hình thành từ 16 phần tử logic(LE). Cấu tạo của LE có 4
đầu vào, một bộ LUT 4 đầu vào, một thanh ghi và đầu ra.
Bộ nhớ trong M9K được đưa vào các chip Cyclon III có thể hoạt động ở tần số
315Mhz. Cấu trúc khối M9K bao gồm các cột nhớ có thể cấu hình giống như RAM,
bộ đệm FIFO hoặc ROM. Bộ nhớ trong chip thích hợp ứng dụng xử lí nhúng, lưu
trữ dữ liệu.
Hỗ trợ xử lí tín hiệu số(DSP) và bộ nhân nhúng, Cyclon III hỗ trợ 288 bộ nhân
riêng biệt 18x18 bit hoặc hai bộ nhân riêng biệt 9x9 bit; thiết kế hệ thống DSP được
hỗ trợ thông qua lõi DSP IP(bộ lọc FIR, biến đổi FFT, chức năng điều khiển số dao
động-NOC), cung cấp kit phát triển DSP, bổ sung công cụ giao tiếp giữa phần mềm
Quartus với MathWorks Simulink và môi trường thiết kế MATLAB. Hỗ trợ giao

tiếp bộ nhớ ngoài tốc độ cao: DDR, DDR2, SDR SDRAM và QDRII SRAM. Hệ
thống cung cấp các PLLs(phase-locked loops) giúp quản lí tín hiệu clock(cho phép
nâng tần số clock).
Bảng 1. 3 Chip Cyclon III.
Chip
EP3C5
EP3C10
EP3C16
EP3C25
EP3C40
EP3C55
EP3C80
EP3C120

LEs
5,136
10,320
15,408
24,624
39,600
55,856
81,264
119,088

M4K
46
46
56
66
126

260
305
432

RAM
423,936
423,936
516,096
608,256
1,161,216
2,396,160
2,810,880
3,981,312

Bộ nhân 18x18
23
23
56
66
126
156
244
288

CHƯƠNG 2. NGÔN NGỮ MÔ TẢ PHẦN CỨNG HDL
2.1 Ngôn ngữ mô tả phần cứng.
Phương pháp thiết kế phần cứng truyền thống có đặc điểm: cấp độ khái niệm của
thiết kế được miêu tả bằng ngôn ngữ tự nhiên, mô tả thiết kế sử dụng sơ đồ và sau
15



THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

đó mô phỏng. Đặc điểm kĩ thuật ban đầu trong ngôn ngữ tự nhiên được mở rộng
bằng các sơ đồ khối, sơ đồ trạng thái và sơ đồ thời gian. Trong quá trình thiết kế,
các khái niệm đặc tả ban đầu sẽ được làm sáng tỏ hơn bởi người thiết kế, thông tin
mới được đưa vào cho tới khi hoàn thành thiêt kế ở mức truyền thanh ghi.
Ngày nay, các hệ thống trở nên phức tạp hơn, các thiết kế ở mức độ khái niệm
yêu cầu cách tiếp cận mới đảm bảo tính đơn giản, dễ thiết kế và hiệu quả. Các nhà
thiết kế cần một hệ thống ngôn ngữ miêu tả phần cứng mới đáp ứng yêu cầu thiết
kế, ngôn ngữ mô tả phần cứng(HDL) ra đời như một phương pháp nâng cao hiệu
quả của quy trình thiết kế.
Ngôn ngữ mô tả phần cứng cung cấp chức năng mô tả, thiết kể, tổng hợp và hoàn
thiện hệ thống thiết kế số từ đơn giản đến phức tạp, đảm bảo quá trình trừu tượng
hóa thiết kế phức tạp. Ngôn ngữ HDL giống với ngôn ngữ lập trình nhưng không
phải là ngôn ngữ lập trình. Chức năng ngôn ngữ mô tả phần cứng HDL :
-Mô hình hệ thống số, một phần hoặc toàn bộ thiết kế cho hệ thống.
-Hỗ trợ phân tích, tổng hợp, kiểm thử trong quá trình phân cấp thiết kế.
- Hỗ trợ thiết kế phần cứng.
Ngôn ngữ HDL đảm bảo thực hiện được các yêu cầu tính đồng thời, kết nối-phân
cấp hệ thống, thời gian thực hiện và giải pháp mô phỏng khi thiết kế mạch thật.
Hệ thống ngôn ngữ mô tả phần cứng bao gồm: AHDL, CONLAN, DDL,
HardwareC, Verilog, VHDL... Ngày nay, Verilog và VHDL được sử dụng khá phổ
biến.

16


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT


2.2 Ngôn ngữ Verilog
2.2.1 Lịch sử ngôn ngữ Verilog và chuẩn Verilog-1995, Verilog-2001
Verilog là ngôn ngữ mô tả phần cứng hiện đại được giới thiệu vào năm 1984 bởi
Prabhu Goel và Phil Moorby. Khoảng thời gian từ năm 1984-1990 ngôn ngữ
Verilog phát triển qua các phiên bản, tuy nhiên, trong thời này ngôn ngữ chưa được
chuẩn hóa.
Mô phỏng Verilog được bắt đầu sử dụng từ năm 1985, tới năm 1987 Verilog phát
triển mở rộng thêm các phiên bản để thực hiện thêm chức năng. Phiên bản VerilogXL ra đời được bổ sung một vài tính năng để thực hiện "thuật toán XL", đây là
phương pháp hiệu quả để thực hiện mô phỏng mức cổng. Cần phân biệt rõ ràng giữa
Verilog HDL với Verilog-XL: Verilog HDL dùng để thiết kế mạch phần cứng trong
khi Verilog-XL dùng để mô phỏng sự kiện bằng cách đọc mã Verilog HDL và mô
phỏng trạng thái của phần cứng.
Năm 1995, chuẩn IEEE Verilog được công nhận (IEEE Standard 1364-1995).
Năm 2001, Verilog được chuẩn hóa mới (IEEE Standard 1364-2001) phát triển từ
chuẩn Verilog-1995, trong đó bổ sung chỉnh sửa khuyết điểm mà người sử dụng tìm
thấy khi sử dụng chuẩn Verilog-1995. Chuẩn Verilog-2001 ra đời nhằm mục đích:
- Nâng cao khả năng của ngôn ngữ đối với việc thiết kế những thành phần siêu
hiển vi và vấn đề sở hữu trí tuệ.
- Đảm bảo tính nâng cao của ngôn ngữ phù hợp và đưa ngôn ngữ vào ứng dụng ;
các nhà cung cấp công cụ mô phỏng, tổng hợp phải tuân thủ theo chuẩn Verilog
mới đối với các sản phẩm họ cung cấp.
- Sửa các lỗi và định nghĩa không rõ ràng trong chuẩn Verilog-1995.
Tính nâng cao của chuẩn Verilog-2001 so với chuẩn Verilog-1995:
1. Chuẩn Verilog-1995 hạn chế về quá trình mở rộng và tái sử dụng các thiết kế

khác nhau, đặc biệt với các thiết kế có cấu trúc phức tạp. Verilog-2001 thêm
vào tính năng "generate loops" , cho phép tạo ra nhiều trường hợp mô đun
và thành phần phần cơ bản giống như quá trình tạo ra nhiều biến(variable),
lưới(nets), yêu cầu(task), hàm(function), lệnh liên tục, thủ tục khởi đầu, thủ
tục luôn luôn(always procedure). Khóa mới được quy định thêm: generate,

endgenerate, genvar, localparam. Genvar là kiểu dữ liệu mới, lưu trữ giá trị
17


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

số nguyên. Biến chỉ số sử dụng trong khối lặp "generate " phải được khai báo
kiểu "genvar". Khóa khai báo hằng số "localparam" giống như khóa khai báo
"parameter", tuy nhiên khi sử dụng khóa "localparam" hằng số chỉ có giá trị
cục bộ trong một mô đun và không có khả năng tái định nghĩa lại giá trị.
2. Chuẩn Verilog-2001 mở rộng hỗ trợ đối với mảng, cho phép sử dụng mảng
nhiều chiều, giá trị của mảng bao gồm cả kiểu biến và kiểu nets, trong khi
Verilog-1995 chỉ hỗ trợ mảng một chiều, giá trị mảng bắt buộc kiểu biến.
3. Một trong những hạn chế lớn nhất của chuẩn Verilog-1995 là khả năng hỗ
trợ đối với các thuật toán liên quan tới dấu: kiểu dữ liệu duy nhất cho phép
dạng có dấu là kiểu số nguyên(integer), kiểu reg và net thuộc kiểu không
dấu(unsigned). Chuẩn Verilog-2001 mở rộng đối tượng mang kiểu có dấu và
bổ sung thêm chức năng hỗ trợ: kiểu nets, kiểu reg và số nguyên có thể khai
báo kiểu có dấu(signed), giá trị trả về của hàm có thể là giá trị có dấu, cung
cấp toán hạng chuyển đổi giữa số có dấu và số không dấu, bổ sung toán tử
dịch toán học(<<<, >>>), toán tử hàm mũ(**).
4. Verilog-2001 bổ sung thêm một số cú pháp, ví dụ:kiếu hiệu @* có nghĩa
danh sánh trong biểu thức điều kiện của khối always là tất cả đầu vào của mô
đun; dấu "," có thể được dùng thay thế từ khóa "or" trong danh sách tín hiệu
điều khiển khối always.

2.2.2 Đặc điểm ngôn ngữ Verilog
Ngôn ngữ mô tả phần cứng Verilog đơn giản, gần giống với ngôn ngữ lập trình
C. So với ngôn ngữ VHDL, Verilog dễ học, dễ sử dụng hơn; tuy nhiên điều này
cũng đồng nghĩa Verilog không mạnh bằng VHDL đặc biệt trong các thiết kế có độ

phức tạp cao.
Dữ liệu trong ngôn ngữ Verilog đều được định nghĩa trước. Tất cả các dữ liệu
trong Verilog đều được nhận diện ở cấp độ bit, các kiểu dữ liệu được hỗ trợ có thể
pha trộn lẫn nhau trong thiết kế.
Ngữ nghĩa mô phỏng trong Verilog không rõ ràng, đặc biệt khi so sánh với
VHDL. Điều này cho phép các nhà thiết kế linh hoạt hơn trong quá trình tối ưu, tuy
nhiên, điều này cũng dẫn đến tình trạng một thiết kế tạo ra nhiều kết quả khác nhau
trên công cụ của các nhà thiết kế khác nhau hoặc thậm chí trên các phiên bản khác
nhau của cùng một công cụ do một nhà cung cấp đưa ra.
18


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

Verilog định nghĩa một tập các khả năng điều khiển mô phỏng cơ bản trong hệ
thống ngôn ngữ, điều này dẫn đến thiếu các loại dữ liệu phức tạp phục phụ cho quá
trình mô phỏng. Kết quả là quá trình mô phỏng đã được hệ thống xác định từ trước,
người thiết kế sẽ chạy một loạt lệnh mô phỏng và quan sát dạng sóng để gỡ rối
trong cơ sở dữ liệu mô phỏng.
Verilog hỗ trợ các cấp độ khác nhau trong quy trình thiết kế: xử lí thuật toán
trong chức năng hệ thống; hỗ trợ thiết kế RTL(mức truyền thanh ghi).
Hỗ trợ mô hình thiết kế cấu trúc, dòng dữ liệu, trạng thái. Mỗi chương trình
Verilog hoàn thiện hoặc một khối chức năng được thiết kế riêng được đặc tả bằng
một mô đun. Một mô đun thiết kế cho phép đặc tả tín hiệu vào(input), tín hiệu
ra(output) và tín hiệu hai chiều(inout-áp dụng với tín hiệu vừa đóng vai trò tín hiệu
vào, vừa đóng vai trò tín hiệu ra).
Verilog cung cấp hai khối khá mạnh "initial" và "always": khối "initial" sẽ thực
hiện một lần khi chương trình bắt dầu chạy và thường sử dụng trong quá trình mô
phỏng; khối "always" luôn chạy khi thực hiện chương trình, khối chỉ ngưng thực
hiện khi thoát chương trình, "always" là khối rất mạnh và được sử dụng rất nhiều

trong các thiết kế Verilog, các tín hiệu được điều khiển trong khối "always" phải
được khai báo kiểu dữ liệu thanh ghi.
Verilog cung cấp hai kiểu dữ liệu "net" và "register-thanh ghi". Kiểu "net" là
đường nối giữa các phần mô đun, các phần tử trong thiết kế; kiểu "net" luôn mang
giá trị của tín hiệu được điều khiển và biến kiểu "net" dùng đối với câu lệnh liên
tục. Kiểu "thanh ghi" thường dùng đối với tín hiệu điều khiển trong khối always, sử
dụng phổ biến trong thiết kế mạch tuần tự và trong thiết kế mức truyền thanh ghi
RTL.
Ngôn ngữ hỗ trợ đầy đủ toán tử toán học cơ bản, phép dịch, phép so sánh, khóa
khai báo và sử dụng hằng số. Giá trị logic của tín hiệu trong Verilog bao gồm: mức
"1", mức "0", "x"-don't care, "z"-trạng thái cao.
Ngôn ngữ mô tả phần cứng Verilog thích hợp cho các thiết kế đơn giản, nhỏ,
không quá phức tạp.

19


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

2.3. Ngôn ngữ VHDL
2.3.1 Lịch sử ngôn ngữ VHDL
VHDL(VHSIC Hardware Description Language) có nguồn gốc từ ngôn ngữ lập
trình ADA. Ngôn ngữ được bắt đầu phát triển vào năm 1980 do bộ quốc phòng Mỹ
khởi xướng để tạo ra tiêu chuẩn HDL cho VHSIC(Very Hight Speed Integrated
Circuit). Việc hình thành tiêu chuẩn nhằm để phát triển các mạch tích hợp. Trong
quá trình phát triển mạch tích hợp phức tạp, các nhà thiết kế nhận thấy phương pháp
thiết kế truyền thống không thích hợp và cần tới một phương pháp mô tả mới-ngôn
ngữ mô tả phần cứng VHDL được đề xuất.
Năm 1985, phiên bản đầu tiên ngôn ngữ mô tả phần cứng VHDL được công bố
bởi bộ quốc phòng Hoa Kì và được chuẩn hóa IEEE năm 1987(1076-1987). Năm

1993, VHDL được chuẩn hóa IEEE phiên bản mới(1076-1993).
2.3.2 Đặc điểm của ngôn ngữ VHDL
Hỗ trợ kiểu thiết kế khác nhau của quá trình mô tả: kiểu hành vi(behavial), kiểu
luồng dữ liệu(data flow), kiểu cấu trúc(structure). Kiểu hành vi đặc trưng quá trình
mô tả thuật toán chức năng của hệ thống phần cứng, không có bất kì thông tin nào
về cấu trúc phần cứng, các tùy chọn nâng cao được thực hiện thông qua hành vi về
mặt thời gian. Kiểu luồng dữ liệu mô tả dòng chảy dữ liệu trong hệ thống phần
cứng, kiểu luồng dữ liệu đặc trưng miêu tả trạng thái đang diễn ra trong hệ thống.
Kiểu cấu trúc thực hiện thiết kế hệ thống hoàn chỉnh thông qua việc chia hệ thống
thành các hệ thống, cấu trúc nhỏ hơn thực hiện chức năng riêng biệt rồi liên kết
chúng lại với nhau.
Hỗ trợ nhiều phương pháp thiết kế: từ trên xuống(top-down), từ dưới lên(bottomup) và thiết kế hỗn hợp. Trong phương pháp thiết kế từ trên xuống, hệ thống được
phân cấp thành tập các hệ thống con để dễ dàng thiết kế hơn. Đối với phương pháp
thiết kế từ dưới lên, các nhà thiết kế bắt đầu với các thành phần cơ bản và tiến tới
hoàn thiện hệ thống.
Hỗ trợ các mô hình kĩ thuật số khác nhau : mô tả về thuật toán, đại số Boolean và
máy trạng thái hữu hạn.
Hỗ trợ phương pháp tiếp cận khác nhau về mặt thời gian. Ví dụ : hỗ trợ hệ thống
hoạt động đồng bộ theo xung đồng hồ clock hoặc không đồng bộ.
20


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

Hỗ trợ nhiều công nghệ phần cứng khác nhau : kiểu logic cơ bản mới, linh kiện
cơ bản mới và đặc tính phụ thuộc công nghệ.
VHDL là ngôn ngữ đồng thời, các sự kiện có thể thực hiện đồng thời bằng trong
hệ thống phần cứng bằng cách thực thi các lệnh cùng thời điểm.
Cho phép người sử dụng tự định nghĩa kiểu dữ liệu mới, trừu tượng hóa ở mức
cao khi thiết kế và mô phỏng kĩ thuật thiết kế mới.


Hình 2. 1. Cấu trúc cơ bản của VHDL entity
Mô tả entity được dùng đối với mã VHDL, trong đó:
-Mô tả entity: Khai báo các tín hiệu được sử dụng thiết kế(tín hiệu vào, tín hiệu
ra và tín hiệu vào-ra(nếu có)).
-Khối architecture: Thực thi đặc tả của hệ thống được thiết kế, thường người thiết
kế sẽ để mỗi architecture làm một nhiệm vụ riêng để dễ dàng thiết kế và sửa lỗi.
VHDL thích hợp thiết kế cho các hệ thống lớn, phức tạp, yêu cầu bảo mật cao.
Nhược điểm của VHDL:
-Mã VHDL thường dài hơn so với mã HDL khác khi thiết kế cùng một hệ thống.
-Quá trình gỡ rối khó khăn hơn do VHDL hoạt động song song.

21


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

CHƯƠNG 3. Quartus II 9.1 & Modelsim
3.1 Quartus II 9.1
Quartus II là công cụ phần mềm phát triển của hãng Altera, cung cấp môi
trường thiết kế toàn diện cho các thiết kế SOPC (Hệ thống Trên 1 Chip Khả trình System On a Programmable Chip). Đây là phần mềm đóng gói tích hợp đầy đủ
phục vụ cho thiết kế logic với các linh kiện logic khả trình PLD của Altera, gồm các
dòng APEX, Cyclone, FLEX, MAX, Stratix...
Quartus cung cấp các khả năng thiết kế logic sau:
-

Môi trường thiết kế gồm các bản vẽ, sơ đồ khối, công cụ soạn thảo các ngôn

-


ngữ: AHDL, VHDL, và Verilog HDL.
Thiết kế LogicLock: Là công cụ mạnh để tổng hợp logic.
Khả năng mô phỏng chức năng và thời gian.
Phân tích thời gian.
Phân tích logic nhúng với công cụ phân tích SignalTap@ II.
Cho phép xuất, tạo và kết nối các file nguồn để tạo ra các file chương trình.
Tự động định vị lỗi.
Khả năng lập trình và nhận diện linh kiện.
Phần mềm Quartus II sử dụng bộ tích hợp NativeLink@ với các công cụ

thiết kế cung cấp việc truyền thông tin liền mạch giữa Quartus với các công cụ thiết
kế phần cứng EDA khác.
Quartus II cũng có thể đọc các file mạch (netlist) EDIF chuẩn, VHDL và Verilog
HDL cũng như tạo ra các file netlist này.
Quartus II có môi trường thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên
dịch, soát lỗi, mô phỏng...
Với Quartus có thể kết hợp nhiều kiểu file trong 1 dự án thiết kế phân cấp.
Có thể dùng bộ công cụ tạo sơ đồ khối (Quartus Block Editor) để tạo ra sơ đồ khối
mô tả thiết kế ở mức cao, sau đó dùng các sơ đồ khối khác, các bản vẽ như: AHDL
Text Design Files (.tdf), EDIF Input Files (.edf), VHDL Design Files (.vhd), and
Verilog HDL Design Files (.v) để tạo ra thành phần thiết kế mức thấp.
Quartus II cho phép làm việc với nhiều file ở cùng thời điểm, soạn thảo file thiết kế
trong khi vẫn có thể biên dịch hay chạy mô phỏng các dự án khác. Công cụ biên
dịch Quartus II nằm ở trung tâm hệ thống, cung cấp quy trình thiết kế mạnh cho
22


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

phép tùy biến để đạt được thiết kế tối ưu trong dự án. Công cụ định vị lỗi tự động và

các bản tin cảnh báo khiến việc phát hiện và sửa lỗi trở nên đơn giản hơn.
3.2 Modelsim
Modelsim-Altera là công cụ phần mềm phát triển của hãng Altera. Trước
đây, Modelsim là sản phẩm trí tuệ của hãng Mentor Graphics. Nhận thấy các ưu
điểm của phần mềm này, hãng Altera đã mua lại bản quyền của Modelsim và tạo
nên Modelsim-Altera. Modelsim-Altera cung cấp môi trường phát triển toàn diện
cho các ngôn ngữ mô tả phần cứng (HDL - Hardware Description Language) như
VHDL, Verilog, AHDL, SystemC,... Modelsim-Altera có các thư viện đầy đủ phục
vụ cho thiết kế logic với các linh kiện logic khả trình PLD của Altera, gồm các
dòng APEX, Cyclone, FLEX, MAX, Stratix...
Modelsim-Altera cung cấp các khả năng thiết kế logic sau:
- Bộ công cụ soạn thảo các ngôn ngữ: AHDL, VHDL, và Verilog HDL.
- Khả năng mô phỏng chức năng và thời gian.
- Phân tích thời gian.
- Cho phép xuất, tạo và kết nối các file nguồn để tạo ra các file chương trình.
- Tự động định vị lỗi.
- Khả năng lập trình và nhận diện linh kiện.

23


THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

3.3 Giới thiệu về EPM240T100C5
EPM240T100C5 là một dòng vi sử lý thuộc họ MAX II của hãng ALTERA

Hình 3. 1 EPM240T100C5
MAX ® II, gia đình của gia đình CPLD Altera là điện năng thấp nhất, CPLD chi
phí thấp nhất bao giờ hết. MAX II CPLD gia đình dựa trên một kiến trúc đột phá,
mang lại năng lượng thấp nhất và chi phí thấp nhất cho mỗi I / O pin của bất kỳ gia

đình CPLD. Với sự ra đời của MAX IIZ CPLD, hiện nay có ba biến thể mà tất cả sử
dụng kiến trúc CPLD sáng tạo cùng:





EPM240T100C5 có các tính năng sau đây:
Chi phí thấp, CPLD tiết kiệm năng lượng
Chế độ Standby thấp là 25 μA
Cung cấp trễ truyền nhanh và xung thời gian.
Cung cấp bốn bộ tạo xung nhịp với hai bộ tạo xung nhịp có sẵn cho mỗi mảng khối

logic (LAB)
• Lõi MultiVolt cho phép điện áp cung cấp bên ngoài cho các thiết bị của một trong




hai mức 3.3 V/2.5 V hoặc 1,8 V
I / O giao diện hỗ trợ 3,3 V, 2,5 V, 1,8 V, và 1.5-V cho một mức logic
Kiến trúc kết nối thân thiện Bus-friendly
I / O là hoàn toàn phù hợp với (PCI SIG) PCI Local Bus Specification, sửa đổi 2.2

cho 3.3-V hoạt động tại 66 MHz
• Được xây dựng trong chuẩn JTAG (Joint Test Action Group, BST (boundary-scan
test) mạch với các chuẩn IEEE Std. 1.149,1-1990
• ISP mạch với các chuẩn IEEE Std. 1532
24



THIẾT KẾ KIT PHÁT TRIỂN CPLD VÀ XÂY DỰNG BỘ THÍ NGHIỆM TRÊN KIT

3.4. Sử dụng quartus II
Tạo project mới

Hình 3. 2: Giao diện chính đầu tiên của Qurtus II
Điền các trường thông tin của project

25


×