1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên ứu, thiết kế modul giảng dạy fpga

110 1 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

Tiêu đề Nghiên Cứu Modul Giảng Dạy FPGA
Tác giả Bồ Quốc Bảo
Người hướng dẫn TS. Nguyễn Linh Giang
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Xử Lí Thông Tin Và Truyền Thông
Thể loại luận văn thạc sĩ
Năm xuất bản 2005
Thành phố Hà Nội
Định dạng
Số trang 110
Dung lượng 3,72 MB

Nội dung

Qua nghiên cứu và tìm hiểu về các thiết bị có thể lập trình đợc của Xilinx, tôi sử dụng chip XC2S100 dòng Spartan II thiết kế một số mạch đơn giản, trên cơ sở những mạch này để thiết kế

Trang 3

Lêi cam ®oan

T«i xin cam ®oan b¶n luËn v¨n nµy lµ kÕt qu¶ nghiªn cøu cña b¶n th©n díi sù híng dÉn cña TS NguyÔn Linh Giang NÕu cã g× sai ph¹m, t«i xin hoµn toµn chÞu tr¸ch nhiÖm

Ngêi lµm cam ®oan

Bå Quèc B¶o

Trang 4

Mục lục

Lời cam đoan 2

Mục lục 3

Danh mục các hình vẽ 4

Lời nói đầu 6

Chơng 1 Tổng quan về ASIC lập trình đợc 8

1.1 Tổng quan về các công nghệ 8

1.2 Sự ra đời của công nghệ AsiC 9

1.3 Các hãng chính ứng dụng công nghệ ASIC 10

1.4 Các hớng tiếp cận thiết kế ASIC 11

1.5 Đầu vào thiết kế ASIC 14

1.6 Tổng hợp logic 23

1.7 Các công cụ thiết kế và phát triển ASIC 24

Chơng 2 Xilinx và sản phẩm FPGA 28

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

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

2.3 Giới thiệu sản phẩm Spartan II của Xillinx 31

2.4 Các chỉ tiêu kỹ thuật chi tiết Spartan II 52

Chơng 3 Các ngôn ngữ mô tả phần cứng HDL 56

3.1 VHDL 56

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

3.3 Ngôn ngữ Schematic Editor 70

Chơng 4 Thiết kế modul giảng dạy sử dụng FPGA XC2S100 80

4.1 Mục đích và yêu cầu thiết kế 80

4.2 Những yêu cầu về phần mềm và phần cứng khi thiết kế mạch báo chuông 82

4.3 Trình tự thiết kế với FPGA 85

4.4 Trình tự thiết kế các mạch chức năng 86

4.5 Mạch báo chuông 94

Kết luận 97

Tài liệu tham khảo 98

Phụ lục 99

Trang 5

Danh mục các hình vẽ

Tên hình

Hình 1.1: Một phần của thiết kế ASIC

Hình 1.2: Sơ đồ khối của PROM

Hình 1.3: Sơ đồ khối của PAL

Hình 1.4: Sơ đồ khối của PLA

Hình 1.5: Cấu trúc chung của một EPLD

Hình 1.6: Cấu trúc của một macrocell

Hình 1.7: Một CPLD của Xilinx

Hình 2.1: Cấu trúc FPGA của Xilinx

Hình 2.2: Cấu trúc chung của FPGA

Hình 2.3: Một CLB điển hình của FPGA dòng Spartan II

Hình 2.4: Sơ đồ khối chức năng của Flip Flop trong CLB

-Hình 2.5: Ghép nối các tín hịêu điều khiển

Hình 2.6: Sơ đồ khối của IOB

Hình 2.7: Sơ đồ khối chức năng IOB

Hình 2.8: OAND2 và OMUX2

Hình 2.9: Sơ đồ khối chung của các kênh kết nối trong CLB

Hình 2.10 Ma trận kết nối trong FPGA

Hình 2.11: Phân bố mạng tổng thể của Spartan

Hình 2.12: Sơ đồ logic của RAM cổng đơn

Hình 2.13: Sơ đồ logic của RAM cổng kép

Hình 2.14: Chi tiết một logic nhớ của Spartan

Hình 2.15: Bộ đệm 4 trạng thái thực hiện một bộ phân kênh

Hình 2.16: Sơ đồ logic quét biên của dòng Spartan

Hình 2.17: Sơ đồ mạch Master Slave

Hình 3.1: Các bớc thiết kế VHDL

Trang 6

Hình 4.1: Sơ đồ khối mạch báo chuông

Hình 4.2: Hình ảnh thực tế kit XSA-100 Board V1.0

Hình 4.3: Sơ đồ nguyên lý của XSA-100 Board V1.0

Hình 4.4: Trình tự thiết kế với FPGA

Hình 4.5: Mạch đa hài đợi tạo dao động âm tần

Trang 7

Lời nói đầu

Cùng với sự phát triển của khoa học kỹ thuật, việc tự động hoá thiết kế các mạch điện tử đóng một vai trò quan trọng trong việc thúc đẩy sự phát triển

kỹ thuật tính toán Từ những năm 50 của thế kỷ trớc, quá trình phát triển của

kỹ thuật điện tử đã trải qua nhiều giai đoạn: từ những bóng đèn điện tử đến những bóng bán dẫn, qua những mạch tích hợp nhỏ rồi tới những mạch với độ tích hợp lớn và siêu lớn Những mạch tích hợp loại này có thể chứa hàng triệu linh kiện bán dẫn trên một mạch Ví dụ điển hình là các bộ vi xử lý Việc thiết

kế những mạch có độ tích hợp lớn và siêu lớn không thể thực hiện một cách thủ công, mà phải có sự giúp đỡ của máy tính

Với mục đích không ngừng đáp ứng các nhu cầu của xã hội, hiện nay các môn học về thiết kế hệ thống số đã và đang đợc đa vào giảng dạy tại các trờng Cao đẳng và Đại học, việc tiếp cận môn học này tơng đối khó và trừu tợng, để môn học trực quan và dễ tiếp cận việc thực hành lập trình số là rất cần thiết

Một trong những công nghệ mới đợc ra đời, có thể thay thế cho các hệ thống số trớc đây đòi hỏi rất nhiều thời gian và chi phí cho nghiên cứu và chế tạo, đó là công nghệ ASIC (Application Specific Integrated Circuit) Dẫn đầu trong lĩnh vực này là sản phẩm FPGA (Field Programmable Gate Array) và CPLD (Complex Programmable Logic Devices) của công ty Xilinx Sử dụng FPGA hoặc CPLD thì có thể tối thiểu hóa đợc nhiều công đoạn thiết kế, lắp ráp vì hầu hết đợc thực hiện trên máy tính Các ngôn ngữ mô phỏng phần cứng (HDL: Hardware Description Languages) nh ABEL, VHDL, Verilog, Schematic cho phép thiết kế và mô phỏng hoạt động của mạch 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 và kết quả thực hiện của chơng trình là một file bit cấu hình (bitstream)

để nạp (download) vào FPGA và CPLD để nó hoạt động giống nh một mạch logic

Trang 8

Việc nghiờn cứu và thiết kế cỏc modul thớ nghiệm FPGA để giỳp cỏc em học sinh sinh viờn núi chung và sinh viờn trường Cao đẳng Cụng nghiệp núi -riờng được tiếp cận và sử dụng cụng nghệ mới, đỏp ứng nhu cầu của xó hội khi ra trường là một cụng việc vụ cựng cần thiết và cấp bỏch

Với sự hớng dẫn của TS Nguyễn Linh Giang, trong khuôn khổ luận văn này, tôi mạnh dạn tìm hiểu và nghiên cứu về công nghệ mới của công ty Xilinx Qua nghiên cứu và tìm hiểu về các thiết bị có thể lập trình đợc của Xilinx, tôi sử dụng chip XC2S100 dòng Spartan II thiết kế một số mạch đơn giản, trên cơ sở những mạch này để thiết kế một modul giảng dạy cho sinh

Nội dung của luận văn bao gồm 4 chơng, trong đó:

Chơng 1: Giới thiệu tổng quan về ASIC lập trình đợc

Chơng 2: Giới thiệu về hãng Xilinx và sản phẩm FPGA

Chơng 3 Giới thiệu một số ngôn ngữ mô tả phần cứng HDL

Chơng 4 Thiết kế modul giảng dạy sử dụng FPGA XC2S100 Spartan II-

Do thời gian và khả năng có hạn nên luận văn này sẽ còn nhiều thiếu sót 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 20 tháng 10 năm 2005

Học viên

Bồ Quốc Bảo

Trang 9

Sự phức tạp trong hệ thống tăng lên cho kết quả mạch tích hợp ở các mức cao hơn trong các microchip Có các mức tích hợp nh sau:

- SSI (Small Scale Integration), nó chứa nhiều cổng độc lập trên một gói

- Thông thờng (General): là các thiết bị phục vụ cho các mục đích thông thờng

- ASIC (Application Specific IC): sử dụng trong các chip hiện đại, các bộ

điều khiển nhúng với mục đích thiết kế đáp ứng nhu cầu của ngời sử dụng

Trang 10

1.2 Sự ra đời của công nghệ AsiC

Nhằm cải thiện tính linh hoạt của các IC và nâng cao chất lợng ngành công nghiệp sản xuất IC, IEEE đã tổ chức các hội thảo về các IC “theo đơn đặt hàng” CICC (Custom Integrated Circuit Conference) Theo đó, có nhiều kiểu IC dạng

“theo đơn đặt hàng” khác nhau đợc đa ra nhằm giải quyết cho nhiều mục đích ứng dụng cụ thể chuyên biệt Từ đây, xuất hiện một thuật ngữ mới và chính thức

đợc sử dụng đó là: Application - Specific IC, hay viết tắt là ASIC Hiện nay,

IEEE thờng xuyên tổ chức định kỳ các hội thảo cấp quốc tế về ASIC, nhằm điều chỉnh và nâng cao các u điểm cũng nh tính thuận tiện và đa ra các công nghệ tiên tiến của các hãng sản xuất ASIC khác nhau và phân loại chúng thành nhiều chủng loại IC theo đơn đặt hàng Mặc dù để định nghĩa đợc chính xác ASIC là rất khó, song chúng ta coi nh đó là một thuật ngữ đã đợc công nhận chính thức trong ngành công nghiệp IC

Định nghĩa tiếng Anh của thuật ngữ ASIC theo IEEE 12/1999 nh sau: “ASIC stands for Application Specific Integrated Circuits An ASIC is custom tailored IC that perfoms a specific task for specific application” tạm dịch là “ASIC là viết tắt - của từ Application Specific Integrated Circuits, nghĩa là các mạch tích hợp ứng dụng chuyên biệt” hoặc ngắn gọn hơn là “IC chuyên dụng” Tuy nhiên, nhiều - nhà “ASIC học” vẫn quen gọi là các “IC dùng cho mục đích của khách hàng” hoặc

là các “IC đợc thiết kế đặc biệt theo yêu cầu của khách hàng”

Ví dụ về các IC không phải là ASIC theo yêu cầu bao gồm các loại sau: các chip nhớ nh ROM, DRAM, và SRAM; các bộ phận xử lý, các IC họ TTL và tơng đơng theo công nghệ SSI, MSI và LSI

Còn các IC thuộc dòng ASIC bao gồm: các chíp dùng trong công nghiệp giải trí; các chíp dùng trong công nghiệp vệ tinh, vũ trụ, các chíp đợc thiết kế dùng để giao tiếp giữa bộ vi xử lý đối với các CPU của các máy trạm làm việc và các chip chứa bộ vi xử lý bên trong cùng với các phần tử logic khác

Theo quy tắc chung, một IC có thể không phải là ASIC, nhng đôi khi có những trờng hợp ngoại lệ Ví dụ, một IC là chip điều khiển đối với PC và một IC

là chip điều khiển MODEM Cả hai đều là các IC ứng dụng chuyên biệt (giống nh ASIC) nhng cả hai đều có một số điểm khác khi sử dụng vào những hệ thống khác Do vậy, ngời ta chia họ ASIC thành ba thành viên chính: Cell Based ICs

Trang 11

(CBICs), Gate Array và Programmable Logic Devices (PLDs) Lúc đó xuất hiện thêm một thuật ngữ tơng đơng ASIC là ASSPs (Application Specific Standard Product -các sản phẩm tiêu chuẩn ứng dụng chuyên biệt) Do vậy, khi quyết định chọn IC nào trong số họ ASIC rộng lớn thì rất khó, chủ yếu dựa vào công nghệ chế tạo và khả năng ứng dụng cũng nh mục đích sử dụng

1.3 Các hãng chính ứng dụng công nghệ ASIC

Hiện nay, tại các nớc có nền công nghiệp điện tử và vi điện tử phát triển cao, việc nghiên cứu và ứng dụng ASIC vào thực tế đã đợc áp dụng vào đầu thập kỷ

90 Một số hãng chính trên thế giới về công nghệ ASIC nh:

IBM: có các sản phẩm Power PC nổi tiếng, mới nhất hiện nay là dòng sản

phẩm Power 4+ tích hợp bên trong hai bộ vi xử lý, tơng thích cả 64 bit và 32 bit Ngoài ra, còn có dòng sản phẩm Power PC Gx 32 bit và Power PC G5 64 bit kết hợp với hãng Apple Các sản phẩm của IBM hiện nay cũng dựa trên công nghệ 0.18 àm và 0.13 m Hiện nay, IBM là hãng đứng đầu thế giới về các sản phẩm àASIC/ PLD

NEC: NEC là hãng đứng thứ hai về lợng sản phẩm ASIC bán ra trên thị trờng thế giới, trong đó có dòng máy chủ gây nên sự kinh ngạc khi kỷ lục về siêu máy tính mạnh nhất thế giới vào thời điểm 11/2003 thuộc về hệ thống Earth Simulator đặt tại YOKOHAMA (Nhật Bản) với các CPU của NEC

Xilinx: hãng này với các sản phẩm truyền thống là Virtex-II, Virtex II Pro, Virtex-4 thuộc dòng FPGA mới nhất theo công nghệ 90 nm, và dòng sản phẩm Spartan-3 tích hợp với 5 triệu cổng thuộc họ FPGA Cuối cùng là các sản phẩm PLD điển hình là CoolRunner-II Hiện nay, Xilinx đứng thứ 2 thế giới về các sản phẩm ASIC/PLD Các sản phẩm của Xilinx còn đợc biết đến với công cụ EDA dành cho thiết kế là phần mềm ISE 6.2i

-Altera: hiện nay là hãng đứng thứ 8 trong số các công ty chuyên về ASIC/PLD

và đứng thứ 3 về các sản phẩm FPGA Hãng này có các sản phẩm nh: EP20K100TC144-3, EPF8282ALC84-4,…với các phần mềm đi kèm hỗ trợ cho các sản phẩm của các hãng khác là MAX + PLUS II và Quartus 3.0

Ngoài ra còn có một số hãng khác là Agere, Fujitsu, Toshiba

Trang 12

1.4 Các hớng tiếp cận thiết kế ASIC

Có thể lập trình

Diện tích của ASIC

Điện trở (ohm)

Điện tích (pF)

1.4.2 Đầu vào thiết kế ASIC

Mục đích của đầu vào thiết kế mô tả một hệ thống vi điện tử dựa trên các công cụ của hệ tự động thiết kế điện tử EDA Các hệ thống điện tử đợc xây dựng dựa trên các thành phần tĩnh, nh là các IC TTL Đầu vào thiết kế đối với các hệ thống này chính là công việc vẽ các mạch và tổng hợp dạng giản

đồ Giản đồ thể hiện các thành phần đợc kết nối với nhau nh thế nào, đó chính là liên kết của một ASIC Phần này của quá trình đầu vào thiết kế đợc gọi là đầu vào giản đồ Một giản đồ mạch mô tả một ASIC giống nh là một bản thiết kế cho một công trình xây dựng

Giản đồ mạch là một bản vẽ, là một khuôn dạng đơn giản để chúng ta có thể hiểu và sử dụng, nhng các máy tính cần làm việc với các phiên bản

ASCII hoặc các tệp nhị phân và chúng ta gọi là các tệp tin netlist (viết tắt là

Trang 13

netlist) Đầu ra của công cụ thiết kế giản đồ chính là một netlist có chứa mô tả của tất cả các thành phần trong một bản thiết kế và các đờng kết nối của chúng Đầu vào thiết kế là một trong những phần quan trọng nhất của công nghệ ASIC

Đầu vào thiết kế bao gồm các thành phần thiết kế sau:

Th viện thiết kế ASIC

Th viện thiết kế các vi mạch ASIC lập trình đợc (programmable ASIC) Th viện phần tử logic ASIC lập trình đợc

Th viện phần tử vào/ ra ASIC lập trình đợc

Th viện phần tử kết nối ASIC lập trình đợc

Phần mềm thiết kế ASIC lập trình đợc:

- Đầu vào thiết kế logic mức thấp (Low – level design entry) sử dụng

-việc phát triển ngôn ngữ VHDL (VHSIC Hardware Description Laguage) nh một phần của chơng trình quốc gia VHSIC (Very High Speed IC) vào đầu thập kỷ 80

- Tổng hợp logic (Logic Synthesis): tổng hợp logic cung cấp giữa một tệp HDL (VHDL hoặc Verilog) và một netlist tơng tự nh cách mà một bộ biên dịch C cung cấp liên kết giữa mã lệnh chơng trình C và ngôn ngữ máy

- Mô phỏng (Simulation): các kỹ s đã quen với các hệ thống mẫu dùng để kiểm tra sản phẩm thiết kế của họ, đó là việc sử dụng một đế thử mạch mẫu, cho phép cắm các IC và các dây dẫn lên Đế thử mạch mẫu chỉ có thể thực hiện đợc khi xây dựng hệ thống từ một vài IC TTL Tuy nhiên, điều này là phi thực tế đối với thiết kế ASIC Do vậy, hầu hết các kỹ s thiết kế ASIC đề

sử dụng phơng pháp mô phỏng tơng đơng thay cho mô hình đế thử mạch -Thử nghiệm mức logic (test): các ASIC đợc thử nghiệm theo hai giai

đoạn trong quá trình sản xuất bằng cách sử dụng các phơng pháp thử nghiệm sản xuất

Trang 14

trí liên quan của các khối trong ASIC

(đôi khi còn đợc gọi là sắp xếp chip -

chip planning) Cùng thời điểm này

chúng ta định vị khoảng trống cho

đờng xung nhịp, nguồn và quyết định

vị trí của cổng I/O Việc sắp đặt

(Placement) định nghĩa vị trí của các

phần tử logic cùng với sự linh hoạt của các khối và khoảng trống dành cho việc nối các phần tử logic Việc sắp đặt đối với thiết kế ma trận cổng (Gate - array) hoặc phần tử tiêu chuẩn (Standard cell) bố trí mỗi một phần tử logic - vào vị trí trong cùng một hàng Việc lên sơ đồ mặt bằng (floor planning) và sắp đặt phần tử đôi khi có thể sử dụng công cụ CAD (Computer Aided Design) Việc định tuyến (Routing) thực hiện đờng kết nối giữa các phần tử logic Việc định tuyến là một vấn đề rất khó và thờng đợc phân chia thành các bớc riêng biệt gọi là định tuyến toàn cục và định tuyến cục bộ Định tuyến toàn cục xác định các kết nối giữa các phần tử logic đã đặt chỗ và các khỗi sẽ đặt chỗ ở đâu Còn định tuyến cục bộ là mức định tuyến cụ thể và chi tiết đến từng phần tử

1.4.4 Các công cụ CAD

Để phát triển công cụ CAD cần thiết phải chuyển đổi mỗi một bớc trong thiết kế vật lý thành các chủ thể có mục đích và định hớng rõ ràng Nhiệm vụ trong các bớc thiết kế vật lý ASIC của các công cụ CAD là:

Phân chia hệ thống (System Partitioning):

Design Entry

Synthesis

System partitioning Floor planning

Placement

Routing

Hình 1.1: Một phần của thiết kế ASIC

Trang 15

- Mục đích: phân chia một hệ thống thành một số các ASIC

- Định hớng: tối thiều hoá số lợng các kết nối ngoài giữa các ASIC Giữ cho mỗi ASIC nhỏ hơn kích thớc cực đại

- Mục đích: sắp đặt việc kết nối giữa các vùng và vị trí của tất cả các phần

tử logic cùng với các khối linh hoạt

- Định hớng: tối thiểu hóa các vùng ASIC và mật độ kết nối

Định tuyến toàn cục (global routing):

- Mục đích: quyết định vị trí của tất cả các kết nối

- Định hớng: tối thiểu hoá toàn bộ vùng kết nối đợc sử dụng

Định tuyến chi tiết (detail routing):

- Mục đích: hoàn thành định tuyến tất cả các kết nối trên chip

- Định hớng: tối thiểu hoá tổng số độ dài kết nối đợc sử dụng

1.5 Đầu vào thiết kế ASIC

1.5.1 Th viện thiết kế ASIC

Th viện phần tử là một phần chính trong thiết kế ASIC Đối với các ASIC lập trình đợc thì các công ty chuyên về PLD, FPGA cung cấp cho chúng ta th viện các phần tử logic dới hình thức một bộ kit thiết kế, thông thờng chúng ta không có một sự lựa chọn nào và giá thành của nó khoảng vài nghìn

đôla Đối với các MGA và CBIC chúng ta có ba lựa chọn: nhà cung cấp ASIC (công ty xây dựng ASIC cho chúng ta) sẽ cung cấp một th viện phần tử, hoặc chúng ta có thể mua một th viện phần tử từ một nhà cung cấp th viện thứ ba, hoặc chúng ta có thể xây dụng th viện phần tử của chính mình

Trang 16

Tuy nhiên để tạo ra mỗi phần tử trong một th viện phần tử ASIC phải bao gồm các yếu tố sau:

- Sơ đồ bố trí vật lý

- Mô hình hoạt động

- Mô hình Verilog/VHDL

- Mô hình tính toán thời gian chi tiết

- Chiến lợc thử nghiệm phải kiểm tra

này cha đợc chuẩn hoá Sự khác nhau thực tế chỉ là sự kế thừa của chúng Các PLD bắt đầu từ những thiết bị nhỏ dùng để thay thế một phần của họ IC TTL, và chúng đợc phát triển tơng tự nh ngời “anh em” FPGA của chúng, chỉ khác nhau về công nghệ chế tạo Trong mục này, chúng ta sẽ coi cả hai loại ASIC đều là các ASIC lập trình đợc

Trang 17

Các PROM đợc sử dụng với mục đích chính là các thiết bị bộ nhớ lu trữ

cố định các thông tin nhị phân Các quá trình lập trình liên quan đến việc đốt cháy các cầu chì (fuse) Nhng PROM lại rất lý tởng cho việc thực hiện logic

mà có ít hơn 10 tín hiệu đầu vào, và cấu trúc bên trong của nó là một tập các cổng AND và OR Các PROM đợc thiết kế nh là các thiết bị logic thờng

đợc biết đến dới tên PLE (Các thành phần logic lập trinh đợc Programable - Logic Elements) Do vậy, ta có thể xem các PROM là các mảng AND cố định

và các mảng OR lập trình đợc Chúng có thể đợc sử dụng để làm các mạch tích hợp chung trong mô hình tổng của các minterm

 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 Các mảng AND đợc lập trình cung cấp các minterms cho các chức năng logic, mà sau đó nó đợc tổng lại trong mảng OR

 PLA

PLA có các kết nối có thể lập trình đợc cho cả hai mảng phần tử AND và mảng phần tử OR Đây là loại PLD linh hoạt nhất Nó khá giống với PROM, tuy nhiên PLA không cung cấp đầy đủ giải mã của các biến đầu vào Bộ giải mã đợc thay thế bằng một mảng các phần tử AND có thể lập trình đợc để tạo ra các minterm theo yêu cầu Các minterm sau đó đợc kết nối có chọn lọc

đến phần tử OR để cung cấp tổng cho chức năng logic mong muốn

PAL và PLA đã xuất hiện trong nhiều kiểu thiết bị khác nhau của nhiều nhà sản xuất trong suốt quá trình phát triển của PLD

Programmable AND array

Programmable

OR array

Trang 18

b PLD tuần tự

 SPLD

SPLD là thiết bị logic có khả năng lập trình đợc theo kiểu tuần tự Hầu hết các nhà sản xuất đều quen thuộc với kiểu thiết bị này dới tên gọi EPLD Sơ đồ khối cấu trúc chung của một EPLD đợc thể hiện trên Hình 1.5 Một khối đầu ra EPLD cơ sở thờng bao gồm ba thành phần cơ bản: một mảng logic, một thanh ghi cấu hình đợc và một bộ đệm I/O cấu hình đợc Mỗi khối logic trên đợc gọi là một macrocell Một macrocell bao gồm:

- 1 D Flip-Flop

- Hai bộ ghép kênh:

• Bộ ghép kênh đầu ra có chọn lọc (Output Select): làm việc tuân theo bảng 1

• Bộ ghép kênh đầu vào/phản hồi (Input/Feedback):

machine

lập trình nh là đầu vào thay vì đầu ra,còn nếu bộ đệm đầu ra đợc kích hoạt

đầu ra tổ hợp đợc coi nh là phản hồi

Programmable

‘AND’ & ‘OR’ array FEEDBACK (Programmable)

INPUT BLOCK

(Contains latches and others

programmable input options)

OUTPUT BLOCK

INPUT

PIN

OUTPUT PIN

Trang 19

 CPLD

Khi sự phức tạp trong thiết kế phần cứng tăng lên, thì việc chuyển sang sử dụng các PLD VLSI là một điều tất yếu, nó cho phép các hệ thống số chứa hàng ngàn các cổng logic đợc thực hiện chỉ trong một IC duy nhất Các PLD VLSI đã mở rộng khái niệm của PLD lên mức cao hơn của sự tích hợp nhằm làm tăng khả năng hoạt động của hệ thống, sử dụng ít không gian của bo mạch, tăng độ tin cậy và giảm đợc chi phí

INPUT/

FEEDBACK MUX

S 1 S 0

S 1

D CP

SP AR

Trang 20

Thiết bị logic phức hợp lập trình đợc CPLD chính là một sản phẩm của PLD VLSI Ta nghiên cứu một chip CPLD điển hình là XC95108 dòng XC9500 của Xilinx

XC95108 chứa 6 khối chức năng có thể thể cấu hình đợc (CFB: Configurable Function Blocks) mà mỗi CFB tơng đơng với 18 macrocells với 36 đầu vào (Input) và 18 đầu ra (Output) Các đầu ra của macrocells đa ra khỏi chip thông qua các chân vào/ra (I/O pin) nhng chúng cũng hồi tiếp về một ma trận kết nối tổng thể (global interconnection matrix), Xilinx gọi là ma trận chuyển mạch kết nối nhanh (Fast Connect Switch Matrix) Từng CFB nhận 36 đầu vào hồi tiếp về từ 6x18=108 macrocells đó đa vào ma trận chuyển mạch Nhiều hàm logic với nhiều mức phức tạp có thể đợc xây dựng bằng cách lập trình với các hàm logic riêng của từng macrocell trong từng CFB và sau đó kết nối chúng thông qua ma trận chuyển mạch Kết quả là một bản thiết kế có từng chân của CPLD đợc 1 macrocell điều khiển thực hiện một hàm logic lớn với rất nhiều đầu vào

Configurable Function Block

Configurable Function Block

Configurable Function Block

Configurable Function Block

Trang 21

CPLD sử dụng bộ nhớ không mất thông tin (Nonvolative FLASH) dựa trên các phần tử nhớ do đó thiết bị này lu giữ đợc chơng trình của nó ngay cả khi cắt nguồn

Sau đây là các yêu cầu khác nhau của các loại phần tử Vào / Ra:

- Nguồn đầu ra DC: điều khiển trở kháng tại đầu ra DC hoặc tần số thấp (nhỏ hơn 1 MHz) Ví dụ các loại trở kháng tải nh LED (Light Emiter Diole), rơ-le, mô tơ loại nhỏ…

- Nguồn đầu ra AC (Alternative Circuit – nguồn xoay chiều): điều khiển dung kháng tải tốc độ cao ( lớn hơn 1 MHz) Ví dụ dung kháng tải các chip logic khác, bus dữ liệu hoặc bus địa chỉ, cáp ruy băng

Trang 22

- Nguồn đầu vào DC (Directive Circuit – nguồn một chiều): ví dụ các nguồn nh chuyển mạch, cảm biến, hoặc các chip logic khác

- Nguồn đầu vào AC: ví dụ các nguồn nh tín hiệu tốc độ cao (lớn hơn 1 MHz) từ các chip khác

- Nguồn tạo xung nhịp đầu vào: ví dụ là đồng hồ xung nhịp hệ thống hoặc các tín hiệu trên bus đồng bộ

- Nguồn cung cấp đầu vào: chúng ta cần cấp nguồn cho phần tử vào/ra và các phần tử logic bên trong chip, mà điện áp không bị sụt hoặc bị nhiễu Ngoài ra chúng ta có thể cần một nguồn cung cấp riêng biệt để lập trình cho chip

Các phần tử tuỳ chọn đối với các phần tử vào/ra là: sự khác nhau về mức độ của nguồn, tính tơng thích với TTL, các đầu vào trực tiếp hoặc phải điều chỉnh

đợc, các đầu ra trực tiếp phải điều chỉnh đợc, phối hợp trở kháng, bảo vệ quá

điện áp, điều khiển tốc độ…

1.5.5 Các phần tử ASIC kết nối lập trình đợc

Tất cả các ASIC đều chứa các phần tử kết nối lập trình đợc Cấu trúc và sự phức tạp của các phần tử kết nối phần lớn đợc xác định thông qua công nghệ lập trình và kiến trúc của các phần tử logic cơ bản Chất liệu mà chúng ta dùng để xây dựng các phần tử liên kết nối là hợp kim nhôm, loại hợp kim có thể chịu

đợc xấp xỉ 50 mW/1 đơn vị diên tích và dung kháng là 0.2 pF/cm Các loại ASIC lập trình đợc đời đầu tiên đợc xây dựng sử dụng công nghệ hai lớp kim loại; còn các ASIC hiện nay sử dụng ba lớp kim loại hoặc nhiều hơn

Trang 23

Đối với thiết kế bất kỳ ASIC nào, mỗi nhà thiết kế cũng cần có phần mềm

đầu vào thiết kế, th viện phần tử, và phần mềm thiết kế vật lý Các nhà cung cấp ASIC thờng bán các bộ kit thiết kế bao gồm tất cả phần mềm và phần cứng mà một ngời thiết kế cần đến Rất nhiều bộ kit thiết kế sử dụng phần mềm đầu vào thiết kế, th viện phần tử và phần mềm thiết kế vật lý Thờng thì ngời thiết kế mua luôn phần mềm đó từ nhà cung cấp ASIC Phần mềm này đợc gọi là phần mềm OEM (Original Equipment Manufacture) Tất cả các nhà cung cấp ASIC đều có phần mềm thiết kế của riêng mình bởi vì các phần mềm thiết kế nh vậy mới có thể phù hợp với các giải thuật tơng ứng với kiến trúc của sản phẩm của nhà sản xuất

Giản đồ đầu vào không phải là phơng pháp duy nhất đầu vào thiết kế cho các ASIC lập trình đợc Một số nhà thiết kế mô tả việc điều khiển logic và trạng thái dới dạng các phơng trình logic và giản đồ trạng thái Một giải pháp khác nữa cho thiết kế ASIC là sử dụng một trong số các ngôn ngữ mô tả phần cứng (HDL) dựa trên một số tiêu chuẩn cho trớc Có hai dạng ngôn ngữ thông dụng: Thứ nhất là các phần mềm đợc phát triển từ việc lập trình cho các ASIC loại PLD Đó là ABEL, CUP và PALASM, đó là các ngôn ngữ đơn giản và dễ học Các ngôn ngữ này rất mạnh trong việc mô tả các trạng thái máy và tổ hợp logic Thứ hai là các ngôn ngữ HDL bao gồm VHDL và Verilog, đó là các ngôn ngữ bậc cao hơn và sử dụng phức tạp hơn nhng chúng có khả năng mô tả hoàn chỉnh các ASIC và cả một hệ thống

Sau khi hoàn thành đầu vào thiết kế và tạo ra một netlist, bớc tiếp theo là việc mô phỏng Có hai kiểu mô phỏng thờng đợc sử dụng cho thiết kế ASIC Kiểu mô phỏng đầu tiên là mô phỏng logic theo hoạt động, chức năng,

và mô phỏng thời gian Công cụ này có thể phát hiện bất kỳ lỗi thiết kế nào Ngời thiết kế cung cấp các tín hiệu đầu vào để mô phỏng và kiểm tra theo yêu cầu Kiểu mô phỏng thứ hai là kiểu thờng sử dụng nhất trong thiết kế ASIC, đó là công cụ phân tích – tính toán thời gian Công cụ phân tích - tính toán thời gian là một thiết bị mô phỏng tĩnh và bỏ qua việc cung cấp các tín hiệu đầu vào Thay vào đó công cụ phân tích – tính toán thời gian kiểm tra các giới hạn làm hạn chế tốc độ hoạt động đó là các đờng tín hiệu gây ra độ - trễ lớn

Trang 24

1.6 Tổng hợp logic

Tổng hợp logic cung cấp một liên kết giữa HDL và netlist tơng tự nh cách một trình biên dịch C cung cấp liên kết giữa mã nguồn C và ngôn ngữ máy Tuy nhiên, việc so sánh nh trên chỉ mang tính chất tơng đối C đợc phát triển để sử dụng các trình biên dịch, còn HDL thì không đợc phát triển

để sử dụng với các công cụ tổng hợp logic Verilog thì đợc thiết kế nh một ngôn ngữ mô phỏng còn VHDL thì đợc thiết kế nh một ngôn ngữ mô tả và dữ liệu Cả Verilog và VHDL đều đợc phát triển từ đầu thập niên 80, trớc khi nó đợc giới thiệu nh một phần mềm thơng mại dùng để tổng hợp logic

Do vậy, các ngôn ngữ HDL đó hiện nay đợc sử dụng vào mục đích không phải nh đúng ý đồ ban đầu, nên hiện trạng của nó trong tổng hợp logic gần giống nh các bộ biên dịch ngôn ngữ máy tính Do vậy, tổng hợp logic buộc ngời thiết kế phải sử dụng một tập con của cả Verilog và VHDL Hiện nay, VHDL sử dụng rộng rãi chủ yếu ở châu Âu, còn Verilog đợc dùng chính ở

Mỹ và Nhật Việc này làm cho tổng hợp logic là một vấn đề rất khó Hiện trạng của các phần mềm tổng hợp giống nh việc một ngời học ngoại ngữ nhng 5 năm sau mới sử dụng đến

Khi nói đến công cụ tổng hợp logic sử dụng HDL, ngời ta thờng nghĩ nó liên quan đến phần cứng hơn là việc tổng hợp logic sẽ thực hiện trên netlist Theo đánh giá của các chuyên gia “ASIC học” thì phải 5 năm nữa chúng ta mới hoàn thiện đợc qúa trình tổng hợp logic nh mong muốn

Ngời thiết kế sử dụng đầu vào thiết kế dạng text hoặc đồ họa để tạo ra mô hình hoạt động HDL không bao gồm bất kỳ tham chiếu nào đến các phần tử logic Các sơ đồ trạng thái, các mô tả đờng dẫn dữ liệu đồ hoạ, các bảng sự thật, các mẫu RAM/ROM và các giản đồ mức cổng (gate level) có thể sử dụng cùng với mô tả HDL Mỗi khi hoàn thành một mô hình hoạt động HDL, hai thành phần yêu cầu phải xử lý là: một bộ tổng hợp logic (bao gồm phần mềm

và tài liệu đi kèm) và một th viện phần tử (bao gồm các phần tử logic chẳng

ty phần mềm tổng hợp chỉ cung cấp phần mềm Còn hầu hết các nhà cung cấp ASIC thì chỉ cung cấp các th viện phần tử

Trang 25

Mô hình hoạt động đợc mô phỏng để kiểm tra việc thiết kế theo tham số

kỹ thuật còn sau đó bộ tổng hợp logic sẽ đợc sử dụng để tạo ra một netlist, một mô hình cấu trúc chỉ chứa tham chiếu đến các phần tử logic Hiện nay, không có khuôn dạng tiêu chuẩn cho các netlist mà tổng hợp logic tạo ra, nhng phổ biến nhất hiện nay là khuôn dạng EDIF Một vài công cụ tổng hợp logic cũng có thể tạo ra cấu trúc HDL (nh Verilog và VHDL) Sau khi tổng hợp logic, bản thiết kế đợc thực hiện mô phỏng lại để so sánh với việc mô phỏng hoạt động trớc đó Việc xếp lớp đối với bất kỳ ASIC nào đều có thể

đợc tạo ra từ mô hình cấu trúc sinh ra thông qua quá trình tổng hợp logic

1.7 Các công cụ thiết kế và phát triển ASIC

1.7.1 Tổng quan về quá trình thiết kế và công cụ thiết kế

Khi kích thớc và độ phức tạp của các hệ thống số gia tăng, nhiều công cụ thiết kế đợc trợ giúp bởi máy tính CAD (Computer Aided Design) đợc đa vào quá trình thiết kế phần cứng Phơng pháp thiết kế trên giấy đã đợc thay bằng cách thiết kế trên máy vi tính, từ đó các nhà thiết kế có thể kiểm tra thông qua các công cụ tạo ra phần cứng tự động từ các bản thiết kế đó Hỗ trợ mạnh mẽ nhất cho các công cụ thiết kế này là ngôn ngữ mô tả phần cứng HDL Hiện nay, các nhà nghiên cứu đã tìm ra nhiều cách cho phép HDL có thể cải tiến quá trình thiết kế hệ thống số

Qúa trình thiết kế bắt đầu từ ý tởng thiết kế của ngời thiết kế phần cứng Lúc này, ngời thiết kế cần phải tạo ra các định nghĩa cho hành vi của hệ thống theo ý đồ thiết kế Sản phẩm này có thể là ở dạng sơ đồ khối, lu đồ hoặc chỉ là dạng ngôn ngữ tự nhiên Giai đoạn này ý tởng thiết kế mới chỉ có

đầu vào và đầu ra, chứ hoàn toàn cha có một chi tiết nào về phần cứng cũng nh kiến trúc của hệ thống

Giai đoạn thứ hai của quá trình thiết kế là việc thiết kế đờng dẫn dữ liệu

hệ thống Trong giai đoạn này, ngời thiết kế chỉ rõ các thanh ghi và phần tử logic cần thiết cho quá trình cài đặt Đây là giai đoạn thiết kế th viện các phần tử cho hệ thống Các thành phần này có thể đợc kết nối thông qua bus 2 chiều hoặc một chiều Dựa trên chức năng hoặc hành vi của hệ thống, tiến

Trang 26

trình điều khiển hoạt động của dữ liệu giữa các thanh ghi và các phần tử logic thông qua các bus đợc phát triển Giai đoạn này không cung cấp các đặc

điểm về sự hoạt động của các bộ điều khiển, cách đi dây, kỹ thuật mã hoá… Giai đoạn thứ ba là giai đoạn thiết kế logic, giai đoạn này liên quan đến ứng dụng của các cổng và các mạch cơ bản cho việc cài đặt các thanh ghi dữ liệu, các bus hệ thống, các phần tử logic và phần cứng điều khiển chúng Kết quả của giai

đoạn này chính là một tệp danh sách kết nối (netlist)

Giai đoạn thiết kế tiếp theo là chuyển netlist của gian đoạn trớc thành sơ đồ hay là danh sách các transistor Giai đoạn này xét đến cả chế độ tải và thời gian trong quá trình thực hiện hành vi của hệ thống cũng nh việc chọn transistor hoặc các phần tử của nó Giai đoạn này bao gồm: tổng hợp logic, ánh xạ công nghệ, floorplanning, placement, routing Giai đoạn này sử dụng công cụ CAD là chủ yếu

Bớc cuối cùng của quá trình thiết kế là việc chế tạo Nó sử dụng danh sách các transistor hoặc các đặc tả kỹ thuật để ghi thông tin lên bộ nhớ của thiết bị có thể lập trình đợc hoặc tạo ra mặt nạ cho việc sản xuất các mạch tích hợp

Nhiều nhà sản xuất đã nghiên cứu, phát triển các công cụ thiết kế và phát triển ASIC cho các họ sản phẩm FPGA, CPLD, các vi mạch Hard-wire, Serial PROM…

- Vi mạch FPGA có cấu trúc giống nh một dãy hoặc một ma trận các phần

tử logic Những kết nối kim loại giữa các khối logic có thể đợc kết nối một cách tuỳ ý bằng cách chuyển mạch có thể lập trình đợc để tạo thành một mạch theo yêu cầu FPGA có khả năng chứa một số lợng lớn các cổng logic, các thanh ghi

và các mạch I/O tốc độ cao

- Vi mạch CPLD chứa nhiều khối chức năng và khối I/O và có thể liên kết với nhau thông qua ma trận chuyển mạch CPLD là hệ thống tích hợp nhỏ khoảng từ

8000 đến 10000 cổng nhng tốc độ cao, thiết kế đơn giản

Trong quá trình thiết kế, các ngôn ngữ mô tả phần cứng chính là các công cụ thiết kế nhằm mục đích mô phỏng, tạo mẫu, kiểm tra, thiết kế và làm tài liệu cho một hệ thống số nh: ngôn ngữ mô tả hành vi, ngôn ngữ mô tả dòng dữ liệu, sơ

đồ liên kết kết nối Một số loại công cụ HDL nh sau:

AHPL: công cụ mô tả dữ liệu

Trang 27

CDL (Computer Design Language): ngôn ngữ mô tả dòng dữ liệu phát triển trong quá trình đào tạo

CONLAN (Consensus Language): ngôn ngữ mô tả phân cấp phần cứng IDL (Interactive Design Language): ngôn ngữ tạo tự động cấu trúc PLA của hãng IBM

ISPS (Intruction Set Proccessor Specification): ngôn ngữ mô tả hành vi mức cao

TEGAS (Test generation and Simulation): hệ thống tạo tín hiệu kiểm tra và mô phỏng các mạch số, đây là ngôn ngữ cấu trúc

Verilog : ngôn ngữ hỗ trợ phân cấp thiết kế

VHDL: ngôn ngữ mô tả phần cứng từ hệ thống đến tận mức cổng hoặc chuyển mạch

1.7.2 Giới thiệu các công cụ và sản phẩm của một số hãng chuyên về ASIC

1.7.2.1 Giới thiệu hãng Xilinx

Các sản phẩm phần mềm và phần cứng của Xillinx sẽ đợc giới thiệu chi tiết ở chơng 3

1.7.2.2 Giới thiệu hãng Actel

Phần mềm Libero v5.0 IDE (Integrated Design Environment) của Actel giới thiệu là phiên bản mới nhất và tốt nhất trong số các công cụ hỗ trợ cho EDA của các hãng Mentor Graphics, Synplicity, SynaptiCAD và các công cụ đợc phát triển của riêng Actel nhằm mục đích hỗ trợ thiết kế cho các sản phẩm ASIC dòng FPGA hoàn thiện Phần mềm này bao gồm một bộ các gói phần mềm, trong đó

có gói phần mềm Designer v5.0 Designer v 5.0 là gói phần mềm hỗ trợ cho việc chế tạo và hoạt động vật lý cho ngời thiết kế, bao gồm cả khả năng floorplanning với tính năng ChipPlanner (sắp đặt trên chip) đặc biệt

Libero IDE hỗ trợ cho tất cả các sản phẩm ASIC có mặt trên thị tròng hiện nay của Actel, và có ba phiên bản chính: Libero Silver, Libero gold, Libero Platinum và một phiên bản dùng thử Libero Platinum Evaluation Tuỳ theo nhu cầu, kinh nghiệm thiết kế cũng nh sản phẩm ASIC của ngời sử dụng cao hay thấp mà chúng ta lựa chọn phiên bản cho phù hợp

Trang 28

1.7.2.3 Giới thiệu hãng Altera

Phần mềm phát triển MAX+PLUS II cung cấp một môi trờng thiết kế hoàn chỉnh đáp ứng đầy đủ các yêu cầu thiết kế cụ thể MAX+PLUS II đảm bảo thiết

kế dễ dàng, xử lý nhanh và lập trình cho các IC PLD một cách trực tiếp

Phần mềm MAX+PLUS II tích hợp đầy đủ các chức năng và độc lập với kiến trúc phần cứng trong việc thiết kế logic với các mạch tổ hợp logic lập trình đợc của hãng Altera thuộc các họ Classic, ACEX 1K, MAX 3000, MAX 5000, MAX

7000, MAX 9000, Flex 6000, Flex 8000 và Flex 10K MAX+PLUS II cung cấp một phạm vi thiết kế logic đầy đủ bao gồm các thiết kế phân tầng, soạn thảo sơ

đồ thiết kế, tổng hợp logic tối u, phân chia thiết kế, mô phỏng thiết kế mức bảng mạch cả về thời gian và chức năng, phân tích chi tiết thời gian, định vị lỗi tự

động, lập trình và kiểm tra các IC MAX+PLUS II cũng có thể sử dụng các tệp thiết kế theo tiêu chuẩn công nghiệp của các phần mềm thiết kế khác nh: các tệp kiểu EDIF, VHDL, Verilog, HDL, Orcad, Schematic, Xilinx, Netlist Format

Nó cũng cho phép viết các tệp thiết kế kiểu EDIF, VHDL, Verilog, HDL, VITAL - Compliant để giao tiếp với các phần mềm thiết kế CAE tiêu chuẩn công nghiệp khác

Ngời thiết kế có thể tích hợp các thiết kế đợc tạo với các phần mềm thiết kế của Altera nh A + PLUS, SAM + PLUS vào các thiết kế của MAX+PLUS II Trình biên dịch bảo đảm rằng các thiết kế trong MAX+PLUS II sẽ đợc tạo hoàn chỉnh trong các IC một cách hiệu quả nhất

Trang 29

Chơng 2

Xilinx và sản phẩm FPGA

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

Công ty Xilinx mang đến sự lựa chọn rộng rãi nhất trong công nghiệp về các thiết bị Logic lập trình đợc Xilinx là nhà cung cấp lớn nhất thế giới về Logic lập trình đợc và dẫn đầu thị trờng về FPGA Năm 2005 Xilinx đợc

đánh giá là công ty xếp thứ 2 thế giới, trong đó Xilinx dẫn đầu về thị trờng công nghệ cao

Công ty đợc thành lập năm 1984 dựa trên ý tởng lớn về sự kết hợp giữa mật độ logic và tính chất đa dạng của các dãy cổng logic Cùng với những thuận lợi về thời gian thâm nhập thị trờng và thuận tiện cho sử dụng các chi tiết linh kiện tiêu chuẩn có thể lập trình đợc Sau một năm Xilinx đã giới thiệu sản phẩm FPGA đầu tiên trên thế giới từ đó thông qua sự kết hợp các cấu trúc và cải tiến quá trình sản xuất công ty đã không ngừng tăng hiệu suất thiết bị, dung lợng, tốc độ, dễ dàng sử dụng trong khi giá thành hạ

Năm 1992 Xilinx đã mở rộng dòng sản phẩm bao gồm CPLD Đối với ngời sử dụng CPLD là một bổ sung hấp dẫn cho FPGA, phần mềm thiết kế

đơn giản hơn và đồng bộ hóa chuẩn xác hơn

Dẫn đầu thị trờng của một trong những giai đoạn phát triển nhanh nhất của công nghiệp bán dẫn Chiến lợc của Xilinx là tập trung toàn bộ nguồn lực cho việc tạo ra những IC mới và phát triển phần mềm phát triển hệ thống (Development System Software), cung cấp đa dạng kỹ thuật và mở rộng thị trờng Đến nay công ty đã có đại diện và phân phối hơn 30 nớc trên thế giới

Trang 30

Các đoạn dây kim loại kết nối bên trong có thể nối tuỳ ý theo các chuyển mạch có thể lập trình đợc để thực hiện những mạng tín hiệu mong muốn giữa các cells

FPGA kết hợp những cổng logic, thanh ghi, và I/O với tốc độ hệ thống nhanh Các dòng sản phẩm của Xilinx có thể lập trình lại đợc nh Static-Memory (SRAM), Field Programmable Gate Arrays bao gồm Virtex, Spartan, XC3000 và XC5000 serries

2.2.2 Các thiết bị logic phức hợp có thể lập trình đợc (CPLD: Complex Programmable Logic Devices)

CPLD thiết kế phù hợp hơn với tốc độ và sự dự đoán về PAL và thực tế thì CPLD bao gồm PAL nh các khối chức năng (FB: Function Blocks) đợc kết nối

Hình 2.1: Cấu trúc FPGA của Xilinx

Trang 31

bên trong thông qua một ma trận chuyển mạch Dòng XC9000 CPLD là đặc trng cho công nghệ Programmable FLASH và cũng nh FPGA, CPLD có thiết

kế cổng JTAG để quét biên kiểm tra logic (Bourdary Scan)

2.2.3 Các sản phẩm phát triển hệ thống (Developmet System Products)

Xilinx đa ra môi trờng phần mềm hoàn chỉnh làm công cụ cho thiết kế logic với các thiết bị logic lập trình đợc của Xillinx Môi trờng này kết hợp công nghệ mạch linh hoạt, dễ sử dụng, giao diện đồ hoạ để trợ giúp ngời sử dụng thiết kế tốt nhất có thể, ngời sử dụng có thể lựa chọn trong phạm vi rộng giữa công cụ tự động hoàn toàn và chi tiết trong quá trình tạo sơ đồ bản vẽ Development System cung cấp công cụ cần thiết cho thiết kế nh:

Th viện và giao diện soạn thảo các sơ đồ mạch a chuộng, dụng cụ tổng hợp logic và mô phỏng

Quản lý thiết kế/ trình tự thực hiện (Flow engine)

Bộ tạo module (Module generator)

Bên cạnh đó nó cũng tạo ra sự dễ dàng chuyển hớng thiết kế với các công nghệ mới và dùng lại các thiết kế hiện nay trong các ứng dụng mới

Series cơ bản (Foundation Series) cung cấp cho ngời thiết kế toàn bộ giải pháp cho thiết kế logic lập trình đợc từ đọc đến sử dụng

Series kết hợp (Alliance Series) mang đến cho ngời thiết kế sự tích hợp mạng đầy đủ của công cụ thiết kế với sự hiện hành của môi trờng EDA (Environment Design Automatic)

Trang 32

2.2.5 Giải pháp lõi (Core sollutions)

Công nghệ ASIC lõi là công nghệ đa ra các ASIC có tỷ lệ trí tuệ cao và nó là những ASIC đợc xây dựng để thực hiện những chức năng xử lý rất phức tạp ASIC lõi đã phát triển hơn một thập kỷ qua và ngày càng phát triển nhờ sự giàu

có về tiềm năng trí tuệ IP (Intellectual Property) và nó luôn sẵn có từ nhiều nguồn Trong thời gian này thì logic lập trình đã không có đợc mật độ và hiệu suất cần thiết để thích nghi với IP core lớn

Các sản phẩm core đợc tạo ra từ công nghệ Smart IP đã mang l- ại sự linh hoạt trong khi sự duy trì hiệu suất, dự báo độ lớn và số lợng Core sử dụng dụng trong thiết bị của nó Công nghệ Smart IP kết hợp khả năng bổ sung phần mềm -của Xilinx với các đặc trng duy nhất của kiến trúc FPGA mang lại hiệu suất thích hợp và hiệu quả sử dụng cao

2.3 Giới thiệu sản phẩm Spartan II của Xillinx

2.3.1 Giới thiệu

Dòng Spartan là sản phẩm hàng đầu với giải pháp FPGA mở ra tất cả các yêu cầu cơ bản cho ASIC Những yêu cầu này bao gồm: hiệu suất cao, RAM on-chip, giải pháp lõi (Core Solutions), và giá cả

 Bộ nhớ SelectRAM on chip (trên chip)

- Tuân theo đầy đủ chuẩn PCI

Trang 33

 Cấu trúc đờng nối theo đoạn có công suất thấp

 Khả năng đọc lại toàn bộ chơng trình kiểm tra và có thể quan sát bên trong

 Logic nhớ tốc độ cao chuyên dụng

 Khả năng bus 3 trạng thái nội

 8 xung clock sai số nhỏ hoặc signal / Networks

 Boundary Scan logic tơng thích với chuẩn IEEE 1149.1

Vỏ và I/O linh hoạt:

 Giá thành nhựa đóng vỏ thấp và sẵn sàng với tất cả các loại mật độ

 Khả năng tơng thích chân ra với các vỏ thông thờng

 Có thể lập trình riêng đầu ra, giảm nhiễu

 Đơn giản hoá hệ thống định thời với thanh ghi đầu vào

 Hệ thống phát triển của Xilinx đợc ung cấp đầy đủ và mạnh

 Tự động hoàn toàn vẽ sơ đồ, bố trí và nối dây

 Bộ soạn thảo thiết kế tơng tác để tối u hoá thiết kế

Các đặc trng mở rộng

 Cấp nguồn 3,3V công suất thấp với các I/O 5V

 Công suất đầu vào thấp (Power down)

 Hiệu suất cao hơn

 Logic nhớ nhanh hơn

 Xung nhịp tốc độ cao, linh hoạt trong hệ thống

 Khả năng chốt trong các khối logic cấu hình đợc (Configurable Logic Blocks)

 Chốt giữ nhanh đầu vào

 Tuỳ chọn mux hoặc tạo hàm 2 đầu vào ở các đầu ra

 Dòng ra 12 mA hoặc 24 mA

 Tơng thích PCI 5V/3,3V

 Chế độ cấu hình nhanh (Express)

Trang 34

2.3.3 Tổng quan về FPGA dòng Spartan II

Các dòng FPGA dòng Spartan II đợc cài đặt chính qui, linh hoạt, cấu trúc

có thể lập trình đợc của các khối logic lập trình đợc (CLBs: Configurable Logic Blocks) đợc nối với nhau bởi sự phân cấp mạnh của các kênh kết nối linh hoạt và đợc bao quanh bởi các khối vào, ra lập trình đợc (IOBs: Input/Output Blocks) nh hình 2.2

Các thiết bị dòng Spartan đạt đợc hiệu suất cao, chi phí vận hành thấp thông qua việc sử dụng đợc kiến trúc cải tiến và công nghệ bán dẫn Các thiết

bị Spartan II cung cấp hệ thống các tốc độ Clock vợt quá 80 MHz và hiệu quả bên trong trên 150 MHz

2.3.3.1 Mô tả chức năng logic (Logic Functional Description)

FPGA bao gồm 1 mảng các CLB đợc đặt trong một ma trận của các kênh kết nối Đầu vào và đầu ra của các tín hiệu nhận đợc thông qua 1 sự thiết lập của các khối IOB xung quanh CLB và các kênh kết nối

CLBs cung cấp giao diện giữa các chân và các đờng dây tín hiệu bên trong

I/O Blocks

Block RAMs

Trang 35

Các kênh kết nối cung cấp các đờng đi để kết nối giữa các đầu vào và đầu

ra của các CLB và các IOB

Chức năng của mỗi khối logic đợc thực hiện theo yêu cẩu khi đặt cấu hình bởi chơng trình các tế bào nhớ tĩnh bên trong Các giá trị lu trữ trong các tế bào nhớ đó xác định các chức năng logic và kết nối với nhau thực hiện trong FPGA

Các khối logic có thể cấu hình đợc (CLBs: Configurable Logic Blocks)

Các CLB đợc sử dụng để thực hiện hầu hết các chức năng logic trong FPGA Nguyên tắc hoạt động của các bộ phận của CLB đợc trình bày trong sơ

đồ hình 2.3 Có ba bảng Look up (LUT), đợc dùng làm các bộ tạo hàm, hai flip- flop và hai nhóm của tín hiệu điều khiển các bộ chọn kênh

-Các bộ tạo hàm

Hai bộ nhớ 16x1 của các bảng “look-up” (F LUT và G LUT) đợc dùng - - để làm các bộ tạo hàm 4 đầu vào, không hạn chế việc thực hiện các chức năng logic của một vài hàm Boole, độc lập với 4 tín hiệu đầu vào (F1-F4 hoặc G1 G4) Sử -

Of H F,H,H 1

Trang 36

dụng bộ nhớ LUT độ trễ truyền dẫn không phụ thuộc và chức năng mà nó thực hiện

thanh ghi (lu trữ) các đầu ra

của bộ tạo hàm Các flip-flop

xung nhịp (K) và các đầu vào tín

hiệu đầu vào xung nhịp cho phép

EC

Đầu vào xung nhịp

Mỗi flip-flop có thể đợc

kích bởi sờn dơng hoặc sờn

âm của xung nhịp Đờng xung

nhịp trong CLB đợc dùng

chung cho cả hai flip-flop Tuy

vậy, xung nhịp có thể đảo riêng

cho mỗi flip-flop Trong thiết kế

tự động đệm vào một vài bộ đảo

trên đờng xung nhịp

Xung nhịp cho phép (enable clock)

Q D

Trang 37

Đờng xung nhịp cho phép (EC) có mức tích cực cao Đờng EC đợc dùng chung cho cả 2 flip flop trong một CLB Nếu một trong 2 flip- -flop bị huỷ kết nối, tín hiệu EC cấp cho EC mặc định ở trạng thái tích cực, EC không thể đảo trong CLB Xung nhịp cho phép EC đợc đồng bộ với xung nhịp và phải thoả mãn sự thiết lập và giữ định thời cho thiết bị

Set/Reset

Đờng Set/Reset (SR) là đờng tín hiệu cận đồng bộ mức tích cực cao điều khiển flip flop SR có thể đặt cấu hình nh s- et và reset ở mỗi flip-flop Cấu hình tuỳ chọn này xác định trạng thái của flip flop Nó cũng xác định tác dụng -của xung GSR trong trạng thái hoạt động bình thờng và tác dụng của xung trên đờng SR của CLB Đờng SR đợc dùng chung cho cả 2 flip – flop Nếu SR không dùng riêng cho một flip-flop thì Set/Reset của flip-flop sẽ mặc

định ở trạng thái không tích cực Bên trong CLB, SR không thể bị đảo

Kiểm soát luồng tín hiệu ở CLB

Ngoài các đầu vào H LUT điều khiển các bộ chọn kênh còn có tín hiệu kiểm soát luồng các bộ chọn kênh, các tín hiệu đợc chọn là các tín hiệu đa tới các đầu vào của flip-flop và kết hợp các đầu ra CLB (X và Y)

Các tín hiệu điều khiển

Có 4 tín hiệu điều khiển các bộ chọn kênh trên đầu vào của CLB Các bộ chọn kênh đó cho phép các tín hiệu điều khiển bên trong CLB (H1, DIN, SR

và EC ở hình 2.3 và hình 2.5) đợc đa tới từ một vài tín hiệu điều khiển điều khiển chung của 4 đầu vào (C1 C4 ở hình 2.5) trong CLB.ữ

Có 4 tín hiệu điều khiển bên trong là:

EC (Enable Clock)

SR (Asyschronous Set/Reset) hoặc bộ tạo hàm H đầu vào 0

DIN (Direct Input) hoặc bộ tạo hàm H đầu vào 2

H1 bộ phát hàm H đầu vào 1

2.3.3.2 Các khối vào ra (Input/Output Blocks : IOB)

Ngời sử dụng có thể đặt cấu hình các khối vào ra IOB để tạo giao diện giữa các chân đóng vỏ bên ngoài với chức năng logic bên trong Mỗi IOB điều khiển một chân đóng vỏ và có thể đặt cấu hình cho đầu vào, ra hoặc các tín hiệu hai chiều Hình 2.6 minh hoạ một chức năng đơn giản của IOB

Trang 38

Đờng dẫn tín hiệu vào IOB:

Tín hiệu vào IOB có thể đợc đa vào trực tiếp từ các kênh kết nối (thông qua I1, I2 ở hình 2.6) hoặc từ đầu vào của thanh ghi Đầu vào thanh ghi có thể lập trình nh một sờn kích flip-flop hoặc

một mức chốt nhạy Sơ đồ khối đơn giản

của thanh ghi có thể xem ở hình 2.7

Vị trí thanh ghi phải đợc đặt phù hợp

với ký hiệu trong th viện Ví dụ, IFD là

đầu vào cơ bản của flip flop (sờn dơng)

-và ILD là chốt đầu -vào cơ bản Các mức

biến đổi với các xung nhịp đảo cũng có thể

sử dụng Tín hiệu xung nhịp đảo cũng đợc

trình bày trong hình 2.7 trên đờng tín hiệu

CK

Để cho thanh ghi thời gian thiết lập đầu vào ngắn hơn, với việc định thời dơng, gắn một bộ NODELAY hoặc đặc tính cho flip-flop

OUTPUT DRIVER Programmable Slew Rate Programmable TTL/CMOS Driver

INPUT BUFFER

D Q CLK

EC

D Q CLK

EC

Package Pad

Programable Pull-Up/

Pull – Down Networt Delay

Trang 39

Các đầu vào của Spartan II tơng thích với loại TTL và loại CMOS 3,3V Các I/O của Spartan II hoàn toàn ở mức 3,3V

Chuẩn

tín hiệu

Ghim nguồn VCC Điều khiển

đầu ra

V IH MAX

V IH MIN

V IH MAX

V IL MIX

V IH MAX

Chốt đầu vào “bắt giữ nhanh”

IOB của Spartan II có một tuỳ chọn bổ sung chốt ở đầu vào Tính năng chốt này đợc khoá bởi xung nhịp, đợc sử dụng khi đầu ra flip flop sớm hơn -xung nhịp đầu vào Do đó, hai xung nhịp khác nhau có thể đợc sử dụng để làm xung nhịp cho hai thành phần đầu vào lu trữ Tính năng chốt cho phép bắt giữ nhanh dữ liệu vào sau đó đồng bộ với xung nhịp bên trong bởi flip-flop trong IOB hoặc các mạch bộ chốt

Đờng dẫn tín hiệu ra IOB

Các tín hiệu ra có thể bị đảo tuỳ ý bên trong IOB và có thể trực tiếp đi qua

bộ đệm ra hoặc đợc lu trữ ở một xung kích dơng của flip-flop và đa tới bộ

đệm ra

Ghim Vcc ở Spartan II

Các FPGA Spartan II có một tùy chọn diode ghim nối từ mỗi I/O tới Vcc Khi các diode này thông chúng tạm thời ghi quay lại mức nguồn cung cấp 3,3V Mạch ghi này hoạt động đợc yêu cầu trong các ứng dụng PCI 3,3V Mạch ghim Vcc là tuỳ chọn mức ảnh hởng tới tất cả các chân I/O

Các thiết bị Spartan II tơng thích với TTL, LVTTL, PCI 3,3V, PCI 5V và tín hiệu LVCMOS Các tiêu chuẩn của các loại đợc minh hoạ ở bảng 2.1

Trang 40

-

Bộ chọn kênh đầu ra Bộ tạo hàm 2 đầu vào

Đờng ra ở IOB Spartan II bao gồm một bộ chọn kênh bổ sung, bộ này không có ở IOB Spartan Bộ chọn kênh cũng có thể đợc đặt cấu hình nh một

bộ tạo hàm 2 đầu vào, thực hiện một cổng cho qua, cổng AND, cổng OR hoặc cổng XOR với 0, 1, hoặc 2 đầu vào đảo

Khi đặt cấu hình nh một bộ chọn kênh thì đặc tính này cho phép 2 tín hiệu ra sử dụng đồng thời giống đệm đầu ra Lựa chọn đầu vào là chân đợc

sử dụng cho đầu ra xung

Bộ tạo hàm IOB đợc sử dụng bằng việc sắp đặt các ký hiệu đặc biệt trong th viện bắt đầu bằng chữ “O” Ví dụ một cổng AND 2 đầu vào trong bộ tạo hàm IOB đợc gọi bởi OAND2 Sử dụng ký hiệu chân đầu vào có nhãn “F” cho tín hiệu ở đờng khẩn Tín hiệu này đợc đặt trên chân OK đầu vào IOB - với độ trễ nhỏ nhất từ bộ

đầu ra Spartan II có thể lập trình riêng cho đầu ra 12mA hoặc 24mA

Một vài đầu ra thiết bị Spartan 5V đợc đặt cấu hình trong chế độ TTL có thể đợc đa tới các đầu vào của một vài thiết bị điển hình 3,3V

-Các bộ Pull up và Pull down: có thể lập trình pull up và pull down các

điện trở đợc sử dụng cho các loại chân không dùng để nối với Vcc hoặc Ground để giảm công suất và mật độ tạp âm Có thể cấu hình bộ pull up điện -trở là một bộ p kênh transistor đợc nối với Vcc

Cấu hình bộ pull down điện trở là một bộ n kênh transisor đợc nối vớ- i Ground Giá trị của các điện trở đó thờng từ 20KΩ - 100KΩ

Ngày đăng: 26/01/2024, 16:00

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

TÀI LIỆU LIÊN QUAN

w