1. Trang chủ
  2. » Khoa Học Tự Nhiên

Thiết kế bộ vi xử lý 8 bit sử dụng công nghệ FPGA

110 452 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 1,98 MB

Nội dung

11 NguyÔn ChÝ Kiªn Ch−¬ng 2: Giíi thiÖu chung vÒ IC kh¶ tr×nh vµ c«ng nghÖ fpga 2.1 Giíi thiÖu vÒ c«ng nghÖ ASIC vµ lÞch sö ph¸t triÓn 2.1.1 Giíi thiÖu vÒ c«ng nghÖ ASIC Công nghệ v

Trang 1

NGUYỄN CHÍ KIÊN

THIẾT BỘ VI XỬ LÝ 8 BÍT SỬ DỤNG CÔNG

NGHỆ FPGA

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN : TS NGUYỄN NAM QUÂN

HÀ NỘI – 2010

Trang 2

1 Nguyễn

Chí Kiên

LờI CAM ĐOAN

Tôi xin cam đoan rằng những số liệu và kết quả nghiên cứu trong luận văn này là trung thực và ch−a hề sử dụng để bảo vệ một học vị nào

Mọi sự giúp đỡ cho việc hoàn thành luận văn đã đ−ợc cảm ơn và các thông tin trích dẫn đều đ−ợc chỉ rõ nguồn gốc

Trang 3

Đại học Bách Khoa Hà Nội đã dìu dắt, chỉ bảo tôi trong những năm vừa qua Đặc

biệt, tôi xin chân thành gửi lời cảm ơn sâu sắc nhất đến thầy giáo TS.Nguyễn Nam

Quân, người đã tận tình hướng dẫn tôi hoàn thành tốt luận văn thạc sĩ Tôi cũng xin

được gửi lời cảm ơn đến các thầy lãnh đạo trường cùng các thầy lãnh đạo Khoa Điện – Điện tử, các thầy cô giáo khoa Điện – Điện tử, trường Cao Đẳng Công Nghiệp Nam Định đã tạo điều kiện thuận lợi nhất cho tôi được học tập và nghiên cứu và hoàn thành khóa học cao học Nhân dịp này, tôi cũng xin cảm ơn đến các bạn cùng lớp cao học điện tử viễn thông 2 khóa 2008 - 2010 đã giúp đỡ tôi trong suốt thời gian qua

Xin chân thành cảm ơn!

Hà nội, ngày tháng năm 2010

Học viên

Nguyễn Chí Kiên

Trang 4

Trang phô b×a i

Ch−¬ng 2: Giíi thiÖu chung vÒ IC kh¶ tr×nh vµ c«ng nghÖ FPGA 3

2.2.3.1 C¸c thiÕt bÞ logic lËp tr×nh ®−îc - PLD (Programmable logic

devices)

7

2.2.3.2 Ma trËn cæng lËp tr×nh theo hiÖn tr−êng FPGA (Field

Programmable Gate Array)

8

Trang 5

2.2.3.3.1 FPGA cña Altera 10

Ch−¬ng 4: ThiÕt kÕ bé vi xö lý 8 bit sö dông fpga 37

Trang 6

4.4 Chế độ địa chỉ của lệnh 39

4.4.1.3 Giản đồ định thời chu kỳ thực hiện các lệnh rẽ nhánh và lệnh jmp

ở chế độ trực tiếp

42

4.4.1.4 Giản đồ định thời chu kỳ thực hiện lệnh lda, adc, sbc (chế độ trực

tiếp) và lệnh jmp (chế độ gián tiếp)

43

4.4.1.7 Giản đồ định thời chu kỳ thực hiện lệnh lda, and, adc, sbc (chế độ

gián tiếp)

44

Trang 7

5.1.1 C¸ch sö dông phÇn mÒm MAXPLUS II 81

Trang 8

3 NguyÔn

ChÝ Kiªn

Danh môc c¸c ký hiÖu, c¸c ch÷ viÕt t¾t

ASIC Application-specific Integrated Circuit

ASIC s Application Specific Integrated Circuits

CAD Computer-aided Design

CAE Computer Aided Tool

CPU Central Processing Unit

CMOS Complementary Metal-Oxide-Semiconductor

CICC IEEE Custom Intergrated Circuits Conference)

CPLD Complex Programble Logic Device

CLB Configurable Logic Blocks

EDA Electronic Design Automation

FPGA Field Programmable Gate Arrays

IC Integrated circuit

IEEE IEEE International ASIC conference

LUT Look-Up Table

LSI Large-scale integrated

MSI Medium-scale integrated

SSI Small-scale integrated

PLA Programable Logic Array

PLD Programmable Logic Device

PDA Pin-grid array

RAM Random Access Memory

Trang 9

VLSI Very large-scale integrated

VHSIC Very High Speed Intergrated Circuit

UART Universal Asynchronous Receiver-transmitter

Trang 10

5 Nguyễn

Chí Kiên

Danh mục các bảng

TrangBảng 2.2.3.3.2.2 (a) Tổng quan họ Spartan -3 FPGA 17 Bảng 2.2.3.3.2.2 (b) Các đặc tính chính của Spartan-3 19 Bảng 4.3 Tập lệnh của VXL 38

Bảng 4.4 Mã tác vụ của lệnh 40 Baỷng 4.5.2 Các tín hiệu điều khiển ngõ vào và ngõ ra của VXL 57 Bảng 4.5.3.1 Đơn vị luận lý số học 58

Trang 11

6 Nguyễn

Chí Kiên

Danh mục các hình vẽ, đồ thị

TrangHình 2.1.2 (a) Sơ đồ chân IC 4 Hình 2.1.2 (b) Chip silicon ở dưới nắp 4 Hình 2.2.3.1 (a) Cấu trúc PLA 7 Hình 2.2.3.1 (b) Cấu trúc PAL 7 Hình 2.2.3.2 Cấu trúc chung của FPGA 9 Hình 2.2.3.2.3 Các loại FPGA trong thực tế 10

Hình 2.2.3.3.2.2 Sơ lược các họ thiết bị của Xilinx 14 Hình 2.2.3.3.2.3 (a) Cấu trúc của Spartan - IIE 20 Hình 2.2.3.3.2.3 (b) Sơ đồ khối của Spartan -IIE 21 Hình 2.2.3.3.2.3 (c) Khối Input/Output Spartan -IIE (I/OB) 21 Hình 2.2.3.3.2.3 (d) Các Bank chuẩn vào ra I/O của Spartan -IIE 22 Hình 2.2.3.3.2.3 (e) Cấu trúc Logic Cell hay một Slice đơn

trongSpartan -IIE

24

Hình 2.2.3.3.2.3 (f) Bộ dồn kênh F5 và F6 25 Hình 2.2.3.3.2.3 (g) Vòng giữ chậm DLL

Hình 2.2.3.3.2.3 (h) Các đặc tính đầu ra của DLL

26

26 Hình 3.1.1 Minh hoạ cho phương pháp thiết kế bằng hàm Boolean 28 Hình 3.2.2.1 Khai báo thực thể một cổng NAND 32 Hình 3.2.2.2.2 Mô tả kiến trúc flip-flop RS theo mô hình cấu trúc 34 Hình 3.2.2.4 Minh hoạ một môi trường kiểm tra ảo bằng VHDL 34 Hình 3.3.2 Tóm tắt quy trình thiết kế VHDL 35 Hình 4.2 Mô tả trang và độ dài của VXL 37

Trang 12

7 Nguyễn

Chí Kiên

Hình 4.4 Định vị địa chỉ trong lệnh địa chỉ trang 41 Hình4.4.1.1 Giản đồ định thời đáp ứng ngắt quãng 42 Hình 4.4.1.2 Giản đồ chu kỳ thực hiện lệnh 1 byte: nop, cla, cma,

cmc, asl, asr

Hình 4.4.1.3 Giản đồ định thời chu kỳ thực hiện các lệnh rẽ nhánh

và lệnh jmp ở chế độ trực tiếp

Hình4.4.1.4 Giản đồ định thời chu kỳ thực hiện lệnh lda, adc, sbc

(chế độ trực tiếp) và lệnh jmp (chế độ gián tiếp)

Trang 13

8 Nguyễn

Chí Kiên

Hình 4.3.6 (e) Mô tả phần cứng của khối S4 73 Hình 4.3.6 (e) Mô tả phần cứng của khối S5 74 Hình 4.3.6 (g) Mô tả phần cứng của khối S6 77 Hình 4.3.6 (h) Mô tả phần cứng của khối S7 78 Hình 4.3.6 (i) Mô tả phần cứng của khối S8 79 Hình 4.3.6 (j) Mô tả phần cứng của khối S9 80 Hình 4.3.6 (k) mô hình hoạt động của khối điều khiển 80 Hình 5.1.2 Cửa sổ của COMPILER 82 Hình 5.1.3 Màn hình Waveform Editor 83 Hình 5.1.5.1 Tín hiệu ngõ vào và ngõ ra của khối ALU 84 Hình 5.1.5.2 Màn hình mô phỏng phép dịch trái và dịch phải của

khối SHU

86

Hình 5.1.5.3 Mô phỏng khối CONTROL 86 Hình 5.1.5.4 Màn hình mô phỏng lệnh cộng của CPU 88 Hình 5.2.1 Cửa sổ XILINX ISE 89 Hình 5.2.2.(a) Kết quả mô phỏng 1 91 Hình 5.2.2.(b) Kết quả mô phỏng 2 92

Trang 14

Từ ngụn ngữ VHDL cỏc nhà thiết kế phần cứng cú thể thiết kế ra những thiết

bị phần cứng như CPU, bộ vi điều khiển… một cỏch nhanh chúng và cũng cú thể thực hiện mụ phỏng và kiểm tra khả năng hoạt động của thiết bị trước khi đưa vào sản xuất, nhờ vậy cú thể giảm bớt thời gian, chi phớ sản xuất Do khả năng và tớnh

hiệu quả của ngụn ngữ VHDL là động cơ chớnh để tụi chọn đề tài “Thiết kế bộ vi

xử lý 8 bit sử dụng cụng nghệ FPGA” làm đề tài cho luận văn tốt nghiệp của

mỡnh

1.2 Mục đích của đề tài

Nghiờn cứu FPGA, ngụn ngữ VHDL cú thể thiết kế ra những thiết bị phần cứng như CPU, bộ vi điều khiển… một cỏch nhanh chúng và cũng cú thể thực hiện

mụ phỏng và kiểm tra khả năng hoạt động của thiết bị trước khi đưa vào sản xuất, nhờ vậy cú thể giảm bớt thời gian, chi phớ sản xuất

1.3 Nhiệm vụ nghiên cứu của đề tài

- Tỡm hiểu FPGA,

- Cỏc khỏi niệm về ngụn ngữ VHDL, cỳ phỏp và ngữ nghĩa của nú

- Nờu nhiệm vụ của bộ VXL, mụ tả tổ chức bộ nhớ của bộ VXL, trỡnh bày tập

Trang 15

1.4 Đối t−ợng nghiên cứu của đề tài

Nghiờn cứu cấu trỳc của FPGA và ngụn ngữ VHDL để mụ tả bộ VXL 8 bit

Trang 16

11 NguyÔn

ChÝ Kiªn

Ch−¬ng 2: Giíi thiÖu chung vÒ IC kh¶ tr×nh

vµ c«ng nghÖ fpga

2.1 Giíi thiÖu vÒ c«ng nghÖ ASIC vµ lÞch sö ph¸t triÓn

2.1.1 Giíi thiÖu vÒ c«ng nghÖ ASIC

Công nghệ vi điện tử ngày nay đang chứng kiến một sự thay đổi to lớn: từ những vi mạch được thiết kế bởi các chuyên gia vi mạch, sản xuất với số lượng lớn; chuyển sang các mạch chuyên dụng được thiết kế bởi các kỹ sư hệ thống tại các cơ

sở ứng dụng, tại đó không nhất thiết phải đầu tư cơ sở vật chất để làm công nghệ bán dẫn và có thể sản xuất với số lượng nhỏ Nhờ công nghệ ASIC (Application-specific Integrated Circuit) nên các mạch tổ hợp lớn trong nhiều trường hợp có thể được “chế tạo” ngay tại các cơ sở ứng dụng Có được sự thay đổi đó là nhờ việc sử dụng các hệ thống tự động thiết kế CAD (Computer-aided Design)

Hiện nay, mạch vi điện tử chuyên dụng đang có nhu cầu thị trường rất cao, chiếm khoảng 42% thị trường IC thế giới, và trong những năm tới sẽ chiếm khoảng 65% ASIC là một vi mạch được thiết kế dành cho một ứng dụng đặc biệt (đối lập với các mạch tích hợp điều khiển các hàm như RAM trong máy tính) ASIC được xây dựng bằng việc kết nối các khối mạch đã được xây dựng theo các phương pháp mới Do các khối mạch sử dụng đã có sẵn nên việc sản xuất một ASIC mới dễ dàng hơn nhiều so với việc thiết kế một vi mạch từ những phác thảo ban đầu

ASIC ngày nay được ứng dụng hầu như khắp mọi nơi, từ các máy móc tự động để điều khiển các chức năng của các phương tiện truyền thông, xe cộ, tàu vũ trụ, các hệ

Trang 17

12 NguyÔn

ChÝ Kiªn

thống xử lý, các dây chuyền công nghiệp, và ngay cả trong các thiết bị cầm tay PDA

2.1.2 Qu¸ tr×nh ph¸t triÓn cña m¹ch tÝch hîp (IC)

Hình 2.1.2 (a) cho thấy khuôn dạng một IC bao gồm một mạng lưới chân (viết tắt PGA : pin-grid array) nằm ở mặt trên của IC và cắm vào trong board mạch

in, thường được gọi là gói chíp Hình 2.1.2(b), chip silicon (gọi là silicon die) được gắn vào lỗ hổng dưới nắp được bịt kín

Hình 2.1.2 (a) Sơ đồ chân IC (b) Chip silicon ở dưới nắp Kích thước vật lý của một silicon die thay đổi từ một milimét đến vài milimét, nhưng thông thường kích cỡ của một IC được đo bằng số cổng logic (cổng NAND hai ngõ vào) hay số lượng transistor chứa trong IC Ví dụ, một IC có 100k cổng tương đương với 100.000 cổng NAND hai ngõ vào

Công nghệ bán dẫn đã ra đời vào những năm 1970 và tiếp tục phát triển cho đến nay Họ IC đầu tiên gồm những linh kiện có mật độ tích hợp nhỏ (SSI) chứa từ

1 đến 10 cổng logic như cổng NAND, cổng NOR… hơn nữa chỉ vài chục transistor Tiếp đến là thời kỳ của những mạch tích hợp có mật độ trung bình (MSI) và đã mang theo những chức năng ưu việt hơn so với SSI đó là mật độ tích hợp lớn hơn đồng thời các hàm logic chức năng nhiều hơn Chẳng hạn như, số lượng cổng logic, các bộ giải mã, các thanh ghi, bộ đếm được tăng thêm Vào cuối những năm 1970, công nghệ mạch tích hợp tiếp tục phát triển đến mức các mạch tích hợp mật độ cao (LSI) ra đời Lúc này, các bộ vi xử lí đầu tiên trong các chíp đơn ra đời Với sự ra

Trang 18

13 NguyÔn

ChÝ Kiªn

đời của LSI đã tạo nên một bước tiến mới trong công nghệ bán dẫn, đã thu hút được mối quan tâm của các kỹ sư, các hãng cạnh tranh lúc bấy giờ Các hãng như Intel và Motorola bắt đầu sản xuất các chíp vi xử lí đơn và những chíp nhớ đơn RAM và ROM Các chíp hỗ trợ khác cũng bắt đầu xuất hiện như: cổng song song, giao diện nối tiếp (UART) và bộ điều khiển ngắt Vì vậy, nhiều họ chíp LSI mới được sản xuất và sử dụng cho mục đích thiết kế máy vi tính Ngày nay, các mạch tích hợp có mật độ tích hợp rất cao (VLSI) ra đời đưa ra bộ xử lý 64 bit có bộ nhớ cache, bộ xử

lý toán học có dấu chấm động và được tích hợp trên một triệu transistor Khi công nghệ CMOS phát triển, các transistor được sản xuất với diện tích nhỏ hơn, vì thế các transistor được tích hợp ngày càng nhỏ bên trong IC

Trong những năm 1980, với công nghệ VLSI các kỹ sư đã bắt đầu khai thác những ưu điểm thiết kế một IC theo nhu cầu của mình hoặc thiết kế các hệ thống, các ứng dụng đặt biệt một cách tùy tiện hơn so với các IC chuẩn Sau đó, thiết kế hệ thống vi điện tử trở thành chủ đề cần quan tâm Đến cuối những năm 1980, những ngôn ngữ mô tả phần cứng như VHDL và Verilog được ra đời đã đi sâu vào phong cách thiết kế Các bộ mô phỏng tốc độ cao và các máy mô phỏng đã cho phép các mẫu thiết kế có hiệu lực nhanh chóng Bộ kiểm tra và phân tích tự động đã loại bỏ những lỗi do con người gây ra trong quá trình xử lý Cuối cùng, những công cụ tổng hợp đã tự động tiến hành phiên dịch hoạt động của mô hình HDL thành một mô hình cấu trúc logic

Một trong những hội nghị đầu tiên dành cho giai đoạn này nổi lên một cách nhanh chóng của công nghệ IC đó là hiệp hội CICC (IEEE Custom Intergrated Circuits Conference), và hôi nghị này được tổ chức hàng năm nhằm giúp cho sự phát triển của các hãng sản xuất IC tùy biến Các loại IC tùy biến khác nhau bắt đầu được đưa ra có những ứng dụng khác nhau Sự ra đời của các loại IC mới này đã

mở ra một thời kỳ mới đó là những IC ứng dụng chuyên biệt hay ASIC Ngày

nay, đã có hiệp hội ASIC quốc tế IEEE (IEEE International ASIC conference) ASIC là một mạch tích hợp được sản xuất cho một ứng dụng đặc trưng và nhìn chung, chúng có một kích thước tương đối nhỏ

Trang 19

14 Nguyễn

Chí Kiên

2.2 Các loại ASIC

Full-Custom ASICs (Application specific IC)

Các khối logic (logic cells) và các lớp mặt nạ không được thiết kế sẵn mà do người thiết kế thiết kế

ắ Semicustom ASICs

Các khối logic ( logic cells) được thiết kế sẵn (được định nghĩa trong thư viện cell)

và các lớp mặt nạ được thiết kế bởi người thiết kế

Có 2 loại Semicustom ASICs: Standard-cell based and Gate-array-based ASICs

ắ Cỏc linh kiện logic khả trỡnh (Programmable logic devices)

Tất cả các khối logic được thiết kế sẵn và không cần phải thiết kế lớp mặt nạ nào

Có 2 loại linh kiện logic khả trình: PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array)

2.2.1 Full-Custom ASICs

Đối với mỗi một chip ASIC, người thiết kế phải thiết kế toàn bộ cỏc khối logic, mạch điện, layout

- Full-custom ICs là loại đắt nhất để chế tạo và thiết kế

- Thời gian chế tạo 1 IC (không kể thời gian thiết kế) là 8 tuần

- Dùng khi:

9 Không có các khối logic có sẵn trong thư viện

9 Các khối logic hiện có không đủ nhanh

9 Các khối logic hiện có có kích thước lớn

9 Các khối logic hiện có tiêu thụ công suất lớn

9 Chíp ASIC cần thiết kế quá đặc biệt dẫn tới nhiều mạch phải được thiết kế một cách tuỳ biến

Trang 20

• Thời gian chế tạo từ vài ngày đến 2 tuần

• Giá thành rẻ hơn các loại ASIC khác

2.2.3 Các linh kiện logic khả trình (Programmable logic devices)

Có hai loại ASIC lập trình được: Các thiết bị logic lập trình được – PLD (Programmable logic devices) và ma trận cổng lập trình theo hiện trường FPGA

(Field Programmable Gate Array)

2.2.3.1 Các thiết bị logic lập trình được - PLD (Programmable logic devices) PLD có thể được chia thành các loại sau:

Trang 21

16 Nguyễn

Chí Kiên

Hình 2.2.3.1 (a) Cấu trúc PLA

- PLA cú mảng cỏc phần tử logic AND và OR lập trỡnh được

Hình 2.2.3.1 (b) Cấu trúc PAL PAL cú mảng cỏc phần tử logic AND lập trỡnh được và mảng cố định cỏc phần tử logic OR

2.2.3.2 Ma trận cổng lập trình theo hiện trường FPGA (Field Programmable Gate Array)

Công nghệ FPGA (FPGA là từ viết tắt của Field Programmable Gate

Arrays) là công nghệ chế tạo mạch tích hợp mật độ cao FPGA là một thiết bị cấu

trúc luận lý có thể lập trình được bởi người sử dụng mà không cần đến một công cụ chế tạo mạch tích hợp

Người thiết kế muốn tạo ra FPGAs tốt phải sử dụng công cụ thiết kế được trợ giúp bởi máy tính gọi là CAD (computer -Aided - Design) Đầu tiên thiết kế mạch luận lý ban đầu đòi hỏi một sơ đồ biểu diễn mạch hay một mô tả VHDL hoặc đặc tả

Trang 22

17 Nguyễn

Chí Kiên

các biểu thức luận lý (Boolean)

Từ các ngõ vào ban đầu mô tả mạch được chuyển thành dạng chuẩn như các biểu thức boolean sau đó được xử lý bằng công cụ tối ưu luận lý, chúng rút gọn các biểu thức, sau đó các biểu thức Boolean đã tối ưu được truyền tới các khối luận lý của FPGA thông qua chương trình ánh xạ công nghệ (technology mapping) Bộ ánh xạ thực hiện tối thiểu số khối được dùng, tiếp theo chương trình sắp xếp (Placement) thực hiện đặt mỗi khối vào trong dãy FPGAs Bước cuối cùng trong hệ thống CAD

được thực hiện bằng phần mềm điều khiển luồng (routing) chúng ấn định các đoạn dây FPGA và chọn các chuyển mạch có thể lập trình phù hợp với các kết nối trong khối luận lý

Sau khi thực hiện thành công các bước sắp xếp và tuyến ngõ ra của hệ thống CAD được nạp vào đơn vị lập trình tạo ra chíp FPGA

Cấu trúc chung:

Hỡnh 2.2.3.2 Cấu trỳc chung của FPGA

2.2.3.2.1 Các logic block:

Trang 23

2.2.3.2.3 Phân loại FPGA:

Các loại FPGA của nhiều công ty khác nhau có các đặc tính riêng, tuy nhiên chúng có thể đ−ợc chia làm 4 loại chính: cấu trúc mảng đối xứng (symetrical array), cấu trúc hàng (row-based), cấu trúc PLD phân cấp (hierarchical PLD) và cấu trúc đa cổng (sea-of-gates)

Hình 2.2.3.2.3 Các loại FPGA trong thực tế

Trang 24

19 Nguyễn

Chí Kiên

2.2.3.3 Các loại FPGA trên thị trường

Hiện nay trên thị trường có một số họ FPGA của các hãng như Xilinx, Actel,

Altera v.v trong luận văn này sẽ trình kiến trúc của hãng Altera, Xilinx

2.2.3.3.1 FPGA của Altera

2.2.3.3.1.1 Giới thiệu về công ty Altera

Được thành lập 1983 do Robert Hartmann, Michael Magranet, James Sansbury và Paul Newhagen Altera (ALTR) được lấy tên chính thức năm 1984, cũng chính trong năm này công ty đã giới thiệu những con chip đầu tiên của mình

Altera là công ty đi đầu trong lĩnh vực lập trình cho những mạch logic, với

hệ thống gồm nhiều công ty chip bán dẫn, cùng với những sản phẩm của mình Altera đang dần chiếm lĩnh thị trường chip bán dẫn và vi mạch khả lập trình trên thế giới

Hiện nay Altera được biết đến với FPGA, CPLD và các cấu trúc mạch ASIC cho phép lập trình trên nó Với số lượng khách hàng ngày càng tăng, doanh thu trong 2006 của Altera là 1,29 tỉ USD Trụ sở chính của Altera đặt tại San Jonse, California cùng với đội ngũ khoảng 2 600 nhân viên tại các công ty trên 19 quốc gia

Mới đây nhất Altera giới thiệu kit phát triển với chip Cyclone(R) III FPGA cho phép lập trình các ứng dụng Multimedia, Ethernet, lập trình giao tiếp với các thiết bị ngoại vi như USB, Memory…

Tại Viêt Nam, ngày 4 tháng 6 vừa rồi Altera tuyên bố thành lập một trung tâm công nghệ ở TP Hồ Chí Minh để hỗ trợ mạng lưới phát triển chip trên khắp toàn cầu của công ty và đây cũng chính là mục tiêu để phát triển đội ngũ kỹ sư trên toàn thế giới của Altera

2.2.3.3.1.2 Kiến trúc tổng quát của Altera

Kiến trúc tổng quát của Altera

Trang 25

20 Nguyễn

Chí Kiên

Kiến trúc cơ bản của Altera FPGA có cấu trúc nhóm phân cấp của các PLD trong cấu trúc này sử dụng mảng hai chiều và một cấu trúc routing lập trình được

Kiến trúc cơ bản của Altera FPGA dựa trên công nghệ lập trình EPROM nó gồm

một mảng lớn các khối lập trình được gọi là những khối mảng luận lý (logic array Blocks) được kết nối với nhau bởi các nguồn tài nguyên routing gọi là mảng lập

trình nối liền nhau (Programmable Interconnect Array) Có hai thế hệ Altera FPGA

là FPM5000 và FPM7000

Altera FPGA có cấu trúc nhóm phân cấp gồm 2 mức một khối luận lý là

Macrocell mức này gọi là LAB và một block gọi là bộ mở rộng đường dây tích

(expander product terms), số lượng macrocell trong mỗi LAB thay đổi tuỳ theo loại

Altera FPGA, mỗi macrocell gồm 3 cổng AND nối vào cổng OR nối tiếp đến cổng

XOR và một filp-flop, cổng XOR tạo ra output của macrocell Các ngõ nhập của

macrocell xem như các cổng AND một ngõ nhập vì chúng được tạo ra như các cổng

AND nối dây của các tín hiệu

Cấu trúc của Altera LAB

Trang 26

21 Nguyễn

Chí Kiên

`

Đường dây tích có thể là một tín hiệu trong PIA hay là từ bộ mở rộng

đườngbdây tích của LAB hoặc ngõ xuất của bất kỳ Macrocell nào, các tín hiệu ở

dạng thực hoặc bù nghĩa là phép đảo có thể lập trình được (programmable inversion)

với mô hình này thì chức năng của LAB giống chức năng của PLD nhưng đường

dây tích ít hơn trên mỗi thanh ghi Altera cho rằng điều này sẽ làm cho LAB hiệu quả hơn bởi vì hầu hết các hàm logic không cần có số đường dây tích lớn như trong

PLD và LAB hỗ trợ mở rộng chức năng bằng bộ mở rộng đường dây tích

2.2.3.3.1.3 Các dòng sản phẩm chính của Altera

Các linh kiện logic có thể lập trình của Tập đoàn Altera (PLDs) nâng cao tính mềm dẻo của các thiết kế và giảm thời gian tiếp cận thị trường cho các công ty về lĩnh vực truyền thông, thiết bị ngoại vi máy tính, và thị trường công nghiệp Công ty của bạn có thể tạo ra các giải pháp SOPC trên một PLD đơn bằng cách sử dụng các linh kiện hiệu suất cao, công cụ phần mềm phát triển, kết hợp trí tuệ với bộ vi xử lý,

bộ nhớ và các thành thành phần logic phức tạp khác Các giải pháp SOPC của Altera

đang góp phần thực hiện cuộc cách mạng hóa toàn bộ nền công nghiệp truyền thông

và Internet

Các linh kiện logic có thể lập trình (PLD) của Tập đoàn Altera mang đến những hệ thống hoạt động hiệu suất cao, với mật độ lớn và các tính nãng cao cấp cho thiết kế của bạn nhờ khả nãng có thể lập trình hệ thống và độ mềm dẻo không gì sánh được nhờ ứng dụng các sản phẩm chuẩn ASICs hoặc ASSPs

Các sản phẩm của Altera bao gồm:

Trang 27

2.2.3.3.2 FPGA của Xilinx

2.2.3.3.2.1 Giới thiệu về công ty Xilinx

Xilinx là nhà phát triển hàng đầu hiện nay trong lĩnh vực chip khả trình

Được thành lập bởi Ross Freeman, Bernie Vonderschmitt, và Jim Barnett, và có trụ

sở tại thung lũng Silicon Trụ sở chính hiện nay ở San Jose , California Là thành viên của nhóm 100 công ti hàng đầu thế giới hiện nay do tạp chí Fortune bình chọn Xilinx là nhà phát triển FPGA, CPLD được sử dụng rộng rãi trong những ứng dụng truyền thông, tự động hóa, mật mã và các lĩnh vực khác Các sản phẩm phần cứng của Xilin gồm có các dòng CPLD : CoolRunner, các họ FPGA như Spartans, Virtex Xilinx còn cung cấp các phần mềm hỗ trợ lập trình FPGA, CPLD như ISE, EDK, LogicCore, System Generator Các công cụ này hỗ trợ rất nhiều cho quá trình lập trình FPGA, giúp giảm thời gian và công sức thiết kế Các phiên bản phần mềm trên được nâng cấp thường xuyên (Hiện giờ đã có phiên bản 10.1 cho các ứng dụng)

2.2.3.3.2.2 Các dòng sản phẩm chính của Xilinx

Xilinx chia sản phẩm của mình ra rất nhiều họ nhưng tài liệu sẽ tập trung chính vào việc giới thiệu hai loại FPGA và CPLD cơ bản, xem hình vẽ (Hình 3.3.2.2 ) Đó là lọai thiết bị CoolRunner - XPLA3 CPLD, và Spartan 3 FPGA Song do chủ huớng của luận văn chúng ta chỉ đi vào một họ của Xilinx là Spartan-3, còn họ CoolRunner chúng ta không xét đến

Trang 28

23 Nguyễn

Chí Kiên

Hỡnh 2.2.3.3.2.2 Sơ lược cỏc họ thiết bị của Xilinx

Họ Platform FPGAs :

Hình 2.7 cho ta thấy đ−ợc tổng quan các họ sản phẩm chính cuả Xilinx ở

đây xin chỉ giới thiệu tổng quan và đ−ra các địa chỉ cần tra cứu về chi tiết kỹ thuật của chúng trên trang Web của hãng Xilinx

Platform FPGA đ−a ra các đặc tính sau :

- Các giao tiếp vào ra hệ thống làm giảm nhẹ bớt các tiêu chuẩn không cần thiết khác

- XtremeDSP™ dựa trên FPGA, giải pháp cho sự thực hiện DSP ch−a từng có

(Nhanh gấp 100 lần bộ xử lý DSP hàng đầu)

- Empower ! Kỹ thuật xử lý dành cho xử lý hệ thống cho phép thực hiện hiện cấu

hình cao và mềm dẻo

Trang 29

24 Nguyễn

Chí Kiên

Với dải mật độ từ 40.000 đến 10 triệu cổng hệ thống , Virtex-II đưa ra bộ nhớ

hệ thống được mở rộng và bộ DSP flash thông qua kết cấu nhúng IP (Lõi sở hữu trí tuệ) Họ Xilinx Virtex là họ đầu tiên của FPGA mà nó đưa ra một triệu cổng hệ thống và được giới thiệu vào năm 1998 Dòng sản phẩm Virtex về cơ bản đã được

định nghĩa lại tất cả các đơn vị logic lập trình bởi việc mở rộng các khả năng của FPGA truyền thống để có đặc tính mạnh hơn, nó được dùng cho các thiết kế hệ thống thực thi cao Các thiết bị mới nhất được đưa ra với họ sản phẩm Virtex-E và

được công bố năm 1999 với hơn ba triệu cổng hệ thống

Virtex-EM giới thiệu năm 2000 và là họ FPGA đầu tiên được sản xuất với qui trình mạ đồng đã được cải tiến và thêm vào bộ nhớ trong chip để dùng trong các ứng dụng chuyển mạch mạng

Họ Spartan FPGAs : Họ Spartan FPGA là ý tưởng dùng cho các ứng dụng với số lượng lớn, giá thành thấp, chúng được đưa vào các thiết bị đích nhằm thay thế các chip logic cố định và các sản phẩm chuyên dụng, chẳng hạn như các chip giao tiếp bus Năm thành viên của họ này là Spartan-3(1.2v), Spartan-IIE(1.8 v), Spartan-II (2.5 v) và SpartanXL(3.3v), Spartan(5v) ở đây xin giới thiệu họ sản phẩm Spartan-3

Spartan-3 FPGAs (1.2v, 90nm) : Với họ này, nó không chỉ có giá thành thấp

mà còn đựoc tích hợp với một số tính chất mới về cấu trúc, các tính chất này được kết hợp với các đơn vị logic cho phép lập trình Sự kết hợp giữa giá thành thấp với các tính chất mới đã tạo ra sự thay thế các chip ASIC và các thiết bị chuyên dùng khác Ví dụ một chip Spartan-3 FPGA trong hệ thống đa phương tiện truyền thông trong xe hơi có thể tập hợp được rất nhiều chức năng của hệ thống, bao gồm các lõi

IP nhúng, giao tiếp hệ thống khách hàng, DSP và các đơn vị logic khác Nó bao gồm các thành phần chính sau:

+/ Các khối SRL16 ( thanhghi dịch 16 bit) :

* Mỗi khối Logic định cấu hình được (CLB LUT- Configurable Logic Block LookUp Table) làm việc như một thanh ghi dịch nhanh 16 bit (Mỗi CLB có chứa 2 hoặc 4 LUT và 2 hoặc 4 Flip Flop )

* Nối tầng các LUT ( Bộ tạo chức năng ) để tạo nên thanh ghi dịch dài hơn

Trang 30

25 Nguyễn

Chí Kiên

* Sử dụng các thanh ghi đường ống cho các bộ đệm dành cho Video và các kết nối không dây

+/ Bộ nhớ RAM chọn có thể được cấp tới 520Kb

* Mỗi LUT làm việc như bộ RAM/ROM đơn cổng hoặc lưỡng cổng

* Nối tầng các LUT để tạo bộ nhớ lớn hơn

* Các ứng dụng có thể thay đổi kích thước bộ nhớ một cách mềm dẻo, FIFO, và các

bộ đệm

+/ Khối RAM nhúng tới 1.87Mb

* Nhúng tới 104 khối RAM đồng bộ bằng việc nối tầng các khối RAM 18Kb

* Mỗi khối RAM 18Kb coi như một RAM đơn cổng hoặc lưỡng cổng

* Cung cấp các bội số của tỷ số tương quan, chuyển đổi độ rộng dữ liệu, tính chẵn

điển hình là thường xảy ra với các bộ PLL (Phase Lock Loop - các vòng khoá pha)

được tích hợp trong FPGA

Trang 31

+/ Kỹ thuât trở kháng điều khiển đ−ợc XCITE

(Xilinx Controlled Impedance Technology)

*Các đầu cuối I/O cần bảo toàn tính nguyên dạng cuả tín hiệu, với hàng trăm đầu I/O và với các kỹ thuật đóng gói cải tiến, các điện trở đầu cuối mở rộng không còn

Trang 32

Chế độ thanh ghi dịch ( SRL 16 )

- ý tưởng thanh ghi dịch 16 bit dành cho các ứng dụng tốc độ cao, hoặc dữ liệu có dạng thô

được lưu trữ trong DSP và các ứng dụng mã hoá, xử lý đường ống nhanh

Các khối nhân 18x18

- Dùng cho việc xử lý DSP tốc độ cao; Sự sử dụng các bộ nhân kết hợp với kết cấu khung dữ liệu cho phép thực hiện DSP song song siêu nhanh

Tín hiệu đầu cuối (lên tới 622

Mbps) định dạng theo các chuẩn

LVTTL, LVCMOS, GTL, GTL+,

PCI, HSTL-I, II, III, SSTL- I, II

- Cho phép kết nối các chíp đang dùng với các chip, bộ nhớ khác,

và từ các chip đang dùng tới các chuẩn tín hiệu ở mạch phản hồi, loại bớt sự cần nhiều các IC chuyển đổi

Bộ quản lý đồng hồ số ( DCM )

- Loại trừ sự giữ chậm đồng hồ mức board và on-chip, nhân chia tức thì, có thể giảm được tốc độ

đồng hồ phù hợp ở mức board,

Trang 33

28 Nguyễn

Chí Kiên

giảm số bộ đồng hồ trên bo mạch Có thể điều chỉnh pha

đồng hồ đảm bảo độ chính xác cao

Có các tài nguyên được định

tuyến toàn cục

- Sự phân phối các clock và các tín hiệu khác cùng với các hệ số phân chia đầu ra cao trên toàn thiết bị

Bảng 2.2.3.3.2.2 (b) Các đặc tính chính của Spartan-3

2.2.3.3.2.3 Cấu trúc FPGA của hãng Xilinx

Cấu trúc của Spartan-IIE ( 1.8V) FPGA: Họ Spartan-IIE (Lõi 1.8V) của FPGA đưa ra các kỹ thuật FPGA phát triển nhất ngày nay, bao gồm cho phép lập trình với nhiều chuẩn vào ra như LVDS, LVPECL, HSTL, các khối RAM on-chip, các vòng khoá độ giữ chậm cho phép quản lý clock ở mức board và mức chip Hơn nữa họ Spartan-IIE có một ý nghĩa giá trị khác đó là nó loại bỏ sự cần thiết các sản phẩm tiêu chuẩn chuyên dụng ( ASSP ) với các ứng dụng đơn giản, chẳng hạn như vòng khoá pha, FIFO, các bộ chuyển đổi vào ra, điều khiển Bus hệ thống, các thành phần này đã không thể thiếu để hoàn thiện một thiết kế mà nó đã được dùng trước

đây

- Họ Spartan-IIE là đòn bẩy cơ bản cho các tính năng về cấu trúc của Virtex-E để

đưa ra những tính năng nổi trội hơn Cấu trúc CLB (Configurable Logic Block -

Trang 34

Hỡnh 2.2.3.3.2.3 (a) Cấu trỳc của Spartan - IIE

- Họ Spartan-IIE FPGA được thực thi với cấu trúc CLB cho phép lập trình linh hoạt, thông dụng, mà các CLB này được bao bởi một vòng các khối I/O lập trình được, các đường nối được kết nối bởi các nguồn tài nguyên định tuyến đa năng Cấu trúc này cũng đưa ra các chức năng được nâng cao chẳng hạn như khối RAM và các khối điều khiển clock

Trang 35

30 Nguyễn

Chí Kiên

Hình 2.2.3.3.2.3 (b) Sơ đồ khối của Spartan -IIE

Hình 2.2.3.3.2.3 (c) Khối Input/Output Spartan -IIE (I/OB)

I/O Block

- Các đặc tính I/OB của các đầu vào và đầu ra đ−ợc hỗ trợ tới 19 các chuẩn tín hiệu khác nhau, bao gồm LVDS, BLVDS, LVPECL, LVCMOS, HSTL, SSTL và GTL

Trang 36

31 Nguyễn

Chí Kiên

- Các đầu vào ra tốc độ cao này có khả năng hỗ trợ với tất cả các bộ nhớ hiện đại và giao tiếp bus khác Chúng gồm ba thanh ghi chức năng hoặc là các flip - flop loại

D được kích hoạt bằng sườn hoặc là các bộ chốt nhạy mức (Hình 2.10)

- Mỗi một IOB có một đường CLK được đưa tới ba thanh ghi theo một đườngdùng chung và các đường CE cho mỗi thanh ghi hoàn toàn độc lập xem Hình 2.10 Ngoài các đường CLK, CE, mỗi thanh ghi đều có chung một đường SET/RESET Với mỗi thanh ghi bạn có thể đặt tín hiệu Set/Reset này như tín hiệu Set đồng bộ, Reset đồng

bộ, Preset không đồng bộ hoặc một tín hiệu xoá (Clear) không đồng bộ

- Trong một số các chuẩn I/O yêu cầu điện áp Vcco hoặc Vref, các điện áp này chúng được nối tới các chân của thiết bị khi thiết kế, các chân này chúng tạo thành từng nhóm của các khối vào ra và chúng được gọi là Bank

- Chính vì vậy, sự hạn chế về các chuẩn vào của một thiết bị sẽ do các Bank quyết

định Tám Bank vào ra được tách theo mỗi cạnh của FPGA và được chia thành hai Bank chính (Xem hình 3.3.2.3 (d)) Mỗi Bank có nhiều chân điên áp Vcco và tất cả chúng đều được nối tới cùng một đường điện áp Điện áp này được xác định bởi các chuẩn đầu ra người dùng

Hình 2.2.3.3.2.3 (d) Các Bank chuẩn vào ra I/O của Spartan -IIE

- Một số chuẩn đầu vào mong muốn một điện áp ngưỡng nào đó mà nó được cung cấp bởi người dùng chẳng hạn như Vref Trường hợp này, các chân I/O người dùng

được xắp đặt tự động như các đầu vào cho điện áp lấy mẫu Vref Khoảng một trong

6 các chân vào ra của các Bank đóng vai trò này Các chân Vref trong một bank

Trang 37

32 Nguyễn

Chí Kiên

được nối bên trong và vì vậy chỉ một điện áp Vref có thể được sử dụng trong mỗi bank Tất cả các chân Vref trong các bank cần phải được nối với nguồn điện áp bên ngoài để chúng hoạt động đúng Để có sự trao đổi nhanh giữa các tín hiệu, các chân tín hiệu đầu vào cần phải được cung cấp trước khi nguồn cấp vào chân Vccint và chân Vcco và phải đảm bảo không có đường dẫn dòng ngược từ các chân I/O quay về

điện áp nguồn cung cấp Vccint và Vcco (Có nghĩa là đảm bảo cho thiết bị có thể hoạt động ở một điện áp và giao tiếp ở một điện áp, hai điện áp này có thể khác nhau )

Configurable Logic Blok và Logic Cell

- Các đơn vị cơ bản của CLB (Khối logíc cho phép định cấu hình) thuộc họ thiết bị Spartan-IIE chính là các Logic Cell mà ta đã biết Mỗi một Logic Cell bao gồm một

bộ tạo chức năng (Hay bộ tạo hàm) gồm 4 đầu vào, phần tử logic nhớ và phần tử lưu trữ (Flip-Flop loại D)

- Đầu ra của bộ tạo chức năng của mỗi Logic Cell điều khiển cả đầu ra CLB hoặc

đầu vào D của Flip-Flop Mỗi một CLB có chứa bốn Logic Cell và được tổ chức thành hai Slice tương tự nhau, một slice đơn có dạng như (Hình 2.12) Thêm vào bốn bộ LC cơ bản, các CLB của Spartan-IIE có chứa phần tử logic mà nó kết hợp với các bộ tạo chức năng để đưa ra các chức năng 5 hoặc 6 đầu vào

Look-Up tables ( LUT )

- Các bộ tạo chức năng của Spartan -IIE thực hiện như LUT có bốn đầu vào Để hoạt

động như một bộ tạo chức năng, mỗi một LUT có thể cung cấp một RAM 16x1bit

đồng bộ ơn nữa hai LUT trong một Slice có thể được kết hợp để tạo một RAM 16x2 bit hoặc 32x1 bit đồng bộ

Storage Element

Trang 38

33 Nguyễn

Chí Kiên

Hình 2.2.3.3.2.3 (e) Cấu trúc Logic Cell hay một Slice đơn trong Spartan -IIE

- Các phần tử lưu trữ trong slice của Spartan-IIE có thể được xem như một Flip-Flop loại D kích hoạt bằng sườn, hoặc như một bộ chốt nhạy mức Các đầu vào D có thể

được điều khiển hoặc bởi bộ tạo chức năng trong slice hoặc trực tiếp từ đầu vào các slice (bỏ qua bộ tạo chức năng) Thêm vào các đường Clock (CLK) và Clock Enable

(CE) (xem Hình 3.3.2.3 (e)), mỗi Slice có các tín hiệu set và reset đồng bộ (SR và

BY) Đường SR ép các phần tử lưu trữ về trạng thái khởi tạo, đặc biệt trong trường hợp nhồi cấu hình Đường BY ép phần tử lưu trữ về trạng thái ngược lại Có thể lựa chọn hai đường này để chúng hoạt động không đồng bộ Tất cả các tín hiệu điều khiển có thể đảo ngược một cách hoàn toàn độc lập và chúng được chia sẻ bởi hai Flip-Flop trong một Slice

- Arithmetic Logic Bộ dồn kênh F5IN ở trong mỗi Slice được kết hợp với các

đầu ra bộ tạo chức năng được chỉ ra ở hình dưới đây

Trang 39

34 Nguyễn

Chí Kiên

Hình 2.2.3.3.2.3 (f) Bộ dồn kênh F5 và F6

Sự kết hợp này sẽ đưa ra hoặc một bộ tạo hàm mà nó có thể thực thi bất kỳ 5

đầu vào chức năng nào, hoặc một bộ dồn kênh 4:1 hoặc các chức năng được chọn lựa của chín đầu vào Tương tự, bộ dồn kênh F6 kết hợp các đầu ra của bốn bộ tạo chức năng trong CLB bằng việc chọn một trong hai đầu ra của bộ dồn kênh F5 Điều này cho phép thực thi bất kỳ một hàm 6 đầu vào nào, một bộ dồn kênh 8:1, hoặc chức năng được chọn lựa lên đến 19 đầu vào

Block RAM Họ Spartan-IIE FPGA hợp nhất một vài bộ nhớ RAM theo khối

thành khối lớn hơn (gọi là SelectRAM +), có nghĩa là cần phải bổ xung thêm các LUT RAM đã được dùng Kiến trúc bộ nhớ không bền vững này được thực hiện trong các CLB Các khối bộ nhớ RAM Block chúng được tổ chức theo các cột Hầu hết họ Spartan -IIE có chứa hai cột như nhau, mỗi một cột được bố trí dọc theo chiều

đứng Họ XC2S400E có bốn cột RAM khối, mỗi cột này được kéo dài hết chiều cao của chip Mỗi một khối nhớ chính gồm bốn CLB cao và vì vậy mỗi Spartan-IIE có 8 CLB cao sẽ chứa hai khối nhớ trên mỗi cột và tổng cộng có bốn khối

Delay - locked loop (DLL) Được kết hợp với mỗi bộ đệm đầu vào clock toàn

cục và là một vòng khoá độ giữ chậm số DLL mà nó loại trừ được sự lệch giữa bộ

đệm đầu vào clock và các chân đầu vào clock bên trong thiết bị Bộ DLL giám sát oàn bộ clock đầu vào và clock được phân phối, tự động điều chỉnh phần tử giữ chậm clock DLL cung cấp các pha vuông 900 của clock nguồn mà có thể nhân đôi, hoặc

Ngày đăng: 18/07/2017, 22:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
11. .Xilinx, “PicoBlaze8-bitEmbeddedMicrocontrollerUserGuide”, www.xilinx.com Sách, tạp chí
Tiêu đề: Xilinx, “PicoBlaze8-bitEmbeddedMicrocontrollerUserGuide”
12. Xilinx, “FrequencyGeneratorfor Spartan-3EStarterKit”, www.xilinx.com 13. www.gmvhdl.com Sách, tạp chí
Tiêu đề: Xilinx, “FrequencyGeneratorfor Spartan-3EStarterKit”, "www.xilinx.com
1. VHDL Made Easy David Pellerin – Douglas Taylor Khác
2. VHDL ANALYSIS AND MODELING OF DIGITAL SYSTEMS Zainalabedin Navabi Khác
4. TS. Nguyễn Nam Quân, Toán lôgic và kỹ thuật số, NXBKHKT,2006 5. TS. Phạm Ngọc Nam, Embedded systems,2006 Khác
10. .Xilinx,”Spartan 3E Started Kit User Guide”, www.xilinx.com Khác
14. www.vcc.com 15. www.altera.com 16. www.vhdl.org 17. www.opencore.com 18. www.xilinx.com Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w