BỘ GIÁO DỤC VÀ ðÀO TẠO
TRƯỜNG ðẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------
LUẬN VĂN THẠC SĨ KHOA HỌC
NGHIấN CỨU- ỨNG DỤNG
CPLD9500 THIẾT KẾ MODUL
ðIỀU KHIỂN VỊ TRÍ
NGÀNH: XỬ Lí THễNG TIN VÀ TRUYỀN THễNG
MÃ SỐ:
VŨ THỊ THU HƯƠNG
Người hướng dẫn khoa học: TS. ðẶNG VĂN CHUYẾT
HÀ NỘI 2006
Mục lục
Trang
Lời cam đoan...................................................................................................................... 2
Mục lục...................
112 trang |
Chia sẻ: huyen82 | Lượt xem: 1787 | Lượt tải: 1
Tóm tắt tài liệu Nghiên cứu - Ứng dụng CPLD9500 thiết kế modul điều khiển vị trí, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
............................................................................................................... 3
DANH mục CáC Từ VIếT TắT.......................................................................................... 7
DANH mục các hình vẽ .................................................................................................. 9
DANH Mục CáC BảNG Dữ LIệU .................................................................................... 10
Mở đầu.................................................................................................................................. 11
CH−ơNG 1.............................................................................................................................. 13
Tổng quan về Công nghệ asic ............................................................................... 13
1.1. Sự ra đời của công nghệ AsiC .................................................. 13
1.2. Các h−ớng tiếp cận thiết kế ASIC. ............................................. 14
1.2.1. Các công nghệ lập trình thiết kế ASIC.................................................................... 14
1.2.2. Đầu vào thiết kế ASIC............................................................................................. 15
1.2.3. Thiết kế vật lý. ......................................................................................................... 17
1.2.4. Các công cu CAD.................................................................................................... 18
1.3. Các Công cụ thiết kế và phát triển ASIC................................... 19
1.3.1. Tổng quan về quá trình thiết kế và công cụ thiết kế. ........................................... 19
1.3.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. ................ 22
1.3.2.1. Giới thiệu h;ng Xilinx....................................................................................... 22
1.3.2.2. Giới thiệu h;ng Actel........................................................................................ 23
1.3.2.3. Giới thiệu h;ng Altera...................................................................................... 24
1.4. Tổng hợp Logic. ......................................................................... 25
CH−ơNG 2.............................................................................................................................. 27
Thiết Bị logic lập trình đ−ợc và công nghệ cpld.................................. 27
2.1. Lịch sử phát triển của vi mạch số lập trình............................... 27
2.2. Cấu trúc cơ bản của các họ vi mạch lập trình (pld) ................. 34
2.2.1.Họ vi mạch PROM (Progammable Read Only Memory)......................................... 34
2.2.2. Họ vi mạch FPLA ( Field Progammable Logic Array)........................................... 37
2.2.3. Họ vi mạch FPLS ( Field Programable Logic Sequencer) ..................................... 39
2.2.4. Ho vi mạch FPGA ( Field Progammable Gate Array)............................................ 40
2.2.5. Ho vi mạch PAL (Programmable Array Logic). .................................................... 41
2.2. 6. Họ vi mạch GAL ( Generic Array Logic). .............................................................. 42
2.2. 7. Họ vi mạch PEEL (Progammable Electrially Erasable Logic). ............................ 43
2.2.8. Họ vi mạch EPLD (Erasable PLD). ...................................................................... 43
2.2.9. Họ vi mạch PML ( Programmable Macro Logic)................................................... 45
2.2.10. Họ vi mạch ERASIC(Erasable Programmable Application Specific IC).............. 46
2.2.11. Họ vi mạch LCA (Logic Cell Array). .................................................................... 46
CH−ơNG 3.............................................................................................................................. 48
Ngôn ngữ mô tả phần cứng VHDL......................................................................... 48
3.1. Mở đầu ....................................................................................... 48
3.1.1. Giới thiệu................................................................................................................. 48
2.1.2 Các thuật ngữ của VHDL......................................................................................... 51
3.2. Cấu trúc của một ch−ơng trình VHDL ...................................... 52
3.3. Các đơn vị thiết kế trong VHDL ................................................ 53
3.3.1.Gói (Package) .......................................................................................................... 54
3.3.2. Thực thể (Entity) ..................................................................................................... 55
3.3.3. Kiến trúc (Architecture) .................................................................................... 56
3.3.3.1. Mô tả kiến trúc theo mô hình hoạt động. ......................................................... 57
3.3.3.2.Mô tả kiến trúc theo mô hình cấu trúc. ............................................................. 58
3.3.4. Cấu hình (Configuration) ....................................................................................... 58
3.4. Các kiểu dữ liệu trong VHDL .................................................... 59
3.4.1. Các đối t−ợng dữ liệu .............................................................................................. 60
3.4.1.1. Tín hiệu ............................................................................................................ 60
3.4.1.2. Biến .................................................................................................................. 61
3.4.1.3. Hằng................................................................................................................. 61
3.4.2. Các kiểu dữ liệu ...................................................................................................... 61
3.5. Toán tử và biểu thức .................................................................. 62
3.5.2. Các toán hạng ......................................................................................................... 63
3.6. Các lệnh tuần tự trong VHDL.................................................... 64
3.6.1.Câu lệnh gán biến. ................................................................................................... 64
3.6.2.Câu lệnh gán tín hiệu. .............................................................................................. 65
3.6.3. Câu lệnh if............................................................................................................... 65
3.6.4. Câu lệnh Case ......................................................................................................... 66
3.6.5. Các lệnh vòng lặp ................................................................................................... 67
3.6.6. Câu lệnh Null.......................................................................................................... 68
3.7. Các lệnh song song trong VHDL............................................... 69
3.7.1. Các quá trình Process............................................................................................. 69
3.7.2. Các phép gán tín hiệu song song............................................................................. 70
3.7.3. Phép gán tín hiệu có điều kiện ................................................................................ 72
3.7.4. Phép gán theo lựa chọn........................................................................................... 73
3.7.5. Khối......................................................................................................................... 74
3.7.6. Gọi ch−ơng trình con song song.............................................................................. 76
CH−ơNG 4 ............................................................................................................................... 78
Thiết kế modul thực hành cpld .............................................................................................. 78
sử dụng họ cpld XC9500 của Xilinx ...................................................................................... 78
4.1. tổng quan về họ cpld xc9500. .................................................... 78
4.1.1. Đặc điểm chung của họ CPLD XC9500.................................................................. 78
4.1.2. Mô tả kiến trúc. ....................................................................................................... 78
4.2. Trình tự thiết kế cpld.................................................................. 81
4.3. Những công cụ sử dụng khi thiết kế CPLD. ............................. 83
4.3.1. Phần mềm................................................................................................................ 83
4.3.2. Phần cứng ............................................................................................................... 83
4.4. Thiết kế modul thực hành CPLD .............................................. 85
4.4.1. Nhiệm vụ và yêu cầu của modul ............................................................................. 85
4.4.2. Sơ đồ nguyên lý của modul...................................................................................... 85
4.5. Thiết kế một số ch−ơng trình VHDL chạy thử trên modul ........ 87
4.5.1. Bộ đếm nhị phân thuận nghịch 4 bit. ...................................................................... 87
4.5.2. Bộ đếm nhị phân 5 bit. ............................................................................................ 90
4.5.3. Bộ giải m; 4-16....................................................................................................... 92
4.5.4. Bộ chốt 8 bit. ........................................................................................................... 94
4.5.5. Mạch ngoại vi cho đồng hồ hiển thị số. .................................................................. 96
Kết luận............................................................................................................................ 101
Tài liệu tham khảo.................................................................................................... 103
Phụ lục............................................................................................................................... 104
Sơ đồ chân và chức năng các chân của CPLD XC 95108. ......................................... 104
1
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. Đặng Văn Chuyết. 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:
Vũ Thị Thu H−ơng
2
Mục lục
Trang
Lời cam đoan...................................................................................................................... 1
Mục lục ................................................................................................................................. 2
DANH mục CáC Từ VIếT TắT.......................................................................................... 5
DANH mục các hình vẽ .................................................................................................. 7
DANH Mục CáC BảNG Dữ LIệU ...................................................................................... 9
Mở đầu.................................................................................................................................. 10
CH−ơNG 1 ............................................................................................................................. 12
Tổng quan về Công nghệ asic............................................................................... 12
1.1. Sự ra đời của công nghệ AsiC . .................................................12
1.2. Các h−ớng tiếp cận thiết kế ASIC...............................................13
1.2.1. Các công nghệ lập trình thiết kế ASIC.................................................................... 13
1.2.2. Đầu vào thiết kế ASIC............................................................................................. 14
1.2.3. Thiết kế vật lý. ......................................................................................................... 16
1.2.4. Các công cu CAD.................................................................................................... 17
1.3. Các Công cụ thiết kế và phát triển ASIC. ..................................18
1.3.1. Tổng quan về quá trình thiết kế và công cụ thiết kế. ........................................... 18
1.3.2. Giới thiệu các công cụ và sản phẩm của một số hNng chuyên về ASIC. ................ 21
1.3.2.1. Giới thiệu hNng Xilinx....................................................................................... 21
1.3.2.2. Giới thiệu hNng Actel........................................................................................ 22
1.3.2.3. Giới thiệu hNng Altera...................................................................................... 23
1.4. Tổng hợp Logic. ..........................................................................24
CH−ơNG 2 ............................................................................................................................. 27
Thiết Bị logic lập trình đ−ợc và công nghệ cpld.................................. 27
2.1. Lịch sử phát triển của vi mạch số lập trình................................27
3
2.2. Cấu trúc cơ bản của các họ vi mạch lập trình (pld) ..................34
2.2.1.Họ vi mạch PROM (Progammable Read Only Memory)......................................... 35
2.2.2. Họ vi mạch FPLA ( Field Progammable Logic Array)........................................... 37
2.2.3. Họ vi mạch FPLS ( Field Programable Logic Sequencer) ..................................... 40
2.2.4. Ho vi mạch FPGA ( Field Progammable Gate Array)............................................ 41
2.2.5. Ho vi mạch PAL (Programmable Array Logic)..................................................... 42
2.2. 6. Họ vi mạch GAL ( Generic Array Logic). .............................................................. 42
2.2. 7. Họ vi mạch PEEL (Progammable Electrially Erasable Logic). ............................ 44
2.2.8. Họ vi mạch EPLD (Erasable PLD). ...................................................................... 44
2.2.9. Họ vi mạch PML ( Programmable Macro Logic)................................................... 46
2.2.10. Họ vi mạch ERASIC(Erasable Programmable Application Specific IC).............. 47
2.2.11. Họ vi mạch LCA (Logic Cell Array). .................................................................... 47
CH−ơNG 3 ............................................................................................................................. 48
Ngôn ngữ mô tả phần cứng VHDL ........................................................................ 48
3.1. Mở đầu........................................................................................48
3.1.1. Giới thiệu................................................................................................................. 48
2.1.2 Các thuật ngữ của VHDL......................................................................................... 51
3.2. Cấu trúc của một ch−ơng trình VHDL.......................................53
3.3. Các đơn vị thiết kế trong VHDL.................................................54
3.3.1.Gói (Package) .......................................................................................................... 54
3.3.2. Thực thể (Entity) ..................................................................................................... 56
3.3.3. Kiến trúc (Architecture).................................................................................... 57
3.3.3.1. Mô tả kiến trúc theo mô hình hoạt động. ......................................................... 58
3.3.3.2.Mô tả kiến trúc theo mô hình cấu trúc.............................................................. 58
3.3.4. Cấu hình (Configuration) ....................................................................................... 59
3.4. Các kiểu dữ liệu trong VHDL.....................................................60
3.4.1. Các đối t−ợng dữ liệu.............................................................................................. 60
3.4.1.1. Tín hiệu ............................................................................................................ 60
3.4.1.2. Biến .................................................................................................................. 61
3.4.1.3. Hằng................................................................................................................. 62
3.4.2. Các kiểu dữ liệu ...................................................................................................... 62
3.5. Toán tử và biểu thức ...................................................................63
3.5.2. Các toán hạng ......................................................................................................... 64
3.6. Các lệnh tuần tự trong VHDL ....................................................65
3.6.1.Câu lệnh gán biến. ................................................................................................... 65
3.6.2.Câu lệnh gán tín hiệu. .............................................................................................. 66
3.6.3. Câu lệnh if............................................................................................................... 66
3.6.4. Câu lệnh Case......................................................................................................... 67
3.6.5. Các lệnh vòng lặp ................................................................................................... 68
4
3.6.6. Câu lệnh Null.......................................................................................................... 69
3.7. Các lệnh song song trong VHDL................................................70
3.7.1. Các quá trình Process............................................................................................. 70
3.7.2. Các phép gán tín hiệu song song............................................................................. 71
3.7.3. Phép gán tín hiệu có điều kiện ................................................................................ 72
3.7.4. Phép gán theo lựa chọn........................................................................................... 74
3.7.5. Khối......................................................................................................................... 75
3.7.6. Gọi ch−ơng trình con song song.............................................................................. 77
CH−ơNG 4 ............................................................................................................................... 79
Thiết kế modul thực hành cpld .............................................................................................. 79
sử dụng họ cpld XC9500 của Xilinx ...................................................................................... 79
4.1. tổng quan về họ cpld xc9500......................................................79
4.1.1. Đặc điểm chung của họ CPLD XC9500.................................................................. 79
4.1.2. Mô tả kiến trúc. ....................................................................................................... 79
4.2. Trình tự thiết kế cpld ..................................................................82
4.3. Những công cụ sử dụng khi thiết kế CPLD. ..............................84
4.3.1. Phần mềm ............................................................................................................... 84
4.3.2. Phần cứng ............................................................................................................... 84
4.4. Thiết kế modul thực hành CPLD...............................................86
4.4.1. Nhiệm vụ và yêu cầu của modul ............................................................................. 86
4.4.2. Sơ đồ nguyên lý của modul...................................................................................... 86
4.5. Thiết kế một số ch−ơng trình VHDL chạy thử trên modul .........88
4.5.1. Bộ đếm nhị phân thuận nghịch 4 bit. ...................................................................... 88
4.5.2. Bộ đếm nhị phân 5 bit. ............................................................................................ 91
4.5.3. Bộ giải mN 4-16....................................................................................................... 93
4.5.4. Bộ chốt 8 bit. ........................................................................................................... 96
4.5.5. Mạch ngoại vi cho đồng hồ hiển thị số. .................................................................. 97
Kết luận............................................................................................................................ 102
Tài liệu tham khảo.................................................................................................... 104
Phụ lục............................................................................................................................... 105
Sơ đồ chân và chức năng các chân của CPLD XC 95108. ......................................... 105
5
DANH mục CáC Từ VIếT TắT
STT Chữ viết tắt Tiếng Anh
1 IC Integrated Circuit
2 ASIC Application Specific Integrated Circuit
3 CPLD Complex Programmable Logic Devices
4 FPGA Field Programmable Gate Array
5 VHSIC Very High Speed IC
6 VHDL VHSIC Hardware Description Languages
7 CICC Custom Integrated Circuit Conference
8 CBICs Cell Based ICs
9 PLD Programmable Logic Devices
10 ASSPs Application Specific Standard Product
11 CAD Computer Aided Design
12 CDL Computer Design Language
13 CONLAN Consensus Language
14 IDL Interactive Design Language
15 ISPS Intruction Set Proccessor Specification
16 TEGÂS Test generation and Simulation
17 IDE Integrated Design Environment
18 PAL Programmable Array Logic
19 HAL Hard Array Logic
20 FPLS Field Programmable Logic Sequencer
21 AMAZE Automated Map and Zap Equations
6
22 ABEL Advanced Boolean Expression Language
23 IFL Intergrated Fuse Logic
24 CUPL Universal Compiler for Programmable
25 LCA Logic Call Array
26 PROM Progammable Read Only Memory
27 GAL Generic Array Logic
28 FPLA Field Progammable Logic Array
29 PEEL Progammable Electrially Erasable Logic
30 EPLD Erasable PLD
31 PML Programmable Macro Logic
32 FPLS Field Programable Logic Sequencer
33 ERASIC Erasable Programmable Application Specific IC
34 LCA Logic Cell Array
35 JTAG Join Test Action Group
7
DANH mục các hình vẽ
STT Tên hình
1 Hình 1.1: Một phần của thiết kế ASIC
2 Hình 2.1: PROM đơn giản
3 Hình 2.2: Minh hoạ sơ đồ logic của PROM
4 Hình 2.3 : Sơ đồ biểu thức ngõ ra của FPLA
5 Hình 2.4: Sơ đồ logic của FPLA PLS 153
6 Hình 2.5: Sơ đồ logic FPLS PLS157
7 Hình 2.6 : Sơ đồ logic của PAL
8 Hình 2.7: Sơ đồ logic của L16V8
9 Hình 2.8: Cấu trúc vi mạch PEEL18CV8
10 Hình 2.9: Cấu trúc LCA
11 Hình 3.1: Quan hệ giữa các đơn vị thiết kế
12 Hình 3.1: Cấu trúc của ch−ơng trình VHDL
13 Hình 4.1: Kiến trúc bên trong của họ CPLD XC9500
14 Hình 4.2: Khối vào ra IOB của XC9500
15 Hình 4.3: Ma trận chuyển mạch Fast Conector
16 Hình 4.4: Khối chức năng FB
17 Hình 4.5: Cấu trúc một Macrocell
18 Hình 4.6: Tiến trình thiết kế với CPLD
19 Hình 4.7: Sơ đồ kết nối giữa CPLD với máy tính
20 Hình 4.8: Sơ đồ mạch JTAG.
8
21 Hình 4.9: Sơ đồ nguyên lý của modul
9
DANH Mục CáC BảNG Dữ LIệU
STT Tên bảng
1 Bảng 1.1: Tóm tắt công nghệ lập trình cho ASIC
2 Bảng 4.2: Bảng trạng thái của bộ đếm nhị phân thuận nghịch 4 bit.
3 Bảng 4.2: Bảng trạng thái của bộ đếm nhị phân thuận nghịch 4 bit
4 Bảng 4.3: Bảng trạng thái bộ đếm nhị phân 5 bit.
5 Bảng 4.3: Bảng trạng thái bộ giải mN 4-16.
6 Bảng 4.4: Bảng trạng thái của bộ chốt 8 bit
7 Bảng 4.5 Bảng trạng thái của decoder
10
Mở đầu
Có thể nói công nghệ điện tử đN và đang thay đổi hàng ngày hàng giờ
trong những năm gần đây. Để đáp ứng các nhu cầu của xN hội nhiều loại IC với
khả năng tích hợp tới hàng chục triệu linh kiện bán dẫn trên một vi mạch đN ra
đời. Một trong những công nghệ mớ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 CPLD (Complex Programmable Logic Devices) và FPGA
(Field Programmable Gate Array). Sử dụng CPLD hoặc FPGA 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, file *.JED hay file *.BSDL để tải xuống (download)
CPLD thông qua giao diện chuẩn JTAG để nó hoạt động giống nh− một mạch
logic.
Với sự h−ớng dẫn của Tiến sỹ Đặng Văn Chuyết, 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ệ CPLD và ứng dụng
CPLD thiết kế mạch điều khiển vị trí để phục vụ công tác giảng dạy tại tr−ờng
Đại học Công nghiệp Hà nội
Nội dung của luận văn bao gồm 4 ch−ơng, trong đó:
11
Ch−ơng 1: Tổng quan về công nghệ ASIC.
Ch−ơng 2: Xilinx và sản phẩm CPLD
Ch−ơng 3: Công cụ thiết kế và phát triển ASIC.
Ch−ơng 4: ứng dụng CPL9500 thiết kế modul điều khiển vị trí.
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 5 tháng 9 năm 2006
Học viên:
Vũ Thị Thu H-ơng
12
Ch−ơng 1
Tổng quan về Công nghệ asic
1.1. 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 đN 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 hNng 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ữ đN đ−ợ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”.
13
Các IC thuộc dòng ASIC bao gồm: các chip dùng trong công nghiệp giải
trí; các chip dùng trong công nghiệp vệ tinh, vũ trụ, các chip đ−ợ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 (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.2. Các h−ớng tiếp cận thiết kế ASIC.
1.2.1. Các công nghệ lập trình thiết kế ASIC
Tóm tắt công nghệ lập trình cho ASIC đ−ợc trình bày trong bảng 1.1 sau:
Bảng 1.1: Tóm tắt công nghệ lập trình cho ASIC
Công nghệ
lập trình
Tính bay
hơi
Có thể
lập trình
Diện tích
của ASIC
Điện trở
(ohm)
Điện
tích
(pF)
14
Các phần tử
RAM tĩnh
Có
Trong
mạch
Lớn 1-2K 10 - 20
Lập trình cầu
chì nghịch
PLICE
(PLICE - anti
fuse)
Không Không
Anti- fuse
nhỏ
Số transistor
lớn
300-500K 3-5
Lập trình cầu
chì nghịch
ViaLink
(ViaLink anti -
fuse)
Không Không
Anti - fuse
nhỏ
Số transistor
lớn
50-80K 1-3
EPROM Không
Ngoài
mạch
Nhỏ 2-4K 10-20
EEPROM Khô._.ng
Trong
mạch
2xEPROM 2-4K 1-20
1.2.2. Đầu vào thiết kế ASIC
Đầu vào thiết kế ASIC 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
15
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à
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) đN 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.
16
- 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 mN lệnh ch−ơng trình C và ngôn ngữ máy.
- Mô phỏng (Simulation): các kỹ s− đN 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.
1.2.3. Thiết kế vật lý.
Để dụng việc phân chia hệ
thống để chia một hệ thống vi điện tử
thành các ASIC. Khi lên sơ đồ mặt
bằng, chúng ta sẽ đánh giá kích th−ớc
và đặt các vị 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
Design Entry
Synthesis
System
partitioning
Floor planning
Placement
Routing
Hình 1.1: Một phần của thiết kế ASIC
17
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 đN đặ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.2.4. Các công cu CAD.
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):
- 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.
Lên sơ đồ mặt bằng (floor planning):
- Mục đích: tính toán kích th−ớc của tất cả các khối và sắp đặt vị trí của
chúng.
18
- Định h−ớng: bảo đảm sự liên kết cao giữa các khối về mặt tự nhiên càng
gần càng tốt.
Sắp đặt các phần tử (Placement):
- 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.3. Các Công cụ thiết kế và phát triển ASIC.
1.3.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 đN đ−ợ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ẽ
19
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 đN 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 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 mN 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
20
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 đN 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 dNy 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
21
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
hNng 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.3.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.
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ế đN đ−ợc áp dụng vào đầu thập kỷ 90.
Một số hNng chính trên thế giới về công nghệ ASIC nh−: IBM, NEC, Xilinx, Actel,
Altera. . .
1.3.2.1. Giới thiệu h@ng Xilinx
22
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ề CPLD 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 dNy 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 đN 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 đN 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 đN 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 đN có đại diện và phân phối hơn 30 n−ớc trên thế giới.
1.3.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 hNng 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
23
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.
1.3.2.3. Giới thiệu h@ng Altera
Hiện nay Altera là hNng đứ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 CPLD và FPGA. HNng 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 hNng khác là MAX + PLUS II và Quartus 3.0.
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
hNng 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ề
24
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.
1.4. 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 mN 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 rNi 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
25
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ử.
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 đó.
26
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.
27
Ch−ơng 2
Thiết Bị logic lập trình đ−ợc
và công nghệ cpld
2.1. Lịch sử phát triển của vi mạch số lập trình.
Tr−ớc thời kỳ vi mạch số lập trình (Programmable Logic Device) ra đời,
thiết kế logic số truyền thống thì bao gồm nhiều vi mạch TTL loại MSI và SSI kết
hợp lại để tạo ra các hàm logic mong muốn. Những nhà thiết kế dựa vào những
sách tra cứu các vi mạch số để tìm hiểu các thông số kỹ thuật, sau đó mới quyết
định sử dụng các vi mạch số cần thiết cho yêu cầu thiết kế của họ. Điều bất lợi
của việc thiết kế này là trong một board sử dụng nhiều vi mạch, do đó khi sửa
chữa thì gặp nhiều khó khăn.
Vào năm 1975, công ty SIGNETICS đN giới thiệu vi mạch số lập trình
không có bộ nhớ đầu tiên 82S100 (hiện nay là PLS100) gọi là mảng logic lập
trình tr−ờng (Field-Programmable Logic Array). Napoleon Cavlan, ng−ời đ−ợc
gọi là cha đẻ của mạch logic lập trình, lúc bấy giờ là nhà quản lý những ứng
dụng PLA của Signetics đN thực sự hiểu rằng sử dụng PLA là ph−ơng pháp tốt
hơn để thiết kế và thay đổi hệ thống số. Trong khi đó, công ty Harris đN sớm giới
thiệu PROM, họ trình bày triển vọng của PROM và đN ứng dụng vào trong một
số mạch logic.
28
Công ty National Semiconductor đN chế tạo mặt nạ lập trình cho PLA, cấu
tạo của nó gồm một mảng AND lập trình kèm với mảng OR lập trình, cho phép
thực hiện tổ hợp tổng các tích số của hàm logic tiêu chuẩn. Bằng cách kết hợp
công nghệ PROM sử dụng nguyên tắc cầu chì với khái niệm PLA, Cavian đN
thuyết phục đ−ợc các nhà quản lý công ty Signetics để đ−a dự án PLA vào sản
xuất.
Vi mạch PLA đầu tiên 82S100, là thành viên đầu tiên của họ vi mạch IFL
(Intergrated Fuse Logic) có hình dạng 28 chân. Cấu trúc của PLA gồm một
mảng AND lập trình và một mảng OR lập trình, nó cho phép thực hiện tổ hợp
logic tổng của các tích số đơn giản .
Kỹ s− John Martin Birkner là một ng−ời quan tâm đến PLA, Birkner đN
đ−a ra khái niệm mới về vi mạch số lập trình, vi mạch này cũng t−ơng tự FLA
nh−ng thay vì có hai mảng lập trình thì PAL (Programmable Array Logic) chỉ có
một mảng AND lập trình và theo sau là mảng OR đ−ợc giữ cố định (không lập
trình ). Nh− vậy mỗi cổng OR sẽ có một tích số cố định đ−ợc nối với ngõ vào của
nó, do vậy sẽ giảm đ−ợc kích th−ớc của vi mạch và cho phép tín hiệu đ−ợc truyền
nhanh hơn trong khi vẫn cho phép thực hiện các tổ hợp logic. PAL đ−ợc đóng vỏ
20 chân. Sau một thời gian thuyết phục các nhà quản lý của công ty MMI thấy rõ
những lợi điểm của PAL và đồng ý sản xuất. Vi mạch đầu tiên thuộc họ PAL
đ−ợc phổ biến là PAL 16L8, PAL 16R4, PAL 16R6, PAL 16R8. Các vi mạch này
có thời gian truyền trì hoNn 35ns. Mỗi vi mạch có 8 ngõ ra và 16 ngõ vào, trong
đó ký tự L trong ký hiệu của vi mạch biểu thị 8 tổ hợp ngõ ra tác động ở mức
thấp, ký tự R cho biết có 4, 6 hay 8 thanh ghi ở ngõ ra t−ơng ứng.
29
Sau một thời gian khởi đầu chậm, cuối cùng PAL đN đ−ợc thiết kế trong hệ
thống thực. Những công ty máy tính mini đN nhận thấy đ−ợc −u điểm của PAL là
cho phép họ giảm số board cần thiết để thực hiện tốt những yêu cầu thiết kế,
công ty MMI đN chọn ph−ơng pháp sản xuất PAL công đoạn mặt nạ chế tạo theo
yêu cầu khách hàng. Vào lúc này MMI lại giới thiệu một họ vi mạch mới HAL
(Hard Array Logic) và để sản xuất những chi tiết này cho hNng Data General
and Digital Equipment. MMI đN thay đổi cách sắp xếp công đoạn mặt nạ cầu
chì và thay vào đó là lớp liên kết kim loại phù hợp yêu cầu thiết kế của khách
hàng. Những chi tiết này có nhiều lợi ích gồm mang lại những kết quả tốt và
kiểm tra dễ dàng hơn. Đồng thời khách hàng cũng đ−ợc lợi hơn bởi không phải
quan tâm đến lập trình và kiểm tra các chi tiết. Điều này đN mang lại sự cải tiến
về ph−ơng pháp chế tạo PAL, và đ−ợc sự chấp nhận của thị tr−ờng. Vào năm
1978, MMI đN xuất bản sách h−ớng dẫn PAL đầu tiên. Đó là một b−ớc khởi đầu
để PAL mở rộng thế giới của những ng−ời thiết kế mạch logic. Ngoài ra trong
sách h−ớng dẫn còn trình bày danh sách ch−ơng trình gốc của ngôn ngữ lập
trình FORTRAN cho PALASM (PAL Assembler) đó là phần mềm dành cho việc
thiết kế mạch logic PAL. PALASM có thể biên soạn, định nghĩa logic cho một
khuôn thức. Ngoài ra PALASM cũng có khả năng mô phỏng sự vận hành trên
ph−ơng trình mạch logic theo nguyên tắc PAL. Trong việc liên kết với những nhà
thiết kế để định rõ những “vector kiểm tra”, PALASM có thể là một sự thật phù
hợp. Tất cả những đặc điểm của PAL bao gồm việc khắc phục những khuyết
điểm của PLA kết hợp với việc thúc đẩy sử dụng PAL đN mang đến kết quả tốt
đẹp. PAL đN nhanh chóng v−ợt qua họ vi mạch IFL của công ty Signetics và đ−ợc
phổ biến trên thị tr−ờng, thuật ngữ PAL đN trở nên đồng nghĩa với PLD.
30
Trong lúc ấy, công ty Signetics tiếp tục phát triển họ IFL, và vào năm 1977
Signetics giới thiệu họ vi mạch FPGA (Field Programmable Gate Array) 82S103,
vào năm 1979 là họ FPLS (Field Programmable Logic Sequencer). Họ FPGA có
cấu tạo một mảng AND ở mức đơn với ngõ vào lập trình đ−ợc và cực tính ngõ ra
cũng vậy cho phép thực hiện các hàm logic cơ bản (AND, OR, NAND, NOR,
INVERT), cấu trúc của họ FPLS có chức các FlipFlop để thực hiện các trạng
thái của hàm tuần tự. Đồng thời Signetics cũng giới thiệu AMAZE (Automated
Map and Zap Equations) là ch−ơng trình biên dịch để hổ trợ cho những vi mạch
của họ. T−ơng tự, những công ty chế tạo PLD khác đN lần l−ợc giới thiệu những
phần mềm hỗ trợ của họ.
Cả 2 công ty Signetics và MMI tiếp tục giới thiệu những PLD mới để đáp
ứng tính đa dạng theo các yêu cầu thiết kế. Vào giữa năm 1980, mạch logic lập
trình đN đ−ợc thừa nhận cùng với sự phát triển tính đa dạng của IFL và PAL đN
có nhiều giá trị cho những ng−ời thiết kế. Mặc dù sự khởi đầu thành công của
PLD, tuy nhiên chỉ một số ít các nhà thiết kế quen với việc dùng PLD, một số
tr−ờng đại học đN đ−a vi mạch logic lập trình vào những khóa học thiết kế của
họ.
Tuy nhiên, kĩ thuật logic lập trình tiếp tục cải tiến và những vi mạch phát
triển ở giai đoạn thứ hai đ−ợc giới thiệu vào năm 1983. Công ty Advance Micro
Devices ( AMD) đN giới thiệu PAL22V10 với những đặc điểm đặc biệt là sự linh
động của những cổng PLD ở 10 ngõ vào. Mỗi cổng PLD có khả năng tổ hợp
hoặc với thanh ghi ở ngõ ra hoặc một ngõ vào. Cổng đệm ngõ ra ba trạng thái
đ−ợc điều khiển bởi một tích số riêng cho phép vận hành hai chiều. Tất cả thanh
31
ghi đều đ−ợc reset tự động trong quá trình tắt hay mở và mỗi thanh ghi có khả
năng “đặt tr−ớc”, đó là đặc điểm đặc biệt cho việc kiểm tra sau này.
Với những vi mạch mới, đ−ợc giới thiệu th−ờng xuyên trên thị tr−ờng đN
dẫn đến việc cần thiết phải có một phần mềm hỗ trợ trong quá trình sử dụng
PLD để đạt hiệu quả cao.
Bob Osann đN nhận thấy đ−ợc sự cần thiết của một ch−ơng trình biên dịch
PLD vạn năng dùng cho tất cả PLD của những công ty chế tạo khác nhau.
Vào tháng 9/1983, Công ty Assisted Technology đN đ−a ra phiên bản 1.0
1a của ch−ơng trình biên dịch PLD có tên là CUPL (Universal Compiler for
Programmable). Ch−ơng trình này hỗ trợ cho 29 loại vi mạch, sự ra đời của
CUPL đN gây đ−ợc sự chú ý của nhiều công ty chế tạo. Công ty Data I/O, nhà
chế tạo các vi mạch lập trình lớn nhất trên thế giới (EPROM, PROM, PLD), đN
quyết định phát triển phần mềm hỗ trợ cho riêng họ. Năm 1984, Data I/O giới
thiệu ABEL (Advanced Boolean Expression Language), đó là ch−ơng trình biên
dịch PLD có đặc điểm t−ơng tự nh− CUPL nh−ng nó đ−ợc đầu t− tiếp thị nên
đ−ợc các nhà thiết kế chấp nhận. Vì vậy, ABEL đN sớm theo kịp CUPL trên thị
tr−ờng.
Sự ra đời của ch−ơng trình biên dịch vạn năng cho PLD đN thúc đẩy nền
công nghiệp thiết kế số sẵn sàng cho việc áp dụng PLD cho những thiết kế mới.
Những ch−ơng trình biên dịch vạn năng này đN đ−ợc cải tiến hơn so với các
ch−ơng trình biên dịch PALASM và AMAZE, nó đ−ợc cung cấp cho các nhà thiết
kế để thực hiện các mạch logic và mô phỏng những thiết bị. Đó là những đặc
điểm tiêu chuẩn của hai bộ biên dịch vạn năng CUPL và ABAL. JEDEC ( the
32
Joint Electron Device Engineering Council) dự định sản xuất một bộ biên dịch
PLD tạo ra một tiêu chuẩn để sử dụng cho tất cả các công ty chế tạo PLD hiện
nay và t−ơng lai. Vào 10/1983, the JEDEC Solid State Products Engineering
Council đ−a ra tiêu chuẩn JEDEC thứ 3“. Tiêu chuẩn khuôn thức chuyển đổi
giữa hệ thống tạo dữ liệu và thiết bị lập trình cho PLD”. Tháng 5/1986, JEDEC
tiếp tục đ−a ra tiêu chuẩn 3-A, tiêu chuẩn này trở thành tiêu chuẩn chung cho
công nghiệp PLD.
Tháng 7/1984, công ty Altera giới thiệu EP300. Đó là vi mạch sử dụng
công nghệ CMOS của EPROM, nó có đặc tính là công suất tiêu thụ thấp, có thể
xóa đ−ợc (dùng tia cực tím) cùng một số đặc tính mở rộng khác.Năm 1985, một
họ PLD mới đ−ợc công ty Lattice Semiconductor giới thiệu là GAL (Generic
Array Logic). Lattice dùng công nghệ CMOS của EEPROM, có các đặc tính kỹ
thuật nh− công suất thấp, có thể lập trình nhiều lần ( xóa bằng điện áp với thời
gian xóa khoảng vài giây). Vi mạch đầu tiên của họ GAL đ−ợc kí hiệu là
GAL16V8 có khả năng thay thế hoạt động của PAL (đối với vi mạch cùng loại).
Ngày càng nhiều công ty tham gia vào thị tr−ờng PLD để tạo ra những vi
mạch đặc biệt và sử dụng nhiều công nghệ chế tạo khác nhau. Vào năm 1985,
công ty Xilinx tạo ra một họ mới là LCA (Logic Call Array). Cấu trúc của LCA
có 3 đoạn: một ma trận của khối logic đ−ợc bao quanh là khối vào ra và một
mạng đ−ờng dữ liệu nối gián tiếp. Đặc biệt của LCA là PLD đầu tiên sử dụng tế
bào RAM động cho chức năng logic. Ưu điểm của cấu trúc này là khách hàng có
thể kiểm tra đ−ợc ch−ơng trình của vi mạch, do bản chất dễ xóa của LCA, nên
cần phải l−u trữ cấu hình của LCA ở bộ nhớ ngoài. Vì vậy, LCA không đ−ợc sử
dụng ở những tr−ờng hợp đòi hỏi sự hoạt động ngay lập tức khi khởi động máy.
33
Đi kèm với LCA là ch−ơng trình soạn thảo XACT và bộ mô phỏng giúp cho việc
sửa lỗi cho những thiết kế trên LCA đ−ợc thuận tiện.
Năm 1985, công ty Signetics với một khái niệm mới là PML
(Programmable Macro Logic). Vi mạch PML đầu tiên của Signetics PMLS 501,
vi mạch này sử dụng công nghệ l−ỡng cực, và đ−ợc đóng vỏ 52 chân .
Vào năm 1986, công ty ExMicroelectronic giới thiệu họ ERASIC (Erasable
Application Specific 7C) sử dụng công nghệ EEPROM CMOS. Vi mạch đầu tiên
là XL78C00 có dạng 24 chân và điều đặc biệt là XL78C00 có thể thay thế chức
năng cho PAL và EPLA cùng loại (không tính đến tốc độ), đi kèm là một phần
mềm hỗ trợ ERASIC.
Vào năm 1986, công ty Signetics quyết định thay đổi họ IFL thành họ PLS
(Programmable Logic From Signetics). Ví dụ nh− từ 82S100 thành PLS100, từ
82S157 thành PLS157. Sau đó 2 năm, công ty Actel đN cải tiến khuyết điểm họ
LCA là vi mạch có thể hoạt động không nhất thiết phải có bộ nhớ ngoài. Đồng
thời công ty Gazelle Microcircuit đN công bố phát minh công nghệ GaAs
(Gallium Arsenide). Đặc điểm của công nghệ này là cải tiến tốc độ , công suất
của các vi mạch trên nền tảng là công nghệ silicon, cho phép vi mạch làm việc
với tốc độ nhanh hơn công suất tiêu tán khi ở mức trung bình.
ứng dụng đầu tiên của công nghệ GaAs đ−ợc công ty Gazelle đ−a ra là
phiên bản của PAL 22V10. Ưu điểm của mạch này là cho phép vi mạch GaAs có
thể t−ơng hợp với các vi mạch TTL, do đó công nghệ GaAS đN đ−ợc ứng dụng
rộng rNi. Sau một thời gian cải tiến không ngừng, những PLD thế hệ sau đN đ−ợc
34
ứng dụng rộng rNi trong kỹ thuật phần cứng, nó trở thành công cụ cần thiết cho
những kỹ s− thiết kế.
Sự phát triển trong công nghiệp PLD nói riêng và với công nghiệp bán dẫn
nói chung đN tạo nên sự cạnh tranh của các công ty chế tạo PLD trên thế giới.
Do đó, đN có nhiều xung đột xảy ra giữa các công ty trong việc cạnh tranh thị
tr−ờng.
Vào năm 1986 công ty MMI đN kiện hai công tyAltera và Lattic vì đN vi
phạm bản quyền PAL. Kết quả là hai công ty này đN chấp nhận thua kiện và phải
mua bản quyền. Sau đó công ty MMI mua cổ phần trong công ty Xilinx và sở hữu
bản quyền họ LCA. Sau đó 1 năm công ty MMI hợp với AMD trở thành một tập
đoàn sản xuất các linh kiện bán dẫn hàng đầu trên thế giới. Tuy đN hợp nhất hai
công ty nh−ng họ vẫn tiếp tục phát triển các họ vi mạch hiện có vì những họ PLD
này đN trở nên phổ biến trên thị tr−ờng. Vào năm 1987, công ty National
Semiconductor đN mua lại công ty Fairchild và tiếp tục phát triển họ PAL
FASTPLA trên thị tr−ờng .
2.2. Cấu trúc cơ bản của các họ vi mạch lập trình
(pld)
Vi mạch số lập trình trải qua thời gian dài phát triển và cải tiến đN thực sự
mở ra một h−ớng đi mới cho những nhà thiết kế. Ưu điểm của PLD là giải quyết
đ−ợc vô số những vấn đề thiết kế nhờ vào nhiều họ PLD khác nhau. Những họ vi
mạch này có cấu trúc và công nghệ chế tạo khác nhau, do đó chúng có những
đặc điểm riêng để ứng dụng vào nhiều lĩnh vực trong công ngiệp. Mặc khác
ng−ời thiết kế còn quan tâm đến các thông số kỹ thuật của vi mạch nh− tốc độ,
công suất tiêu thụ, nguồn cung cấp và công cụ hỗ trợ để lập trình.
35
2.2.1.Họ vi mạch PROM (Progammable Read Only Memory).
PROM gọi là bộ nhớ chỉ đọc lập trình đ−ợc. Đây là họ vi mạch đầu tiên
đ−ợc sử dụng nh− là những vi mạch số lập trình theo quan điểm của vi mạch số.._.
Các file đính kèm theo tài liệu này:
- LA3245.pdf