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

NGHIÊN CỨU VÀ THIẾT KẾ MẠNG CÔNG NGHIỆP SỬ DỤNG CHIP FPGA VÀ CPU 89S8252

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 (605.57 KB, 93 trang )

Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA

___oOo___

NGUYỄN BẢO KỲ

NGHIÊN CỨU VÀ THIẾT KẾ
MẠNG CÔNG NGHIỆP SỬ DỤNG
CHIP FPGA VÀ CPU 89S8252
CHUYÊN NGÀNH
MÃ SỐ

: Vô Tuyến - Điện Tử
: 02.07.01

LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, THÁNG 03 NĂM 2004
PHẦN 1
GIỚI THIỆU MẠNG CÔNG NGHIỆP
1.GIỚI THIỆU MẠNG CÔNG NGHIỆP

Trang 1


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Trong nhiều thập niên năm qua việc ứng dụng mạng thông tin vào lĩnh vực công
nghiệp đã bùng nổ rất mạnh mẽ.Các hệ thống mạng phát triển rất mạnh và đa
dạng .
Việc ứng dụng mạng công nghiệp đã mang lại những lợi ích rõ nét


 Chi phí lắp đặt hệ thống
 Nhân cơng điều hành
 Tiện ích quản lý hệ thống
 Cải thiện môi trường làm việc

Mô hình hệ thống mạng điều khiển
Mở rộng ra từ mạng cục bộ ,các hệ thống cục bộ có thể kết nối với nhau tạo ra một
mạng diện rộng .Như vậy chỉ với một máy tính có thể quản lý tập trung mạng điều
khiển .

Trang 2


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

KIT1

Máy
tính

KIT
2

KIT3

KIT4

KIT7

KIT8


KIT5

KIT
6

KIT9

KIT1
0

Có thể xem mơ hình mạng cơng nghiệp gần giống như các mơ hình mạng khác.Tuy
Mơ hình kết nối các cơng cục bộ
nhiên có sự đa dạng trong kiểu dữ liệu mạng mạng nghiệp .
Các dạng dữ liệu trong mạng cơng nghiệp :
 Tín hiệu máy đang hoạt động hay đang nghỉ
 Số máy trong mạng
 Tình trạng tốt hay xấu của từng máy
 Chu kỳ hoạt động của máy
OSI
TCP/IP
 Cấu hình của các máy
 Tín hiệu kiểm traApplication
mạng
 Thông tin trả lời từ các máy
Application
 .......................
Presentation

2.KHẢO SÁT GIAO THỨC VÀ CẤU TRÚC MẠNG

2.1.Mơ hình TCP/IP:Session
Mơ hình TCP/IP (Transmission Control Protocol / Internet Protocol) là mơ hình cho
Transport
Transport
mạng Internet được sử dụng rộng rãi nhất hiện nay.
Cấu trúc các lớp của TCP/IP có một số điểm tương đồng với mơ hình OSI (Open
Network
System Interconnect) nhưng có những bỏ bớt một Internet So với 7 lớp của mô hình
số lớp.
OSI, cấu trúc TCP/IP chỉ có 4 sau đây:
Data link

Network
access

Physical

Trang 3
Cấu trúc 4 lớp của mơ hình TCP/IP so với mơ hình OSI


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Lớp truy xuất mạng : Network Access Layer.
Lớp liên mạng : Internet Layer.
Lớp vận chuyển : Transport Layer.
Lớp ứng dụng : Application Layer.
Chức năng của các lớp :
2.1.1.Lớp truy xuất mạng (Network Access Layer):
Lớp truy xuất mạng đại diện cho các bộ phận kết nối vật lý như cáp, bộ chuyển đổi

(Adapter), card mạng, giao thức kết nối, giao thức truy cập mạng. Lớp này có nhiệm
vụ trao đổi dữ liệu giữa các máy chủ và mạng.
TCP/IP khơng định nghĩa lớp này mà dùng các chuẩn có sẵn như IEEE, X25,
RS232, ETHERNET,...

Trang 4


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
2.1.2.Lớp liên mạng (Internet Layer):
Chịu trách nhiệm cung cấp địa chỉ logic cho giao diện mạng vật lý để điều khiển
việc truyền thông tin giữa các máy. Lớp này nhận dữ liệu từ lớp vận chuyển, đóng
gói thành các IP datagram với các IP header chứa thông tin của việc truyền dữ liệu,
sau đó chuyển xuống lớp truy xuất mạng để truyền. Lớp này cũng cung cấp các giao
thức để thông báo lỗi.
2.1.3.Lớp vận chuyển:
Lớp vận chuyển có nhiệm vụ phân phát dữ liệu tới các chương trình ứng dụng khác
nhau. Lớp này có hai nghi thức quan trọng là TCP (Transmission Control Protocol)
và UDP (User Datagram Protocol). Đơn vị dữ liệu ở lớp này là các bản tin.
2.1.4.Lớp ứng dụng:
Đây là lớp cao nhất, dùng để truy xuất các dịch vụ trên mạng bằng các chương trình
ứng dụng. Một chương trình ứng dụng sẽ tương tác với các nghi thức của lớp này
để gửi và nhận dữ liệu. Các dịch vụ trên lớp này gồm có: truyền thư (SMTP),
truyền nhận file (FTP) , truy cập từ xa (TELNET),...
2.2.Nghi thức Ethernet:
Lớp truy xuất mạng trong TCP/IP sử dụng các nghi thức mạng có sẵn như :
Ethernet, IEEE 802, X25, Frame Relay, ATM.Trong các mạng LAN, nghi thức
được sử dụng phổ biến nhất là mạng Ethernet.
Ethernet:
Dựa trên điều khiển đa truy cập CSMA/CD (Carrier Sense Multiple

Access/Collision Detect).
Các chức năng cơ bản của Ethernet là:
 Truyền và nhận các gói dữ liệu.
 Giải mã các gói và kiểm tra địa chỉ trước khi phát cho phần mềm lớp trên.
 Kiểm tra lỗi.
2.2.1.Điều khiển đatruy cập CSMA:
Trước khi truyền dữ liệu trên mạng, một trạm Ethernet phải lắng nghe hoạt động
của kênh truyền. Nếu phát hiện kênh truyền bị bận, nó sẽ chờ mà khơng truyền. Nếu
kênh truyền trống thì nó sẽ truyền.
Sau bit cuối cùng của một khung truyền trạm Ethernet phải đợi một khoảng thời
gian nhất định để tạo một khoảng cách giữa các khung. Khoảng cách này chính là
thời gian cho phép các trạm khác có thể chiếm kênh truyền.
Trong trường hợp xảy ra xung đột (khi có hai trạm cùng phát hiện ra kênh trống và
truyền dữ liệu lên), trạm Ethernet sẽ phát hiện ra xung đột nhờ so sánh dữ liệu trên
đường truyền với dữ liệu đã phát. Cả hai trạm sẽ cùng ngưng phát và chờ trong một
Trang 5


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
khoảng thời gian ngẫu nhiên trước khi phát lại. Do thời gian chờ phát lại của mỗi
trạm là ngẫu nhiên nên có thể tránh được việc tái xung đột, tuy nhiên nếu điều này
xảy ra, các trạm sẽ phải chờ một lần nữa với thời gian chờ ngẫu nhiên tăng lên để
giảm xác suất tái xung đột.
2.2.2.Định dang khung Ethernet:
Preamble
(8 byte)

Destination
Address
(6 byte)


Source
Address
(6 byte)

Type
(2 byte)

Data
(46->1500
byte)

FCS
(3 byte)

2.2.2.1.Preamble :
Gồm 8 byte:
 7 byte đầu có giá trị 10101010 có chức năng đồng bộ cho phần cứng.
 1 byte có giá trị 10101011 báo cho biết bắt đầu của 1 frame.
2.2.2.2. Destination Address và Source Address:
Địa chỉ nguồn và địa chỉ đích, mỗi trạm Ethernet được gán một địa chỉ 48 bit cố
định.
2.2.2.3.Type :
Xác định loại dữ liệu.
2.2.2.4.Data :
Chứa dữ liệu nhận được từ lớp trên. Trường dữ liệu bao gồm IP Header, TCP
Header, và dữ liệu. Chiều dài của trường dữ liệu từ 46-1500 byte.
2.2.2.5.FCS (Frame Check Sequence):
Cho phép trạm nhận xác định việc truyền có bị lỗi hay khơng.
2.3.Khảo sát Token Ring

Token Ring có 2 loại khung cơ bản
2.3.1.Khung Token
Khung Token có chiều dài 3 byte
 Start: Byte mở đầu
 Access control:Byte điểu khiển
 End :Byte kết thúc
Start
Start

Access control
Access control

2.3.2.Khung dữ liệu/lệnh
Trang 6

End
End


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Khung dữ liệu/lệnh có kích thước thay đổi tùy thuộc vào trường thông tin.Khung dữ
liệu mang thông tin của lớp trên.Trong khi đó khung lệnh mang thơng tin điều khiển
và không chứa thông tin của lớp trên.
Start
Start












Access
Access
control
control

Frame
Frame
control
control

Destina Source
Destina Source
tion
address
tion
address
address
address

Data
Data

FCS
FCS


Start:Mở đầu khung
Access control :Phân biệt khung Token hoặc khung lệnh /dữ liệu
Frame control :Phân biệt loại thông tin điều khiển
Destination address:Địa chỉ đến của khung
Source address:Nơi xuất phát của khung
Data:Có kích thước thay đổi mang thơng tin
FCS:Kiểm tra lỗi khung
End:Kết thúc
Frame status:Báo trạng thái khung nhận được

Trang 7

End
End

Frame
Frame
status
status


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
PHẦN 2
GIỚI THIỆU GIẢI THUẬT TÍNH CRC
KIỂM TRA DƯ THỪA THEO CHU KỲ CRC
Trường kiểm tra lỗi FCS được thực hiện qua giải thuật tính CRC.Các CRC khác
nhau ứng với các đa thức sinh ứng khác nhau.
 CRC8 =X^8 + X^2 + X^1 + 1
 CRC16=X^16+ X^15+ X^2 + 1

 CRC32=X^32+ X^26+ X^23+
X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+11
Thuật tốn tính CRC:
M:Bản tin cần phát
R:Phần dư kết quả chia
G:Đa thức sinh
Thực hiện phép tính :
(M*2n) / G =Q + R /G
Kết quả phần dư R chính là CRC cần gán vào bản tin để phát .
Việc lấy bản tin nhân 2n tức là thêm vào số số không bằng bậc của đa thức sinh .
Sau đó thực hiện chia module – 2 cho đa thức sinh .Phần dư R chính là CRC cần
tìm .
Tại đầu phát bản tin M được thêm vào thành phần CRC trước khi phát
Tại đầu thu khi nhận được chuỗi dữ liệu cũng được xử lý như đầu phát .Tuy nhiên
kết quả cho R là bằng khơng thì kết luận việc truyền không bị lỗi .Nếu phần dư R
khác khơng thì kết luận việc truyềøn bị lỗi .
Có 2 cách thực hiện tính CRC:
 Phần cứng
 Phần mềm
Trong đề tài sử dụng tính CRC8 bằng phần mềm với đa thức sinh
CRC8 =X^8 + X^2 + X^1 + 1

Trang 8


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Đa thức sinh :100000111 .Tính CRC-8
Tính CRC-8 có chuỗi dữ liệu sau với đa thức sinh 100000111
11110000

11010000
10101010
10000000
00000000
10000011
1
01110011
01
1000001
11
0110010
100
100000
111
010010
0111
10000
0111
00010
0000000
10 0000111
00 00001110
10101
1000 00111
0110
100100
100 000111
010 1000111
10 0000111
00 10000000

1
10000011
1
00000011
0000000
10
0000111
01
00001110
1
00000111
0
00001001
00000
1000 00111
0001 00111000
1 00000111
0 00111111

100000111
1111000000011101
0000110001001
8 bit dịch

FCS=00111111B

Trang 9


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

PHẦN 3
ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ FSK
Hệ thống mạng được thiết kế đặt trong môi trường công nghiệp .Do vậy dữ liệu rất
dễ bị nhiễu và suy hao .Để tăng độ tin cậy trong việc truyền dữ liệu ,tín
hiệu từ máy tính gửi xuống cần được điều chế và giải điều chế .
KHẢO SÁT ĐIỀU CHẾ FSK
Tín hiệu điều chế FSK có tần số thay đổi tùy thuộc vào luồng dữ liệu nhị phân được
phát.
1

0

Dạng tín hiệu FSK
Điều chế FSK rất thông dụng với việc truyền dữ liệu tốc độ thấp từ 300 đến 1200
baud.

1

0

Dạng tín hiệu giải điều chế FSK

PHẦN 4
GIỚI THIỆU VỀ NGÔN NGỮ VHDL

Trang 10


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
1.TỔNG QUAN VỀ VHDL

Very High Speed IC Hardware Description Language là một chuẩn dùng trong
công nghiệp được viết tắt là VHDL.Nó được coi là một ngơn ngữ mơ tả phần cứng
có thề dùng thiết kế các hệ thống số với các cấp độ khác nhau :từ mức là các giải
thuật (cấp độ trừu tượng ) đến các mức cụ thể thực hiện trên các cổng logic.
Trong chương này chúng ta sẽ đề cập đến những vấn đề cơ bản của VHDL. với các
phương pháp thiết kế truyền thống .
VHDL là dạng mô tả ngôn ngữ gần gũi với người thiết kế .VHDL bắt đầu từ những
mô tả đơn giản đến các hệ thống phức tạp mới hình thành .Quá trình tiếp cận VHDL
cũng được thực hiện qua trình tự như vậy .Các mơ tả đơn giản được chúng ta tiếp
cận ,sau đó các thiết kế phức tạp hơn được xây dựng trên nền tảng đó.Q trình
chúng ta tiếp cận như vậy đối với VHDL giúp chúng ta hiểu rõ hơn hệ thống thay vì
chúng ta bắt tay ngay vào xây dựng một hệ thống lớn.
1.1.CÁC THUẬT NGỮ VHDL
Trong VHDL tồn tại những thuật ngữ liên quan mà trong các phần sau sẽ được đề
cập đến .Các khối cơ bản của VHDL được sử dụng hầu hết trong các thiết kế,các
thuật ngữ sau được định nghĩa cho các khối cơ bản trong VHDL.
Entity –Tất cả các thiết kế trong một hợp phần gọi là entity.Entity là khối cơ bản
nhất trong một thiết kế .Mức trên cùng của một thiết kế gọi là top-level entity.Nếu
chúng ta thực hiện một thiết kế được phân cấp ,thì dưới các mơ tả mức cao là các
mơ tả có mức thấp hơn (lower-level).Các mô tả mức thấp hơn gọi là lower-level
entity.
Architecture-Tất cả các entity đều tồn tại phần mô tả kiến trúc thiết kế bên trong nó
(Architecture description). Trong phần kiến trúc thiết kế này các hoạt động của một
hệ thống được mô tả một cách rõ ràng .Một entity có thể bao gồm nhiều phần kiến
trúc thiết kế khác nhau.Một kiến trúc có thể là thiết kế theo dạng hành vi ,trong khi
đó một kiến trúc khác có thể được thiết kế theo dạng cấu trúc.
Configuration –Các mô tả configuration nhằm mục đích chỉ định architecture body
nào được sử dụng trong thiết kế trong số nhiều architecture mà một entity có thể có
và chỉ định cặp entity_architecture body nào sẽ tương ứng với các phần khai báo
trong architecture đó .Các mơ tả configuration có thể coi là danh sách các phần

được sử dụng trong thiết kế .
Package- Một package được coi là một tập hợp các kiểu dữ liệu được sử dụng
thường xuyên trong thiết kế và các chương trình con trong thiết kế hệ thống.

Trang 11


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Attribute-Các thuộc tính của dữ liệu được mô tả kèm theo các đối tượng VHDL
hoặc định nghĩa trước dữ liệu cho các đối tượng trong VHDL.Ví dụ như nhiệt độ
giới hạn khi hoạt động của một thiết bị nào đó .
Generic –Generic là một thuật ngữ trong VHDL mô tả cho các thông số được dùng
trong entity.Giả sử trong mô tả ở mức các cổng tồn tại các thông số là độ trễ cạnh
lên và cạnh xuống của xung ,các giá trên được mô tả qua GENERIC phù hợp với
các ENTITY.
Process-Đây là thuật ngữ sử dụng thường xuyên trong các thiết kế.Process là đơn vị
thực thi cơ bản trong VHDL.Tất cả hoạt động được thể hiện dựa trên các mơ tả
VHDL mà trong đó các mơ tả được phân thành một hay nhiều các process.
1.2.CÁC KIỂU THIẾT KẾ TRUYỀN THỐNG
Trong thiết kế truyền thống, các công cụ CAE (Computer Aided Engineering) được
người thiết kế sử dụng .Khi sử dụng CAE,các người thiết kế phải tạo ra schematic
cho các thiết kế .
Các schematic bao gồm các ký hiệu mô tả các thành phần cơ bản của thiết kế và
được kết nối bằng những đường tín hiệu .Các ký hiệu mơ tả đó phụ thuộc vào các
thư viện đã dựng sẵn .
Các thành phần cơ bản được kết nối bằng các đường tín hiệu .Các kết nối này rất
quan trọng việc xây dựng thiết kế ,các netlist tương ứng với mỗi thiết kế nhận được
từ những thiết kế này .Các netlist này giúp tạo ra các kiểu giả lập nhằm kiểm tra lại
thiết kế trước khi xây dựng ,đồng thời cung cấp các thông tin cho các phần mềm
xây dựng một thiết kế phần cứng thật sự .

Hình dưới mơ tả một ví dụ thiết kế reset-set-flip-flop (RSFF) xây dựng theo một ký
hiệu mô tả cái khái quát flip-flop trên với thiết kế :
 Ngõ vào của thiết bị: SET và RESET.
 Ngõ ra của thiết bị : Q và QB.
 Chức năng của thiết bị được thể hiện qua tên của ký hiệu .
SET
RESET

Q
QB

Các ký hiệu định rõ giao tiếp bên ngồi của thiết bị và chức năng của thiết kế.Các
kết nối bên trong ký hiệu thể hiện qua các schematic xây dựng trên những thành
phần cơ bản (trong ví dụ này các cổng logic được sử dụng ).
1.2.1.Tương quan giữa các ký hiệu và các entity
Trang 12


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Tất cả các thiết kế đều dựa trên các ENTITY.Các ENTITY được xem là các ký hiệu
đại diện tồn tại trong các thiết kế dựa trên CAE.Dưới đây là phần mô tả ở mức trên
cho RSFF:
ENTITY rsff IS
PORT (set,reset:IN BIT;
q,qp:OUT BIT);
END rsff;
Từ khóa ENTITY là từ khóa bắt đầu cho một khai báo ENTITY.Qua khai báo cho
ENTITY trên chúng ta biết được những thông tin cho thiết kế rsff:
 Tên của khai báo ENTITY là rsff.
 ENTITY trên khai báo phần thiết kế bao gồm 4 ngõ (vào/ra) thơng qua từ khóa

PORT.
 Từ khóa IN mơ tả có 2 ngõ set và reset là ngõ vào có dạng tín hiệu là BIT.
 Từ khóa OUT mơ tả có 2 ngõ qvà qb là ngõ có dạng tín hiệu là BIT.
Các khai báo trong ENTITY cho các ngõ tương ứng với các mô tả trong ký hiệu
được dùng trong CAE.
ENTITY là cách mô tả tổng quát nhất cho các giao tiếp của thiết kế với các thiết bị
bên ngồi.Các thông số cho một giao tiếp bao gồm số các ngõ (vào/ra),hướng của các
ngõ ,dạng tín hiệu tồn tại ở các ngõ .
1.2.2.Tương quan giữa các schematic và architecture
Schematic cho rsff được mô tả tương ứng trong VHDL là architecture.Các
architecture đều xây dựng trên nền tảng là các ENTITY và chúng mô tả các hành vi
ứng xử trong ENTITY đó .Để thực hiện mơ tả ARCHITECTURE cho ENTITY rsff
ta có thể thực hiện như sau:
ARCHITECTURE netlist OF rsff IS
COMPONENT nand
PORT(a,b:IN BIT;
C:OUT BIT;
END COMPONENT;
BEGIN
U1:nand
PORT MAP(set,qb,q);
U2:nand
PORT MAP(reset,q,qb);
END netlist;
Từ khóa ARCHITECTURE được sử dụng bắt đầu cho mô tả kiến trúc của ENTITY.
ARCHITECTURE có tên là netlist và có tên ENTITY tương ứng là rsff.Trong
Trang 13


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

ENTITY có thể có nhiều ARCHITECTURE trong nó ,các ARCHITECTURE có
thể là dạng mơ tả hành vi hoặc đối với ví dụ trên nó có thể mơ tả dưới dạng cấu trúc
.Giữa 2 từ khóa ARCHITECTURE và BEGIN là các khai báo cho các đường tín
hiệu hay các thành phần được sử dụng trong cấu trúc đó .
Trong ví dụ trên thành phần cổng logic NAND được khai báo cho
ARCHITECTURE.Trình biên dịch cần biết các thơng tin về giao tiếp của các thành
phần được sử dụng trong ARCHITECTURE,các giao tiếp đó được mơ tả sau từ
khóa PORT.Mọi mơ tả được đặt giữa 2 từ khóa BEGIN và END ,các mơ tả đó xảy
ra đồng thời với nhau .

Trang 14


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
1.2.3.Thành phần component
Thành phần NAND được sử dụng 2 lần trong ví dụ trên tương ứng là U1 và
U2.Thành phần NAND được sử dụng với cái tên là U1 với ngõ đầu tiên nối với tín
hiệu set, ngõ thứ 2 nối với tín hiệu qb và ngõ thứ 3 nối với tín hiệu q.Nếu chúng ta
quan sát mô tả của COMPONENT chúng ta sẽ thấy ngõ đầu tiên là a,ngõ thứ 2 là
b,đó là 2 ngõ vào ,ngõ thứ 3 là ngõ ra với tên là c.Do đó các ngõ sẽ có các tín hiệu
tương ứng nối với nó.Cụ thể là :Ngõ a của thành phần NAND trong U1 nối với tín
hiệu set,ngõ b nối với tín hiệu qb và ngõ c sẽ được nối với tín hiệu q.Đối với
U2,chúng ta sẽ thấy được các kết nối sau từ khóa PORT MAP.Chúng ta cịn một
cách mơ tả qua đó chúng ta sẽ thấy mọi kết nối được rõ ràng hơn .
U1:PORT MAP(a=>set,
B=>qb,
C=>q);
U2:PORT MAP(a=>reset,
b=>q,
c=>qb);

1.2.4.Các mô tả hành vi (Behaviour)
Để mô tả với cùng một mạch như vậy ta có thể sử dụng thiết kế dạng hành vi.Đây là
dạng thiết kế mô tả một hệ thống thông qua việc thể hiện rõ cách thức hoạt động
,hành vi ứng xử của nó .Thiết kế này được thực hiện bằng một tập hợp lệnh được
thực thi theo thứ tự.Khi ta chọn kiểu thiết kế dạng hành vi,cấu trúc của hệ thống hồn
tồn không thể hiện .
ACRCHITECTURE behaviour OF rff IS
BEGIN
q<=not (qb AND set);
qb<=NOT(q AND reset);
END behaviour;
1.2.5.Các mô tả hành vi tuần tự
Trong cách thiết kế bằng mô tả hành vi trên,các chức năng của rsff không được nêu
rõ trong những mô tả VHDL.Ngồi 2 cách thiết kế trên ,chúng ta còn cách thiết kế
thứ 3 dựa vào mô tả chức năng theo thuật tốn của thiết bị thông qua sử dụng cú
pháp PROCESS.Các mơ tả đó có thể trình bày như sau :
ARCHITECTURE sequential OF rsff IS
BEGIN
IF set =’1’ AND reset =’0’ THEN
q<=’0’;
qb<=’1’;
ELSIF set =’0’ AND reset =’1’THEN
q<=’1’;
qb<=’0’;
Trang 15


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
ELSIF set =’0’ AND reset =’0’THEN
q<=’1’;

qb<=’1’;
END IF;
END PROCESS;
END sequential;
Các mô tả được thực hiện bắt đầu bằng một từ khóa PROCESS và kết thúc bằng từ
khóa END PROCESS.
1.2.6.Mô tả PROCESS
Một mô tả PROCESS gồm 3 phần.Phần đầu tiên gọi là danh sách độ nhạy
(SENSITIVITY LIST);phần thứ hai được coi là phần khai báo (DECLARATION)
đặt trước từ khóa BEGIN và phần sau từ khóa BEGIN là phần mơ tả .Các tín hiệu
đặt trong dấu ngoặc đơn sau từ khóa PROCESS là danh sách độ nhạy của
PROCESS khi có sự thay đổi giá trị xảy ra trên một trong các tín hiệu trong danh
sách này,các lệnh trong PROCESS sẽ được thực thi .
1.2.7.Vùng khai báo của PROCESS
Phần khai báo biến của PROCESS nằm trong khoảng giữa cuối danh sách độ nhạy
và từ khóa BEGIN.Trong ví dụ trên,phần khai báo này được để trống.Trong phần
này các biến hay các hằng số được khai báo ,các biến khai báo chỉ được hiểu trong
phạm vi PROCESS đó .Khi gán giá trị cho biến ta dùng ký hiệu “:= “ .Chú ý trong
một PROCESS ta không khai báo SIGNAL .
1.2.8.Vùng thực thi tuần tự trong PROCESS
Các mô tả trong phần này sẽ được thực thi một cách tuần tự trong PROCESS khi có
bất kỳ tín hiệu nào thay đổi trong danh sách độ nhạy sau từ khóa PROCESS.Trong
ví dụ này các mệnh đề IF sẽ được kiểm tra đầu tiên và thực thi khi các mệnh đề IF
này đúng .
1.2.9.Các mô tả Configuration
Một ENTITY có thể có hơn một ARCHITECTURE,phần này cung cấp sự chỉ định
ARCHITECTURE nào đó được sử dụng trong thiết kế trong số nhiều
ARCHITECTURE mà một ENTITY có thể có,và chỉ định cặp ENTITYARCHTECTURE nào ứng với các COMPONENT được khai báo .Ta xét ví dụ sau :
CONFIGURATION rsffcon1 OF rsff IS
FOR netlist

FOR U1,U2:nand USE ENTITY work.mynand(version1);
END FOR ;
END rsffcon1;

Trang 16


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Thiết kế dùng mô tả CONFIGURATION thường dùng trong thiết kế phân
cấp.Chúng ta có thể hiểu phần CONFIGURATION trong ví dụ trên như sau
:CONFIGURATION tên là rsffcon1.Hai thành phần U1 và U2 kiểu NAND được sử
dụng trong kiến trúc netlist,sử dụng ENTITY mynand,với version1 trong thư viện
có tên là WORK.ENTITY rsff có ARCHITECTURE là netlist,và thành phần nand
có ENTITY là mynand và ARCHITECTURE là version1.

Trang 17


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
PHẦN 5

TỔNG QUAN FPGA
FPGA :
FPGA thích hợp cho nhiều ứng dụng vì chúng có tốc độ thích hợp (tầm xung nhịp:
50 đến 200 MHz). Các FPGA tiêu biểu chứa nhiều bản sao của một tế bào hay phần
tử logic (LE=Logic Element) cơ bản lập trình được. Một phần tử logic (LE) có thể
cài đặt một mạng các cổng logic mà đưa vào 1 hay 2 flip flop. Các LE được sắp xếp
theo cột hay ma trận trong chip.
Để thực hiện các phép tốn phức tạp, các LE được nối lại bằng cách dùng mạng nối
kết lập trình được. Mạng này chứa các kết nối hàng và/hoặc cột cho tồn chip. Các

nối kết giữa các LE gần nhau thì ngắn hơn và nhanh hơn.
Field-Programmable Gate Array (FPGA) đã xuất hiện như giải pháp cơ bản cho vấn
đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh chịu trong
q trình nghiên cứu sản phẩm của cơng nghệ điện tử. Nó cho phép chế tạo ngay và
giá sản phẩm rất thấp. FPGA là 1 thiết bị cấu trúc logic có thể được người sử dụng
lập trình trực tiếp mà khơng phải sử dụng bất kỳ 1 cơng cụ chế tạo mạch tích hợp
nào.
Các thiết bị lập trình được đóng vai trị quan trọng lâu dài trong thiết kế các phần
cứng số. Chúng là các chip đa dụng có thể được cấu hình theo nhiều cách cho nhiều
ứng dụng. Loại đầu tiên của thiết bị có thể lập trình được sử dụng rộng rãi là
Programmable read-Only Memory (PROM). PROM là thiết bị lập trình chỉ được 1
lần gồm 1 dãy các ô nhớ chỉ đọc. PROM có thể thực hiện bất kỳ hàm logic theo
bảng sự thật nào bằng cách sử dụng các đường địa chỉ như các ngõ nhập và ngõ
xuất được xác định bởi nội dung các bit nhớ.
Có 2 loại PROM cơ bản, 1 loại chỉ có thể được lập trình bởi nhà sản xuất và 1 loại
có thể được lập trình bởi người dùng. Loại thứ nhất được gọi là maskprogrammable và loại thứ 2 được gọi là field-programmable. Khi sản xuất các chip
logic, hiệu suất tốc độ cao có thể đạt được với các chip mask-programmable vì các
kết nối bên trong thiết bị được thực hiện bằng phần cứng khi sản xuất. Ngược lại,
các kết nối của field-programmable luôn cần đến 1 số loại chuyển mạch lập trình
được (cầu chì chẳng hạn) và vì vậy chậm hơn kết nối cứng. Tuy nhiên, thiết bị fieldprogrammable chứa đựng các ưu điểm có giá trị hơn sự hạn chế về tốc độ.
 Các chip field-programmable rẻ hơn các chip mask-programmable khi sản xuất
với số lượng nhỏ.
 Các chip field-programmable có thể được lập trình tức thì trong vài phút,trong
khi các chip mask–programmable khi sản xuất phải mất hàng tuần hay hàng
tháng.

Trang 18


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Hai biến thể field-programmable của PROM là Erasable Programmable Read-Only
Memory (EPROM) và Electrically Erasable Programmable Read- Only Memory
(EEPROM) cung cấp 1 ưu điểm: cả hai có thể được xóa và lập trình lại nhiều lần.
Một loại thiết bị lập trình được khác, được thiết kế đặc biệt để thực hiện các mạch
logic là Progammable Logic Device (PLD). Một PLD thông thường gồm một dãy
các cổng AND được nối với một dãy các cổng OR. Mạch logic có thể được thực
hiện trong PLD theo dạng tổng của tích (sum-of-products). Loại cơ bản nhất cua
PLD là Progammable Array Logic (PAL): PAL gồm một khối các cổng AND lập
trình được nối đến một khối các cổng OR cố định. Một loại PAL khác linh hoạt hơn
là Programmable Logic Array (PLA). PLA cũng có cấu trúc giống PAL nhưng các
kết nối là lập trình được. PLA có cả 2 loại mask programmable và field
programmable.
Cả 2 loại PLD trên cho phép thực hiện các mạch logic có tốc độ cao.Tuy nhiên cấu
trúc đơn giản của chúng chỉ cho phép thực hiện các mạch logic nhỏ.
Loại thiết bị lập trình được tổng quát nhất gồm 1 dãy các phần tử rời rạc có thể
được kết nối với nhau theo mô tả của người sử dụng. Loại thiết bị này được gọi là
Mask–Programmable Gate Array (MPGA). Các MPGA phổ biến nhất gồm các hàng
transistor có thể được kết nối để thực hiện các mạch logic. Các kết nối do người
dùng định nghĩa này có thể có trong cả các hàng và các cột. Ưu điểm chính của
MPGA so với PLD là nó cung cấp 1 cấu túc tổng quát cho phép thực hiện các mạch
logic lớn hơn. Vì cấu trúc kết nối của chúng có thể mở rộng cùng với số lượng
logic.
Field Programmable Gate Array (FPGA) đã kết hợp khả năng lập trình của PLD và
cấu trúc kết nối có thể mở rộng của MPGA. Do đó các thiết bị lập trình loại này có
mật độ logic cao hơn.

Trang 19


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Cấu trúc FPGA

Mơ hình FPGA
Giống như MPGA, 1 FPGA gồm 1 dãy các phần tử rời rạc có thể được kết nối với
nhau theo 1 cách chung. Giống như PLA, các kết nối giữa các phần tử là có thể lập
trình được. FPGA được giới thiệu đầu tiên bởi cơng ty Xilinx năm 1985.Kể từ đó có
nhiều loại FPGA đã được nhiều công ty phát triển Actel, Altera, Plessey, Plus
Logic, Advanced Micro Devices (AMD), Quick Logic, Concurrent Logic,
Crosspoint Solutions…
Hình trên mơ tả mơ hình lý thuyết của 1 FPGA. Nó gồm 1 dãy 2 chiều các logic
block có thể được kết nối bằng các nguồn kết nối chung. Các nguồn kết nối gồm
các đoạn dây nối (segment) có thể có chiều dài khác nhau. Bên trong các kết nối là
các chuyển mạch lập trình được dùng để nối các logic block với các đoạn dây hoặc
các đoạn dây với nhau. Mạch logic được cài đặt trong FPGA bằng cách ánh xạ logic
vào các logic block riêng rẻ và sau đó nối các logic block cần thiết qua các chuyển
mạch.
Các logic block
Cấu trúc và nội dung của logic block được gọi là kiến trúc của nó. Kiến trúc của
logic block có thể được thiết kế theo nhiều cách khác nhau. Một số logic block có
Trang 20


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
thể chỉ đơn giản là các cổng AND 2 ngõ nhập. Các logic block khác có cấu trúc
phức tạp hơn như các multiplexer hay các bảng tìm kiếm (look up-table). Trong một
số loại FPGA, các logic block có thể có cấu trúc hồn tồn giống như PAL. Hầu hết
các logic block chứa 1 số loại flip-flop, để hỗ trợ cho việc thực hiện các mạch tuần
tự.
Các nguồn kết nối
Cấu trúc và nội dung của các nguồn kết nối trong FPGA được gọi là kiến trúc

routing (routing architecture). Kiến trúc routing gồm các đoạn dây nối và các
chuyển mạch lập trình được. Các chuyển mạch lập trình được có thể có nhiều cấu
tạo khác nhau như pass transistor được điều khiển bởi cell SRAM, các cầu chì
nghịch (anti-fuse), EPROM transistor và EEPROM transistor. Giống như logic
block có thể nhiều cách khác nhau để thiết kế các kiến trúc routing. Một số FPGA
cung cấp nhiều kết nối đơn giản giữa các logic block, một số khác cung cấp ít các
kết nối hơn nên routing phức tạp hơn .
Ứng dụng của FPGA
FPGA có thể sử dụng trong hầu hết các ứng dụng hiện đang dùng MPGA, PLD và
các mạch tích hợp nhỏ (SSI).
Các mạch tích hợp ứng dụng đặc biệt (ASICs)
FPGA là một phương tiện tổng quát nhất để thực hiện các mạch logic số. Chúng đặc
biệt thích hợp cho việc thực hiện các ASICs. Một số ví dụ ứng dụng đã được công
bố: FIFO 1 megabit, giao tiếp vi kênh IPM PS/2, bộ truyền /nhận dạng T1,…
Thiết kế mạch ngẫu nhiên
Mạch logic ngẫu nhiên thường được thưc hiện bằng PAL. Nếu tốc độ của mạch
khơng địi hỏi khắt khe (các PAL nhanh hơn hầu hết các FPGA) thì mạch có thể
được thực hiện bằng FPGA. Hiện nay, FPGA có thể thực hiện 1 mạch cần từ 10 đến
20 PAL.
Thay thế các chip SSI cho mạch ngẫu nhiên
Các mạch hiện tại trong các sản phẩm thương mại thường chứa nhiều chip SSI.
Trong nhiều trường hợp các chip SSI này có thể được thay thế bằng FPGA và kết
quả là giảm diện tích của board mạch.
Chế tạo mẫu
FPGA rất lý tưởng cho các ứng dụng tạo mẫu sản phẩm .Giá thành thực hiện thấp
và cần thời gian ngắn để thực hiện thiết kế,cung cấp nhiều ưu điểm hơn so với các
Trang 21


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

phương pháp truyền thống để chế tạo mẫu phần cứng. Các bản mẫu ban đầu có thể
được thực hiện rất nhanh và những thay đổi sau đó được thực hiện dễ dàng và ít tốn
kém .
Máy tính dựa trên FPGA
Một loại máy tính hồn tồn mới có thể được chế tạo với các FPGA có thể tái lập
trình ngay trên mạch FPGA. Các máy này có một mạch chứa các FPGA với các
chân board nối với các chip lân cận giống như thông thường .Ý tưởng là 1 chương
trình phần mềm có thể được “biên dịch “(sử dụng kỹ thuật tổng hợp mức cao,mức
logic và mức sơ đồ hoặc bằng tay) vào ngay phần cứng. Phần cứng này sẽ được
thực hiện bằng cách lập trình bo mạch FPGA. Phương pháp này có 2 ưu điểm
chính: một là khơng cần q trình lấy lệnh như các bộ vi xử lý truyền thống vì phần
cứng đã gộp cả các lệnh. Kết quả là tốc độ có thể tăng lên hàng trăm lần. Hai là mơi
trường tính tốn có thể được thực hiện song song mức cao, làm tăng tốc thêm nữa.
Tái cấu hình phần cứng trực tuyến
FPGA cho phép có thể thay đổi theo mong muốn cấu trúc cuả một máy đang hoạt
động. Một ví dụ là các thiết bị máy tính từ xa có thể được thay đổi trực tuyến để
khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho các ứng dụng
này là những FPGA có các chuyển mạch lập trình được.
Tóm lại FPGA có thể sử dụng có hiệu quả trong nhiều ứng dụng thực tế. Nếu so
sánh với MPGA thì nó có 2 lợi điểm quan trọng: FPGA có giá thành tạo mẫu thấp
hơn, thời gian chế tạo ngắn hơn.

Trang 22


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
PHẦN 6
TỔNG QUAN PROJECT MANAGER
Project Manager là một ứng dụng cho phép tích hợp xử lý các mơi trường thiết kế
khác nhau như :

 Trình soạn thảo hình vẽ.
 Trình soạn thảo ngơn ngữ.
 Trình soạn thảo trạng thái .
Project Manager thực hiện các chức năng sau :
 Tự động tải các trình soạn thảo thiết kế khi Project được mở.
 Kiểm tra lỗi các trình soạn thảo thiết kế khi Project được mở .
 Hiển thị các quá trình biên dịch .
 Hiển thị trạng thái và tất cả các lỗi trong cửa sổ trạng thái .
 Hiển thị thơng tin các trình soạn thảo .

Project Manager hỗ trợ các họ Xilinx sau
 Virtex
 VirtexE
Trang 23


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

















Virtex2
Spartan
Spartan2
SpartanXL
XC9500
XC9500X (XL/XV)
XC5200
XC4000XLA
XC4000E
XC4000L
XC4000X (EX/XL/XLA/XV)
XC3000A
XC3000L
XC3100A
XC3100L

Trình soạn thảo hình vẽ
Trình soạn thảo hình vẽ cho phép mở và kết nối đa cửa sổ cùng mở một lúc.Tính
năng này được ứng dụng đối với các tệp có kích thước lớn .

Trang 24


Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Trình soạn ngơn ngữ
Trình soạn thảo cho phép thiết kế bằng ba ngôn ngữ khác nhau VHDL, ABEL và

Verilog.

Trang 25


×