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 dòng Spartan II, tôi sử dụng chip XC2S100 thiết kế một bộ điều khiển báo chuông cho lớp học.. Tuy nhiên các tổ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Chuyªn ngµnh: ®iÖn tö – viÔn th«ng
Ng-êi h-íng dÉn khoa häc:
TS NguyÔn Nam Qu©n
Hµ néi - 2004
Trang 2Lê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 Nam Qu©n NÕu cã g× sai ph¹m, t«i xin chÞu hoµn toµn tr¸ch nhiÖm
Ng-êi lµm cam ®oan
Tèng V¨n Luyªn
Trang 3Mục lục
Trang
Lời cam đoan 1
Mục lục 2
Lời nói đầu 5
Ch-ơng 1: KháI niệm về mạch logic lập trình đ-ợc (Programmable Logic) 7
1.1 Những -u thế của thiết kế đ-ợc trợ giúp của máy tính và logic có thể lập trình (Computer-Aided Design and Programmable Logic) 7
1.2 Cấu trúc của thiết bị logic có thể lập trình đ-ợc 9
(Programmable Logic Architecture) 9
Ch-ơng 2: Giới thiệu về công ty Xilinxvà các sản phẩm của công ty 16
2.1 Giới thiệu về công ty Xilinx 16
2.2 Các dòng sản phẩm chính của Xilinx 16
2.2.1 Dãy các cổng logic lập trình đ-ợc theo tr-ờng 17
2.2.2 Các thiết bị logic phức hợp có thể lập trình đ-ợc 18
(CPLD: Complex Programmable Logic Devices) 18
2.2.3 Các sản phẩm phát triển hệ thống (Developmet System Products) 18
2.2.4 Các sản phẩm phần mềm của Xilinx 18
2.2.5 Giải pháp lõi (Core sollutions) 20
2.3 Giới thiệu sản phẩm Spartan II của Xillinx 21
2.3.1 Giới thiệu 21
2.3.2 Các đặc tr-ng của các dòng Spartan 21
2.3.3 Tổng quan về FPGA dòng Spartan II 22
2.3.4 Các kênh kết nối 30
2.3.5 Mạng kết nối tổng thể và các bộ đệm 33
2.3.6 Một số chức năng tiêu biểu của FPGA 34
2.3.7 Các tín hiệu chung 37
2.3.8 Đặt cấu hình và thử 39
2.3.9 Trình tự cấu hình 42
2.3.10 Đọc lại 43
2.4 Các chỉ tiêu kỹ thuật chi tiết Spartan II 43
2.4.1 Đánh giá giá trị tối đa Spartan II 43
2.4.2 Các điều kiện hoạt động của Spartan II 44
2.4.3 Vị trí các chân của XC2S100 44
2.4.4 Chức năng các chân của XC2S100 Spartan II 45
Trang 4Ch-ơng 3: giới thiệu một số ngôn ngữ mô tả phần cứng hdl (Hardware Description
Languages) 49
3.1 VHDL 49
3.1.1 Trình tự thiết kế (Design flow) 50
3.1.2 Cách mô tả một hệ thống trong VHDL: Các đơn vị thiết kế 52
3.1.3 Các đối t-ợng của VHDL 54
3.1.4 Thực thể (entity) 55
3.1.5 Cấu trúc của VHDL trong architecture 56
3.1.6 Xác định hoạt động của hệ thống với các quá trình (processes) 57
3.1.7 Các process trong một architecture 58
3.2 Ngôn ngữ Schematic Editor 58
3.2.1 Schematic Editor 58
3.2.2 Các chỉ tiêu kỹ thuật và biểu đồ thời gian 60
3.2.3 Phân tích và mô phỏng mạch (Circuit Anolysis and Sumilation) 60
3.2.4 Mạch cộng 1-bit 61
Ch-ơng 4: Thiết kế mạch báo chuông cho lớp học sử dụng FPGA XC2S100-Spartan II của Xilinx 66
4.1 Tổng quan về mạch báo chuông cho lớp học 66
4.1.1 Nhiệm vụ và yêu cầu 66
4.1.2 Sơ đồ khối và đặc điểm các khối 67
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 68
4.2.1 Phần mềm 68
4.2.2 Ngôn ngữ mô tả phần cứng 68
4.2.3 Phần cứng của mạch điện 68
4.3 Trình tự thiết kế với FPGA 70
4.4 Ch-ơng trình VHDL thực hiện các mạch chức năng 71
4.4.1 Mạch chia xung clock (clk_div) 71
4.4.2 Bộ đếm thời gian thực (counter) 73
4.4.3 Mạch giải mã LED 7 thanh (leddcd) 75
4.4.4 Mạch điều khiển chuông (bell_ctr) 79
4.4.5 Mạch tạo dao động âm tần 83
4.4.6 Mạch khuếch đại công suất âm tần 83
4.4.7 Sơ đồ nguyên lý mạch logic trong FPGA 84
4.4.8 Mạch báo chuông 85
Kết luận 87
Tài liệu tham khảo 88
Trang 6Lời nói đầu
Trong những năm gần đây công nghệ điện tử đã và đang phát triển nhảy vọt Các loại IC LSI, VLSI với khả năng tích hợp tới hàng triệu Transistor đã ra đời với nhiều ứng dụng khác nhau trong Công nghệ thông tin, Điện tử viễn thông, Tự động hoá không ngừng đáp ứng các nhu cầu của xã hội 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 Các FPGA và CPLD với khả năng tích hợp cao tới hàng triệu gate và cấu trúc mạch tối -u hoá mật độ tích hợp, hiệu suất cao cho phép xử lý nhanh số liệu, độ tin cậy và chất l-ợng cao, dễ sử dụng do đó đ-ợc ứng dụng rất đa dạng trong nhiều loại thiết bị
điện tử hiện nay
Trong khuôn khổ luận văn tốt nghiệp của tôi đ-ợc sự h-ớng dẫn, giúp đỡ của Tiến sỹ Nguyễn Nam Quân và Thạc sỹ Phạm Xuân Khánh Tôi mạnh dạn tìm hiểu
và nghiên cứu về công nghệ mới này 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 dòng Spartan II, tôi sử dụng chip XC2S100 thiết kế một bộ điều khiển 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: Tổng quát về thiết kế mạch số và các loại thiết bị logic lập trình
đ-ợc
Ch-ơng 2: Giới thiệu về công ty Xilinx và một số sản phẩm của công ty Đặc
biệt chú trọng đến dòng Spartan II với các đặc tr-ng tiên tiến, đồng thời mô tả một
số chỉ tiêu kỹ thuật cần thiết của XC2S100 cho phần thiết kế
Ch-ơng 3: Đề cập đến một số ngôn ngữ mô tả phần cứng (HDL) nh- VHDL và
Schematic
Trang 7Ch-ơng 4: Trình bày các b-ớc xây dựng một mạch điện tử báo chuông theo giờ,
sử dụng chíp XC2S100 họ Spartan II từ ý t-ởng thiết kế, xây dựng tập lệnh, mã đến thiết kế phần cứng thực tế
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 11 năm 2004
Ng-ời viết luận văn
Tống Văn Luyên
Trang 8Design and Programmable Logic)
Chúng ta có thể xây dựng các mạch số tới vài trăm cổng logic dùng các mạch tổ hợp cỡ nhỏ (SSI: Small-Scale-Integrated) và các mạch tổ hợp cỡ vừa (MSI: Medium-Scale-Integrated) Tuy nhiên các tổ hợp (IC Integrated Circuit) đ-ợc gắn lên các bảng chân cắm và dùng các dây nối với nhau hoặc sử dụng các bảng mạch mạch in (PCB: Printed Circuit Board) để thực hiện yêu cầu của thiết kế Trong nhiều tr-ờng hợp có những sai sót xảy ra hoặc một số khó khăn xảy ra nh-:
Tốn nhiều thời gian thiết kế, lắp ráp, cắt, nối dây, xử lý các sai sót do thiết kế, lắp ráp có thể xảy ra
Các loại IC yêu cầu cũng không phải khi nào cũng có sẵn hoặc đắt tiền
Khả năng mở rộng, thay đổi thiết kế khó và phức tạp vì phải thay đổi lại từ đầu quy trình thiết kế
Thêm vào đó còn có một số vấn đề liên quan đến các dụng cụ, thiết bị cũng sẽ
Trang 9Đối với các mạch tổ hợp phải bắt đầu với bảng chân lý, kiểm tra xem xét, hoặc tối thiểu hoá để chuyển hoá thành một mạch logic có hiệu quả Đối với các mạch tuần tự còn bao gồm các thông tin trạng thái trong Chúng ta phải làm các b-ớc để tạo ra bảng chuyển đổi trạng thái, thực hiện gán trạng thái Đây là điểm dễ gây ra lỗi khi thực hiện tất cả các công việc công việc một cách thủ công Các động tác mô phỏng hoạt động của mạch lại th-ờng không đầy đủ vì vậy có có thể có lỗi xuất hiện (có thể trầm trọng) và kết quả là mạch hoạt động không hoàn thiện
Các nhà thiết kế đã đ-a ra một thủ tục hoàn toàn khác khi thiết kế và xây dựng mạch Họ cũng sẽ bắt đầu với việc mô tả bằng bảng chân lý hoặc sơ đồ chuyển đổi trạng thái của một mạch logic Nh-ng sau đó các chi tiết cần thiết của mạch logic để xác định bảng chân lý đ-ợc thực hiện bởi 1 ch-ơng trình tổng hợp logic (logic-synthesis program) Hoạt động của mạch logic này đ-ợc kiểm tra bằng ch-ơng trình mô phỏng Nếu mạch mô phỏng chính xác thì các cổng, các dây nối đ-ợc vẽ vào trong một IC có các dãy cổng logic có thể lập trình theo tr-ờng (FPGA: Field Programmable Gate Arrays) hoặc các thiết bị logic phức hợp lập trình đ-ợc (CPLD: Complex Programmable Logic Devices) sử dụng các ch-ơng trình chuyên dụng nh- Fitter prorgam hoặc Place&Route prorgam Có thể gọi FPGA và CPLD là các thiết
bị logic có thể lập trình đ-ợc theo tr-ờng (FPLD: Field Programmable Logic Devices) Trong FPLD có các cổng logic và các công cụ cho kết nối bên trong (Interconnecting) chúng với một mạch tổ hợp đơn Các ch-ơng trình phần mềm (Software Program) quyết định làm thế nào để các cổng trong thiết bị có thể đ-ợc
Tự động
1 Đ-a ra các yêu cầu kỹ thuật
2 Xác định các đầu vào, đầu ra
Trang 10kết nối và xây dựng mạch logic mong muốn Đầu ra của ch-ơng trình là một file chuỗi bít cấu hình (Bitstream configuration file) để nạp vào FPLD, làm cho nó hoạt
động giống nh- một mạch logic FPLD đã đ-ợc nạp ch-ơng trình có thể đ-ợc sử để thực hiện các chức năng của nó Các dây nối, các công việc phụ đ-ợc thực hiện một cách hoàn toàn tự động
Hiện nay các máy tính không cần đắt tiền và phần mềm cho phép chúng ta thực hiện thiết kế các mạch số sử dụng các ch-ơng trình thiết kế trợ giúp bởi máy tính (CAD) và các FPLD, loại bỏ công việc vất vả cực nhọc từ việc thiết kế các mạch số
Điều này cho phép chúng ta tập trung hơn, quan tâm hoàn toàn đến việc tạo ra các linh kiện cho thiết kế logic Chúng ta có thể viết các ch-ơng trình logic trong ngôn ngữ mô tả phần cứng (HDL) sử dụng một bộ soạn thảo văn bản Text Editor hoặc bộ
vẽ mạch sử dùng Schematic Editor HDL hoặc Schematic đ-ợc dịch bởi ch-ơng trình CAD để tạo ra các mạch logic chi tiết nhằm thực hiện các hoạt động đã đ-ợc xác định trong ch-ơng trình Một ch-ơng trình trong PC mô phỏng mạch, bảo đảm cho mạch hoạt động chính xác Sau đó bản thiết kế đ-ợc nạp vào FPLD
Nh- vậy sử dụng các ch-ơng trình CAD và FPLD cho phép:
Xây dựng thiết kế nhanh hơn bởi vì đã tối thiểu hóa các công việc nh- nối dây Tránh đ-ợc các lỗi lắp đặt
Các bản thiết kế đ-ợc l-u giữ d-ới dạng Electronics files và có thể gọi ra khi nào cần
Có thể thí nghiệm trên nhiều loại chips mà không cần sự có mặt của chúng bởi một th- viện đầy đủ sẵn có
Tránh hoặc dễ dàng sửa lỗi thiết kế nếu có
Dành nhiều thời gian để thiết kế các dự án lớn hơn bởi nhiều thủ tục trình tự dài dòng đ-ợc thực hiện tự động, nh- b-ớc 4 đến b-ớc 7 hình 1.1
1.2 Cấu trúc của thiết bị logic có thể lập trình đ-ợc (Programmable Logic Architecture)
Một vấn đề đặt ra là làm thế nào để các FPGA và CPLD có thể đ-ợc nạp các ch-ơng trình điện tử để thực hiện bất cứ hàm logic nào
Thực tế các thiết bị đó đ-ợc phát triển từ các thiết bị dãy các cổng logic lập trình
đ-ợc (PLA:Programmable Logic Array Devices) từ đầu những năm 1970 Cấu trúc của một PLA nh- (hình 1.2) Bao gồm những cụm cổng AND (AND gates), cổng
OR (OR gates) và các bộ đảo (Inverters) đ-ợc kết nối bên trong thông qua các chuyển mạch có thể lập trình đ-ợc (Programable Switch Arrays) Trong PLA các
đầu vào và đảo của nó đ-ợc dẫn đến một dãy AND (AND array) bằng các dây nối
Trang 11ngang Các dây nối dọc trong dãy AND là các đầu vào đến 1 dãy cổng AND Các cổng AND nhận tín hiệu vào bởi các dây ngang và dọc qua các điểm nối trong dãy AND Nh- vậy cổng AND bên trái nhận giá trị A và C, cổng AND bên phải nhận giá trị AB
Dãy OR có chức năng t-ơng tự với dãy AND
Các dây nối ngang của dãy OR chứa kết quả từ các cổng AND đ-a vào dãy OR Chúng đ-ợc nối với các dây dọc là đầu ra cuả các cổng AND và đ-a vào đầu vào của các cổng OR Kết quả là tổng các tích có thể đ-ợc tạo ra tại từng đầu ra của PLA
Các nhà thiết kế cũng đã đ-a ra một cấu trúc đơn giản hơn gọi là logic dãy có thể lập trình (PAL: Programmable Array Logic) Cấu trúc PAL nh- hình 1.3
Hình 1.3: Mạch PAL
A B C D
Feedback Terms
AND arrays
A B C D
AND arrays
AC+CD ABD+AB
OR arrays
Hình1.2 : Mạch PLA
Trang 12Các mảng OR đ-ợc cố định bởi các cổng AND gate và OR cổng, do đó có thể lập ch-ơng trình để tạo thành bất cứ sản phẩm logic tổ hợp nào muốn Thêm vào đó
đầu ra hồi tiếp của PAL về đầu vào dãy AND đ-ợc sử dụng để xây dựng các hàm logic
Các mạch PLA và PAL rất tốt cho logic tổ hợp Nh-ng không thể dùng cho logic tuần tự nếu không cộng thêm các Flip-Flops bên ngoài Khi các Flip-Flops đ-ợc ghép vào PAL thì mạch đ-ợc gọi là thiết bị logic giản đơn lập trình đ-ợc (SPLD: Simple Programmable Logic Devices) nh- hình vẽ 1.4
Trong hình vẽ này các bộ dồn kênh (Multiplexer) đ-ợc cộng với từng đầu ra để chọn đầu ra hoặc Flip-Flop hoặc tổ hợp Các Flip-Flop, Multiplexer, cổng AND, cổng OR điều khiển từng đầu ra đ-ợc hiểu nh- một tế bào lớn (macrocell) Các model SPLD có nhiều kiểu cấu trúc mạch có thể lập trình đ-ợc với nhiều ph-ơng án (option) có thể lựa chọn nhằm làm tăng lợi ích của chip
Các mạch PLA, PAL, SPLD vẫn còn phải lắp đặt trên 1 bảng mạch in (PCB) và kết nối giữa chúng với nhau và các linh kiện khác Nếu một lỗi nhỏ xuất hiện với bảng mạch thì các thiết bị logic lập trình đ-ợc trên bảng mạch có thể phải thay thế cùng với các thiết bị lập trình lại đ-ợc Tuy nhiên các lỗi lớn chỉ có thể đ-ợc khắc phục bằng cách thay đổi từng b-ớc kiểu kết nối các chíp với nhau Từ vấn đề đó các nhà thiết kế đã kết hợp vài SPLD vào trong một IC đơn để tạo ra các thiết bị logic phức hợp lập trình đ-ợc (CPLD: Complex Programmable Logic Devices) Loại CPLD XC95108, dòng XC9500 của Xilinx là một ví dụ (hình 1.5)
Trang 13XC95108 chứa 6 khối chứ năng có thể thể lập trình đ-ợc (CFB: Configurable Function Blocks) mà mỗi CFB t-ơng đ-ơng với 18 macrocells của SPLD 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ừ 6 x
18 = 108 macrocell đó đ-a vào ma trân chuyển mạch Nhiều hàm logic 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
Một kiến trúc xen kẽ cũng đã đ-ợc tìm thấy trong mảng cổng logic có thể lập trình theo tr-ờng (FPGA: Field Programmable Gate Array) Khối xây dựng cơ bản của FPGA là bảng tìm kiếm (LUT: Lookup Table)
Bảng LUT giống nh- một bảng AND có thể lập trình đ-ợc Khi nạp vào đầu vào các tổ hợp nhị phân, các bít nhớ chứa trong bộ nhớ sẽ đ-a ra kết quả Kết quả sẽ là 1 khi tất cả các đầu vào của LUT là 1
Một bảng LUT điển hình có chỉ 4 đầu vào và một bộ nhớ nhỏ chứa 16 bit Tổ hợp nhị phân đầu vào (ví dụ 0101) sẽ hợp với địa chỉ của 1 bit nhớ riêng và tạo ra giá trị đầu ra của nó là 0 nh- hình vẽ 1.6
Trang 14Bất cứ hàm logic 4 đầu vào nào đều có thể xây dựng bằng cách lập trình bộ nhớ LUT với các bit thích hợp
Trong các FPGA của Xilinx dòng XC 4000 (XC 4000 series), có 3 bảng LUT
đ-ợc nối với 2 Flip-Flop và cộng với vài mạch lái để tạo ra một CLB (chi tiết của CLB sẽ đ-ợc trình bày chi tiết ở ch-ơng 2) nh- hình 1.7
Hình 1.6: Một bảng LUT 4 đầu vào
Trang 15Hình 1.7: Một CLB trong FPGA của Xilinx
Sau đó các CLB đ-ợc sắp xếp thành một dãy với các ma trận chuyển mạch có thể lập trình (PSM: Programmable Switch Matrices) giữa các CLB nh- hình 1.8
Of H ’
F ’ ,G ’ and H1
CONTROL
S/R CONTROL 4
PSM PSM
PSM PSM
PSM PSM
PSM PSM PSM PSM
PSM PSM
PSM PSM
PSM PSM PSM PSM
PSM PSM
PSM PSM
PSM PSM
PSM PSM
PSM PSM PSM PSM
PSM PSM
PSM PSM
PSM PSM PSM PSM
PSM PSM PSM
PSM PSM
I/O pin
I/O pin
I/O pin
I/O pin
Hình 1.8: Ma trận PSM
Trang 16Các PSM t-ơng tự nh- ma trận chuyển mạch kết nối nhanh (Fast Connect Switch Matrix) trong CPLD CX9500 và đ-ợc sử dụng để tạo đầu ra từ các CLB gần nhau tới các đầu vào của một CLB Các chân ra của FPGA đ-ợc gắn với các PSM và CLB hoặc thậm chí có thể đ-ợc gắn với ma trận định tuyến (Routing Matrix) Hầu hết các FPGA đều có nhiều CLB hơn các chân vào ra Vì vậy từng CLB không thể có sự nối trực tiếp với bên ngoài nh- các macrocells trong 1 CPLD
Ví dụ chíp X4005XL của Xilinx có 196 CLB trong 14x14 mảng nh-ng chỉ có
64 đầu vào ra khi đóng vỏ với 84 chân PLCC (Plastic-Leading Chip Carrier)
Câu hỏi logic đặt ra là làm thế nào mà bộ các Switch đó lại tạo kết nối trong các thiết bị lập trình đ-ợc?
Tất cả các dây nối trong PLA, PAL, SPLD, CPLD và FPGA là bên trong IC vì vậy không thể kết nối với nhau theo ph-ơng pháp vật lý, ngoại trừ sự kết nối là đ-ợc thực hiện bằng ch-ơng trình Với các phiên bản (version) tr-ớc của thiết bị logic lập trình đ-ợc, các dãy chuyển mạch (Switch Array) đ-ợc chế tạo với các cầu chì tại các
điểm nối (cross point) nh- tất cả đầu vào đ-ợc nối với từng cổng Logic Một điện áp cao đ-ợc đặt vào các dây nối ngang và nối dọc Điện áp cao sẽ đốt cháy đứt cầu chì tại điểm nối giữa 2 dây Hoạt động này đ-ợc thực hiện nhiều lần cho đến khi toàn bộ các kết nối không mong muốn bị phá bỏ Kết thúc quá trình chỉ có những kết nối cần thiết để xây dựng những chức năng logic mong muốn là tồn tại
Tuy nhiên bất lợi của cầu chì là chỉ đ-ợc một lần đứt Vì vậy nếu có một lỗi xuất hiện thì các thiết bị lập trình đ-ợc đó phải bỏ đi và thay vào một cái mới Sẽ thuận lợi hơn và rẻ tiền hơn nếu các kết nối có thể xóa đ-ợc và lập trình lại đ-ợc Đó chính
là những -u điểm chính của các CPLD và FPGA của Xilinx Chúng chứa các chuyển mạch có thể lập trình lại đ-ợc Từng chuyển mạch thì đ-ợc điều khiển bởi một phần
tử nhớ để ghi lại chuyển mạch đó hoặc đ-ợc đóng hoặc đ-ợc mở
Sự thay đổi giá trị trong các phần tử nhớ làm thay đổi trạng thái của các chuyển mạch và làm thay đổi các chức năng của thiết bị lập trình đ-ợc Các chuyển mạch
đó đ-ợc lặp đi lặp lại nhiều lần để tiến hành các thiết kế mới hoặc sửa lỗi thiết kế, loại trừ sự cần thiết phải mua một thiết bị có thể lập trình đ-ợc (Programmable Device) mới cho từng thiết kế
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ị l-u giữ đ-ợc ch-ơng trình của nó ngay cả khi cắt nguồn
Đối với FPGA dùng RAM l-u giữ do đó cần nạp lại ch-ơng trình mỗi lần khi nguồn
Trang 17Ch-ơng 2
Giới thiệu về công ty Xilinx
và các sản phẩm của công ty
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 2003 Xilinx đ-ợc đánh giá là công
ty xếp thứ 4 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
2.2 Các dòng sản phẩm chính của Xilinx
FPGA và CPLD có thể đ-ợc sử dụng chính thức trong bất cứ hệ thống logic số nào Hơn 50 triệu dụng cụ đ-ợc sử dụng với nhiều ứng dụng đa dạng trong các loại thiết bị: từ các siêu máy tính đến các dụng cụ cầm tay, từ các chuyển mạch trung tâm đến các máy ly tâm, từ hệ thống điều khiển, h-ớng dẫn phóng tên lửa đến các nhạc cụ…
Trang 18Xilinx đã đạt đ-ợc vị trí dẫn đầu thông qua việc tiếp tục cung cấp giải pháp sản xuất tổng thể FPGAs và CPLDs đ-ợc thiết kế sản xuất và kiểm tra nhanh chóng và sớm đ-a ra thị tr-ờng với nhiều mức tích hợp cao, không mạo hiểm và tốn kém Với cấu trúc mạch tối -u hóa mật độ cao nhất, hiệu suất cao nhất Quá trình xử lý số liệu nhanh, độ tin cậy và chất l-ợng cao, mạch dễ sử dụng, đ-ợc tích hợp nhiều dòng sản phẩm khác nhau
2.2.1 Dãy các cổng logic lập trình đ-ợc theo tr-ờng
(FPGA: Field Programmable Gate Array)
FPGA là những thiết bị đặc tr-ng với kiến trúc nh- một mảng cổng logic với một ma trận các tế bào logic đ-ợc bao quanh bởi một sự kết nối của các tế bào vào/ra
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
Hình 2.1: Cấu trúc FPGA của Xilinx
Trang 192.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 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 20a) Foundation Series
Foundation Series cung cấp đầy đủ yêu cầu cho thiết kế với một môi tr-ờng sử dụng dễ dàng Nó tích hợp đầy đủ bộ công cụ cho phép ng-ời sử dụng truy nhập Design Entry, Synthesis, Implementation và Simulation tools Các b-ớc trong quá trình thiết kế đ-ợc sửa hoàn hảo, các thanh công cụ graphic, toolbar, icon và các menu h-ớng dẫn t-ơng tác và online hepl toàn diện
Các đặc tr-ng của dòng FPGA là cung cấp các chuẩn dựa trên thiết kế dùng HDL Toàn bộ các cấu hình cung cấp ngôn ngữ ABEL đại chúng, với các ch-ơng trình dịch đ-ợc, tích hợp đ-ợc tối -u hoá cho từng mục đích xây dựng Cấu hình HDL bao gồm VHDL/Verilog Synthesis từ Synopsys với Tutorial và thiết kế đồ hoạ (graphic) HDL, công cụ (tools) giúp cho từ ng-ời mới sử dụng đến các chuyên gia
đ-ợc nhanh chóng, dễ dàng
Sau đây là một số đặc tr-ng cơ bản:
On-line Tutorial cho biết kỹ xảo của thiết kế VHDL
Bộ soạn thảo HDL (HDL Editor) cung cấp mã màu, kiểm tra cú pháp, xác định lỗi, gỡ rối VHDL, Verilog và thiết kế ABEL
Bộ soạn thảo theo biểu đồ trạng thái (Graphic State Mechanic Editor) làm cho sự thiết kế đơn giản, các biểu đồ phức tạp trở nên đơn giản và trực quan
Ngôn ngữ HDL đ-ợc cung cấp các th- viện với các chức năng phổ biến với HDL
đọc bản vẽ (Schematic Capture), thiết kế dựa trên module (Module- Based Design)
và các giải pháp thiết kế HDL với các giao diện thiết kế cơ bản bao gồm EDIF, VITAL, VHDL, Verilog và SDF, Series này mang lại sự linh hoạt nhất, cơ động và
sử dụng lại thiết kế
Sự tích hợp chất l-ợng của các nhà cung cấp EDA dẫn đầu nh- ALDEC, Exemplar, Candevice Meatorgraphic, Model Technology, Orcad, Synopsys, Synplicity, Veribest và VIEW logic cung cấp các môi tr-ờng chặt chẽ với nhau đã tạo cho nó dễ dàng hoạt động thông qua từng thiết kế và thông qua sự cung cấp liên tục đều đặn
Trang 21Alliance Series bao gồm một bộ nâng cao gồm các đặc tr-ng dễ dàng sử dụng quản lý thiết kế, thiết kế trình tự (flow engine), cung cấp tài liệu trực tuyến (online documentation) và giải đáp số liệu (answer database) Bên cạnh đó Alliance Series còn bao gồm bộ công cụ bổ sung hoàn chỉnh và mạnh, logic Box, Intergrated EDA Vendor cung cấp đầy đủ một bộ tối -u hóa gate - level mạnh Các th- viện HDL Synthesis, VHDL và Verilog nối thông tin đồng bộ và biên dịch thông qua một chuẩn Netlist Các công cụ đó cung cấp hoàn chỉnh hình ảnh về ph-ơng pháp luận thiết kế mật độ cao từ tự động hoàn toàn đến thủ công
2.2.5 Giải pháp lõi (Core sollutions)
a) Cơ sở giải pháp lõi
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
Xilinx đã mang đến FPGA họ Spartan 3 có mật độ sử dụng lên tới 5M cổng để
có thể thích nghi đ-ợc với các IP core lớn Hiện nay nó không chỉ là sự sử dụng các hàm logic định nghĩa tr-ớc trong khả năng phân logic ch-ơng trình, nó mang đến nhu cầu chu kỳ phát triển sản phẩm ngày càng ngắn
Kết quả nhiều nhà cung cấp ASIC core và các nhà thiết kế hệ thống đang bắt đầu chú ý về việc sử dụng core cho các thiết kế logic ch-ơng trình Lý do vì Xilinx đã tạo ra các sản phẩm Core Solutions
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
b) Các sản phẩm Core Solutions
Các sản phẩm Core Solutions đã cung cấp cho 4 lĩnh vực ứng dụng chính đó là: BUS dẫn giao diện chuẩn nh- là: PCI, PCMCIA, USB, Plug and Play, ISA… Hàm DSP: Các chức năng này đ-ợc liệt kê từ các khối thiết lập nh- là bộ trộn mã, các thanh ghi, bộ nhân cho tới chức năng hệ thống mức lớn hơn nh- bộ lọc FIR,
hệ mã và giải mã Reed-Solomo, …
Trang 22Viễn thông và mạng liên kết: Xây dựng các khối cho các chuẩn thông tin viễn thông và mạng thông dụng
Các chức năng ở mức cơ bản: Một category các chức năng đ-ợc sử dụng cho nhiều mảng ứng dụng Những mảng này bao gồm rất nhiều các tham số nhỏ trong LogiBLOX macros đến các chức năng lớn nh- là các bộ điều khiển UART và DMA, các bộ vi xử lý, các giao diện ghép nối và điều khiển, …
Ngoài ra Xilinx còn một số sản phẩm nổi tiếng nh- các thiết bị HardWire, các thiết bị có thể độ tin cậy cao High-Reliability
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
* 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:
Trang 23* 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)
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.1
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
Trang 24a) 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 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.2
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ử 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
Một bộ tạo hàm thứ 3 (H-LUT) 3 đầu vào có thể thực hiện và chức năng hàm Boole của 3 đầu vào Hai trong 3 đầu vào đ-ợc điều khiển bởi các bộ chọn kênh lập trình đ-ợc Các đầu vào đó có thể đ-ợc nối từ các đầu ra của F-LUT hoặc G-LUT hoặc từ các đầu vào của CLB Đầu vào thứ 3 luôn đ-ợc đ-a tới từ một đầu vào của CLB Do đó, CLB chắc chắn thực hiện các chức năng của tổ hợp 9 đầu vào, ví dụ nh- bộ kiểm tra chẵn lẻ Ba bộ LUT trong CLB cũng có thể đ-ợc kết hợp để làm vài
định nghĩa hàm Boole riêng của 5 đầu vào
Trang 25Các Flip-flop
Mỗi CLB chứa 2 flip-flop, 2 flip-flop đó có thể dùng làm thanh ghi (l-u trữ) các
đầu ra của bộ tạo hàm Các flip-flop và các bộ tạo hàm có thể đ-ợc sử dụng độc lập nh- hình 2.3
Of G1-G4
Of F1-F4
Of H F,H,H 1
GND
SR
Hình 2.3: Sơ đồ khối chức năng của Flip-Flop trong CLB
Trang 26Đầu vào DIN của CLB có thể đ-ợc dùng nh- một đầu vào trực tiếp của một trong hai flip-flop H1 cũng có thể đ-ợc đ-a tới một trong hai flip-flop thông qua H-LUT với một độ trễ nhỏ cộng thêm
Hai flip-flop có chung tín hiệu xung nhịp (CK), tín hiệu xung nhịp cho phép (EC) và các đầu vào Set/Reset (SR) Ruột của cả 2 flip-flop cũng bị điều khiển bởi một tín hiệu GSR (Global Initialization Signal)
Các mạch chốt (Latchs)
Các thành phần đ-ợc chứa trong CLB của Spartan II cũng có thể đ-ợc đặt cấu hình nh- một bộ chốt Hai bộ chốt có chung 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)
Đ-ờ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)
Trang 27
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.2 và hình 2.4) đ-ợ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 (C1C4 ở hình 2.4) 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
b) 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.5 minh hoạ một chức năng đơn giản của IOB
Đ-ờ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
Trang 28nh- 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.6
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.6 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 29Các đầu vào của Spartan II t-ơng thích với loại TTL và loại CMOS 3, 3 V 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
LVCMOS3V Cho phép 12/24mA 3.6 50%
Bảng 2.2.: Các chuẩn vào ra của FPGA
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 hoàn toàn I/O với loại logic TTL 5V nếu mạch ghim Vcc thông Với mạch ghim Vcc đ-ợc cho phép thì các thiết bị Spartan II
sẽ bắt đầu ghim các điện áp đầu vào từ một điện áp rơi trên diode trên mức Vcc, độ dung sai I/O 5V bị loại bỏ Ng-ời sử dụng có thể chọn độ dung sai 5V (mặc định)
Trang 30hoặc t-ơng thích PCI 3,3 V Trong cả hai cách chọn đó điện áp âm bị ghim từ một
điện áp rơi trên diode thấp hơn điểm đất
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.2
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ộ tạo hàm Ví dụ đ-ợc trình bày ở hình 2.7
Bộ đệm đầu ra
Một mạch 3 trạng thái với mức tích cực cao có thể đ-ợc dùng để đặt ở đầu ra bộ
đệm trong trạng thái trở kháng cao, mạch này thực hiện 3 trạng thái ra hoặc hai h-ớng I/O D-ới cấu hình điều khiển thì đầu ra (O) và đầu các tín hiệu 3 trạng thái (T) có thể bị đảo Cực tính của các tín hiệu đó không phụ thuộc vào cấu hình của mỗi IOB nh- hình 2.7 Tất cả các đầu ra thiết bị Spartan II đ-ợc đặt cấu hình nh- các đ-ờng dẫn CMOS Các đầ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
Trang 31cô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
Set/Reset
Cũng nh- các thanh ghi CLB, tín hiệu GSR có thể đ-ợc dùng để thiết lập hoặc xoá đầu vào, ra của các thanh ghi, các đầu vào ra này phụ thuộc vào giá trị của thuộc tính INIT Hai flip-flop có thể đ-ợc đặt cấu hình riêng để thiết lập hoặc xoá trên chân Reset Việc chọn Set hoặc Reset cung cấp từ cả hai trạng thái ban đầu của flip- flop và đáp ứng từ xung GSR
Các xung nhịp độc lập
Chia rẽ các tín hiệu để đ-a tới đầu vào (IK) và đầu ra (OK) của các flip- flop Xung nhịp có thể đảo độc lập cho mỗi flip-flop bên trong IOB, phát s-ờn d-ơng hoặc s-ờn âm để kích các flip- flop Các đầu vào xung nhịp của mỗi IOB là độc lập Common CLock Enables
Đầu vào và đầu ra của mỗi flip-flop trong mỗi IOB có một đầu vào xung nhịp cho phép chung, điều này đ-ợc đặt thông qua cấu hình, có thể đặ riêng cho đầu vào,
đầu ra Xung nhịp cho phép hoạt động chính xác nh- tín hiệu EC ở CLB trong các dòng Spartan Tín hiệu này không thể bị đảo trong IOB
Thanh ghi 3 trạng thái
Các thiết bị Spartan II tổ chức thành một thanh ghi tuỳ chọn điều khiển mức cho phép mạch 3 trạng thái trong các IOB Việc sử dụng thanh ghi điều khiển mạch 3 trạng thái có thể cải thiện quan trọng đầu ra và thời gian cho phép
2.3.4 Các kênh kết nối
Tất cả các kênh kết nối bên trong là sự sắp xếp của các đoạn dây nối với khả năng lập trình tiếp điểm và các ma trận chuyển mạch để thực hiện các kết nối mong muốn Một cấu trúc phân cấp ma trận của các kênh kết kết nối đáp ứng đ-ợc việc kết nối tự động Mô tả các kênh kết nối có trong các thiết bị Spartan nh- trong hình 2.8
Phần mềm thực hiện tự động gán các tài nguyên cho phù hợp dựa trên mật độ và thời gian các yêu cầu kết nối
Các kênh kết nối đ-ợc mô tả nh- sau:
Các kênh kết nối ở CLB chạy dọc theo mỗi hàng và mỗi cột của mảng CLB Các kết nối ở IOB có dạng một vòng chạy xung quanh bên ngoài của mảng CLB Nó kết nối I/O với các kênh kết nối CLB
Trang 32Kết nối chung bao gồm thiết kế đ-ợc dành cho các mạng chủ để phân phối các xung nhịp thông qua các thiết với độ trễ và độ lệch tối thiểu
a) Các kênh kết nối CLB
Các kênh kết nối xung quanh CLB thì thu đ-ợc từ 3 kiểu nối thông: nối đơn, nối
đôi và nối dây dài ở sự kết nối của từng kênh định tuyến ngang và dọc cấu trúc mạng điều khiển thực hiện đ-ợc chứa trong một ma trận chuyển mạch ch-ơng trình (PSM) Hình 2.8 biểu diễn kênh định đ-ờng cơ bản gồm nối đơn, nối đôi, nối dây dài cũng nh- PSM và CLB Giao diện kết nối cơ bản thì biểu diễn nh- giao diện PSM ở trong kênh kết nối thông
Giao diện CLB: Các tín hiệu đầu vào CLB thì đ-ợc phân chia một cách giống nhau trong cả bốn chiều lớn nhất một cách mềm dẻo Tổng quát cấu trúc mạng thì
Đầu vào K thì đ-ợc dành riêng cho toàn bộ các đ-ờng ngang cũng nh- 4 dây
đơn đầu dài và bên trạng thái CLB các tín hiệu CIN/COUT thì đ-ợc kết nối đ-ờng
Hình 2.8: Sơ đồ khối chung của các kênh kết nối trong CLB
Trang 33thông qua thực hiện kết nối giao diện, việc thực hiện kết nối này không là gì với cấu
trúc kết nối tổng thể Các tín hiệu đầu ra từ CLB thì có thể điều khiển cả hai kênh
dọc ngang
Ma trận kết nối:
Các đ-ờng dây ngang và dọc, đơn và đôi giao nhau trong một hộp đ-ợc chứa
đựng trong một ma trận chuyển mạch ch-ơng trình Mỗi PSM gồm ch-ơng trình có
thể lập trình đ-ợc thông qua transistor sử dụng để thiết lập kết nối giữa các đ-ờng
nh- hình 2.9
Hình 2.9 Ma trận kết nối trong FPGA
Một ví dụ: Khi cho một tín hiệu đơn có độ dài đơn vào bên phải của ma trận
chuyển mạch có thể đ-ợc định đ-ờng tới một dây đơn ở bên trên, trái, d-ới, hoặc
một vài tổ hợp của nó nếu tổng các nhánh cần có đ-ợc Đơn giản hơn là một tín hiệu
có chiều dài đơn có thể đ-ợc định tới một đ-ờng có độ dài kép trong một vài hoặc
tất cả 3 mép khác nhau của ma trận chuyển vị có thể lập trình đ-ợc Các đ-ờng dây nối đơn:
Các đ-ờng chiều dài đơn cung cấp kết nối thông một cách mềm dẻo nhất và đem
lại sự định đ-ờng nhanh giữa các khối kề cận Có 8 đ-ờng đơn dài dọc và 8 đ-ờng
đơn dài ngang đ-ợc kết hợp với từng CLB Nó đ-ợc kết nối với ma trận chuyển
mạch mà ma trận chuyển mạch này thì đ-ợc định vị trong từng hàng và từng cột của
CLB
Các đ-ờng dây nối đôi:
Đ-ờng dài đôi chứa một l-ới các đoạn kim loại độ dài bằng hai lần dây đơn
Chúng chạy qua hai CLB tr-ớc khi vào một PSM Đ-ờng đôi thì đ-ợc gộp trong một
cặp xoắn với PSM đ-ợc đảo từng đ-ờng đi qua một PSM trong từng hàng, cột của
CLB
Có 4 đ-ờng đôi ngang và bốn đ-ờng đôi dọc đ-ợc kết nối với từng CLB Các
đ-ờng này cung cấp sự định đ-ờng tín hiệu nhanh hơn v-ợt khoảng cách trung gian,
trong khi duy trì sự định đ-ờng mềm dẻo
Hình 2.9
Trang 34Các đ-ờng dây nối dài
Các đ-ờng dây nối dài có dạng l-ới gồm các đoạn dây dẫn kim loại kết nối bên trong theo chiều ngang hoặc chiều dọc của mảng Đ-ờng dây dài dành cho các đầu
ra cao, cácmạng tín hiệu đồng bộ thời gian hoặc các mạng đ-ợc phân bố với khoảng cách dài
Mỗi đ-ờng dây nối dài Spartan Series có một bộ chuyển mạch riêng rẽ có thể lập trình tại trung tâm Chuyển mạch này có thể phân chia thành hai kênh dẫn độc lập, mỗi kênh chiếm một nửa chiều rộng hoặc chiều cao của mảng nh- hình 2.9
Các đ-ờng nối dài cũng nh- giao diện tới một số bộ trễ trạng thái 3, bộ trễ này
đ-ợc miêu tả sau “3-State Long Line Drivers”
Spartan có các mạng tổng thể đ-ợc thiết kế phân tán xung clock và các tín hiệu
điều khiển trong suốt cẩ thiết bị với sai số nhỏ nhất 4 đ-ờng dây nối ngang trong từng cột đ-ợc điều khiển từ các bộ đệm tổng thể riêng Chúng cùng với các dây nối theo chiều dọc dùng làm các kết nối bên trong Các đ-ờng dây này đ-ợc truy nhập
từ bất cứ 8 mạch 3 trạng thái tổng thể nào Các chân clock của từng CLB và IOB cũng có thể bắt nguồn từ vị trí kết nối bên trong
Hình 2.10: Phân bố mạng tổng thể của Spartan
Trang 352.3.6 Một số chức năng tiêu biểu của FPGA
FPGA có một số chức năng tiêu biểu rất thuận lợi cho ng-ời sử dụng nh- RAM, cờ nhớ logic, bộ điều khiển 3 trạng thái, bộ dao động nội, quét biên
Cấu hình cổng đơn 16x1 có một dãy RAM với 16 vị trí Một bộ giải mã địa chỉ 4 bit xác định vị trí RAM cho các hoạt động ghi và đọc Có một đầu vào cho ghi dữ liệu, một đầu ra cho đọc dữ liệu
Cấu hình cổng đơn (16x1)x2 kết hợp 2 cấu hình cổng đơn 16x1 Một bộ giải mã
địa chỉ xác định vị trí cho từng dãy Có một đầu vào cho ghi dữ liệu, một đầu ra cho
đọc dữ liệu
Cấu hình cổng đơn 32x1 có một dãy RAM với 32 vị trí Có một đầu vào cho ghi dữ liệu và một đầu ra cho đọc dữ liệu, một bộ giải mã địa chỉ 5 bit xác định vị trí RAM cho các hoạt động ghi và đọc
Hình vẽ 2.11: Sơ đồ logic của RAM cổng đơn
Cấu hình cổng kép đơn 16x1 có một dãy RAM với 16 vị trí Có 2 bộ giải mã địa chỉ 4 bit xác định vị trí RAM cho các hoạt động ghi và đọc, một cho từng cổng một cổng bao gồm 1 đầu vào để ghi và một đầu ra để đọc Có một đầu vào cho ghi dữ liệu, và một đầu ra cho đọc dữ liệu Cổng còn lại là một đầu ra dành cho đọc từ bộ chọn địa chỉ độc lập Sơ đồ logic của RAM cổng đơn nh- hình 2.11
WRITE COLTROL
READ OUT
Trang 36Khởi tạo RAM khi cấu hình cho FPGA
Cả RAM và ROM đều đ-ợc khởi tạo trong khi cấu hình cho thiết bị Nội dung khởi tạo đ-ợc định nghĩa theo một thuộc tính INIT hoặc sở hữu gắn liền với RAM hoặc ROM Nếu không định nghĩa tất cả RAM đ-ợc thiết lập về zero Thiết lập RAM chỉ xuất hiện khi cấu hình cho thiết bị Nội dung của RAM không bị ảnh h-ởng bởi GSD
b) Khối logic nhớ nhanh
Từng F-LUT đều có khối logic số học để tạo ra cờ logic cùng các tín hiệu Đầu
ra phụ này đ-ợc đ-a đến bộ tạo hàm trong CLB kề bên Chuỗi cờ độc lập với nguồn
định tuyến thông th-ờng
Khối logic nhớ nhanh tăng hiệu quả việc thực hiện của bộ cộng, bộ trừ, bộ tích luỹ, bộ so sánh và bộ đếm Nó cũng mở rộng đối với nhiều ứng dụng liên quan đến phép toán số học, các phép tính bù địa chỉ trong Vi xử lý hoặc các hệ thống Graphic
và trong xử lý tín hiệu số
Hai bộ tạo hàm 4 bit có thể đ-ợc cấu hình nh- một bộ cộng 2 bit với cờ đ-ợc ẩn sẵn có thể đ-ợc mở rộng bất cứ độ dài nào Mạch nhớ này rất nhanh và hiệu quả đối với các ph-ơng pháp làm nhanh tốc độ nh- phát sinh nhớ/lan truyền… thậm chí nh- mức 16 bit và xấp xỉ nh- mức 32 bit
Khối logic nhớ nhanh là một trong những đặc tr-ng quan trọng của Spartan Series
A[n-1:0]
4 A[3:0]
WE
D WCLK
READ OUT
WRITE
16 x 1 RAM
Trang 37Hình 2.13 là một logic nhớ Logic nhớ chia toán hạng và điều khiển đầu vào với các bộ tạo hàm, tại nơi mà chúng đ-ợc kết hợp với các toán hạng để tạo thành các phép toán số học
c) Các bộ điều khiển 3 trạng thái
Một cặp bộ đệm 3 trạng thái BUFT (3-state buffer) đ-ợc kết hợp với từng CLB trong từng dãy Các BUFT này có thể đ-ợc sử dụng điều khiển tín hiệu lên các tuyến dây nối dài, gần nhất ở trên và d-ới PCB Chúng có thể đ-ợc sử dụng để thực hiện phân kênh hoặc các bus 2 chiều trên các dây nối dài, an toàn cho nguồn logic Có một weak keepertại đầu cuối của 2 dây nối này Mạch này tránh thả nổi, không xác
định mức logic nào cả cho đ-ờng dẫn
d) Bộ dao động nội
Các thiết bị của Spartan bao gồm một bộ dao động bên trong
Bộ dao động này đ-ợc sử dụng để tạo xung clock cho Power-on-time-out, xoá cấu hình nhớ, và nh- là nguồn xung CCLK trong mode cấu hình Master Bộ dao
M
M M
M
1
0 1
1 0
0
1
1 1
0 0
1 0 3
Hình 2.13: Chi tiết một logic nhớ của Spartan
Trang 38động chạy với tần số danh định 8 MHz, có thể thay đổi trong khi xử lý Tần số ra vào khoảng 4 MHz-10 MHz
Đầu ra dao động là ph-ơng án sẵn có sau khi cấu hình Ng-ời sử dụng có thể truy cập khi đặt phần tử trong sơ đồ hoặc mã HDL với các mức khác nhau Tuy nhiên không thể can thiệp đ-ợc sau khi cấu hình nếu ký hiệu dao động không sử dụng trong thiết kế
2.3.7 Các tín hiệu chung
a) Các tín hiệu Set/Reset
Một đ-ờng dẫn Set/Reset chung cho toàn Chip để đặt hoặc xoá từng flip-flop trong khi ổn định nguồn, cấu hình lại, hoặc khi mạng Reset có mức tích cực Mạng chung này (GSR) không hoàn toàn kết nối với các tài nguyên khác Nó sử dụng một mạng phân tán
Từng Flip-flop đ-ợc cấu hình khi thiết lập hoặc xoá toàn hệ thống Nếu Flip-flop
đ-ợc thiết lập do SR thì nó cũng có thể đ-ợc thiết lập do GSR Thông th-ờng nếu trong Mode reset nó đ-ợc xoá do cả 2 SR và GSR GSR đ-ợc điều khiển từ các chân lập trình đ-ợc nh- chân Reset tổng thể Để sử dụng mạng tổng thể này, đặt đ-ờng dẫn và bộ đệm vào trong sơ đồ hoặc mã HDL
b) Các tín hiệu điều khiển 3 trạng thái
Một đ-ờng dây 3 trạng thái tổng thể (GTS) tách rời để đặt tất cả các đầu ra của FPGA lên trạng thái trở kháng cao trừ khi quét biên đ-ợc cho phép và đang thực hiện một lệnh EXTEST
GTS đ-ợc điều khiển từ chân lập trình đ-ợc nh- chân vào mạng 3 trạng thái Để
sử dụng mạng tổng thể này, đặt đ-ờng dẫn và bộ đệm vào trong sơ đồ hoặc mã HDL
Trang 39Hình 2.14: Sơ đồ logic quét biên của dòng Spartan
c) Quét biên
Các ph-ơng pháp kiểm tra lắp ráp điện tử tr-ớc đây đã không còn thích hợp nữa bởi vì khoảng cách giữa các chân linh kiện gần hơn, ph-ơng pháp lắp ráp tinh vi hơn nh- kỹ thuật lắp ráp bề mặt (surface mount) và các bo mạch lắp ráp nhiều lớp Tiêu chuẩn quét biên IEEE 1149.1 đã đ-ợc phát triển nhằm đáp ứng yêu cầu kiểm tra lắp ráp điện tử Ng-ời thiết kế chỉ cần gắn một cấu trúc logic kiểm tra tiêu chuẩn trong thiết bị của họ để có đ-ợc những thông tin thiếu sót cho I/O và logic bên trong Cấu trúc này đ-ợc thực hiện với một giao diện 4 chân lên bất cứ IC t-ơng thích quét biên nào Các thiết bị có thể t-ơng thích với IEEE 1149.1 có thể nối day chuyền với nhau (daisy - chained), đ-ợc ghép nối cổng song song, hoặc tổ hợp của cả 2
Khi sự lựa chọn cấu hình quét biên đ-ợc chọn thì 3 chân I/O trở thành các đầu vào cho chức năng này Các chân ra khác trở thành đầu ra quét biên Dựa trên các tín hiệu vào này, ng-ời sử dụng có thể nạp lệnh và dữ liệu vào thiết bị để điều khiển các
đầu ra của nó Ph-ơng pháp này là thành quả lớn trong việc kiểm tra Nó tránh đ-ợc
Trang 40hiện t-ợng không điều khiển đ-ợc đầu ra thiết bị (over - drive) và giảm giao diện còn 4 chân Hình 2.14 là 1 sơ đồ logic quét biên của dòng Spartan, bao gồm 3 bit của thanh ghi chỉ tiêu cho một IOB, bộ điều khiển cổng truy nhập kiểm tra IEEE 1149.1 và thanh ghi lệnh kèm theo bộ giải mã
Chú ý: Nếu các chân TMS hoặc TCK đ-ợc sử dụng nh- I/O thì phải chắc chắn
ít nhất 1 trong các chân đó phải đ-ợc giữ không đổi trong khi đặt cấu hình Trong 1 vài ứng dụng, có thể xảy ra tr-ờng hợp chân TMS hoặc TCK bị điều khiển trong khi
đặt cấu hình Đây có thể là nguyên nhân làm thiết bị lâm vào chế độ "Boundary Scan" và phá vỡ việc xử lý cấu hình
Để khắc phục tr-ờng hợp trên có thể thực hiện 1 trong 2 điều sau:
Đối với TMS: Đặt bộ điều khiển Test Access Port ở mức cao trong trạng thái RESET ổn định
Đối với TCK: Đặt mức cao hoặc thấp, không đảo đầu vào xung nhịp này
d) Mức nguồn thấp (power down)
Tất cả các thiết bị dòng Spartan là sự kết hợp của hiệu quả định tuyến theo đoạn
và công nghệ xử lý tiên tiến để hoạt động ở tất cả các điều kiện với mức công suất thấp Riêng họ Spartan II 3,3V có thêm chân Low-Power Down (PWRDWN) để giảm dòng cung cấp xuống còn 100A Ng-ời sử dụng phải lựa chọn lại tuỳ chọn
"5V Tolerant I/Os" trong Configuration Options (các tuỳ chọn cấu hình) để đạt đ-ợc dòng Power Down Chân PWRDWN có điện trở mặc định pull-up bên trong, cho phép nó giải phóng không kết nối nếu không sử dụng
VCC phải tiếp tục đ-ợc cung cấp khi Power Down và cấu hình dữ liệu phải đ-ợc duy trì Khi chân PWRDWN đặt xuống mức thấp thì các bộ đệm đầu vào, đầu ra không tác dụng Các đầu vào bị đặt ở mức logic thấp gồm: các chân MODE, DONE, CCLK, TDO và tất cả các điện trở pull-up bên trong bị ngắt Chân PROGRAM không bị ảnh h-ởng bởi Power Down Mạng GSR chấp nhận khi Power Down, khởi tạo tất cả các flip-flop ở trạng thái khởi động đầu tiên
2.3.8 Đặt cấu hình và thử
Cấu hình là xử lý quá trình nạp dữ liệu thiết kế đặc biệt vào một hoặc nhiều FPGA để định nghĩa chức năng hoạt động của các khối bên trong và kết nối chúng với nhau Việc này t-ơng tự nh- nạp lệnh các thanh ghi của 1 chip ngoại vi có thể lập trình Các dòng thiết bị Spartan sử dụng vài trăm bit của dữ liệu cấu hình trên 1 CLB và nó đ-ợc tổ chức đấu nối với nhau Mỗi một bit cấu hình định nghĩa trạng thái của một tế bào nhớ tĩnh, tế bào nhớ tĩnh điều khiển một trong 2 chức năng look-
up table bit, một bộ ghép kênh đầu vào hoặc một kết nối thông qua Transistor Xilinx phát triển hệ thống biên dịch thiết kế vào một file netlist Nó tự động phân