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

Nghiên cứu thiết kế modul giảng dạy FPGA luận văn thạc sĩ

110 13 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,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu thiết kế modul giảng dạy FPGA luận văn thạc sĩ Nghiên cứu thiết kế modul giảng dạy FPGA luận văn thạc sĩ Nghiên cứu thiết kế modul giảng dạy FPGA luận văn thạc sĩ luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

B Ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

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 viên trường Cao đẳng Công nghiệp Hà nội – mạch báo chuông cho lớp học 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 VHDL: Bộ quốc phòng Mỹ (The US Department of Defence-DoD) đã hỗ trợ 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

FPGA (Field- Programmable Gate Array) Việc phân biệt giữa hai loại ASIC

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

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

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

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 hạn như cổng NAND, AND…) được gọi là thư viện nguồn Hầu hết các cô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

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 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 G1-G4

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ư set 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

Bảng 2.1: Các chuẩn vào ra của FPGA

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: 12/02/2021, 15:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. TS. Đặng Văn Chuyết (1996), Kỹ thuật điện tử số– NXB Khoa học kỹ thuật Khác
2. TS. Nguyễn Linh Giang (2003), Thiết kế mạch bằng máy tính, NXB Khoa học kỹ thuật Khác
3. Charles H.Roth. Jr (1999), Digital Systems Design Using VHDL, The University of Texas at Austin, PWS Publising Company Khác
4. Digital Design Theory and Practical (2000), Prentical Hall Khác
5. J.Mirkowski & M.Kapustka, EVITA – Enhanced VHDL Tutorial with Application, Evita Leaders Khác
6. The Programmable Logic Databook (1999) Khác
7. The Practical Xilinx Designer Labbook (1988), Prentical Hall Khác

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm