Tải bản đầy đủ (.pdf) (33 trang)

Báo cáo GRADUATION RESEARCH 1

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 (2.32 MB, 33 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO
GRADUATION RESEARCH 1

Giáo viên hướng dẫn:

TS. Nguyễn Kim Khánh
Sinh viên thực hiện :

Nguyễn Trường Giang
MSSV:
20100228
Lớp:
Việt Nhật IS2 K55

HÀ NỘI, 5/2014


Mục lục
1. Tìm hiểu về DE2i-150 Development Kit .............................................................. 1
1.1. Giới thiệu chung về DE2i-150....................................................................................................... 1
1.2. Cấu tạo của DE2i-150 ................................................................................................................... 1
1.2.1. Sơ đồ khối ............................................................................................................................. 1
1.2.3. Bộ vi xử lý............................................................................................................................. 2
1.2.3. Bộ FPGA................................................................................................................................. 3
1.3.Những điểm ưu việt của DE2i-150 ................................................................................................ 4

2. Tìm hiểu phần mềm Quartus II, ModelSim và ngôn ngữ lập trình VHDL ......... 5
2.1. Quartus II...................................................................................................................................... 5


2.1.1. Giới thiệu về Quartus II ......................................................................................................... 5
2.1.2. Tạo project ............................................................................................................................ 6
2.1.3. Biên dịch và nạp.................................................................................................................... 9
2.2. ModelSim Altera........................................................................................................................ 11
2.2.1. Giới thiệu về ModelSim Altera ........................................................................................... 11
2.2.2. Tạo một project với ModelSim Altera ................................................................................ 11
2.2.3. Biên dịch và chạy mô phỏng. .............................................................................................. 14
2.3. Sử dụng kết hợp Quartus II và ModelSim ................................................................................. 16
2.4. VHDL........................................................................................................................................... 17
2.4.1. Giới thiệu về VHDL .............................................................................................................. 17
2.4.2. Cấu trúc chương trình viết bằng VHDL ............................................................................... 17
2.3.3. Kiểu dữ liệu: ........................................................................................................................ 19
2.3.4. SIGNAL và VARIABLE ........................................................................................................... 20
2.3.4. Toán tử ................................................................................................................................ 20
2.4.5. GENERIC .............................................................................................................................. 21
2.4.6. Mã song song ...................................................................................................................... 22
2.4.7. Mã tuần tự .......................................................................................................................... 22

3.Tìm hiểu về FPGA................................................................................................ 24
3.1. Khái niệm ................................................................................................................................... 24
3.2. So sánh FPGA với các loại vi mạch khác ..................................................................................... 24


3.3. Cấu tạo của FPGA ....................................................................................................................... 24
3.3.1. Logic Blocks ....................................................................................................................... 25
3.3.2. Programmable Interconnects............................................................................................... 26
3.3.3. I/O Blocks ........................................................................................................................... 26
3.3.4. Các khối thiết kế sẵn ........................................................................................................... 27
3.4. Ứng dụng của FPGA ................................................................................................................... 27


4. Hướng nghiên cứu............................................................................................. 28
4.1. Hướng nghiên cứu: .................................................................................................................... 28
4.2. Lí do chọn đề tài: ........................................................................................................................ 28
4.2. Mục tiêu nghiên cứu .................................................................................................................. 28
4.4. Các vấn đề sẽ nghiên cứu........................................................................................................... 28

Danh mục tài liệu tham khảo ..................................................................................... 29


Danh mục hình vẽ
Hình 1.1: Sơ đồ khối của kit DE2i-150 ....................................................................... 1
Hình 2.1: Giao diện của Quartus II 12.0 ..................................................................... 5
Hình 3.1: Sơ đồ khối FPGA ...................................................................................... 25
Hình 3.2. Một số ví dụ của logic cell ......................................................................... 25
Hình 3.3. Sơ đồ khối chuyển mạch lập trình được ................................................... 26
Hình 3.4. Cấu trúc PIP ............................................................................................. 26
Hình 3.5. Một ví dụ mô hình I/O cell ......................................................................... 27


1. Tìm hiểu về DE2i-150 Development Kit
1.1. Giới thiệu chung về DE2i-150
DE2i-150 là một nền tảng đột phá, với sự kết hợp của bộ vi xử lí nhúng Intel N2600
và bộ Altera Cyclone IV GX FPGA của hãng Altera. Chính nhờ sự kết hợp này, DE2i150 trở thành một hệ thống máy tính đầy đủ tính năng, và có hiệu năng xử lý rất cao.
Đặc biệt, bộ Altera Cyclone IV GX FPGA nằm trên board DE2i-150 có thể tăng tốc
khả năng đáp ứng của hệ thống mà vẫn giữ nguyên chi phí giải pháp và hiệu quả năng
lượng.
DE2i-150 có đến 150.000 phần tử logic, với sự mền dẻo, linh hoạt của khả năng tái
cấu trúc phần cứng, nó có thể đáp ứng cho bất cứ nhiệm vụ nào.
Bộ vi xử lí của Intel và bộ thiết bị FPGA được liên kết với nhau thông qua 2 luồng
PCIe tốc độ cao, đảm bảo cho việc truyền dữ liệu giữa chúng đạt tốc độ cao.

Chính nhờ những điều này, DE2i-150 sẽ là một công cụ tuyệt vời để xử lý các tác vụ
đặc biệt, cũng như thiết kế phần cứng.

1.2. Cấu tạo của DE2i-150
1.2.1. Sơ đồ khối

Hình 1.1: Sơ đồ khối của kit DE2i-150

1


Qua sơ đồ trên, ta có thể nhận thấy, kit DE2i-150 gồm 2 khối: khối bên trái là Intel
Atom Processor, khối bên phải là FPGA Altera Cyclone GX. Hai khối liên kết với
nhau bởi 2 đường PCIe.
1.2.3. Bộ vi xử lý
Các thông số kĩ thuật:
 CPU : Intel® Atom™ Dual Core Processor N2600( 1M Cache, 1.6GHz )
 Intel® Hyper-Threading Technology
 Intel SpeedStep® Technology
 Instruction Set : 64-bit
 Instruction Set Extensions : SSE2, SSE3, SSSE3
 Integrated Graphics
 Graphics Base Frequency : 400MHz
 Chipset : Intel® NM10 Express Chipset
 DMI x2 to CPU
 Intel® High Definition Audio
 Serial ATA (SATA) 3 Gb/s
 Universal Serial Bus(USB) Hi-Speed USB 2.0
 PCI Express Gen 1
 Memory

 DDR3 SO-DIMM SDRAM
 Display
 VGA
 HDMI 1.3a
 Intel® Centrino® Wireless-N 135
 802.11b/g/n
 Bluetooth 4.0
 Wi-Fi Direct
 Audio Codec
 Realtek ALC272VA3-GR
 BIOS
 DIP package Bios Flash : GD25Q16
 Programming Interface for Bios : Dedi-Prog Interface
 Debug Interface
 XDP header
 Clock System
 CK505 : 9VRS4339B
 32768 Hz RTC crystal
 27MHz VGA clock source
 Ethernet
2


 Intel® 82583V GbE Controller
 10/100/1000 Mb/s RJ45
 3 status indicting LEDs
 Others
 Power header for hard-disk
 Current limit for USB
 Buzzer

 Mini PCIE header (Default for Intel® Centrino® Wireless-N 135 WiFi
module)
 mSATA header
 RTC battery : CR2032
1.2.3. Bộ FPGA
Các thông tin chi tiết của bộ FPGA:
 Featured Devices
 Cyclone IV EP4CGX150DF31 device
 149,760 Les
 720 M9K memory blocks
 6,480 Kbits embedded memory
 8 PLLs
 FPGA configuration
 JTAG and AS mode configuration
 EPCS64 serial configuration device
 On-board USB Blaster circuitry
 Memory devices
 128MB (32Mx32bit) SDRAM
 4MB (1Mx32) SSRAM
 64MB (4Mx16) Flash with 16-bit mode
 SD Card socket
 Provides SPI and 4-bit SD mode for SD Card access
 Connectors
 Ethernet 10/100/1000 Mbps ports
 High Speed Mezzanine Card (HSMC)
 40-pin expansion port
 VGA-out connector
 VGA DAC (high speed triple DACs)
 DB9 serial connector for RS-232 port with flow control
 Clock

 Three 50MHz oscillator clock inputs
 SMA connectors (external clock input/output)
3


 Display
 16x2 LCD module
 Switches and indicators
 18 slide switches and 4 push-buttons switches
 18 red and 9 green LEDs
 Eight 7-segment displays
 Other features
 Infrared remote-control receiver module
 TV decoder (NTSC/PAL/SECAM) and TV-in connector

1.3.Những điểm ưu việt của DE2i-150
 Sự kết hợp giữa bộ vi xử lí Intel Atom và bộ FPGA của Altera giúp cho kit trở
thành một hệ thống hoàn chỉnh, mạnh mẽ và đầy đủ các chức năng.
 Số lượng thành phần logic lớn (150.000 phần tử logic) với khả năng tái cấu trúc
linh hoạt, mềm dẻo.
 Được nhà sản xuất cung cấp các phần mềm, môi trường phù hợp trên cả
windown và linux
 Có đầy đủ các hệ thống vào ra và kết nối mạng

4


2. Tìm hiểu phần mềm Quartus II,
ModelSim và ngôn ngữ lập trình VHDL
2.1. Quartus II

2.1.1. Giới thiệu về Quartus II
Quartus II là một sản phẩm phần mềm của hãng Altera . Nó cung cấp môi trường thiết
kế hoàn thiện, đa nền tảng, dễ dàng đáp ứng các nhu cầu thiết kế cụ thể. Nó là một
môi trường toàn diện cho việc thiết kế SOPC(system-on-a-programmable-chip).
Quartus II bao gồm các giải pháp cho cả quá trình thiết kế FPGA và CPLD.
Quartus II cung cấp các khả năng thiết kế sau:
 Công cụ soạn thảo: VHDL, AHDL và Verilog HDL.
 Là công cụ mạnh mẽ trong tổng hợp logic
 Phân tích thời gian (timming analysis)
 Tự động định vị lỗi
 Place & Route
 Có giao diện đồ họa và giao diện dòng lệnh tiện dụng
 Tự động nhận diện các linh kiện khi kết nối
 Phân tích logic nhúng với công cụ phân tích SignalTap II
….

Hình 2.1: Giao diện của Quartus II 12.0

5


2.1.2.Tạo project
Từ giao diện chính của Quartus II, chọn File > New Project Winzard

Chọn Next để tiếp tục, sau đó điền vào nởi lưu trữ project, nhập tên project

6


Chọn next để chọn file cần include vào project nếu có. Nếu không có thể ấn next ngay


Sau khi add file thành công, ấn next để tiếp tục thiết lập linh kiện (Family & Device
Settings), chọn FPGA mà ta dùng.

7


Ấn next để tiếp tục thiết lập bộ công cụ EDA, thường thì Quartus II sẽ mặc định công
cụ mô phỏng là ModelSim-Altera, và ngôn ngữ VHDL. Bạn có thể chọn ngôn ngữ và
bộ phỏng tùy ý, ngoài ra còn cung cấp bộ Timming, Symbol …

Ấn next để tiếp tục, một màn hình sẽ hiện ra ghi lại những thông số ta đã thiết lập cho
project.

Ấn Finish để hoàn thành, hoặc back để chỉnh sửa các thông số.
8


Sau khi project được tạo, chọn file > New file để tạo một file mới và bắt đầu lập trình.
Ấn file > Save để lưu file.

2.1.3.Biên dịch và nạp
Sau khi code xong một file, chỉ định chân pin cho đầu ra và đầu vào. Chọn Processing
> Start > Start Analysis & Elaboration. Sau đó chọn Assignments > Pins Planner,
chọn các chân cho đầu vào và đầu ra tùy vào từng thiết bị

9


Để biên dịch file ta chọn Processing > Start Compilation. Nếu file có lỗi sẽ hiện thông

báo ở dưới như hình dưới.

Có thể ấn trực tiếp vào lỗi để hiện thị đọa code bị lỗi. Quá trình biên dịch hoàn thành
khi không có lỗi, và ta bắt đầu nạp chương trình chạy vào phần cứng. Trước tiên có
thể nạp chương trình chạy vào phần cứng, ta phải kết nối phần cứng với máy tính. Sau
đó chọn Tools > Programmer, cửa sổ Programmer xuất hiện.

10


Click vào Hardware Setup, trong mục currently selected hardware chọn USB-Blaster
[USB-0]

Sau đó click vào Close.
Nếu trong Programmer chưa có file cần nạp thì chọn Add file để chọn file.
Chọn file cần nạp và ấn Start để bắt đầu nạp vào phần cứng.

2.2. ModelSim Altera
2.2.1. Giới thiệu về ModelSim Altera
ModelSim Altera cũng là một sản phẩm phần mềm do hãng Altera cung cấp, là một
công cụ vừa có khả năng lập trình phần cứng, vừa có khả năng chạy mô phỏng.
2.2.2. Tạo một project với ModelSim Altera
Từ giao diện chính, chọn File>New project, điền tên project và chọn đường dẫ để lưu
project.

11


Cửa sổ Add items to the Project hiện ra, yêu cầu thêm đối tượng vào cho Project.
Chọn Create New File.


12


Trong cửa sổ Create Project File, nhập tên của file, chọn kiểu file.

Sau khi tạo xong file, cửa sổ editor hiện ra, cho phép ta lập trình.

13


2.2.3. Biên dịch và chạy mô phỏng.
Sau khi đã tạo xong file, để biên dịch, chọn Compile>Compile All

Nếu không có lỗi gì xảy ra trong quá trình biên dịch, ta có thể bắt đầu chạy mô phỏng
bằng cách chon Simulate > Start Simulate.

14


Cửa sổ Start Simulation hiện ra, chọn vào tab Design > work > ten_file và ấn OK:

Để chọn dạng mô phỏng wave, chọn Add>To Wave>All items in region:

15


Trong tab Wave, chuột phải vào các biến đầu vào,chọn force để thiết lập giá trị, tiếp
tục chọn Simulate > Run 100


2.3. Sử dụng kết hợp Quartus II và ModelSim
Chúng ta có thể sử dụng kết hợp Quartus II và ModelSim để thiết kế mạch và chạy mô
phỏng.Trong đó Quartus II đóng vai trò là công cụ lập trình, và vẽ sơ đồ thiết kế
mạch,ModelSim đóng vai trò là công cụ chạy mô phỏng để kiểm tra tính đúng đắn của
mạch đã được thiết kế bằng Quartus II.
Để sử dụng kết hợp Quartus II và ModelSim, ta cần chọn ModelSim là công cụ mô
phỏng trong bước tạo project trong Quartus II(Xem mục 2.1.2.Tạo project) hoặc chuột
phải vào thiết bị trong Entity > Settings… > Simulation, trong mục Tool name >
ModelSim-Altera.

16


2.4. VHDL
2.4.1. Giới thiệu về VHDL
VHDL(Very high speed integrated circuit Hardware Description Language) là một
trong các ngôn ngữ mô tả phần cứng được sử dụng rộng rãi hiện nay. VHDL là ngôn
ngữ mô tả phần cứng cho các vi mạch tích hợp có tốc độ cao như FPGA, CPLD
…VHDL cũng được sử dụng như một ngôn ngữ lập trình song song.
VHDL là ngôn ngữ mô phỏng phần cứng được phát triển dùng cho chương trình
VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ. Mục tiêu của
việc phát triển VHDL là có được một ngôn ngữ mô phỏng phần cứng tiêu chuẩn và
thống nhất cho phép phát triển thử nghiệm các hệ thống số nhanh hơn, cũng như cho
phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế
2.4.2. Cấu trúc chương trình viết bằng VHDL
Một đoạn Code VHDL chuẩn cần có tối thiểu 3 mục sau:
 LIBRARY(thư viện): chứa một danh sách của tất cả các thư viện được sử dụng
trong thiết kế. Ví dụ: ieee, std, work, …
VD:
LIBRARY library_name;

USE library_name.package_name.package_parts;
 ENTITYI(thực thể): Mô tả các chân vào ra (I/O pins) của mạch. Cú pháp như
sau:
ENTITY entity_name IS
PORT (
port_name : signal_mode signal_type;
port_name : signal_mode signal_type;
...);
END entity_name;
Signal_mode: có thể là IN, OUT, INOUT, hoặc BUFFER
Signal_type: kiểu dữ liệu, có thể là BIT, STD_LOGIC, INTERGER…
Port_name: tên của cổng, có thể là bất cứ gì, ngoại trừ các từ khóa của VHDL
Vd:

ENTITY nand_gate IS
PORT (a, b : IN BIT;
x : OUT BIT);
END nand_gate;

 ARCHITECTURE(kiến trúc): chứa mã VHDL, mô tả mạch sẽ họat động như
thế nào. Cú pháp như sau:
17


ARCHITECTURE architecture_name OF entity_name IS
[declarations]
BEGIN
(code)
END architecture_name;
[declarations]: phần mô tả, nơi các tín hiệu và các hằng được khai báo

Vd:

ARCHITECTURE tg OF nand_gate IS
BEGIN
x <= a NAND b;
END tg;

Các mô hình kiến trúc:
 Mô hình hoạt động: mô tả các hoạt động của hệ thống, hệ thống đáp ứng
với tín hiệu đầu vào như thế nào, đưa ra kết quả gì ở đầu ra, dưới dạng
ngôn ngữ lập trình bậc cao. Cấu trúc có thể có Process, wait, if, case, for,
loop…
Vd: ARCHITECTURE behavioral of decode2x4 is
BEGIN
Process (A,B,ENABLE)
Variable ABAR,BBAR: bit;
Begin
ABAR := not A;
BBAR := not B;
If ENABLE = ‘1’ then
Z(3) <= not (A and B);
Z(0) <= not (ABAR and BBAR);
Z(2) <= not (A and BBAR);
Z(1) <= not (ABAR and B);
Else
Z <= not (ABAR and B);
End if;
End process;
END behavioral;
 Mô hình cấu trúc: có thể gồm nhiều cấp cấu trúc, từ cổng logic đơn giản

đến xây dựng một hệ thống hoàn thiện. Thực chất việc mô tả cấu trúc là
mô tả các phần tử bên trong một hệ thống và sự kết hợp của các phần tử
đó
Khai báo các thành phần:
Component
18


Tên_componemt port [ danh sách ];
End component;
 Mô hình kết hợp: là sự kết hợp của hai mô hình trên
2.3.3. Kiểu dữ liệu:
 Các kiểu dữ liệu tiền định nghĩa:
 BIT và BIT_VECTOR: 2 mức logic “0” và “1”
 STD_LOGIC và STD_LOGIC_VECTOR
Hệ logic 8 giá trị sau đây được giới tiệu trong chuẩn IEEE 1164:
- ‘X’
không xác định ( bắt buộc)
- ‘0’
mức thấp ( bắt buộc)
- ‘1’
mức cao ( bắt buộc)
- ‘Z’
trở kháng cao
- ‘W’
không xác định (yếu)
- ‘L’
mức thấp ( yếu)
- ‘H’
mức cao ( yếu)

- ‘-’
không quan tâm
 STD_ULOGIC và STD_ULOGIC_VECTOR: là mở rộng của
STD_LOGIC và STD_LOGIC_VECTOR, thêm một giá trị logic là ‘U’
 Các kiểu dữ liệu người dùng định nghĩa:
Vd:
TYPE integer IS RANGE -2147483647 TO +2147483647;
-- định nghĩa kiểu interger
TYPE my_logic IS ('0', '1', 'Z');
-- Một tập con của std_logic mà người dùng định nghĩa

 Các kiểu con: là kiểu dữ liệu đi kèm theo điều kiện dàng buộc
Vd:
SUBTYPE natural IS INTEGER RANGE 0 TO INTEGER'HIGH;
-- natural là một kiểu con (tập con) của INTEGER, với giá trị từ
0->INTERGER’HIGH
 Mảng: là một tập hợp các giá trị cùng kiểu. Mảng có thể là mảng 1 chiều (1D),
hai chiều (2D), hoặc là mảng 1 chiều của 1 chiều(1Dx1D) và có thể là các
mảng có chiều cao hơn.
Để chỉ định một kiểu mảng mới:
TYPE type_name IS ARRAY (specification) OF data_type;
Để tạo sử dụng kiểu mảng mới:
SIGNAL signal_name: type_name [:= initial_value];
 Mảng cổng
 Kiểu bản ghi: tương tự như mảng, nhưng chứa những kiểu giá trị khác nhau
19


TYPE birthday IS RECORD
day: INTEGER RANGE 1 TO 31;

month: month_name;
END RECORD;
 Kiểu dữ liệu có dấu và không dấu: được định nghĩa trong gói std_logic_arith
của thư viện ieee, dùng để biểu diễn số có dấu và không dấu.
Vd: SIGNAL x: SIGNED (7 DOWNTO 0);
SIGNAL y: UNSIGNED (0 TO 3);
Vd:

 Chuyển đổi dữ liệu: VHDL không cho phép các phép toán trực tiếp ( số học,
logic, …) tác động lên các dữ liệu khác kiểu nhau.
Nhiều hàm chuyển đổi dữ liệu có thể được tìm trong gói std_logic_arith của
thư viện ieee:
 conv_integer(p):chuyển đổi một tham số p của kiểu INTEGER,
UNSIGNED, SIGNED, hoặc STD_ULOGIC thành một giá trị
INTEGER. Lưu ý rằng STD_LOGIC_VECTOR không được kể đến.
 conv_unsigned(p, b): chuyển đổi một tham số p của kiểu INTEGER,
UNSIGNED, SIGNED, hoặc STD_ULOGIC thành một giá trị
UNSIGNED với kích cỡ là b bit.
 conv_signed(p, b): chuyển đổi một tham số p của kiểu INTEGER,
UNSIGNED, SIGNED, hoặc STD_ULOGIC thành một giá trị SIGNED
với kích cỡ là b bits.
 conv_std_logic_vector(p, b): chuyển đổi một tham số p thuộc kiểu dữ
liệu INTEGER, UNSIGNED, SIGNED, hoặc STD_LOGIC thành một
giá trị STD_LOGIC_VECTOR với kích thước b bits.
2.3.4. SIGNAL và VARIABLE
VHDL có hai cách định nghĩa các giá trị không tĩnh: bằng SIGNAL hoặc bằng
VARIABLE.
 SIGNAL có thể được khai báo trong PACKAGE, ENTITY hoặc
ARCHITECTURE (trong phần khai báo của nó).
 VARIABLE có thể được mô tả bên trong một phần của mã tuần tự.

Giá trị của VARIABLE có thể không bao giờ định nghĩa ngoài PROCESS một cách
trực tiếp, nếu cần, thì nó phải được gán thành SIGNAL.
Phép toán gán cho SIGNAL là “<=” (ví dụ sig <= 5), trong khi với VARIABLE là
“:=” (ví dụ var := 5).
2.3.4. Toán tử
 Toán tử gán: có 3 loại toán tử gán:
 <= (dùng cho giá trị SIGNAL)
 := (dùng cho giá trị VARIABLE, CONSTANT, GENERIC)
 => (dùng cho các thành phần vector và các giá trị kiểu khác)
20


Vd:

SIGNAL x : STD_LOGIC;
VARIABLE y : STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL w: STD_LOGIC_VECTOR(0 TO 7);
x <= ‘1’;
y := “0000”;
w <= “10000000”;
w <= (0 =>'1', OTHERS =>'0');

 Toán tử logic: dùng cho BIT, STD_LOGIC, STD_ULIGIC,
BIT_VECTOR,STD_LOGIC_VECTOR, STD_ULOGIC_VECTOR.
Bao gồm các toán tử logic: NOT, AND, OR, NAND, NOR, XOR, XNOR
 Toán tử toán học: dùng cho các kiểu dữ liệu :INTEGER, SIGNED,
UNSIGNED, REAL
Bao gồm các toán tử:
+
Toán tử cộng.

Toán tử trừ.
*
Toán tử nhân.
/
Toán tử chia.
**
Toán tử lấy mũ.
MOD Phép chia lấy phần nguyên.
REM Phép chia lấy phần dư.
ABS Phép lấy giá trị tuyệt đối.
 Toán tử so sánh
Có các toán tử so sánh sau:
=
So sánh bằng
/=
So sánh không bằng.
<
So sánh nhỏ hơn.
>
So sánh lớn hơn.
<=
So sánh nhỏ hơn hoặc bằng.
>=
So sánh lớn hơn hoặc bằng.
 Toán tử dịch
Cú pháp sử dụng toán tử dịch là:
<left operand> <shift op eration> <right operand>
Trong đó:
<left operand> có kiểu là BIT_VECTOR
<right operand> có kiểu là INTEGER.

Có hai toán tử dịch:
- Sll Toán tử dịch trái. Điền 0 vào phía phải.
- Rll Toán tử dịch phải. Điền 0 vào phía trái.
2.4.5. GENERIC
GENERIC là một cách tạo các tham số dùng chung (giống như các biến static trong
các ngôn ngữ lập trình). Tham số này có thể gọi được từ bất cứ nơi nào, trong một

21


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×