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

tìm hiểu về công nghệ fpga

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 (402.11 KB, 33 trang )

Tổng quan về FPGA

Lời nói đầu
Trong những năm gần đây, công nghệ điện tử đã và đang có những
bớc phát triển nhảy vọt. Các loại mạch điện LSI, VLSI có khả năng tích hợp
tới hàng triệu Transistor đã ra đời với nhiều ứng dụng khác nhau trong
công nghệ điện tử, đáp ứng nhu cầu ngày càng cao của xã hội. Công nghệ
ASIC (Application Specific Integrated Circuit) là một trong những công
nghệ mới ra đời, đòi hỏi nhiều thời gian cho nghiên cứu và chế tạo song có
thể thay thế cho các hệ thống số trớc đây.
Dẫn đầu trong lĩnh vực ASIC là sản phẩm dãy cổng logic có thể lập
trình theo trờng FPGA (Field Programmable Gate Array) và các thiết bị
logic phức hợp lập trình đợc CPLD (Complex Programmable Logic
Devices) của công ty Altera. FPGA hoặc CPLD tối thiểu hoá đợc nhiều
công đoạn thiết kế, lắp ráp vì các công việc này đợc thực hiện hầu hết trên
máy tính.
Các phần mềm mô phỏng phần cứng HDL (Hardware Discription
Languages) nh VHDL, Verilog HDL, Schematic cho phép thiết kế và mô
phỏng hoạt động của mạch điện bằng chơng trình. Các chơng trình mô
phỏng cho phép xác định lỗi thiết kế một cách dễ dàng. Chơng trình đa ra
file bit cấu hình để bitstream download vào FPGA hoặc CPLD để chúng
hoạt động giống nh một mạch logic. FPGA và CPLD có khả năng tích hợp
cao tới hàng triệu cổng và cấu trúc mạch tối u hoá mật độ tích hợp, hiệu
suất cao cho phép xử lý nhanh số liệu, độ tin cậy và chất lợng cao, dễ sử
dụng, do đó đợc ứng dụng rất rộng rãi, đa dạng trong nhiều loại thiết bị
điện tử hiện nay.
Trong khuôn khổ của báo cáo thực tập, đợc sự hớng dẫn, giúp đỡ
của Thạc sỹ Nguyễn Hữu Trung, em đã đi vào tìm hiểu và nghiên cứu về
công nghệ mới này của công ty Altera. Trong quá trình tìm hiểu và nghiên
cứu, do thời gian và khả năng còn có hạn nên trong báo cáo thực tập này
chắc chắn không thể tránh khỏi những thiếu sót.



1


Tổng quan về FPGA
Em rất mong đợc sự góp ý và thông cảm của các thầy giáo, cô giáo.
Hà Nội, ngày 1 tháng 2 năm 2004
Sinh viên

2


Tổng quan về FPGA

Mục lục
Chơng I. Thảo luận về logic lập trình đợc
1.1

..

5

Những u thế của thiết kế đợc trợ giúp của máy tính và logic có
thể lập trình (Computer aided Design and programmable logic)
..5

1.2

Cấu trúc Programmable Logic 7


Chơng II. Giới thiệu về công ty Altera và các sản phẩm của công ty..11
2.1

Tổng quan 11

2.2

Logic lập trình đợc Programmable & ASICs...11

2.3

Các công cụ phát triển .13
2.3.1 Trình tự thiết kế ..14
2.3.2 Công cụ phát triển Quartus ..14
2.3.3 Công cụ phát triển MAX+PLUS II...15
2.3.4 Công cụ hỗ trợ Multi-Platforms & EDA...16

2.4

Đánh giá các hàm chức năng của thiết kế Altera.17

CHƯƠNG III. Dãy cổng logic có thể lập trình theo trờng FPGA19
3.1

Tổng quan về FPGAs ...19

3.2

Configurable Logic Block .20


3.3

Input/Output Block 22

3.4

Ma trận định tuyến lập trình đợc ..23

3.5

Clock Distribution Sự phân phối xung đồng hồ24

3.6

Block RAM .25

Chơng IV. Họ sản phẩm Altera FLEX 10K...27
4.1

Tổng quan ..27

4.2

Họ FLEX 10K 29

Chơng 1. Thảo luận về logic lập trình đợc

3



Tổng quan về FPGA
1.1 Những u thế của thiết kế đợc trợ giúp của máy tính và logic có thể
lập trình (Computer aided Design and programmable logic)
Hiện nay, chúng ta có thể xây dựng các mạch số tới vài trăm cổng
logic dùng các mạch tổ hợp cỡ nhỏ SSI (Small Scale Intergrated ICs) và
các mạch tổ hợp cỡ vừa MSI (Medium Small Scale Intergrated ICs). Các IC
đợc gắn lên các board mạch in PCB (Printed Circuit Board) để thực hiện
yêu cầu của thiết kế. Trong nhiều trờng hợp, khi thiết kế mạch theo phơng
pháp này sẽ gặp phải những sai sót hay các khó khăn nh:
-

Tốn nhiều thời gian lắp ráp, thiết kế, cắt, nối dây, xử lý các lỗi có thể
xảy ra.

-

Các loại IC yêu cầu không sẵn có hoặc quá đắt tiền.

-

Khả năng mở rộng, thay đổi thiết kế khó và phức tạp, phải thay đổi
từ đầu của quy trình thiết kế.
Thêm vào đó, một số vấn đề liên quan đến các dụng cụ, thiết bị

để xây dựng mạch số phải bắt đầu với bảng chân lý phụ thuộc các yêu cầu
kỹ thuật đa ra và cuối cùng là xác định hiệu quả của mạch logic.
Đối với các mạch tuần tự bao gồm các thông tin trạng thái trong.
Chúng ta cần làm các bớc để tạo ra bảng chuyển đổi trạng thái thực hiện
và gán trạng thái. Đây là giai đoạn dễ gây ra lỗi khi thực hiện từng công
việc tuần tự. Việc mô phỏng hoạt động của mạch lại thờng không hoàn

thành vì vậy có lỗi xuất hiện (có thể rất nghiêm trọng) và kết quả là mạch
hoạt động không hoàn thiện.
Một thủ tục hoàn toàn khác khi thiết kế và xây dựng mạch điện là có
thể bắt đầu với việc mô tả bằng bảng chân lý hoặc sơ đồ chuyển đổi trạng
thái cho một mạch logic. Khi những chi tiết cần thiết của mạch logic để xác
định bảng chân lý đợc thực hiện bởi một sơ đồ tổng hợp logic, và hoạt động
của mạch logic này đợc kiểm tra bằng chơng trình mô phỏng. Nếu mạch đợc mô phỏng chính xác thì các cổng, các dây nối đợc vẽ trong một IC có
dãy cổng logic có thể lập trình theo trờng FPGA (Field Programmable Gate

4


Tổng quan về FPGA
Array) hoặc các các thiết bị logic phức hợp lập trình đợc CPLD (Complex
Programmable Logic Devices) sử dụng các chơng trình fitter place&route,
có thể gọi là Field Programmable Logic Devices hoặc FPLD. Trong FPLD
chứa các cổng logic và các công cụ phục vụ cho kết nối bên trong của
chúng với một mạch tổ hợp đơn. Các Software Program định nghĩa các
cổng trong thiết bị có thể đợc kết nối và xây dựng mạch logic. Đầu ra của
chơng trình là một file cấu hình Bitstream đợc download vào FPLD để nó
hoạt động giống nh một mạch logic. FPLD đã đợc nạp chơng trình có thể
đợc sử dụng vào một mạch lớn hơn để thực hiện các chức năng của nó.
Các đờng nối, các công việc nhỏ đợc thực hiện một cách hoàn toàn tự
động.
Quy trình thiết kế một mạch số bao gồm các bớc nh sau:
Đa ra các yêu cầu kỹ thuật
Xác định các đầu vào, đầu ra
Lập bảng chân lý (Truth table)
Chuyển thành phơng trình Boolean
Thiết kế tạo gate - level

Tự động
Mô phỏng gate - level
Xây dựng mạch số
Gỡ rối mạch số

5


Tổng quan về FPGA
Những máy tính có cấu hình không mạnh và Software cho phép
chúng ta tạo ra các chơng trình thiết kế trợ giúp bởi máy tính và FPLD để
loại bỏ những công việc không quan trọng của việc thiết kế mạch số.
Điều này cho phép chúng ta tập trung hơn, quan tâm hơn đến việc
tạo ra các linh kiện cho thiết kế mạch logic. Chúng ta có thể viết các chơng
trình logic trong ngôn ngữ mô tả phần cứng HDL, sử dụng soạn thảo văn
bản Text Editor hoặc vẽ mạch sử dụng Schematic Editor. HDL hoặc
Schematic đợc dịch để tạo ra các mạch logic chi tiết nhằm thực hiện các
hoạt động xác định trong chơng trình. Một chơng trình trong PC mô phỏng
mạch để tạo ra sự hoạt động chính xác. Sau đó bản thiết kế đợc nạp qua
cổng Parallel vào FPLD.
Nh vậy, khi sử dụng thủ tục thiết kế này cho phép:
-

Xây dựng thiết kế nhanh hơn vì các công việc nh nối dây đợc tối
thiểu hoá.

-

Tránh đợc các lỗi lắp đặt.


-

Các bản thiết kế đợc lu giữ dới dạng Electronic files và thể gọi ra khi
cần thiết.

-

Có thể thí nghiệm trên nhiều loại chip mà không cần sự có mặt của
chúng nhờ th viện đầy đủ có trớc.

-

Tránh hoặc dễ dàng sửa lỗi nếu có.

-

Thời gian đợc dùng để thiết kế các dự án lớn hơn.

-

Nhiều thủ tục trình tự dài dòng đợc thực hiện tự động.

1.2. Cấu trúc Programmable Logic
Các thiết bị FPLDs và CPLDs đợc tạo ra từ PLA (Programmable
Logic array Devices) từ đầu những năm 1970s. Cấu trúc của PLA nh sau:
PLA bao gồm những cụm cổng AND (AND gates), cổng OR (OR
gates) và các bộ đảo (Inverters) đợc kết nối bên trong thông qua các dãy
chuyển mạch có thể lập trình đợc (Programmable Switch arrays). Trong
PLA các đầu vào và sự chuyển đổi logic của nó đợc dẫn đến một mảng


6


Tổng quan về FPGA
AND (AND array) bằng dây nối ngang. Các dây nối dọc trong mảng AND
là các đầu vào đến một dãy AND gates. AND gates nhận tín hiệu vào bởi
các dây ngang và dọc qua các điểm nối trong AND array. Nh vậy, AND
gate bên trái nhận giá trị A và C, AND gate bên phải nhận giá trị AB.
Các dây nối ngang chứa kết quả từ A đa vào OR array. Chúng đợc
nối với các dây dọc mà các đầu vào tới cột OR gate. Tổng các tích có thể
đợc tạo ra tại từng đầu ra của Programmable Logic array.
Tính linh hoạt đợc tạo ra do các AND array và OR array có thể lập
trình đợc thờng ít dùng đến, vì vậy các nhà thiết kế đã đa ra cấu trúc đơn
giản hơn. Cấu trúc này gọi là PAL (Programmable array Logic).
Các mảng OR đợc cố định bởi các AND gate và OR gate, do đó có
thể lập chơng trình để tạo thành các sản phẩm mong muốn. Thêm vào đó,
đầu ra hồi tiếp của PAL đề đầu vào AND array đợc sử dụng xây dựng các
chức năng logic.
Multilevel PALs và PALs rất thích hợp cho logic tổ hợp. Nhng không
thể dùng cho logic tuần tự nếu không cộng thêm các Flip-Flops bên ngoài.
Khi các Flip-Flops đợc ghép vào PAL thì mạch đợc gọi là SPLD (Simple
Programmable Logic Devices)
Bộ dồn kênh (Multiplexer) đợc cộng với từng đầu ra để chọn hoặc
Flip-Flops đầu ra hoặc tổ hợp AND gates, Output, Flip-Flops và Multiplexer
điều khiển từng đầu ra đợc hiểu nh một macrocell. Các model SPLD có
dạng cấu trúc mạch có thể lập trình đợc với nhiều phơng án mà có thể tăng
lợi ích của chip.
PLA, PAL, SPLD đợc lắp đặt trên một board mạch in PCB và đợc nối
từng linh kiện với nhau và nếu có lỗi nhỏ xuất hiện với board mạch thì PLD
trên board có thể đợc thay thế bằng các thiết bị lập trình lại đợc nh vấn đề


7


Tổng quan về FPGA
dây nối bao quanh wire around. Tuy nhiên, các lỗi lớn đợc sửa bằng cách
thay thế từng bớc kiểu kết nối các chip với nhau.
Kết hợp vài SPLD vào trong một IC đơn để tạo ra CPLD hoặc thực
hiện kiến trúc xen kẽ trong FPGA dựa trên khối xây dựng cơ bản là bảng
tìm kiếm LUT. Đây chính là sự lai tạo giữa cấu trúc mảng cổng và PAL.
CPLD đạt đợc tốc độ cao nh PAL nhng có cấu trúc phức tạp. FPGA đạt đợc mật độ tập trung cao nhng vẫn lập trình đợc và có tốc độ khá cao.

8


Tổng quan về FPGA

Chơng 2: giới thiệu về công ty Altera và các sản
phẩm của công ty
2.1.Tổng quan
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật, một yêu cầu
bức thiết đặt ra cho các sản phẩm điện tử là cần hoạt động với tốc độ
nhanh hơn, và với chi phí thấp hơn các sản phẩm cùng loại trớc đó. Để đáp
ứng các yêu cầu này, công ty Altera cung cấp các giải pháp hoàn chỉnh để
giúp những ngời thiết kế có thể thoả mãn đợc nhu cầu của khách hàng. Hệ
thống đợc tích hợp trên một chip có thể lập trình đợc của Altera Systemon-a-Programmable-ChipTM, bao gồm các thiết bị logic có thể lập trình đợc
- programmable logic divices (PLDs), các công cụ hỗ trợ phát triển và tiềm
năng trí tuệ intellectual property (IP) đ a ra các giải pháp hoàn chỉnh để
thực hiện mọi thiết kế. Altera PLDs với tốc độ và mật độ tích hợp cao, đợc
đánh địa chỉ cụ thể, thậm chí cho cả những thiết kế khó khăn, phức tạp. Để

đảm bảo thời gian thiết kế đợc nhanh hơn và hợp lý hoá các giai đoạn phát
triển, Altera hỗ trợ các phần mềm phát triển. Với khả năng tích hợp lên đến
hàng triệu cổng PLD, nên công nghệ vi điện tử và thông minh là một đòi
hỏi tất yếu và ngày càng cao. Để có thể nâng cao hơn nữa hiệu suất,
Altera cũng đa ra hàng ngàn các hàm chức năng sẵn có để thực hiện các
nhiệm vụ lập trình thông thờng, cho phép ngời thiết kế tập trung vào thực
hiện hàm chức năng quan trọng, đặc trng của thiết kế. Các đặc điểm trên
góp phần loại trừ quá tải trong quá trình thiết kế.
2.2. Logic lập trình đợc Programmable & ASICs
Các thiết bị logic lập trình đợc đều là tiêu chuẩn, sử dụng các mạch
điện tích hợp (ICs) cấu hình đợc để thực hiện các hàm logic đáp ứng yêu
cầu của khách hàng. Trong đầu những năm 1980s, các PLDs đơn giản đợc
sử dụng để tích hợp các thiết bị logic rời rạc và việc thiết kế đợc thực hiện
bằng việc sử dụng các phơng trình Boolean. Ngày nay, các PLDs có mật
độ tích hợp cao đợc sử dụng trong hệ thống tích hợp phân mức và thờng đ-

9


Tổng quan về FPGA
ợc sử dụng luân phiên trong mạch điện tích hợp cho các ứng dụng cụ thể applications specific intergrated circuits (ASICs) hoặc các sản phẩm tiêu
chuẩn cho các ứng dụng cụ thể applications specific standard products
(ASSPs). Mỗi ASIC là một thiết kế theo nhu cầu khách hàng (custom
designed) cho mỗi ứng dụng riêng biệt; còn mỗi ASSP là một thiết bị off
the shelf, thực hiện các hàm cụ thể, riêng biệt. Trong khi đó, chi phí của
PLD giảm xuống nhờ sản xuất theo số lợng lớn và sử dụng công nghệ xâm
lấn quá trình, Altera đa ra các thiết bị có độ tích hợp, mật độ, chất lợng và
chi phí tơng tự nh các tính chất tơng ứng của giải pháp ASIC. Các nhân tố
này, đợc kết hợp với tính time to market và tính linh động của giải pháp
chơng trình hoá, liên tục đợc điều khiển để tăng khả năng sử dụng các

PLDs có độ tích hợp cao vào việc phát triển và sản xuất các hệ thống điện
tử.
Các cổng logic lập trình đợc chứa đựng tất cả các mạch điện logic số
cấu hình đợc bởi ngời sử dụng cuối cùng, bao gồn các PLD đơn giản, mật
độ tích hợp thấp, các thiết bị PAL/GAL 20 chân, các dãy cổng logic có thể
lập trình theo trờng FPGAs, và các thiết bị logic phức hợp lập trình đợc
CPLDs. Các PLDs khác nhau có các dạng cấu trúc khác nhau, và dung lợng bộ nhớ cũng khác nhau, đợc biến đổi theo cấu hình thiết bị.
Trong công nghiệp Altera PLDs là các thiết bị có tốc độ cao nhất và
lớn nhất. Các thiết bị này có mật độ tich hợp và tốc độ đạt tới giá trị xấp xỉ
tơng ứng của mainstream AsiCs. Trong khi đó, các thiết bị này giảm đợc
chi phí, các ràng buộc khi sản xuất qui mô lớn và các nguy cơ tiềm ẩn khi
gia nhập thị trờng ASIC. Các PLDs cũng đáp ứng đợc tính linh động cao,
đặc biệt là khi thay đổi thiết kế vào giai đoạn cuối. Sự kết hợp giữa tốc độ,
tính linh hoạt, và hạn chế các rủi ro làm cho các cổng logic lập trình đợc trở
thành lựa chọn cho những thiết kế ứng dụng điện tử ngày nay. Hình 1 biểu
diễn mối quan hệ của các sản phẩm Altera với các sản phẩm logic.

10


Tổng quan về FPGA

Các sản phẩm logic

CPLDs và FPGAs có các cấu trúc kết nối bên trong khác nhau. Cấu
trúc kết nối bên trong theo đoạn của Fpgas sử dụng việc kết hợp nhiều đờng kim loại bằng cách thay đổi độ dài, đợc kết hợp bởi các transistor hay
các anti-fuse để kết nối các tế bào logic (logic cells). Ngợc lại, cấu trúc kết
nối bên trong liên tục của CPLDs sử dụng các đờng dẫn kim loại liên tục
để kết nối giữa các tế bào logic, điều này làm cho tốc độ của CPLDs cao
hơn và kích thớc của CPLDs giảm nhỏ hơn rất nhiều so với FPGAs. Hơn

nữa, cấu trúc kết nối liên tục bên trong không cho phép dự đoán trớc chính
xác thời gian kết hợp với cấu trúc kết nối bên trong theo đoạn, đảm bảo tốc
độ nhanh, cố định phần trễ giữa các tế bào logic bằng cách cung cấp thời
gian dự đoán. Cấu trúc kết nối bên trong liên tục giúp cho việc thiết kế trở
nên dễ dàng hơn, và rút ngắn đợc thời gian thực hiện.
2.3. Các công cụ phát triển
Altera cung cấp phần mềm phát triển logic lập trình đợc trong công
nghiệp có tốc độ cao, hiệu quả, và tính linh động cao. Công cụ Altera
Quartus và MAX+PLUS II cung cấp rất nhiều các giao tiếp đồ họa dễ sử
dụng. Cả hai công cụ trên đều đa ra các giao tiếp theo chuẩn công cụ

11


Tổng quan về FPGA
công nghiệp EDA, điều này cho phép công cụ Altera Quartus và
MAX+PLUS II dễ dàng tích hợp với môi trờng thiết kế lựa chọn.
2.3.1. Trình tự thiết kế
Phần mềm Quartus và MAX+PLUS II đa ra toàn bộ công cụ thiết kế
logic. Ngời thiết kế dễ dàng kết hợp text, hình ảnh và dạng tín hiệu để đa
dữ liệu vào thiết kế, trong khi tạo thiết kế có bậc đơn hoặc đa thiết bị.
Compiler thực hiện tối thiểu và tổng hợp logic, sắp xếp để thiết kế đặt vừa
trong một hay nhiều hơn một thiết bị, tạo chơng trình hay định dạng dữ liệu.
Bản thiết kế đợc đánh giá, nhận xét bằng chức năng, thời gian mô phỏng
và dự đoán thời gian trễ của các quãng đờng có tốc độ tới hạn, giống nh
việc mô phỏng các thiết bị qua các họ thiết bị. Altera và một số các sản
phẩm phần cứng lập trình đợc cung cấp phần cứng để lập trình các thiết bị.
2.3.2. Công cụ phát triển Quartus
Năng lực của bốn thế hệ phần mềm Altera gặp phải thách thức của
các thiết kế đòi hỏi thiết bị có hàng triệu cổng nh họ thiết bị mới Altera

APEX 20K. Để rút ngắn thời gian thiết kế và tăng tính linh hoạt khi thiết kế,
phần mềm Quartus có các đặc điểm chính sau: tính toán theo nhóm, chức
năng phân tích tích hợp logic, tích hợp công cụ EDA, cung cấp nhiều phơng pháp, tăng khả năng biên dịch và tích hợp IP.
Phần mềm Quartus cũng là web-aware, cấu thành công nghệ
internet tiên tiến nhất. Giữa các phần mềm, ngời thiết kế có thể truy nhập
trực tiếp qua internet vào Altera Technical Support (Atlas SM) Solutions để
tìm kiếm giải pháp tối u nhất cho các vấn đề thiết kế thông thờng. Đối với
các ứng dụng cụ thể, ngời thiết kế cần đa ra yêu cầu trên mạng trực tiếp tới
Altera Applications, tác động vào các file thiết kế để yêu cầu. Khi đó, các
kỹ s Altera đợc phân công để trình bày các giải pháp sắc bén có thể thực
hiện trong môi trờng thiết phần mềm, từ đó có thể đa ra giải pháp tốt nhất
cho dự án.
2.3.3. Công cụ phát triển MAX+PLUS II

12


Tổng quan về FPGA
Các thiết bị của Altera có chất lợng và mật độ tích hợp cao nhờ sử
dụng các quá trình công nghệ tiên tiến, cải tiến cấu trúc logic và hoàn thiện
các công cụ thiết kế. Hệ thống phát triển logic lập trình đợc MAX+PLUS II
cung cấp các cấu trúc không phụ thuộc môi trờng thiết kế, dễ dàng nhập
dữ liệu, nhanh chóng biên tập và chơng trình hoá các thiết bị không biên
soạn. Phần mềm MAX+PLUS II cung cấp các hỗ trợ thiết kế khi sử dụng
họ thiết bị FLEX, MAX, và Classic.

Với phần mềm MAX+PLUS II, ngời thiết kế nhanh chóng hoàn thiện
và làm chủ cấu trúc của thiết bị. Phần mềm MAX+PLUS II biến đổi các
thiết kế - đợc mở rộng thực hiện với họ các công cụ thiết kế, các công cụ
có ngôn ngữ bậc cao tơng tác theo lợc đồ hay định dạng theo yêu cầu của

mục đích kiến trúc.

13


Tổng quan về FPGA
Kiến thức cấu trúc rộng rãi đợc xây dựng với các công cụ phát triển
Altera, đợc tối thiểu hoá mục đích cho ngời thiết kế để họ có thể thực hiện
các thiết kế bằng tay. Các công cụ này cũng cho phép ngời thiết kế hoàn
thành thiết kế nhanh chóng. Với phần mềm MAX+PLUS II, ngời sử dụng có
thể tạo mạch logic từ việc nhập dữ liệu thiết kế vào thiết bị, lập trình, đợc
thực hiện trong một vài phần của giờ. Thiết kế đợc hoàn thiện trong vài
phút, cho phép hoàn thiện vài thiết kế trong một ngày.
2.3.4 Công cụ hỗ trợ Multi-Platforms & EDA
Altera đợc uỷ quyền để cung cấp môi trờng phát triển logic gần gũi
nh thiết kế mạch điện. Phần mềm Quartus và MAX+PLUS II cung cấp các
giao diện từ sự biến đổi lớn công cụ EDA của các công ty nh Cadence,
Exemplar Logic, Mentor Graphics, OrCAD, Synopsys, Synplicity, và
Viewlogic. Phầm mềm MAX+PLUS II chia sẻ các thông tin với các công cụ
EDA tơng ứng qua EDIF Netlist Files, SRAM Object, Files (.sof), th viện
của các modul đại lợng (LPM), Verilog HDL, VHDL, và các thành phần
Design Ware. MAX+PLUS II Compiler đợc chạy trên PCs và các trạm làm
việc UNIX, làm cho phần mềm MAX+PLUS II nền tảng độc lập trong
công nghiệp, có cấu trúc không phụ thuộc môi trờng thiết kế logic lập trình
đợc. Hợp tác giữa Altera Commitment và Cooperative Engineering
Solutions (ACCESS), trong đó, Altera tạo ra công cụ hỗ trợ hàng đầu EDA,
đảm bảo giao tiếp mềm dẻo giữa các công cụ Altera EDA, hỗ trợ các thiết
bị Altera nhờ các công cụ này.
Đặc tính NatiiveLink của phần mềm Quartus cho phép tích hợp chặt
chẽ giữa phần mềm Quartus và các công cụ thiết kế khác. Các công cụ

khác cũng có thể liên hệ trực tiếp tới công cụ Quartus để biên tập các thiết
kế, hay công cụ Quartus có thể tơng tác với các công cụ khác trong việc
mô phỏng tổng hợp.
2.4. Đánh giá các hàm chức năng của thiết kế Altera

14


Tổng quan về FPGA
Với các PLD có mật độ tích hợp lên đến 250000 cổng, cho phép thực
hiện các phân hệ số giữa các thiết kế đơn có thể lập trình đợc. Mức tích
hợp cao này muốn thuận tiện và hạn chế tối đa thời gian thiết kế, Altera
cung cấp hàm MegaCoreTM và Altera Megafunctions Partners Program
(AMPP). Các hàm Megafunctions ở bên ngoàI các khối cấu trúc, nhằm
mục đích tạo các hàm hỗ trợ có ích nh là các bộ xử lý, các hàm xử lý tín
hiệu số (DSP), điều khiển bus, và các giao tiếp. Megafunctions cung cấp
độ linh động cao và các chỉ tiêu kỹ thuật không thể đạt đợc bằng các thiết
kế chứa các hàm cố định, v.vbộ lọc FIR, và các mục tiêu biến đổi của
các ứng dụng, bao gồm:
. Giao thức bus, bao gồm 64-bit, các thanh kết nối bên trong (PCI)
66-MHz
. DSP
. Xử lý ảnh
. Mạng tốc độ cao, bao gồm chức năng truyền tải không đồng bộ
ATM
. Vi xử lý và kích thớc nhỏ.
Hàm Altera MegaCore thực hiện kiểm tra trớc các file thiết kế dùng
ngôn ngữ HDL, cho các hàm của hệ thống hoàn thiện theo cấp bậc. Hàm
MegaCore có dải làm việc từ xây dựng khối tiêu chuẩn nh thu phát dị bộ tín
hiệu vũ trụ (UARTs) và điều khiển, đến cải tiến thiết kế nh các lợi ích của

PLDs. Thiết bị Altera và các công cụ phát triển cung cấp các sản phẩm
Altera có hỗ trợ hàm MegaCore và các hàm đợc tạo bởi AMPP.
MegaCore và AMPP có thể đợc duyệt trớc khi đăng ký qua hàm
MAX+PLUS II OpenCore. Hệ thống đánh giá đăng ký trớc cho phép ngời
thiết kế làm việc thuận tiện và sử dụng các hàm mô phỏng. Tuy nhiên, các
file chơng trình nh output files của công cụ EDA có thể tạo ra các lớp với
mã của ngời thiết kế trớc khi đăng ký.

15


Tổng quan về FPGA
Altera cũng cung cấp Altera Consultants Alliance Program (ACAP SM)
cung cấp sự giúp đỡ cần thiết về chuyên môn cho ngời thiết kế các sản
phẩm Altera PLDs. ACAP consultants đợc sử dụng trong trờng hợp thiết kế
cha đợc rõ ràng, trong việc chuyển đổi hay không có giải pháp hoàn thiện
khi sử dụng các hàm megafunction. Trong trờng hợp đó, một ACAP
consultants với tính năng đặc biệt có thể đáp ứng đợc các thay đổi và hoàn
thiện đúng thời gian.

CHƯƠNG III. Dãy cổng logic có thể lập
trình theo trờng FPGA
16


Tổng quan về FPGA
3.1 Tổng quan về FPGAs
fpgas là các chip, đợc lập trình bởi khách hàng để thực hiện các
chức năng mong muốn. Các chip có thể đợc lập trình:
. Một lần: sử dụng công nghệ antifuse, nh các thiết bị của Quicklogic

. Một vài lần: sử dụng công nghệ Flash, nh các thiết bị của hãng Actel
. Nhiều lần: sử dụng công nghệ SRAM, nh các thiết bị của hãng Actel,
Altera, Xilinx
Mỗi công nghệ có các u điểm riêng và sự phân biệt, đánh giá chỉ
trên mức độ tổng quát:
. Antifuse fpgas:
-

Các thiết bị đợc cấu hình bởi trạng thái của cầu chì. Chip chỉ đợc cấu
hình một lần, và không thể thay đổi.

-

Cấu trúc cực nhỏ và có thể nâng cấp để đạt đợc PCBs mới, nhng
khó khăn cho các board mạch đã sản xuất.

-

ASIC có thể thay thế cho dung lợng nhỏ.

. Flash Fpgas
-

Các thiết bị có thể đợc lập trình lại tới vài ngàn lần và ổn định, nh giữ
nguyên đợc cấu hình sau khi tắt nguồn.

-

Khi thêm vào phần lề, chip có thể nâng cấp theo trờng.


-

Chi phí cao

-

Việc cấu hình lại đợc thực hiện trong vài giây.

. Sram fpgas
-

Đây là công nghệ tiên tiến nhất hiện nay.

-

Không giới hạn số lần lập trình lại.

-

Cần một mạch điện để load cấu hình vào trong chip dãy cổng logic
có thể lập trình theo trờng sau khi nguồn đợc bật lên.

-

Việc cấu hình lại rất nhanh, một số thiết bị cho phép thay đổi cấu
hình trong khi hoạt động.

-

Cho phép những ứng dụng mới nh máy regonfigurable computing.


17


Tổng quan về FPGA
Có nhiều họ fpgas của các công ty bán dẫn khái nhau, song các
họ thiết bị này có sự khác nhau rất ít về cấu trúc và các cài đặt. Tuy nhiên,
đại đa số các thiết bị đều có cấu trúc chung: thông thờng, cấu trúc lập trình
đợc đều có khối Configurable Logic Blocks (CLBs), đợc bao xung quanh
bởi khối Input/Output Blocks (IOBs). Các khối chức năng đều thực hiện kết
nối bên trong nhờ cấu trúc linh động của các kênh định tuyến.
Dãy cổng lập trình đợc bao gồm 5 khối cấu hình chính nh hình vẽ:

. IOBs cung cấp giao diện bữa các chân đóng vỏ và logic bên trong
. CLBs cung cấp chức năng cho các cấu trúc logic.
. Bộ nhớ dành riêng BlockRAM.
. Clock DLLs hiệu chỉnh trễ xung đồng hồ và điều khiển trờng Clock.
. Cấu trúc kết nối bên trong theo mức linh hoạt.
Cấu trúc CLBs ở trung tâm của cấu trúc cho phép dễ dàng truy cập
từ mọi dịch vụ và cấu trúc định tuyến. IOBs đợc đặt xung quanh các cổng
logic và các thành phần nhớ để nhanh chóng và dễ dàng định tuyến tín
hiệu vào hay ra khỏi chip.
Các giá trị đợc lu giữ trong các tế bào nhớ cố định điều khiển cấu
hình logic và kết nối bên trong. Các giá trị này đợc load vào các tế bào nhớ

18


Tổng quan về FPGA
khi có nguồn và có thể reload nếu cần thiết để thay đổi chức năng của thiết

bị.
3.2. Configurable Logic Block
Khối cấu trúc cơ bản của CLBs là các tế bào logic (Logic Cell LC).
Mỗi LC bao gồm 4 đầu vào khối chức năng, carry logic, và thành phần lu
trữ. Đầu ra của khối chức năng của mỗi LC điều khiển đầu ra CLB và đầu
vào D của flip-flop. Mỗi CLB chứa 4 LCs, đợc tổ chức theo hai slice tơng tự
nhau, hình sau biểu diễn một slice đơn:

Để bổ xung thêm 4 LCs cơ bản, CLBs chứa logic kết hợp các khối
chức năng với hàm cung cấp của 5 hay 6 đầu vào. Thông thờng, khi xác
định số lợng cổng của thiết bị, mỗi CLB đợc xem nh 4.5 LCs.
Look-Up Table
Các khối chức năng đợc cấu tạo từ 4 bảng tìm kiếm đầu vào (Luts).
Để hoạt động nh một khối chức năng, mõi LUT cần cung cấp 16x1 bit đồng

19


Tổng quan về FPGA
bộ RAM. Hơn nữa, giữa hai LUT của một slice có thể kết hợp lại để tạo ra
16x2 hay 32x1 bit đồng bộ RAM, hoặc 16x1 bit qua cổng đồng bộ RAM.
LUT có thể cung cấp thanh ghi dịch 16 bit để nâng cao tốc độ hoặc
tách mode dữ liệu. Các mode này có thể đợc sử dụng để lu trữ dữ liệu
trong các ứng dụng nh Digital Signal Processing. Hình sau minh hoạ cấu
trúc slice.

3.3

Input/Output Block
IOB bao gồm cả đầu vào và đầu ra thực hiện biến đổi lớn theo tiêu


chuẩn của tín hiệu I/O. Các đầu vào và ra tốc độ cao cung cấp các trạng
thái biến đổi bộ nhớ và giao diện bus.

20


Tổng quan về FPGA

Ba thanh ghi chức năng IOB thực hiện nh flip-flop D ba trạng thái
hay nh bộ chốt nhạy mức. Mỗi IOB có một tín hiệu đồng hồ (CLK) cung
cấp cho ba thanh ghi, và xung lựa chọn tín hiệu (Clock Enable CE) cho
mỗi thanh ghi.
Để CLK và CE điều khiển tín hiệu, ba thanh ghi có cùng tín hiệu
Set/Reset (SR). Đối với mỗi thanh ghi, tín hiệu này có thể không phụ thuộc
cấu hình, nh tín hiệu đồng bộ Set, tín hiệu Reset, tín hiệu Preset hay tín
hiệu Clear.
Thực hiện pull-up và pull-down các điện trở, và mạch điện weakkeeper tác động làm suy giảm tơng ứng. Trớc khi đặt cấu hình, các đầu ra
không đợc liên quan đến cấu hình và đợc bảo vệ ở trạng thái điện kháng
cao. Các điện trở pull-down và mạch điện weak-keeper không tích cực, nhng các đầu vào có thể đặt pull-up.

3.4

Ma trận định tuyến lập trình đợc
Quãng đờng trễ dài nhất giới hạn bởi tốc độ của thiết kế trong trờng

hợp xấu nhất. Thông thờng, cấu trúc định tuyến và phần mềm place and
route đợc xác định trong một quá trình xử lý đơn để hạn chế thời gian trễ và
nâng cao chất lợng hệ thống.


21


Tổng quan về FPGA
3.4.1 Local Routing
Định tuyến theo vùng (Local Routing) cung cấp ba dạng kết nối nh sau:
. Kết nối bên trong dọc theo LuTs, flip-flops, và General Routing
Matrix (GRM)
. Đờng phản hồi bên trong CLB cung cấp tốc độ kết nối cao tới các
Luts trong cùng CLB, thay đổi chúng đồng thời để rút ngắn trễ định tuyến.
. Đờng trực tiếp cung cấp tốc độ kết nối cao giữa adjacent CLBs,
thực hiện trễ của GRM.

3.6.1 General Purpose Routing
3.6.2 I/O Routing
3.6.3 Dedicated Routing
3.6.4 Global Routing

3.5

Clock Distribution Sự phân phối xung đồng hồ
Các họ FPGA đặc trng có tốc độ cao, xung đồng hồ có độ dốc nhỏ,

phân phối qua nguồn định tuyến global. Mạng phân phối xung đồng hồ đặc
trng đợc thể hiện ở hình sau:

22


Tổng quan về FPGA


Bốn bộ đệm Global đợc sử dụng, hai bộ đợc đặt phía trên trọng tâm
của thiết bị, hai bộ đợc đặt phía dới. Các bộ này điều khiển bốn mạng
global sơ cấp, và nh thế điều khiến các chân clock.
Bốn bộ suy giảm xung đồng hồ, mỗi bộ nằm kế cận bên mộ bộ đệm
global tơng ứng. Đầu vào của bộ đệm global đợc lựa chọn trong số những
bộ suy giảm đó trong phần định tuyến thông thờng.

3.6

Block RAM
Các họ fpga gần đây đã nâng cao dung lợng của Block Ram.

Dung lợng của khối nhớ này tuỳ thuộc vào kích thớc của thiết bị FPGA.
Mỗi tế bào block RAM, có các tín hiệu đồng bộ của các cổng đôi,
không phụ thuộc tín hiệu điều khiển cho mỗi cổng. Độ rộng dữ liệu của hai
cổng có thể cấu hình độc lập, cung cấp xây dựng chuyển đổi bộ rộng bus.

23


Tæng quan vÒ FPGA

24


Tổng quan về FPGA

Chơng iv. Họ sản phẩm Altera FLEX 10K
4.1. Tổng quan

Altera đa ra các họ sau cho các mục đích ứng dụng thông thờng của
PLDs: APEX 20K, FLEX 10K, FLEX 8000, FLEX 6000, MAX 9000, MAX
7000, MAX 5000, và họ thiết bị ClassicTM. Cấu trúc ma trận có các thành
phần logic linh hoạt (FLEX - Flexible Logic Element MatriX) sử dụng bảng
tìm kiếm (LUTs look up tables) để thực hiện các hàm logic, trong đó, ma
trận nhân mảng (MAX Multiple Array MatriX) và cấu trúc Classic sử dụng
cấu trúc lập trình đợc AND/OR. Cấu trúc ma trận logic lập trình đợc tiên
tiến (APEX) kết hợp LUTs và các yêu cầu của sản phẩm. Mỗi họ thiết bị
cung cấp các đặc trng riêng biệt nh tốc độ nhất định, các u điểm sử dụng
cho mỗi ứng dụng riêng biệt.
Cấu trúc các thiết bị Altera
Họ thiết bị
Cấu trúc Logic

Cấu trúc kết nối

Thiết bị cấu hình

APEX 20K

Cell
Look up table và

bên trong
Liên tục

lại
SRAM

FLEX 10K

FLEX 8000
FLEX 6000
MAX 9000
MAX 7000
MAX 5000
Classic

product-term
Look up table
Look up table
Look up table
Product-term
Product-term
Product-term
Product-term

Liên tục
Liên tục
Liên tục
Liên tục
Liên tục
Liên tục
Liên tục

SRAM
SRAM
SRAM
EEPROM
EEPROM
EPROM

EPROM

Bảng sau biểu diễn các chân I/O và các cổng cho mỗi họ thiết bị
Các chân I/O & Các cổng của họ thiết bị Altera
Họ thiết bị
Số chân sử dụng I/O
APEX 20K
250 đến 780

25

Số cổng đặc trng
263000 đến 2670000


×