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

Giáo trình vi mạch số khả lập trình

124 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài học này giới thiệu về cấu tạo logic, đặc tính điện của một trong các họ CPLD thông dụng của hảng LATTICE đó là vi mạch ispLSI 1016, ngoài khả năng cho phép lập trình lạI vi mạch nà[r]

(1)

BỘ LAO ĐỘNG – THƯƠNG BINH VÀ XÃ HỘI

T

NG C

C D

Y NGH

D

án giáo d

c k

thu

t d

y ngh

(VTEP)

GIÁO TRÌNH

VI M

CH S

KH

L

P TRÌNH

Mả số : CIO 01 12 00

NGH

: S

A CH

A

Đ

I

N T

CÔNG NGHI

P

Trình

độ

:

(2)

Mã tài liệu : Mã quốc tế ISBN :

Tuyên b bn quyn

Tài liệu thuộc loạI sách giáo trình Cho nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo MọI mục đích khác có ý đồ lệch lạc sử dụng vớI mục đích kinh doanh thiếu lành mạnh sẻ bị nghiêm cấm

Tổng cục dạy nghề sẻ làm mọI cách để bảo vệ quyền

Tổng cục dạy nghề cám ơn hoan nghênh thơng tin giúp cho việc tu sửa hồn thiện tốt tài liệu

Địa ch liên h

(3)

L

I T

A

Tài liệu kết dự án GDKT – DN tài trợ ngân hàng phát triển Á châu cho trường kỹ thuật trọng điễm toàn quốc trực thuộc tổng cục dạy nghề

Tài liệu soạn giáo trình phục vụ cho đối tượng công nhân nghề sửa chửa điện tử công nghiệp Do đó, trình tự nội dung xếp từ dể đến khó nhằm giúp người học tiếp thu cách dể dàng Đồng thời kềm với tài liệu cịn có sổ tay hướng dẩn dành riêng cho giáo viên đề nghị bước thực q trình giãng dạy cách qn từ tạo điều kiện cho giáo viên khai thác nội dung giá trình cách tốt

Đội ngủ biên soạn nhóm CDC trường cơng nhân kỹ thuật cần thơ, nội dung tài liệu kết hợp u cầu đào tạo với tình hình cơng nghệ thực tế sản xuất tham khảo theo tình hình giãng dạy trường kỹ thuật sở đào tạo nghề có liên quan

Tài liệu thiết kế theo mô đun/ môn học thuộc hệ thống mơ đun/ mơn học chương trình đào tạo hồn chỉnh nghề sửa chửa thiết bị điện tử cơng nghiệp cấp trình độ dùng làm giáo trình cho học viên khóa đào tạo

Ngồi ra, tài liệu sử dụng cho đào tạo ngắn hạn cho công nhân kỹ thuật, nhà quản lý người sử dụng nhân lực tham khảo

Đây tài liệu thử nghiệm sẻ hồn chỉnh để trở thành thức hệ thống dạy nghề

Hà Nội, ngày tháng năm 2005

(4)

M

C L

C

LỜI TỰA

MỤC LỤC

GIỚI THIỆU VỀ MÔ ĐUN

Vị trí, ý nghĩa, vai trị mơ đun

Mục tiêu môdun

Mục tiêu thực mô đun

Nội dung mơ đun

SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ

CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MƠ ĐUN

U CẦU VỀ ĐÁNH GIÁ HỒN THÀNH MƠ ĐUN

BÀI 1: GIỚI THIỆI CHUNG VỀ PLDs 10

GIỚI THIỆU 10

MỤC TIÊU THỰC HIỆN 10

NỘI DUNG CHÍNH 10

1 LỊCH SỬ PHÁT TRIỂN 11

2 CẤU TRÚC CƠ BẢN CỦA PLD 14

2.1 Họ vi mạch PROM 14

2.2 Họ vi mạch FPLA ( Field Progammable Logic Array) 16

2.3 Họ vi mạch FPLS ( Field Programable Logic Sequencer) 18

2.4 Ho vi mạch FPGA ( Field Progammable Gate Array) 20

2.5 Ho vi mạch PAL ( Programmable Array Logic) 20

2.6 Họ vi mạch GAL ( Generic Array Logic) 24

2.7 Họ vi mạch PEEL (Progammable Electrially Erasable Logic) 26

2.8 Họ vi mạch PML ( Programmable Macro Logic) 31

2.9 Họ vi mạch ERASIC(Erasable Programmable Application Specific IC) 35

2.10 Họ vi mạch LCA ( Logic Cell Array) 36

3 PHẦN MỀM HỔ TRỢ PLD 38

3.1 Phần mềm PALASM (PAL Assembler) 38

3.2 Phần mềm AMAZE 38

3.3 Phần mềm PLAN ( Programmable Logic Analysis) 38

3.4 Phần mềm HELD (Harris Enhanced Language for Programmable Logic) 38

3.5 Phần mềm PLPL (Programmable Logic Programming Language) 39

3.6 Phần mềm APEEL (Assembler for Programmable Electrically Erasable Logic) 39

3.7 Phần mềm IPLDS II (Intel Programmable Logic Devolopment System II) 39

3.8 Phần mềm CUPL ( Universal Compiler for Programmable Logic ) 39

3.9 Phần mềm ABEL (Advanced Boolean Expression Language) 39

BÀI 2: MẢNG LOGIC LẬP TRÌNH 41

GIỚI THIỆU 41

MỤC TIÊU THỰC HIỆN 41

NỘI DUNG CHÍNH 41

1 GIỚI THIỆU CHUNG 42

2 PLA PAL 42

3 CÁC VÍ DỤ THIẾT KẾ 45

3.1 Bộ chuyển mã BCD sang Gray 46

3.2 Bộ so sánh hai bít 48

4 CÁC MẢNG LOGIC LẬP TRÌNH THƠNG DỤNG 49

4.1 GAL16V8C 49

4.1.1 Ngỏ OLMC 51

4.1.2 Trình dịch hổ trợ OLMC 51

(5)

4.1.5 Chế độ simple 55

4.2 ispGAL22V10 61

4.2.1 OLMC 62

4.2.2 Cấu hình OLMC 63

BÀI 3: NGƠN NGỮ ABEL 69

GIỚI THIỆU 69

MỤC TIÊU THỰC HIỆN 69

NỘI DUNG CHÍNH 69

1 GIỚI THIỆU 70

2 CẤU TRÚC FILE NGUỒN ABEL 70

3 CÁC MÔ TẢ 71

4 SỐ 72

5 CÁC CHỈ DẨN 73

5.1 @ALTERNATE 73

5.2 @STANDARD 73

6 TẬP HỢP 74

6.1 Chỉ số truy xuất tập hợp 74

6.2 Các toán tử tập hợp 74

7 TỐN TỬ 76

7.1 Tốn tử logic 76

7.2 Toán tử số học 77

7.3 Toán tử so sánh 77

7.4 Toán tử gán 77

7.5 Thứ tự ưu tiên 78

8 MÔ TẢ LOGIC 78

8.1 Phương trình 78

8.2 bảng thật 79

8.3 Mô tả trạng thái 80

8.4 Dấu chấm (.) 83

8.5 Các véc tơ thử 85

8.6 Các câu lệnh thuộc tính 85

8.7 Linh tinh 86

9 CHƯONG TRÌNH MẪU 87

BÀI 4: HỌ CPLD 90

GIỚI THIỆU 90

MỤC TIÊU THỰC HIỆN 90

NỘI DUNG CHÍNH 90

1 GIỚI THIỆU CHUNG 91

2 VI MẠCH ispLSI 1016 91

2.1 Đặc tính 91

2.2 Mơ tả 92

2.3 Thơng số giớI hạn 93

2.4 Điều kiện hoạt động DC 93

2.5 Điện dung (TA = 250C, f = MHz) 93

2.6 Đặc tính lưu trử dử liệu 93

2.7 Điều kiện thử chuyển mạch 94

2.8 Đặc tính điện DC 94

2.9 Mơ hình thời gian ispLSI 1016 94

2.10 ThờI gian trì hoản tốI đa GRB vớI tảI GLB 95

2.11 Công suất tiêu thụ 95

2.12 Sơ đồ chân 96

2.13 Ý nghĩa tên linh kiện 96

BÀI 5: PHẦN MỀM ISP Synario 98

GIỚI THIỆU 98

(6)

NỘI DUNG CHÍNH 98

1 GIỚI THIỆU 99

2 YÊU CẦU HỆ THỐNG 99

3 KHỞI ĐỘNG SYNARIO 99

4 NHẬP MODUL VHDL VÀO DỰ ÁN 102

5 NHẬP SƠ ĐỒ MẠCH VÀO DỰ ÁN 103

6 HOÀN TẤT THIẾT KẾ 105

7 NHẬP THUỘC TÍNH 106

8 TẠO VÉC TƠ THỬ 108

9 BIÊN DỊCH FILE VHDL, SƠ ĐỒ VÀ VÉC TƠ THỬ 109

10 MÔ PHỎNG CHỨC NĂNG VÀ DẠNG SÓNG RA 110

11 TẠO MỘT KÝ HIỆU 111

12 THÍCH ỨNG THIẾT KẾ VỚI THIẾT BỊ CỦA LATTICE SEMICONDUCTOR 111

13 CHẾ ĐỘ NHẬP HỔN HỢP 113

14 TẠO FILE NGUỒN ABEL-HDL 116

15 BIÊN DỊCH ABEL-HDL 119

16 MÔ PHỎNG KẾT QUẢ THIẾT KẾ 119

17 THÍCH ỨNG THIẾT KẾ VỚI THIẾT BỊ LATTICE 121

(7)

GI

I THI

U V

Đ

UN

V

trí, ý ngh

ĩ

a, vai trị mơ

đ

un

• Đây mơ đun chun ngành học sau học viên hoàn tất mơ đun hổ trợ trước như: Linh kiện điện tử, mạch điện tử, kỹ thuật số

• Vi mạch số chức từ lâu có vai trò quan trọng hệ điều khiển số Nhưng vấn đề thường gặp thiết kế hệ phức tạp số lượng cổng nhiều trình thiết kế khó khăn kèm theo độ linh hoạt Một biện pháp khắc phục phải tìm linh kiện số đa đáp ứng yêu cầu Đó hệ vi mạch số lập trình từ thiết bị quy mô nhỏ PAL, GAL chủng loại có mật độ tích hợp lên đến hàng ngàn cổng logic, vài chục ghi, hàng trăm chân I/O Ưu điểm chúng giãm kích thước, cơng suất tiêu thụ, tăng độ tin cậy, tính linh hoạt đặc biệt với trợ giúp công cụ hổ trợ phần mềm trình thiết kế trở nên đơn giản nhiều Do chúng áp dụng phổ biến lỉnh vực máy tính điều khiển tự đơng cơng nghiệp Chính kiến thức họ thiết bị khơng thể thiếu công nhân sửa chửa điện tử công nghiệp

M

c tiêu c

a môdun

Sau hồn tất mơ-đun này, học viên có lực:

• Hiểu cấu tạo, đặc tính họ vi mạch số lập trình : PAL, GAL, CPLD…

• Nắm ứng dụng thơng dụng op-amp • Giải thích sơ đồ ứng dụng thực tế

• Lắp ráp sửa chửa thiết bị điện tử dùng vi mạch PLD

M

c tiêu th

c hi

n c

a mô

đ

un

• Phân tích mạch ứng dụng vi mạch PLD

• Xác định nguyên nhân gây hư hỏng thường xảy thực tế

• Thiết kế yêu cầu điều khiển dùng PLD kể phần cứng lẩn phần mềm

• Sửa chửa thay linh kiện hư hỏng

• Kiểm tra điều kiện hoạt động thiết bị

N

i dung c

a mơ

đ

un

Mô đun vi điều khiển bao gồm học sau : Giới thiệu chung PLD

2 Mảng logic lập trình Ngơn ngử ABEL Họ CPLD

(8)

S

Ơ

ĐỒ

QUAN H

THEO TRÌNH T

H

C NGH

TRANG BỊĐIỆN ĐIỆN KỸ THUẬT

LINH KIỆN ĐIỆN TỬ

ĐO LƯỜNG ĐIỆN TỬ

MẠCH ĐIỆN TỬ

CHẾ TẠO MẠCH IN

VẺĐIỆN

KỸ THUẬT XUNG

CHÍNH TRỊ

CÁC MƠN CHUNG

MÔN HỌC BỔ TRỢ

PHÁP LUẬT

QUỐC PHÒNG

THỂ CHẤT

TIN HỌC

ANH VĂN

VI MẠCH TƯƠNG TỰ

ĐIỆN TỬ CÔNG SUẤT

VI ĐIỀU KHIỂN VI MẠCH SỐ KHẢ

LẬP TRÌNH

KỸ THUẬT CÃM BIẾN KỸ THUẬT SỐ

ĐIỀU KHIỂN LOGIC LẬP TRÌNH

ĐIỆN CƠ BẢN

MÁY ĐIỆN ĐẦU VÀO

(9)

CÁC HÌNH TH

C H

C T

P CHÍNH TRONG MƠ

Đ

UN

Hình thức 1: Học lý thuyết lớp - Tất học từ đến

- Làm tập trả lờ câu hỏi lớp - Giải câu hỏi tập phần lý thuyết

- Viết chương trình băng ngơn ngử ABEL áp dụng phần mềm ISP Synario Hình thức 2: Học thực hành xưởng

- Giải thích nguyên lý hoạt động sơ đồ thực tập - Lắp ráp mạch theo sơ đồ

- Đo kiểm tra, chạy thử ghi nhận kết

- Phân tích hư hỏng thường gặp đề biện pháp khắc phục - Thực hành quy trình sửa chửa

Hình thức 3: Tự nghiên cứu

- Phân tích nguyên lý hoạt động máy thực - Tham quan xí nghiệp

- Tham khảo vấn đề liên quan sách báo, internet

YÊU C

U V

Đ

ÁNH GIÁ HỒN THÀNH MƠ

Đ

UN

Về lý thuyết: Hiểu thực nội dung sau - Cấu tạo, đặc tính họ PLD

- Tập lệnh chương trình viết ABEL - Cấu tạo, đặc tính họ ispLSI 1016

- Phần mềm ISP Synario

- Ứng dụng ISP Synario thiết kế dùng CPLD Về thực hành: Có khả làm

- Thiết kế thi công mạch điện theo yêu cầu

- Viết chương trình điều khiển kiểm tra hoạt động hệ Về thái độ

- Cẩn thận, tỉ mỉ, xác

(10)

BÀI

Tên bài:

Gi

i thi

u chung v

PLDs

Mã bài: CIO 01 12 01

GI

I THI

U

Bài học giới thiệu sơ lược cấu trúc đặc điểm chung họ vi mạch số lập trình hướng phát triển chúng Từ EPROM để lưu trử dử liệu đến mạch logic đa có khả thực sơ đồ logic phức tạp bất kỳ, từ vi mạch mật độ tích hợp thấp lập trình lần đến vi mạch mật độ tích hợp cao lập trình nhiều lần cịn cho phép lập trình hệ thống mà không cần thiết bị nạp chuyên dùng, làm tăng độ linh hoạt cho thiết bị ứng dụng

M

C TIÊU TH

C HI

N

• Hiểu cần thiết ý nghĩa thiết kế logic họ PLDs • Biết cấu tạo sơ đồ logic, phân biệt họ PLDs

• Biết phạm vi ứng dụng loại PLD

• Có kiến thức chung phần mềm hổ trợ phát triên hệ logic ứng dụng PLD

N

I DUNG CHÍNH

Nội dung học tập trung chủ đề sau: • Lịch sử phát triển PLD

• Cấu trúc PLD • Các họ PLD thị trường

(11)

1 L

CH S

PHÁT TRI

N

Trước thời kỳ vi mạch số lập trình (Programmable Logic Device) đời, thiết kế logic số truyền thống thường dùng nhiều vi mạch TTL loại MSI SSI kết hợp lại để tạo hàm logic mong muốn Những nhà thiết kế dựa vào sách tra cứu vi mạch số để tìm hiểu chức thơng số kỹ thuật, sau định sử dụng vi mạch số cần thiết cho yêu cầu thiết kế họ Điều bất lợi việc thiết kế sử dụng nhiều vi mạch dẩn đến nhiều khuyết điễm như: Kích thước board mạch lớn, công suất tiêu thụ cao, dể hư hỏng, thi cơng khó khăn, tốn kém…Nói chung khơng kinh tế với yêu cầu điều khiển phức tạp

Vào năm 1975,công ty SIGNETICS giới thiệu vi mạch số lập trình khơng có nhớ 82S100 (hiện PLS100) gọi mảng logic lập trình trường (Field-Programmable Logic Array) Napoleon Cavlan, người gọi cha đẻ mạch logic lập trình, lúc nhà quản lý ứng dụng PLA Signetics thực hiểu sử dụng PLA phương pháp tốt để thiết kế thay đổi hệ thống số Trong đó, cơng ty Harris sớm giới thiệu PROM, họ trình bày triển vọng PROM ứng dụng vào số mạch logic

Công ty National Semiconductor chế tạo mặt nạ lập trình cho PLA, cấu tạo gồm mảng AND lập trình kèm với mảng OR lập trình, cho phép thực tổ hợp tổng tích số 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 thuyết phục nhà quản lý công ty Signetics để đưa dự án PLAvào sản xuất

Vi mạch PLA 82S100, thành viên họ vi mạch IFL (Intergrated Fuse Logic) có hình dạng 28 chân Cấu trúc PLA gồm mảng AND lập trình mảng OR lập trình, cho phép thực tổ hợp logic tổng tích số đơn giản

Kỹ sư John Martin Birkner người quan tâm đến PLA, ơng hiểu nhiều phương pháp thiết kế logic học trường không áp dụng nhiều công việc Do đó, vào năm 1975 ơng rời thung lũng Silicon để đến công ty Monolithic Memories (MMI), công ty chế tạo PROM vi mạch logic tiêu chuẩn Vì vậy, Birkner có điều kiện việc tìm hiểu PLA cơng nhận ưu điểm mạch logic lập trình đồng thời ơng nhận khuyết điểm PLA có hai mảng lập trình Sau đó, Birkner đưa khái niệm vi mạch số lập trình, vi mạch tương tự FLA thay có hai mảng lập trình PAL (Programmable Array Logic ) có mảng AND lập trình theo sau mảng OR giữ cố định (khơng lập trình ) Như cổng OR có tích số cố định nối với ngỏ vào nó, giảm kích thước vi mạch cho phép tín hiệu truyền nhanh cho phép thực tổ hợp logic PAL đóng vỏ 20 chân Sau thời gian thuyết phục nhà quản lý công ty MMI thấy rõ lợi điểm PAL đồng ý sản xuất Vi mạch thuộc họ PAL phổ biến PAL 16L8, PAL 16R4, PAL 16R6, PAL 16R8 Các vi mạch có thời gian truyền trì hỗn 35ns Mỗi vi mạch có ngõ 16 ngõ vào, ký tự L ký hiệu vi mạch biểu thị tổ hợp ngỏ tác động mức thấp, ký tự R cho biết có 4, hay ghi ngỏ tương ứng

(12)

pháp chế tạo PAL, chấp nhận thị trường Vào năm 1978, MMI xuất sách hướng dẫn PAL Đó bước khởi đầu để PAL mở rộng giới người thiết kế mạch logic Ngồi sách hướng dẫn cịn trình bày danh sách chương trình gốc ngơn ngữ lập trình FORTRAN cho PALASM (PAL Assembler) phần mềm dành cho việc thiết kế mạch logic PAL PALASM biên soạn, định nghĩa logic cho khn thức Ngồi PALASM có khả mơ vận hành phương trình mạch logic theo nguyên tắc PAL Trong việc liên kết với nhà thiết kế để định rõ “vector kiểm tra”, PALASM thật phù hợp Tất đặc điểm PAL bao gồm việc khắc phục khuyết điểm PLA kết hợp với việc thúc đẩy sử dụng PAL mang đến kết tốt đẹp PAL nhanh chóng vượt qua họ vi mạch IFL cơng ty Signetics phổ biến thị trường, thuật ngữ PAL trở nên đồng nghĩa với PLD

Trong lúc ấy, công ty Signetics tiếp tục phát triển họ IFL, 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 họ FPLS (Field Programmable Logic Sequencer) Họ FPGA có cấu tạo mảng AND mức đơn với ngỏ vào lập trình cực tính ngõ cho phép thực hàm logic (AND, OR, NAND, NOR, INVERT), cấu trúc họ FPLS có chức FlipFlop để thực trạng thái hàm Đồng thời Signetics giới thiệu AMAZE (Automated Map and Zap Equations) chương trình biên dịch để hổ trợ cho vi mạch họ Tương tự, công ty chế tạo PLD khác lần lược giới thiệu phần mềm hỗ trợ họ

Cả công ty Signetics MMI tiếp tục giới thiệu PLD để đáp ứng tính đa dạng theo yêu cầu thiết kế Vào năm 1980, mạch logic lập trình thừa nhận với phát triển tính đa dạng IFL PAL có nhiều giá trị cho người thiết kế Mặc dù khởi đầu thành công PLD, nhiên số nhà thiết kế quen với việc dùng PLD, số trường đại học đưa vi mạch logic lập trình vào khóa học thiết kế họ

Tuy thế, kĩ thuật logic lập trình tiếp tục cải tiến vi mạch phát triển giai đoạn thứ hai giới thiệu vào năm 1983 Công ty Advance Micro Devices ( AMD) giới thiệu PAL22V10 với đặc điểm đặc biệt linh động cổng PLD 10 ngỏ vào Mỗi cổng PLD có khả tổ hợp với ghi ngỏ ngỏ vào Cổng đệm ngõ ba trạng thái điều khiển tích số riêng cho phép vận hành hai chiều Tất ghi reset tự động trình tắt hay mở ghi có khả “đặt trước”, đặc điểm đặc biệt cho việc kiểm tra sau

Với vi mạch mới, giới thiệu thường xuyên thị trường dẫn đến việc cần thiết phải có phần mềm hỗ trợ trình sử dụng PLD để đạt hiệu cao

Bob Osann nhận thấy cần thiết chương trình biên dịch PLD vạn dùng cho tất PLD công ty chế tạo khác

Vào tháng 9/1983, Công ty Assisted Technology đưa phiên 1.01a chương trình biên dịch PLD có tên CUPL( Universal Compiler for Programmable) Chương trình hỗ trợ cho 29 loại vi mạch, đời CUPL gây ý nhiều công ty chế tạo Công ty Data I/O, nhà chế tạo vi mạch lập trình lớn giới (EPROM, PROM, PLD), đị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), chương trình biên dịch PLD có đặc điểm tương tự CUPL đầu tư tiếp thị nên nhà thiết kế chấp nhận Vì vậy, ABEL sớm theo kịp CUPL thị trường

(13)

ty chế tạo PLD tương lai Vào 10/1983, the JEDEC Solid State Products Engineering Council đưa tiêu chuẩn JEDEC thứ 3“ Tiêu chuẩn khuôn thức chuyển đổi hệ thống tạo liệu thiết bị lập trình cho PLD” Tháng 5/1986, JEDEC tiếp tục đưa tiêu chuẩn 3-A, tiêu chuẩn 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 Đó vi mạch sử dụng công nghệ CMOS EPROM, có đặc tính cơng suất tiêu thụ thấp, xóa (dùng tia cực tím) số đặc tính mở rộng khác.Năm 1985, họ PLD công ty Lattice Semiconductor giới thiệu GAL (Generic Array Logic) Lattice dùng công nghệ CMOS EEPROM, có đặc tính kỹ thuật cơng suất thấp, lập trình nhiều lần ( xóa điện áp với thời gian xóa khoảng vài giây) Vi mạch họ GAL kí hiệu GAL16V8 có khả thay hoạt động PAL (đối với vi mạch loại)

Ngày nhiều công ty tham gia vào thị trường PLD để tạo vi mạch đặc biệt sử dụng nhiều công nghệ chế tạo khác Vào năm 1985, công ty Xilen tạo họ LCA (Logic Call Array) Cấu trúc LCA có đoạn: ma trận khối logic bao quanh khối vào mạng đường liệu nối gián tiếp Đặc biệt LCA PLD sử dụng tế bào RAM động cho chức logic Ưu điểm cấu trúc khách hàng kiểm tra chương trình vi mạch, chất dễ xóa LCA, nên cần phải lưu trữ cấu hình LCA nhớ ngồi Vì vậy, LCA khơng sử dụng trường hợp địi hỏi hoạt động khởi động máy Đi kèm với LCA chương trình soạn thảo XACT mô giúp cho việc sửa lỗi cho thiết kế LCA thuận tiện

Năm 1985, công ty Signetics với khái niệm PML (Programmable Macro Logic) Vi mạch PML Signetics PMLS 501, vi mạch sử dụng công nghệ lưỡng cự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 XL78C00 có dạng 24 chân điều đặc biệt XL78C00 thay chức cho PAL EPLA loại (khơng tính đến tốc độ), kèm phần mềm hỗ trợ ERASIC Vào năm 1986, công ty Signetics định thay đổi họ IFL thành họ PLS (Programmable Logic From Signetics) Ví dụ từ 82S100 thành PLS100, từ 82S157 thành PLS157 Sau năm, cơng ty Actel cải tiến khuyết điểm họ LCA vi mạch hoạt động khơng thiết phải có nhớ ngồi Đồng thời cơng ty Gazelle Microcircuit cơng bố phát minh công nghệ GaAs

(Gallium Arsenide) Đặc điểm công nghệ cải tiến tốc độ , công suất vi mạch tảng công nghệ silicon, cho phép vi mạch làm việc với tốc độ nhanh công suất tiêu tán mức trung bình

Ưng dụng công nghệ GaAs công ty Gazelle đưa phiên PAL 22V10 Ưu điểm mạch cho phép vi mạch GaAs tương hợp với vi mạchTTL, cơng nghệ GaAS ứng dụng rộng rãi Sau thời gian cải tiến không ngừng, PLD hệ sau ứng dụng rộng rãi kỹ thuật phần cứng, trở thành công cụ cần thiết cho kỹ sư thiết kế

Sự phát triển công nghiệp PLD nói riêng với cơng nghiệp bán dẫn nói chung tạo nên cạnh tranh công ty chế tạo PLD giới Do đó, có nhiều xung đột xảy công ty việc cạnh tranh thị trường

(14)

2 C

U TRÚC C

Ơ

B

N C

A PLD

Vi mạch số lập trình trải qua thời gian dài phát triển cải tiến thực mở hướng cho nhà thiết kế Ưu điểm PLD giải vô số vấn đề thiết kế nhờ vào nhiều họ PLD khác Những họ vi mạch có cấu trúc cơng nghệ chế tạo khác nhau, chúng có đặc điểm riêng để ứng dụng vào nhiều lĩnh vực cơng ngiệp Mặc khác người thiết kế cịn quan tâm đến thông số kỹ thuật vi mạch tốc độ, công suất tiêu thụ, nguồn cung cấp cơng cụ hỗ trợ để lập trình

2.1 H

vi m

ch PROM

PROM gọi nhớ đọc lập trình Đây họ vi mạch sử dụng vi mạch số lập trình theo quan điểm vi mạch số Cấu trúc PROM đơn giản bao gồm mảng tế bào nhớ với đường điạ ngỏ vào nhũng đường liệu ngỏ Số đường điạ liệu cho biết ma trận nhớ PROM Một PROM đơn giản trình bày hình 1.1

Hình 1.1 Cấu tạo PROM đơn giản

PROM có đường điều khiển ngỏ vào cho phép tạo 32 tổ hợp logic đường liệu tạo thành ma trận nhớ 32x8, có tổng cộng 256 tế bào nhớ Cấu trúc PROM gồm mảng AND cố định theo sau mảng OR lập trình, minh họa hình 1.2

A4 A3 A2 A1 A0

D7 D6 D5 D4 D3 D2 D1 D0

(15)

Hình 1.2 Sơđồ logic PROM

Ghi chú:

- Dấu x điểm nối lập trình (kết nối cầu chì) - Dấu z điểm nối cố định

Ở mảng AND cố định có 16 biến chọn liên kết với tín hiệu ngõ vào mảng OR Do liên kết bị loại bỏ (nghĩa cầu chì bị đứt, biến khơng có mặt biểu thức ngõ ra) Các hàm ngỏ thay đổi tùy thuộc vào kết nối biến ngõ vào

(16)

trong thời gian ngắn) địa ngõ vào thay đổi Phương thức ghi PROM có tín xung clock đồng mạch ngõ chuyển sang trạng thái khác Đặc điểm giúp khắc phục vấn đề tạp nhiễm PROM

Khi khảo sát PROM, người ta thường quan tâm đến tốc độ truy xuất liệu Thơng thường loại PROM có thời gian truy xuất 60 ns Các loại PROM thường sử dụng công nghệ lưỡng cực nguyên tắc để chế tạo Tuy nhiên, khoa học tiến phát minh công nghệ CMOS cho phép rút ngắn thời gian truy xuất Công nghệ CMOS dùng để chế tạo EPROM, dạng PROM xóa tia cực tím Nó tạo bước tiến đáng kể như: EPROM WS57C256F công ty WaferScale Integration có dung lượng 32Kx8 với thời gian truy xuất 55 ns, công ty Cypress Semicondutor giới thiệu PROM CY7C245 có dung lượng 2048x8 với thời gian truy xuất 25 ns

Trên vài ví dụ cho thấy cơng nghệ CMOS chấp nhận cho ứng dụng thiết kế mạch

2.2 H

vi m

ch FPLA ( Field Progammable Logic Array)

Họ vi mạch FPLA công ty Signetics giới thiệu vào năm 1975 Cấu trúc FPLA mảng AND – OR đơn giản, trình bày hình 3

Hình 1.3 Sơđồ biểu thức ngỏ FPLA

Mảng AND – OR lập trình để thực hàm logic với hai biến ngõ vào Mỗi biến ngõ vào đưa qua cổng đệm để tạo hai mức logic Mỗi mức logic nối với ngõ vào cổng AND thơng qua cầu chì lập trình Tất cầu chì giữ nguyên

Nếu tất cầu chì thơng, ví dụ cổng AND có hai ngỏ vào A B, ngỏ K biểu thức ngõ cho cổng là:

C B A

(17)

B B A A K =

Từ kết cho thấy ngỏ cổng AND ln mức thấp, điều khơng có lợi Tuy nhiên ta lập trình cho cầu chì trên, ví dụ ta chọn A x B, lúc giá trị biến khơng có biểu thức

Biểu thức ngỏ cổng lúc là; K = A.B

Nguyên tắc lựa chọn giá trị để lập trình, cầu chì chọn nghĩa giá trị khơng có mặt biểu thức

Lưu ý mảng OR mạch hình 1.4 Mỗi ngỏ cổng AND nối tới ngỏ vào cổng OR thơng qua cầu chì Diode Xét biểu thức F1 giả sử cầu chì thơng, ta có :

F1= K + L+ M + N

Với K,L,M,N tích số AXB, F1 tổng tích so hai biến A B Bây ta lập trình cách làm đứt cầu chì số hạng ứng với cầu chì bị đứt khơng có mặt biểu thức Bằng cách lập trình cầu chì mảng AND – OR (nghĩa loại bỏ giá trị giá trị biểu thức) FPLA tạo hàm logic khác theo mạch thiết kế với hai biến ngỏ vào Lưu ý Diode mảng OR dùng để bảo vệ ngắn mạch

(18)

Hình 1.4 Sơđồ logic FPLA PLS153

2.3 H

vi m

ch FPLS ( Field Programable Logic Sequencer)

Họ FPLS giới thiệu vào năm 1979, FPLS có cấu trúc mơ theo cấu trúc FPLA bổ sung thêm ghi cho phép “preloading” trạng thái thiết bị Một vài ghi ngỏ đưa hồi tiếp mảng AND lập trình số khác có ghi ngầm (những ghi bổ sung chíp khơng nối với chân ngỏ vào hay ngõ ra) bổ sung với ghi ngỏ ra, hồi tiếp khơng hồi tiếp

I0

I1

I2

I3

I4

I5

I6

I7

B9

B8

B7

B6

B5

B4

B3

B2

B1

(19)

Hình 1.5 Sơđồ logic FPLS PLS 157

Sơ đồ logic vi mạch PLS157 công ty Signetics giới thiệu trình bày hình 1.5, có hình dáng bên ngồi 20 chân, có cấu trúc16x45x12 PLS157 có ghi tổ hợp ngõ Các tổ hợp ngõ có chức nhất, ghi cấu tạo cổng đảo M(M0-M5) Cấu trúc PLS157 có đặc điểm đáng

(20)

2.4 Ho vi m

ch FPGA ( Field Progammable Gate Array)

Họ FPGA Signetics giới thiệu vào năm 1977 sử dụng để thay cho cổng nhiều ngõ vào tiêu chuẩn, cấu trúc bao gồm mảng AND lập trình, với lập trình cực tính ngõ Chỉ với cổng AND biến đổi thành cổng NAND, NOR hay cổng OR Mỗi cổng AND FPGA biến đổi thành cổng logic khác

FPGA bổ sung linh động cổng tiêu chuẩn khác Vi mạch đại diện cho họ FPGA PLS151, có hình dáng 20 chân trình bày hình 3.6 PLS151 có ngỏ vào, 12 ngõ có tín hiệu hồi tiếp đưa mảng AND sử dụng ngõ vào Có thêm tích số tạo đường điều khiển, tín hiệu điều khiển cổng đệm ngỏ trạng thái FPGA thích hợp thiết kế để giải mã địa thêm vào chức khác

2.5 Ho vi m

ch PAL ( Programmable Array Logic)

PAL họ phổ biến họ PLD MONOLITHIC MEMORIES INC giới thiệu vào năm 1978 PAL đăng ký quyền cấu trúc công ty MMI Cấu trúc PAL bao gồm mảng AND lập trình theo sau mảng OR cố định, cấu trúc cải tiến từ khuyết điểm họ FPLA Hình 3.7 minh họa cho cấu trúc đơn giản PAL Do loại bỏ việc sử dụng cầu chì mảng OR, số lượng tinh thể Silicon sử dụng giảm, dẫn đến giá thành PAL thấp so với FPLA Mặt khác thời gian trì hoãn PAL ngắn so với FPLA giảm trì hỗn truyền qua mảng OR

(21)(22)(23)

Hình 1.8 Sơđồ logic PAL 16L8

19

17

2

3

4

5

6

7

8

9

18

16

15

14

13

(24)

PAL16L8 ứng dụng lĩnh vực giải mã địa chỉ, thuận tiện việc kết hợp với vi xử lý thiết bị ngoại vi mức tác động Với đặc tính tốc độ tương đối cao, giá thành thấp, thời gian truyền trì hỗn khoảng 7,5ns nên PAL16L8 phổ biến cơng nghiệp PLD Ngồi PAL16L8 có đặc điểm so với họ trước có cầu chì bảo vệ, dùng để chống chép, giúp bảo vệ nội dung bên Ngồi PAL16L8 cơng ty MMI giới thiệu loại vi mạch khác PAL16R4, PAL16R6, PAL16R8 Các vi mạch có cấu tạo giống PAL16L8 ngõ sử dụng thêm FF D để chốt tín hiệu ngỏ

Một hệ vi mạch PAL công ty AMD giới thiệu PAL22V10 với hình dáng 24 chân chế tạo công nghệ CMOS thay cho công nghệ lưỡng cực Đặc trưng vi mạch ngỏ cho qua cổng PLD

Ngoài việc tăng số biến ngỏ vào vi mạch cịn có số đặc điểm hàm logic thành phần tích số thay đổi từ đến 16 biến Điều giúp cho vi mạch thực nhiều phương trình phức tạp Nhờ vào cấu tạo ngỏ cổng PLD nên ngỏ vào vi mạch có đặc tính giao tiếp chiều, điều làm tăng khả xử lý vi mạch tạo thuận lợi cho việc thiết kế Do đặc điểm cải tiến nên hệ vi mạch PAL phổ biến rộng rãi (đặc biệt nhóm vi mạch 20 chân) PAL xem họ vi mạch đại diện cho họ vi mạch số lập trình

Ngồi cơng ty chế tạo PAL có chọn lựa việc ký hiệu số vi mạch Điều cung cấp cho người sử dụng thơng tin cần thiết có liên quan đến ứng dụng vi mạch Các ký hiệu việc đánh số họ PAL nói chung bao gồm số đếm tách rời hay ký tự Số đần tiên tên vi mạch cho biết số ngõ vào vi mạch (đây số biến ngõ vào mảng AND) Số thứ hai biểu thị số ngỏ vi mạch Ký tự nằm số ý nghĩa thuộc tính ngỏ Một số mã ký tự có ý nghĩa là:

H tác động mức thấp L tác động mức cao

P tác động ngỏ lập trình C phần bổ sung ngỏ S

Các ký hiệu vi mạch họ PAL xem hướng dẫn vi mạch Ngoài cơng ty chế tạo cịn cung cấp thông số kỹ thuật sơ đồ logic vi mạch kèm theo để làm tài liệu tham khảo cho nhà thiết kế

2.6 H

vi m

ch GAL ( Generic Array Logic)

(25)

Hình 1.9 Sơđồ logic GAL

2

3

4

5

6

7

8

9

1

1

1

1

1

14

1

(26)

Vi mạch có đặc điểm xóa điện lập trình lại phần mềm công cụ hỗ trợ Khảo sát cấu trúc vi mạch GAL16V8 trình bày hình 1.10, GAL16V8 có hình dạng 20 chân vi mạch phổ biến họ GAL

Mỗi OLMC có ngỏ vào tương đương với tích số biểu thức Ngồi OLMC có tín hiệu hồi tiếp đưa để điều khiển, tín hiệu xung đồng hồ, tín hiệu hồi tiếp mảng AND Các vi mạch GAL có hỗ trợ ghi “Preload”, điều có ích việc kiểm tra vi mạch Mặt khác hệ vi mạch phát triển vi mạch lập trình hệ thống ký hiệu ispEELD (In-system Progammable)

Vi mạch ispGAL16Z8, cấu trúc gần giống với GAL16V8 thêm vào chân để điều khiển lập trình Trong hệ thống ispGAL16Z8 cho phép chu kỳ lập trình 10000 lần liệu giữ cố định khoảng thời gian 20 năm Đó quy định vi mạch theo nguyên tắc EPROM Cấu trúc họ GAL lặp lại cấu trúc họ PAL đặc điểm họ GAL đưọc thiết kế để kết hợp với vi mạch họ PAL Điều thể qua việc ký hiệu vi mạch họ GAL cấu trúc tế bào bảo vệ

2.7 H

vi m

ch PEEL (Progammable Electrially Erasable Logic)

Họ PEEL công ty International Cmos Technology INC giới thiệu Nó chế tạo với cơng nghệ EEPROM Cấu trúc PEEL tương tự PAL GAL, xóa điện lập trình nhờ vào phần mềm hỗ trợ Khảo sát vi mạch PEEL18CV8 trình bày hình 1.10

(27)

Hình 1.10 GAL 16V8

Công ty Altera lần giới thiệu thuật ngữ xóa PLD tia cực tím trở thành thuật ngữ chung cho công nghệ PLD để tham khảo cho vi mạch lập trình xóa tia cực tím Từ khởi đầu, công ty Altera thay đổi công nghệ chế tạo PLD từ công nghệ lưỡng cực sang công nghệ CMOS cơng nghệ CMOS đạt hiệu suất cao khơng gian (mật độ tích hợp cao hơn) Như PAL16L8 có mật độ tích hợp từ 100 lên 150 cổng, PAL22V10 có 500 đến 600 cổng EP310 (là vi mạch đại diện cho họ

Vào/CLK

Ngỏ vào

Ngỏ vào

Ngỏ vào

Ngỏ vào

Ngỏ vào Ngỏ vào

Ngỏ vào Nghỏ vào

Vào/Ra

Vào/Ra Vào/Ra

Vào/Ra

Vào/Ra

Vào/Ra

Vào/Ra

(28)

EPLD) có 1000 cổng Hình 3.12 trình bày sơ đồ khối EP310 có 20 chân cấu trúc gồm cổng PLD, xung xóa khơng đồng đặt trước tích số

Cấu trúc cổng PLD bao gồm khối điều khiển cấu trúc I/O Cấu hình ACB giống cấu trúc cổng PLD vi mạch PAL GAL có chức hoạt động đơn giản Trong cổng có biến ngỏ vào với biến để điều khiển cổng đệm ngỏ Nhờ vào cấu trúc ACB I/O mà EP310 có tín hiệu tổ hợp ngỏ tác động mức cao thấp hay tín hiệu ghi tác động mức cao thấp Đối với tín hiệu hồi tiếp mảng AND đưa từ ghi ngỏ Các cổng đệm ngỏ điều khiển biến riêng cho phép chân vi mạch hoạt động hai chiều Ngồi EP310 có cầu chì bảo vệ chống chép cầu chì bảo vệ trở thành tiêu chuẩn cho hệ PLD Một số vi mạch tiêu biểu cho họ EPLD EP900, có cấu tạo 40 chân, bên có 24 khối ACB, mật độ tích hợp 1000 cổng với tổ hợp ngỏ có lựa chọn Nhưng tương lai kỹ thuật ngày phát triển mật độ tích hợp lên đến 10000 cổng logic chip

(29)

Hình 1.11 Sơđồ logic EP310 36 13 14 15 16 17 18 19 11 Clk

Lối chọn

(30)

Hình 1.12 Sơđồ logic EPLD EP900 OE/ CLK

Điều khiển vào/ra

Clock

Đồng hồ

39 38 37 36 35 34 71 70 69 68

(31)

2.8 H

vi m

ch PML ( Programmable Macro Logic)

Họ vi mạch công ty Signetics sử dụng cấu trúc gọi “foldback” (gấp về) Mạch logic “foldback” sử dụng cổng NAND đơn hay mảng NOR kết hợp với cấu trúc liên kết lập trình trung tâm cho phép thực nhiều mức logic khác để liên kết với macro ngỏ vào ngỏ Như họ vi mạch PML, mảng NAND sử dụng cổng NAND có tốc độ truyền nhanh công nghệ lưỡng cực

Từ khóa macro để tham khảo khối chức xác định tín hiệu ngỏ vào, cổng đệm ngỏ hay hàm logic FF, mạch đếm hay mạch tổ hợp Công ty Signetics phân loại macro sau: ngỏ vào macro ngỏ vào, macro ngỏ khối chức khác ghi hay mạch tổ hợp gọi macro chức Macro họ ML mơ tả hình 1.13 So với cấu trúc mảng AND – OR họ IC PAL FPLA cấu trúc mảng NAND phức tạp Để đơn giản cho việc tìm hiểu, xét ví dụ sau:

Hình 1.14 a trình bày mạch logic đơn giản sử dụng cấu trúc AND – OR họ vi mạch PAL hình 3.14 b sử dụng cấu trúc NAND – NAND với chức tương tự có ưu điểm không bị giới hạn với hàm có cấp logic Mặc khác, cấu trúc PML tận dụng tối đa cổng logic khả hoạt động vi mạch

Ví dụ họ PAL FPLA cần thêm biến ngỏ vào chọn đường tín hiệu ngỏ xem đường tín hiệu ngỏ vào, làm tăng thời gian truyền lãng phí ngỏ Đối với họ PML tất ngỏ vào cổng NAND sử dụng ngỏ vào tín hiệu hàm logic thực với cấu trúc cấp logic Vi mạch đại diện cho họ PML PLHS 501 có cấu tạo gồm 72 cổng NAND có 44 cổng NAND dùng để hỗ trợ cho macro ngỏ Vi mạch có 24 ngỏ vào, cổng đệm XOR ngỏ với cổng tác động mức thấp , có cổng tác động mức cao có đường liệu chiều Vi mạch có 52 chân với kiểu chân theo dạng PLCC Hình 3.15 trình bày cấu trúc PLHS 501

Các cổng đệm ngỏ trạng thái điều khiển cổng NAND riêng để tạo nên tính linh hoạt thiết kế

Hình 1.13 Sơđồ logic lập trình macro Ngỏ

vào Macro

1

Ngỏ macro

0

Ngỏ Macro

(32)(33)

Hình 1.15 Mạch lật RS D xử dụng cấu trúc PML b) Mạch lật D

(34)

Hình 1.16 Sơđồ logic PLS 501

I23 I0 I0

(35)

2.9 H

vi m

ch ERASIC(Erasable Programmable Application Specific IC)

Họ vi mạch ERASIC giới thiệu cơng ty Exel Microeletronics có cấu trúc tương tự họ PML chế tạo công nghệ CMOS EEPROM khác với họ PML dùng công nghệ lưỡng cực Một đặc điểm khác biệt họ ERASIS sử dụng cấu trúc mảng NOR , cơng nghệ CMOS cổng NOR có thời gian truyền nhanh Vi mạch họ XL 78C800 có 24 chân với mật độ thích hợp khoảng 800 cổng

XL78C800 có 12 ngỏ vào 10 chân I/O liên kết với cổng lập trình Chân số đường cung cấp tín hiệu xung clock cho FF JK, chân 13 dùng để điều khiển cổng đệm ngỏ cho cổng lập trình, ngỏ vào đưa vào mảng NOR thông qua mạch lật, cổng NOR sử dụng để điều khiển mạch lật Ngỏ cổng NOR cấu tạo khối PCE (Polarity Control Element ) để tăng tính ling hoạt

XL78C800 có 32 biến ngỏ vào cổng NOR, hai biến dùng để điều khiển mạch lật có 30 biến dùng cho cổng lập trình

Hình 1.17 trình bày sơ đồ logic cổng lập trìnhtrong vi mạch XL78C800.Có ba ngỏ vào tín hiệu J,K,O đưa vào cổng lập trình.Với hai biến J,K để điều khiển FF JK Từ cổng lập trình có đường tín hiệu đưa mảng NOR Chân vi mạch kết hợp với cổng lập trình kết nối với ngỏ vào đa hợp (IN-MUX) nối với cổng đệm ngỏ Ngoài cịn có đường tín hiệu xung clock xung xóa khơng đồng cho FF JK, đường tín hiệu OE để điều khiển cổng đệm ngỏ Bộ đa hợp ngỏ lựa chọn tín hiệu từ biến O hay từ ngỏ FF JK Ở IN- MUX cho phép tín hiệu vào mảng NOR từ chân IC hay từ biến O mảng NOR Chân điều khiển đa hợp ngỏ OE-MUX dùng để điều khiển cổng đệm ngỏ hoạt động chiều hay chiều hay trang thái tổng trở cao Sơ đồ cổng lập trình hình 1.17

(36)

Hình 2.17 Cổng lập trình ERASIC XL78E800

2.10 H

vi m

ch LCA ( Logic Cell Array)

Họ LCA công ty Xillinx giới thiệu dựa theo cấu trúc cơng ty MMI, trình bày cấu trúc độc đáo họ PLD Cấu trúc truyền thống họ vi mạch PAL FPLA mảng AND – OR Các cổng lập trình có cấu trúc họ LCA gọi cấu trúc lập trình cho người sử dụng Đặc biệt cấu tạo LCA, họ dùng RAM động để tạo chức logic theo yêu cầu thiết kế Nhược điểm tế bào RAM động thường không ổn định Do chức trở lại trạng thái ban đầu điện Để hỗ trợ cho vấn đề họ sử dụng thêm phương pháp lưu trữ có chức tương tự ROM Cấu trúc LCA mơ tả hình 3.18, bao gồm khối IOB bao quanh ma trận khối LCB

J Q

K

(37)

Hình 2.18 Cấu trúc LCA

Liên kết đường tín hiệu dọc ngang khối giúp cho việc kết nối khối thêm thuận tiện Vi mạch họ LCA XC 2064, có mật độ thích hợp phức tạp khoảng 1200 cổng logic, 58 khối IOB ma trận 8x8 hàng cột tạo 64 khối CLB Tạo vi mạch khác XC 2018 có mật độ tích hợp khoảng 1800 cổng, có 74 khối IOB ma trận 10x10 tạo 100 khối CLB Vi mạch có đường tín hiệu xung clock, tín hiệu reset đặc biệt mạch tạo dao động thạch anh bên IC dùng để kết nối với phần tử dao động thạch anh bên ngồi

Hình 1.19 trình bày sơ đồ khối IOB, bao gồm cổng đệm ngỏ vào, đa hợp IN – MUX FFD Mức điện áp ngưỡng ngỏ vào cổng đệm thích hợp cho hai họ TTL CMOS Ngỏ FFD nối với ngỏ vào đa hợp ngỏ đa hợp nối hay nhiều khối CLB Ngỏ khối IOB gồm cổng đệm trạng thái nối thẳng tới chân IC

INTERCONNECT AREA CONFIGURATE

(38)

Hình 2.19 Cấu trúc khối vào/ra (IOB) LCA

3 PH

N M

M H

TR

PLD

Các phần mềm hỗ trợ cho vi mạch lập trình cơng ty phát triển liên tục, ngày có nhiều tính đa dạng, hỗ trợ cho nhiều loại vi mạch khác nên có tính cạnh tranh mạnh mẽ thị trường vi mạch lập trình

3.1 Ph

n m

m PALASM (PAL Assembler)

PALASM công ty MMI phần mềm tiêu chuẩn cho vi mạch lập trình Đây biên dịch hệ thứ hỗ trợ cho vi mạch hoạt động không đồng bộ, vi mạch họ PAL công ty MMI, vi mạch họ PLA vi mạch công ty AMD

3.2 Ph

n m

m AMAZE

Phần mềm AMAZE công ty Signetics phát triển cung cấp cho khách hàng sử dụng vi mạch lập trình cơng ty Module phần mềm AMAZE BLAST ( Boolean logic & State Transfer) dùng để biên dịch thông tin ngỏ vào chuyển đổi sang file chương trình chuẩn Signetics (các file có phần mở rộng ‘ STD ’) AMAZE hỗ trợ để mô vectơ kiểm tra để thiết kế theo yêu cầu người sử dụng

3.3 Ph

n m

m PLAN ( Programmable Logic Analysis)

Phần mềm PLAN công ty National Semiconductor giới thiệu hỗ trợ cho vi mạch lập trình cở vừa nhỏ PLAN ngôn ngữ đơn giản, dùng để thực biểu thức đại số Boolean có khả giao tiếp với cơng cụ lập trình để lập trình cho vi mạch

3.4 Ph

n m

m HELD (Harris Enhanced Language for Programmable

Logic)

Công ty Harris phát triển phần mềm HELD để hỗ trợ cho khách hàng sử dụng vi mạch lập trình họ HELD sử dụng giao diện tương tự phần mềm PLAN

D Q PIN

= PROGRAM CONTROLLED MULTIPLEXER

TS

Ngỏ Ngỏ vào

(39)

nhưng có khả kiểm tra lỗi tổng qt Ngồi HELD cịn u cầu phương trình ngõ vào dạng tổng tích ( SOP)

3.5 Ph

n m

m PLPL (Programmable Logic Programming Language)

PLPL công ty Avanced Micro Devices giới thiệu vào năm 1984 Đây phần mềm tiến so với phấn mềm trước, có đặc điểm khả cài đặt mở rộng so với phần mềm AMAZE Những đặc điểm cho phép định nghĩa sử dụng chân vi mạch cho nhóm tín hiệu sử dụng phương trình đại số Boolean PLPL hỗ trợ phương trình phức tạp có nhiều cấp logic khác Ngồi biên dịch để ứng dụng nguyên lí Demorgan, hàm đại số Boolean khơng bắt dạng tổng tích cho phép cú pháp linh hoạt

3.6 Ph

n m

m APEEL (Assembler for Programmable Electrically Erasable

Logic)

Vào năm 1987, Công ty International Cmos Technology giới thiệu trình biên dịch APEEL APEEL trình biên dịch đơn giản phù hợp với yêu cầu thiết kế vừa nhỏ có chức mơ APEEL gồm chương trình soạn thảo tồn hình ngỏ theo tiêu chuẩn JEDEC Nhưng khuyết điểm biên dịch không hỗ trợ để tối giản biểu thức logic Phần mềm APEEL cài đặt máy tính cá nhân cơng ty IBM cơng ty khác thích hợp với

3.7 Ph

n m

m IPLDS II (Intel Programmable Logic Devolopment System

II)

Phần mềm IPLDS II công ty Intel giới thiệu để hỗ trợ cho vi mạch họ EPLD Điều phần mềm cho phép thiết kế theo phương pháp phương pháp dùng phương trình đại số Boolean phương pháp liệt kê lệnh Để tối giảng biểu thức logic IPLDS II sử dụng thuật giải đơn giản ESPRESSO II – MV Đó thuật giải phát triển đại học California, dùng để thực việc rút gọn tích số hàm logic vi mạch công ty Intel sản xuất Tương tự phần mềm trước, IPLDS II cài đặt máy tính cơng ty IBM máy tính khác có cấu hình thích hợp, sử dụng kèm với cơng cụ lập trình cho vi mạch

3.8 Ph

n m

m CUPL ( Universal Compiler for Programmable Logic )

CUPL công tyAssited Technology giới thiệu vào năm 1983 Đây biên dịch vạn hỗ trợ cho 29 loại vi mạch loại kể PROM công ty chế tạo vi mạch lập trình khác CUPL ngơn ngữ mạnh hỗ trợ cho phương trình đại số Boolean , bảng thật thiết kế sơ đồ trạng thái, CUPL sử dụng hầu hết máy vi tính cá nhân hệ điều hành khác máy vi tính cơng ty IBM hay CP/M, VAX/ UNIX VAX/ VMS

3.9 Ph

n m

m ABEL (Advanced Boolean Expression Language)

ABEL phần mềm cơng ty Data I/0, sử dụng hầu hết loại vi mạch lập trình khác kể EPROM Đây biên dịch vạn có nhiều chức hỗ trợ tương tự CUPL

Trên giới thiệu sơ lược phần mềm hỗ trợ cho vi mạch lập trình để soạn thảo lập trình cho vi mạch Ngồi cịn nhiều phần mềm cơng ty khác sản xuất để hỗ trợ cho vi mạch lập trình họ

Sau bảng tóm tắt ngôn ngữ thiết kế cho vi mạch lập trình

(40)

các vi

mạch Boolean đại số thật nguyên lý sóng biểlogic u thức PALASM (MMI) AMAZE (Signetics) PLAN (National) HELP (Harris) PLPL (AMD) APEEL (ICT) A+PLUS (Altera) iPLDS II (Intel) ERASIC (Exel) CUPL (Logical Dev) ABEL (Data I/O) ELDS (Pistohl) LOG/IC (Elan) PLDesigner (Minc) X X X X X X X X X X X X X X X X X XX * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

(41)

BÀI

Tên bài:

Mãng logic l

p trình

Mã bài: CIO 01 12 02

GI

I THI

U

Bài học giới thiệu cấu trúc mạch logic đa mảng logic lập trình được, từ phần lý thuyết cấu tạo, đặc tính cách thực hàm logic PLA, PAL Ngoài nội dung đề cập đến mảng cụ thể thường thấy thực tế Phần thực tập tập thiết kế kết hợp chạy thử test board mơ hình kèm theo

M

C TIÊU TH

C HI

N

• Hiểu cấu tạo, ý nghĩa thực tế việc xử dụng mảng logic lập trình yêu cầu thiết kế logic phức tạp

• Biết cách xác định bảng nạp PLA PAL, phân tích khác hai thiết bị

• Thực thiết bị GAL16V8 ispGAL22V10

N

I DUNG CHÍNH

Nội dung học tập trung chủ đề sau: • Sự cần thiết cấu tạo logic PLA

(42)

1 GI

I THI

U CHUNG

Các nhà sản xuất IC thành công việc tích hợp hàng triệu transistor mạch Nhưng cơng nghệ giúp giãm số lượng thiết bị hệ thống số ?

Vấn đề phải tìm khối logic vạn áp dụng cho nhiều thiết kế logic khác Ví dụ cổng AOI dùng nhiều thiết kế song khối không giúp nhiều việc làm giãm số lượng thiết bị, điều thực cách đưa vào xử dụng khối chứa hàng trăm cổng Nhưng cấu trúc khối phải ?

Một giải pháp cho tình xếp cổng AND OR (hoặc NAND NOR) theo cấu trúc mảng tổng quát hóa mà điễm nối chúng với lập trình để thực hàm logic xác định Những khối logic mục đích chung gọi PLA PAL

2 PLA PAL

Hình 2.1 biểu diển sơ đồ khối thiết bị mảng logic lập trình Đó thiết bị nhiều đầu vào nhiều đầu tổ chức thành mảng phần tử AND mảng phần tử OR Mảng AND sẻ chuyển đầu vào thành tích số (product term) phụ thuộc vào điễm nối lập trình Mảng OR sẻ cộng tích số với để tạo biểu thức dạng tổng tích cuối

Một thiết bị PLA thực tập hợp hàm phức tạp Sự phức tạp xác định số lượng đầu vào (input), số lượng tích số (chính số lượng cổng AND) số lượng đầu (chính số lượng cổng OR) mà PLA cung cấp

Chẳng hạn FPLA tiêu biểu kiểu TTL có 16 đầu vào, 48 tích số đầu đóng gói vỏ 24 chân dử liệu Nó tương đương với 48 cổng AND 16 đầu vào cổng OR 48 đầu vào Nếu xét vi mạch SSI 12 chân dử liệu có cổng hai đầu vào, từ thấy tác dụng thực mảng logic Ví dụ để thực hàm boole sau đây:

Mảng AND Mảng OR

Tích số

Ngỏ vào

Ngỏ

(43)

A C B F3 AB C B F2 AB C A F1 C B A F0 + = + = + = + =

các phương trình mô tả tập hợp biến (A, B, C), tích số (A, CB , A C , AB, B C ) hàm (F0, F1, F2, F3) Những chử tương đương với số đầu vào mảng AND, đầu từ mảng AND sẻ tương đương với số đầu vào mảng OR đầu mảng OR hàm Để thực hàm phải cần PLA có đầu vào, tích số đầu

Một cách tiện lợi để mô tả hàm dùng ma trận đặc tính vẻ hình 2.2 Nó mơ tả đầu vào phải nối với cổng AND để hình thành tích số mong muốn (1 = Biến không đảo; = Biến đảo; - = Khơng nối) tích số phải OR với để tạo thành đầu cuối (1 = Nối; = Không nối) hàng bảng xác định tích số, cột biểu diển đầu vào đầu Một tích số tham gia nhiều hàm có nhiều giá trị hàng cột ma trận đặc tính Trong hình 2.2 dể dàng nhậ thấy tích số A, AB CB dùng nhiều hàm

Tích số A B C F0 F1 F2 F3

AB 1 - 1

C

B - 0

C

A - 0 0

C

B - 0 1

A - - 0

Hình 2.2 Bảng ma trận đặc tính

(44)

Những chi tiết trình lập trình phụ thuộc vào vi mạch cụ thể Một kỹ thuật thường hay xử dụng đặt cầu chì tất điểm nối đầu vào đầu cổng Một cầu chì tiếp giáp điện thiết kế đặc biệt để bị đứt dòng điện lớn Bằng cách cho dịng điện cao chảy qua cầu chì chọn, phần cứng lập trình sẻ phá hỏng tiếp giáp Phần mềm lập trình sẻ phân tích phương trình boole để xác định cầu chì cần phá hỏng cầu chì cần để lại Hình 2.4 trình bày mảng logic sau lập trình

Sự khác PLA PAL

A B C

A B C

F0 F1 F2 F3

Hình 2.3 PLA trước lập trình

(45)

Trong hình 2.3 cho nthấy hai mảng AND OR đặc tính hóa theo cách msf người thiết kế mong muốn Những thiết bị gọi mảng logic chương trình hóa (Programmable Logic Array – PLA)

Trong thực tế có mảng logic khơng cung cấp khả lập trình đầy đủ Ví dụ thiết bị PAL (Programmable Array Logic) có mảng AND lập trình cịn mảng OR xác định trước Số lượng tích số vào cổng OR thường giới hạn là: 2, 4, 16

Có bù trừ thiết bị PAL độ phức tạp hàm với số lượng tích số cổng OR số lượng hàm độc lập mà thiết bị thực Cổng OR có độ chịu tải đầu vào (fan – in) cao thiết bị PAL đầu

Ví dụ họ PAL tồn dạng, dạng có 16 đầu vào, 16 tích số khác tổ chức mảng OR: cổng OR cổng đầu vào, cổng OR cổng đầu vào cổng OR 16 đầu vào Còn mảng AND vẩn hồn tồn lập trình Hình 2.5 biểu diển thiết bị PAL có đầu vào, tích số đầu cịn mảng OR đẫ xác định sẳn, trường hợp cổng OR bị giới hạn tích số cổng

Điễm khác PLA với PAL là: PLA lợi dụng tích số chung để chia xẻ cho nhiều đầu thiết bị PAL làm điều Như nên dùng PLA cần thực tập hợp hàm mà có nhiều tích số chung để chia xẻ cho đầu

Mặt khác thiết bị PLA sẻ chậm so với PAL khác trở kháng tiếp giáp, lập trình cịn đẫ định vị cứng tiếp giáp lập trình cấu tạo từ cầu chì có trở kháng cao tiếp giáp định vị cứng Vì tín hiệu qua hai tiếp giáp lập trình PLA bị trể qua tiếp giáp lập trình PAL

3 CÁC VÍ D

THI

T K

Phần sẻ trình bày hai ví dụ thiết kế khác chuyển đổi mã so sánh để minh họa cách thực mạch logic tổ hợp cách dùng PLA PAL

A B C

(46)

3.1 B

chuy

n mã BCD sang Gray

Nhiệm vụ chuyển mã chuyển số BCD bít thành mã gray bít Mỗi số mã gray khác so với số cạnh bít Mạch có đầu vào A, B, C D biểu diển số BCD đầu W, X, Y, Z biểu diển mã gray bít

A B C D W X Y Z 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 X X X X 1 X X X X 1 0 X X X X 1 X X X X 1 X X X X 1 1 X X X X

Hình 2.6 Bảng thật chuyển mã BCD sang Gray

(47)

Kết sau tối thiểu hóa

W = A + BD + BC Y = B + C C

B

X = Z =ABCD+BCD+AD+BCD

Hình 2.8 Thực chuyển mạch thiết bị PAL

A B C D

A BD

BC 0

C B

0 0

0 B C 0

0 D C B A BCD

D A

D C B

(48)

Vì tập hợp hàm khơng có tích số chung để chia xẻ nên chúng thích hợp với cách thực thiết bị PAL (hình 2.8) Thiết bị gồm cổng OR đầu vào có nhiều cổng AND khơng dùng đến, thực thiết bị PLA đơn giản tốc độ sẻ chậm

3.2 B

so sánh hai bít

Đầu vào mạch hai số nhị phân hai bít ký hiệu AB CD Đầu hàm xác định giá trị logic mệnh đề

AB = CD (EQ: Bằng nhau) AB ≠ CD (NE: Không nhau) AB < CD (LT: Nhỏ hơn) AB > CD (GT: Lớn hơn)

Hình 2.9 Bảng Karnaugh so sánh Các phương trình logic sau tối thiểu hóa

D C B D AB C A GT CD B D B A C A LT D B D B C A C A NE D C B A ABCD D C B A D C B A EQ + + = + + = + + + = + + + =

(49)

Hình 2.10 Thực so sánh PLA

4 CÁC M

NG LOGIC L

P TRÌNH THÔNG D

NG

4.1 GAL16V8C

Là vi mạch sản xuất hảng LATTICE có trì hoãn truyền tối đa nS, kết hợp công nghệ CMOS hiệu cao với công nghệ ghi xóa điện nhằm tạo PLD tốc độ cao thị trường Do thời gian xóa cao (< 100 mS) cho phép thiết bị lập trình lại cách nhanh chóng hiệu

Cấu trúc tổng quát thiết bị cung cấp khả thiết kế linh động nhờ vào tính cấu hình ngỏ OLMC người dùng, tập hợp phụ nhiều khả cấu hình GAL16V8 cấu trúc PAL liệt kê bảng phần mô tả macrocell Các thiết bị GAL16V8 cho phép mô cấu trúc PAL với tương thích hồn tồn chức năng/bản đồ cầu chì/thơng số

Mạch thử đồng tế bào lập trình lại cho phép thử tồn đặc tính AC, DC chức sản xuất Kết công ty LATTICE bảo đãm 100% chức khả lập trình tất sản phẩm GAL Thêm vào cịn bảo đãm 100 lần ghi/xóa dử liệu lưu trử 20 năm

A B C D

D C B A D C B A ABCD D C B A C A C A D B D B D B A CD B ABC D C B

(50)

Đặc tính kỹ thuật

• Cơng nghệ CMOS E2

- Trì hoản truyền tối đa nS - Fmax = 166 MHz

- Trể tối đa nS kể từ lúc có xung đồng hồ nhận dử liệu • Cơng suất giãm từ 50% đến 75% so với loại lưỡng cực

- Dòng Icc điển hình 75 mA loại cơng suất thấp - Dịng Icc điển hình 45 mA loại ¼ cơng suất • Có điện trở kéo lên tất chân

• Cơng nghệ tế bào E2

- Cho phép logic cấu hình lại - Các tế bào lập trình lại - Bảo đãm kiểm tra 100% - Tốc độ xóa cao (< 100 mS) - Khả lưu trử dử liệu 20 năm • OLMC

- Rất linh hoạt thiết kế logic phức tạp

Hình 2.11 Hình dạng vỏ

GAL16V8

(51)

- Lập trình cực tính ngỏ

- Mơ thiết bị PAL 20 chân với chức năng/bản đồ cầu chì/thơng số tương thích

• Nạp trước reset mở nguồn tất ghi - Khả kiểm tra chức 100%

• Ứng dụng điển hình - Điều khiển DMA

- Điều khiển máy trạng thái - Xử lý đồ họa tốc độ cao - Nâng cấp tốc độ logic chuẩn • Có ký hiệu nhận dạng điện tử 4.1.1 Ngỏ OLMC

Trong phần giới thiệu cách cấu hình ngỏ macrocell Trong thực tế cơng việc thực công cụ phần mềm phần cứng hoàn toàn dẻ dàng xử dụng

Có chế độ chế độ cấu hình chung là: Simple, complex registered Hai bít tồn cục SYN AC0 xác định cấu hình cho tất ngỏ macrocell Bít XOR macrocell xác định cực tính ngỏ chế độ Trong bít AC1 cũa macrocell có nhiệm vụ điều khiển cấu hình I/O Hai bít tồn cục kết hợp với 16 bít cấu trúc riêng định nghĩa tất cấu hình GAL16V8 Thơng tin cung cấp bít cấu trúc nhằm làm hiểu rỏ thiết bị Chương trình dịch sẻ thiết lập bít cấu trúc cách rỏ ràng thông qua việc định nghĩa chân linh kiện, người dùng khơng cần thao tác trực tiếp đến chúng

Tiếp theo sau bảng liệt kê cấu trúc PAL mà GAL16V8 mơ phỏng, cho thấy chế độ OLMC cấu trúc mô PAL GAL16V8

Cấu trúc mô PAL GAL16V8 Chếđộ OLMC toàn cục 16R8 16R6 16R4 16RP8 16RP6 16RP4 16L8 16H8 16P8 10L8 12L6 14L4 16L2 10H8 12H6 14H4 16H2 10P8 12P6 14P4 16P2 Registered Registered Registered Registered Registered Registered Complex Complex Complex Simple Simple Simple Simple Simple Simple Simple Simple Simple Simple Simple Simple 4.1.2 Trình dịch hổ trợ OLMC

(52)

52

có khả tự động chọn kiểu thiết bị thường dựa vào việc xử dụng ghi chân cho phép (OE) Việc dùng ghi sẻ buộc phần mềm chọn chế độ ghi Tất ngỏ tổ hợp với OE điều khiển thành phần tích số sẻ buộc phần mềm chọn chế độ complex Phần mềm chọn chế độ simple tất ngỏ dạng tổ hợp khơng có điều khiển OE Các kiểu thiết bị khác liệt kê bảng dùng để hủy bỏ việc tự động lựa chọn thiết bị phần mềm Để biết thêm chi tiết tham khảo tài liệu chương trình dịch

Khi dùng phần mềm để cấu hình thiết bị cần phải lưu ý đến giới hạn cho chế độ sau

Registered Complex Simple Tự động chọn chếđộ

ABEL P16V8R P16V8C P16V8AS P16V8

CUPL G16V8MS G16V8MA G16V8AS G16V8

LOG/iC GAL16V8_R GAL16V8_C7 GAL16V8_C8 GAL16V8

OrCAD-PLD “Registered” 1 “Complex” 1 “Simple” 1 GAL16V8A

PLDesigner P16V8R2 P16V8C2 P16V8C2 P16V8A

TANGO-PLD G16V8R G16V8C G16V8AS3 G16V8

1) Được dùng với từ khóa configuration 2) Hổ trợ trước version 2.0

3) Được hổ trợ từ version 1.20 trở 4.1.3 Chếđộ ghi

Trong chế độ macrocell cấu hình thành ngỏ dạng ghi chức I/O

Các cấu hình kiến trúc chế độ tương tự thiết bị 16R8 16RP4 với bố trí I/O, ghi cực tính thay đổi

Tất macrocell kiểu ghi chia xẻ chung chân xung đồng hồ chân cho phép Một macrocell cấu hình ghi I/O Chế độ cho phép đến ghi I/O chức vào định sẳn thực tập hợp phụ chức I/O

Mỗi ngỏ kiểu ghi có thành phần tích số, ngỏ kiểu I/O có thành phần tích số

Số lượng cầu chì JEDEC bao gồm cầu chì UES (User Electronic Signature ) PTD (Product Term Disable) trình bày sơ đồ logic sau

Cấu hình ghi chếđộ

thanh ghi SYN = AC0 =

XOR = Ngỏ tích cực mức thấp XOR = Ngỏ tích cực mức cao AC1 = Cấu hình

Chân1 đồng hồ chung cho ngỏ ghi

Chân 11 OE cho ngỏ ghi Chân 11 cấu hình CLK OE

Cấu hình ghi chếđộ

(53)

Ghi chú: Phần mềm phát triển tự động cấu hình tất bít điều khiển kiến trúc kiểm tra việc xử dụng chân tương ứng

Hình 2.12 Sơđồ khối chếđộ ghi 4.1.4 Chếđộ complex

(54)

Cho phép lên đến I/O, ngỏ vào định sẳn thực tập hợp phụ chức I/O Hai macrocell ngồi (chân 12 19) khơng thể ngỏ vào Các thiết kế cần I/O thực chế độ ghi

Mỗi macrocell có thành phần tích số, tích số dùng để điều khiển chức cho phép Chân 11 ngỏ vào dử liệu cho mảng AND

Số lượng cầu chì JEDEC bao gồm cầu chì UES PTD trình bày sơ đồ logic sau

Ghi chú: Phần mềm phát triển tự động cấu hình tất bít điều khiển kiến trúc kiểm tra việc xử dụng chân tương ứng

Cấu hình I/O tổ hợp chếđộ

complex SYN = AC0 =

XOR = Ngỏ tích cực mức thấp XOR =1 Ngỏ tích cực mức cao AC1 =

Chân 13 đến 18 cấu hình chức

Cấu hình ngỏ tổ hợp chếđộ complex

SYN = AC0 =

XOR = Ngỏ tích cực mức thấp XOR =1 Ngỏ tích cực mức cao AC1 =

(55)

Hình 2.13 Sơđồ khối chếđộ complex 4.1.5 Chếđộ simple

Trong chế độ macrocell cấu ngỏ vào ngỏ tổ hợp định sẳn cấu trúc kiến trúc chế độ tương tự thiết bị 10L8 12P6 với nhiều hốn vị cực tính việc lựa chọn vào

Tất ngỏ chế độ simple có tối đa tích số điều khiển logic Thêm vào cực tính ngỏ lập trình

Chân 11 ngỏ vào dử liệu cho mảng AND, hai macrocell trung tâm (chân 15 16) dùng làm ngỏ vào chân I/O ngỏ định sẳn

Ngỏ tổ hợp có hồi tiếp chếđộ

simple SYN = AC0 =

(56)

Ghi chú: Phần mềm phát triển tự động cấu hình tất bít điều khiển kiến trúc kiểm tra việc xử dụng chân tương ứng

Ngỏ tổ hợp chếđộ

simple SYN = AC0 =

XOR = Ngỏ tích cực mức thấp

XOR =1 Ngỏ tích cực mức cao AC1 = Xác định cấu hình Chân 15 16 cấu hình thường trực chức

Ngỏ vào định sẳn chếđộ

simple SYN = AC0 =

XOR = Ngỏ tích cực mức thấp

(57)(58)

Hình 2.15 Dạng sóng chuyển mạch Giới hạn tần số fmax

fmax hồi tiếp ngồi 1/(tSU + tCO)

Ghi chú: fmax tính từ giá trịđo tSU tCO

fmax hồi tiếp 1/(tSU + tCf)

Ghi chú: tCf = 1/fmax – tSU Giá trị tCf

được dùng để tính trì hỗn từ thời điễm

(59)

Ký hiệu nhận dạng

Một ký hiệu nhận dạng điện tử cung cấp cho thiết bị GAL16V8, gồm 64 bít nhớ lập trình Các bít chứa dử liệu định nghĩa người dùng Trong số ứng dụng bao gồm mã nhận dạng người dùng, số đọc lại điều khiển kiểm kê Dử liệu nhận dạng cho phép người dùng không phụ thuộc vào trạng thái bít bảo mật

Ghi chú: Ký hiệu nhận dạng điện tử đượ bao gồm phép tính kiểm tra tổng Việc thay đổi ký hiệu nhận dạng sẻ làm thay đổi kiểm tra tổng

Bít bảo mật

Một bít bảo mật cung cấp GAL16V8 để ngăn việc chép không quyền nội dung mảng Mỗi lập trình bít sẻ ngăn khơng cho phép đọc bít chức thiết bị Bít xóa cách lập trình lại thiết bị Vì cấu hình nguyên thủy khơng kiểm tra bít lập trình Nhưng dử liệu nhận dạng ln phép bất chấp trạng thái bít

Chống điện tích khóa

Các thiết bị GAL16V8 thiết kế có tính nạp hệ thống với pjhân cực âm Sự phân cực âm giúp làm giãm điện tích khóa gây nhiểu xung âm ngỏ vào Thêm vào đó, ngỏ thiết kế với kênh N kéo lên thay thơng thường kênh P kéo lên để triệt tượng khóa gây vọt lố ngỏ

Lập trình thiết bị

Các thiết bị GAL nạp chương trình thiết bị lập trình logic phù hợp chuẩn LATTICE Chương trình nạp hồn tất vịng vài giây, q trình xóa dể dàng người dùng thực tự động thời gian lập trình

Nạp trước ghi

Khi kiểm tra kết thiết kế máy trạng thái phải kiểm lại tất trạng thái chuyển trạng thái hệ Điều cần thiết tình hoạt động định tạo tín hiệu logic trạng thái khơng hợp lệ (bật nguồn, nhiểu lưới điện…) Để kiễm tra thiết kế điều kiện phải cung cấp phương pháp cho phép cách ly đường hồi tiếp áp đặt mộ trạng thái vào ghi, sau hệ tiếp tục hoạt động giá trị kiểm tra trạng thái thích hợp

Sơ đồ mạch GAL16V8 cho phép ngỏ ghi thiết lập đồng với hai mức cao thấp Do đó, trạng thái áp đặt để kiểm tra hoạt động Khi cần thiết thiết bị nạp GAL có khả chạy vectơ thử tự động thực việc nạp trước ghi

Bộđệm ngỏ vào

Thiết bị Gal16V8 thiết kế với đệm vào tương thích với mức TTL Các đệm có trở kháng vào cao nên làm giãm dòng tải nhiều so với thiết bị TTL lưỡng cực

Ngỏ vào GAL16V8 chân I/O có đặt sẳn điện trở kéo lên, nên ngỏ vào chân I/O không dùng sẻ treo lên mức cao (logic 1) LATTICE

fmax khơng có hồi tiếp

Ghi chú: fmax khơng có hồi tiếp

(60)

khuyến cáo nên nối ngỏ không dùng đến ngỏ vào khác, Vcc GND Việc làm nhằm giãm nhiểu dòng Icc thiết bị

RESET mở nguồn

Mạch điện GAL16V8 cung cấp tín hiệu reset cho tất ghi suốt thời gian mở nguồn, ngỏ Q tất ghi nội thiết lập mức thấp sau thời gian xác định (tpr, μS MAX) Kết trạng thái chân kiểu ghi (nếu chúng cho phép) sẻ mức cao mở nguồn bất chấp cực tính lập trình chân Đặc tính làm đơn giản hóa nhiều trình thiết kế máy trạng thái cách tạo trạng thái biết mở nguồn Vì việc mở nguồn xảy ngẩu nhiên nên phải có vài điều khiện để bảo đãm thiết bị chắn rsset Thứ điện áp Vcc phải tăng đều, thứ hai xung đồng hồ ngỏ vào phải cố định mức TTL trình bày đồ thị suốt thời gian mở nguồn ghi sẻ reset khoảng thời gian tối đa tpr

(61)

Hình 2.16 Sơđồ tương đương vào/ra

4.2 ispGAL22V10

Thiết bị ispGAL22V10 có thời gian trì hoãn truyền tối đa 7,5 nS Kết hợp công nghệ CMOS hiệu cao với công nghệ cổng E2 (Electrical Erasable floating gate)

đã tạo sản phẩm 22V10 lập trình hệ thống cho cơng nghiệp Cơng nghệ E2 có thời gian xóa nhanh (< 100 mS) cung cấp khả lập trình cấu hình lại

thiết bị cách nhanh chóng hiệu

Cấu trúc tổng quát tạo khả thiết kế linh động cách tối đa nhờ vào cho phép cấu hình OLMC người dùng

Thiết bị ispGAL22V10 có chức năng/bản đồ cầu chì/thơng số tương thích với thiết bị GAL22V10 lưởng cực CMOS

Mạch điện kiểm tra đồng tế bào lập trình lại cho phép kiểm tra đầy đủ chức năng, đặc tính AC, DC sản xuất Thêm vào thiết bị cịn có khả ghi xóa 10.000 lần dử liệu lưu trử 20 năm

Đặc tính kỹ thuật

• Lập trình hệ thống (5 V) - đường giao tiếp lập trình nối tiếp

(62)

- Tối thiểu 10.000 lần ghi/xóa

- Mạch kéo xuống bên chân SDI làm giãm điện trở (chỉ ispGAL22v10C)

• Cơng nghệ CMOS E2

- Trì hoãn truyền tối đa 7,5 nS - Fmax = 111 MHz

- Trể tối đa nS từ có xung đồng hồ có dử liệu • Có mạch kéo lên tất chân vào chân I/O

• Tương thích với thiết bị 22V10 chuẩn

- Chức năng/bản đồ cầu chì/thơng số loại 22v10 lưỡng cực CMOS • Cơng nghệ tế bào E2

- Lập trình hệ thống - Bảo đãm kiểm tra 100%

- Tốc độ xóa điện cao (< 100 mS) - Dử liệu lưu trử vòng 20 năm • 10 OLMC

- Đạt độ linh hoạt tối đa với thiết kế logic phức tạp • Ứng dụng điển hình

- Điều khiển DMA

- Điều khiển máy trạng thái - Xử lý đồ họa tốc độ cao - Driver cấu hình phần cứng • Nhận dạng ký hiệu điện tử 4.2.1 OLMC

Mỗi OLMC ispGAL22V10 có số thành phần tích số thay đổi Hai 10 OLMC có tích số (chân 17 27), hai OLMC có 10 tích số (chân 18 26), hai OLMC 12 tích số (chân 19 25), hai OLMC 14 tích số (chân 20 24) hai OLMC 16 tích số (chân 21 23) Thêm vào OLMC cịn có tích số dành sẳn để điều khiển chức cho phép ngỏ

Cực tính OLMC lập trình riêng rẻ hai chế độ tổ hợp ghi Điều cho phép ngỏ cấu hình tích cực mức thấp mức cao cách độc lập

Thiết bị ispGAL22V10 có tích số reset khơng đồng (AR) tích số preset đồng (SP) Hai tích số dùng chung cho tất OLMC kiểu ghi AR sẻ thiết lập tất ghi bất cú tích số xác định SP sẻ thiết lập tất ghi lên cạnh lên xung đồng hồ sau tích số xác định

(63)

4.2.2 Cấu hình OLMC

Mỗi OLMC ispGAL22V10 có hai mode chức bản: Thanh ghi I/O tổ hợp chế độ cực tính thiết lập hai bít (S0 S1) Thơng thường bít điều khiển chương trình dịch

Chếđộ ghi

Trong chế độ này, chân kết hợp với OLMC lái ngỏ Q FF-D OLMC Cực tính tín hiệu chân chọn cách xác định đệm tích cực mức cao mức thấp Việc điều khiển ngỏ trạng thái có hiệu lực tích số riêng OLMC định nghĩa phương trình logic Ngỏ Q FF-D hồi tiếp mảng AND

Lưu ý: Trong chế độ ghi, tín hiệu hồi tiếp lấy từ ngỏ Q ghi khơng phải từ chân thiết bị, chân định nghĩa ghi sẻ ngỏ khơng thể dùng làm I/O động chân tổ hợp

Chếđộ I/O tổ hợp

Trong chế độ chân liên kết với OLMC riêng điều khiển từ ngỏ tổng số Cực tính tín hiệu chân chọn cách xác định đệm điều khiển tích cực mức cao mức thấp, việc điều khiển ngỏ trạng thái có khả thành phần tích số riêng cho ngỏ thiết lập chương trình dịch ON (ngỏ định sẳn), OFF (ngỏ vào định sẳn) tích số điều khiển (I/O động) Tín hiệu hồi tiếp đưa mảng AND lấy từ chân đệm cho phép ra, hai cực tính chân (đảo không đảo) hồi tiếp mảng AND

Hình 2.19 Chếđộ ghi

(64)

Hình 2.20 Chếđộ tổ hợp

(65)

Hình 2.22 Dạng sóng chuyển mạch

fmax với hồi tiếp 1/(tSU + tCO)

Lưu ý: fmax với hồi tiếp ngồi tính từ

các giá trịđo tSU tCO

fmax với hồi tiếp 1/(tSU + tCf)

Lưu ý: tCf = 1/fmax – tSU Giá trị tCf

được dùng để tính thời gian trì hoản kể

(66)

Ký hiệu nhận dạng

Mỗi ispGAL22V10 cung cấp ký hiệu nhận dạng điện tử (ES) gồm 64 bít nhớ cho phép lập trình lại bít chứa dử liệu định nghĩa người dùng Một số ứng dụng bao gồm mã nhận dạng người dùng, số phiên điều khiển kiểm kê Dử liệu nhận dạng phép xử dụng không phụ thuộc vào trạng thái tế bào bảo mật

Ký hiệu nhận dạng điện tử đặc tính bổ sung khơng có hổ trợ thiết bị 22V10 nhà sản xuất khác Để xử dụng tính phải chọn loại 22V10 LATTICE dịch tập hợp phương trình logic Thêm vào nhiều máy lập trình có hai khả lựa chọn: Một ispGAL22V10 ispGAL22V10-UES (User Electronic Signature) ispGAL22V10-ES, điều cho phép người dùng trì tương thích với thiết kế 22V10 có vẩn cịn khả tùy chọn xử dunngj tính mở rộng thiết bị GAL

Bản đồ JEDEC ispGAL22V10 bao gồm 64 cầu chì bổ xung cho ký hiệu nhậ dạng điện tử tổng số 5892 cầu chì Tuy nhiên, ispGAL22V10 vẩn cịn lập trình theo đồ JEDEC 22V10 chuẩn (5828 cầu chì) với máy lập trình

Tế bào bảo mật

Mỗi ispGAL22V10 có tế bào bảo mật để chống chép nội dung mảng Mỗi lập trình tế bào sẻ ngăn việc đọc bít chức thiết bị Tế bào bị xóa lập trình lại nên cấu hình ngun thủy không kiểm tra Ký hiệu nhận dạng điện tử vẩn cho phép xử dụng bất chấp trạng thái té bào

Chống nghẻn mạch

Thiết bị ispGAL22V10 thiết kế với bơm điện tích mạch để phân cực âm khối nền, biên độ phân cực âm đủ để ngăn nhiểu xung âm ngỏ vào làm nghẻn mạch Ngoài ra, ngỏ thiết kế với mạch kéo lên kênh N thay thơng thường kênh P để giãm thiểu khả nghẻn mạch cãm ứng SCR

Lập trình thiết bị

Các thiết bị ispGAL22V10 xử dụng file đồ cầu chì JEDEC 22V10 chuẩn để mơ tả thơng tin lập trình cho thiết bị chương trình dịch hảng thứ ba tạo file JEDEC cho thiết bị

Khả lập trình hệ thống

Thiết bị ispGAL22V10 có tính lập trình hệ thống Bằng cách tích hợp tất mạch lập trình điện áp cao chip, việc lập trình thực đơn giản cách dịch chuyển dử liệu vào thiết bị Mỗi lập trình dử liệu tế bào E2CMOS vẩn trì tắt nguồn

Tất điều kiện cần thiết cho việc lập trình thực thơng qua tín hiệu giao tiếp mức TTL Các tín hiệu đưa đến mạch lập trình chip, nơi máy trạng thái sẻ điều khiển việc lập trình Các tín hiệu giao tiếp là: Dử liệu vào nối tiếp (SDI), dử liệu nối tiếp (SDO), xung đồng hồ nối tiếp (SCLK) tín hiệu điều khiển chế độ (MODE)

fmax khơng có hồ tiếp

(67)

Nạp trước ghi

Khi kiểm tra thiết kế máy trạng thái cần thiết phải kiểm tra tất trạng thái q trình chuyển trạng thái Đây tình xảy máy hoạt động xuất nhiểu gây việc tắt/mở nguồn, nhiểu lưới điện…Để kiểm tra thiết kế phù hợp với điều kiện cần phải cung cấp phương pháp cách ly đường hồi tiếp áp đặt trạng thái vào ghi Sau máy trạng thái hoạt động tiếp tục ngỏ kiểm tra đùng theo điều kiện trạng thái

Thiết bị ispGAL22V10 bao gồm mạch điện cho phép ngỏ kiểu ghi thiết lập đồng với mức cao mức thấp Do trạng thái áp đặt để kiểm tra hoạt động máy Khi cần thiết máy nạp GAL có khả tiến hành véc tơ thử cách tự động thực việc nạp trước ghi

Đệm ngỏ vào

Thiết bị ispGAL22V10 thiết kế với đệm vào tương thích TTL Các đệm có trở kháng vào cao nên mức tải tương đương nhỏ nhiều so với tải TTL thông thường khác

Tất chân vào chân I/O (ngoại trừ chân SDI ispGAL22V10C) có mạch kéo lên bên trong, ngỏ vào để hở sẻ có mức cao TTL (mức 1), chân SDI có mạch kéo xuống bên để giữ cho thiết bị khỏi trạng thái lập trình chân khơng điều khiển tích cực Tuy nhiên, công ty LATTICE khuyên nên nối ngỏ vào không dùng, chân I/O trạng thái với ngỏ vào tích cực gần đó, với Vcc với GND nhằm cải thiện khả chống nhiểu giãm dòng Icc cho thiết bị

Reset mở nguồn

(68)

điễm mở nguồn ngẩu nhiên nên phải thỏa mản số điều khiện để đạt trình reset hợp lệ Trước tiên, Vcc phải tăng lên, thứ hai xung đồng hồ phait đạt mức TTL suốt thời gian mở nguồn trình bày đồ thị Các ghi sẻ reset khoảng thời gian tối đa tpr Trong chế độ hoạt động bình thường tránh kích thiết bị tất đường vào đường hồi tiếp hoàn tất thời gian thiết lập, xung đồng hồ phải có bề rộng tối thiểu

(69)

BÀI

Tên bài:

Ngôn ng

ABEL

Mã bài: CIO 01 09 03

GI

I THI

U

Bài học giới thiệu số ngôn ngữ mô tả phần cứng thông dụng phục vụ cho yêu cầu thiết kế logic dùng PLDs phần mềm ABEL, khả tạo file đốt cầu chì, ABEL cịn có thêm tính mơ để kiểm tra chức hoạt động hệ thống giúp làm giãm thời gian chi phí trình thiết kế

M

C TIÊU TH

C HI

N

• Hiểu cấu trúc chung chương trình ABEL • Hiểu rỏ cú pháp, tính dịng lệnh

• Phân tích viết chương trình logic theo u cầu

N

I DUNG CHÍNH

Nội dung học tập trung chủ đề sau: • Cấu trúc chương trình ABEL

• Các mơ tả chương trình : Module, title, device

• Các hệ thống số : thập phân, nhị phân, bát phân, thập lục phân • Các dẩn chương trình

• Khái niệm tập hợp ứng dụng

• Phương pháp mơ tả hệ thống : Phương trình logic, bảng thật, sơ đồ trạng thái

(70)

1 GI

I THI

U

ABEL (Advanced Boolean Equation Language) ngôn ngữ lập trình mạnh cho PLDs bao gồm phần lập trình, mơ tạo file cầu chì để đốt PLDs Nó cho phép nhập mơ tả tương tự hành vi mạch logic ABEL ngôn ngữ mô tả phần cứng (HDL) chuẩn công nghiệp phát triển công ty Data I/O cho thiết bị PLD Trên thực tế cịn có nhiều ngôn ngữ mô tả phần cứng khác VHDL Verilog ABEL đơn giản VHDL ngôn ngữ có khả mơ tả hệ thống có độ phức tạp cao

ABEL dùng để mô tả hành vi hệ thống loại định dạng bao gồm phương trình logic, bảng thật sơ đồ trạng thái cách dùng câu lệnh giống ngôn ngữ C Chương trình dịch ABEL cho phép mơ thực thiết kế PLDs PALs, CPLDs, FPGAs

2 C

U TRÚC FILE NGU

N ABEL

Một file nguồn ABEL gồm có thành phần sau • Phần mở đầu: Bao gồm module, tùy chọn tiêu đề

• Phần mơ tả: Chân linh kiện, số, chân ẩn, tập hợp, trạng thái, thư viện • Phần mơ tả logic: Phương trình, bảng thật, sơ đồ trạng thái

• Phần véc tơ thử: véc tơ thử • Kết thúc

Các từ khóa (các từ nhậ dạng ABEL lệnh, VD: goto, if, then, module…) không phân biệt chử hoa chử thường tên người dùng định nghĩa, nhản (từ định danh) viết chử hoa, chử thường lẩn lộn Một mấu điển hình trình bày sau:

module module name

[

title

string

]

[deviceID

device

deviceType;]

pin declarations

other declarations

equations

equations

[

Test_Vectors

]

test vectors

end

module name

Ví dụ sau file nguồn mạch cộng bán phần

module my_first_circuit;

title 'ee200 assignment 1'

(71)

" input pins

A, B pin 3, 5;

" output pins

SUM, Carry_out pin 15, 18 istype 'com';

equations

SUM = (A & !B) # (!A & B) ;

Carry_out = A & B;

end my_first_circuit;

Khi xử dụng ABEL với phần mềm CAD Xilinx người dùng dựa mẫu hướng dẩn có sẳn ABEL thêm vào số từ khóa, tương tự phần trợ giúp trình soạn thảo ABEL cung cấp trợ giúp trực tuyến Vào thực đơn TOOL > LANGUAGE ASSISTANT Các biểu mẫu có sẳn cung cấp mơ tả hầu hết lệnh ABE, cú pháp, cấu trúc…Trong mẫu tổng hợp trình bày ví dụ mạch điển hình

3 CÁC MƠ T

Module: Mỗi file nguồn bắt đầu với câu lệnh module theo sau tên module (nhận dạng) file nguồn lớn thường bao gồm nhiều module với thành phần riêng chúng như: Tiêu đề, phương trình, lệnh end…

Title: Là tùy chọn dùng để nhận dạng dự án, tên tiêu đề phải đặt hai dấu móc đơn Dịng chứa tiêu đề chương trình dịch bỏ qua dùng để tạo tài liệu cho chương trình

String: Là chuỗi ký tự ASCII bao hai dấu móc đơn, string dùng cho tiêu đề, câu lệnh tùy chọn, mô tả chân linh kiện, chân ẩn thuộc tính

Device: Mơ tả tùy chọn tướng với định danh thiết bị PLD xác định Câu lệnh device phải kết thúc dấu chấm phẩy Khi dùng hệ thống CAD xilinx để dịch thiết kế tốt không nên đặt câu lệnh device file nguồn đẻ giữ cho thiết kế khong phụ thuộc vào linh kiện Khi cần tạo dự án xilinx cần phải xác định kiểu thiết bị (cũng thay đổi cửa sổ quản lý dự án cách chọn nút thông tin dự án) Dạng thức sau:

device_id device 'real_device';

Ví dụ: MY_DECODER device ‘XC4003E’ ;

Comment: Có thể chèn vào nơi file nguồn bắt đầu dấu móc kép kết thúc dấu móc kép khác đến cuối dịng

Pin: Mơ tả pin cho báo cho chương trình dịch tên ký hiệu tương ứng với chân bên thiết bị Dạng thức sau:

[!]pin_id pin [pin#] [istype 'attributes'] ;

One can specify more than one pin per line:

[!]pin_id , pin_id, pin_id pin [pin#, [pin#, [pin#]]] [istype 'attributes'];

Ví dụ:

(72)

OUT1 pin istype 'reg';

ENABLE pin;

!Chip_select pin 12 istype 'com';

!S0 !S6 pin istype 'com';

Lập trình viên khơng cần xác định chân Số chân xác định sau cách xử dụng file người dùng dịch CAD xilinx Điều giúp kết thiết kế tổng quát linh động Ký hiệu ! biểu thị mức tích cực mức thấp (tín hiệu bị đảo) istype thuộc tính tùy chọn chân linh kiện ví dụ ‘com’ báo cho biết tín hiệu kiểu tổ hợp ‘reg’ tín hiệu (được ghi vào FF) Thuộc tính áp dụng cho chân

Node: Mơ tả node có dạng thức mô tả pin Node tín hiệu bên linh kiện chúng khơng nối đến chân ngồi

Ví dụ:

tmp1 node [istype 'com'

Các mô tả khác cho phép người dùng định nghĩa số, tập hợp, macro, biểu thức nhằm mục đích đơn giản hóa chương trình Như ví dụ sau mơ tả số

id [, id], = expr [, expr] ; Ví dụ:

A = 21;

C=2*7;

ADDR = [1,0,11];

LARGE = B & C;

D = [D3, D2, D1, D0];

D = [D3 D0];

Hai phương trình cuối tương đương Ký hiệu “ ” xử dụng để định nghĩa khoảng Ví dụ sau dùng cho thích véc tơ, D xử dụng phương trình sẻ tham chiếu đến véc tơ [D3, D2, D1, D0]

4 S

Giá trị số nhập vào theo dạng khác nhau: Nhị phân, bát phân, thập phân thập lục phân Hệ thống số mặc định thập phân Hệ thống số xác định ký hiêu sau (chấp nhận chử hoa chử thường) Khi khơng có ký hiệu xác định số hiểu thập phân Có thể thay đổi hệ thống số mặc định dẩn “radix”

Hệ thống số Cơ số Ký hiệu

(73)

Bát phân ^o

Thập phân 10 ^d (mặc định)

Thập lục phân 16 ^h

Ví dụ:

Định nghĩa ABEL Giá trị thập phân tương ứng

35 35 ^h35 53 ^b101

5 CÁC CH

D

N

Các dẩn cho phép thao tác xử lý file nguồn chúng đặt nơi cần file nguồn

5.1 @ALTERNATE

Cú pháp @alternate

@ALTERNATE cho phép tập hợp luân phiên toán tử Việc xử dụng tập hợp toán tử luân phiên để tránh việc dùng tốn tử ABEL-HDL cơng (+), nhân (*) chia (/) chúng biểu diển tốn tử logic AND, OR NOT tập hợp luân phiên Tốn tử củ vẩn hoạt động @ALTERNATE có hiệu lực Tốn tử ln phiên vẩn trì tác dụng @ALTERNATE xử dụng kết thúc module

@RADIX

Cú pháp @radix expr ;

Expr biểu thức hợp lệ cho giá trị 2, 8, 10, 16 để để báo số mặc định

Chỉ dẩn @RADIX thay đổi hệ thống số mặc định, số mặc định trì hiệu lực dẩn @radix khác xử dụng kết thúc module Lưu ý @radix tạo đặc điễm số phải dạng thức số hành

Ví dụ: @radix 2; “ thay đổi số mặc định nhị phân @radix 1010; “ chuyển từ nhị phân sang thập phân

5.2 @STANDARD

Cú pháp @standard

(74)

6 T

P H

P

Một tập hợp tín hiệu số dùng để tham chiếu đến nhóm tín hiệu thơng qua tên Tập hợp tiện lợi để làm đơn giản biểu thức logic Một toán tử áp dụng cho tập hợp sẻ tác dụng đến phần tử tập hợp

Tập hợp danh sách số tín hiệu phân cách dấu phẩy tốn tử khoảng ( ) đặt ngoặc vng

Ví dụ:

[D0, D1, D2, D4, D5]

[D0 D6] “ Khoảng tăng

[b6 b0] “ Khoảng giãm

[D7 D15] [b1, b2, a0 a3] “ Khoảng tập hợp lớn

[!s7 !s0] “ Khoảng giãm tín hiệu tích cực

mức thấp Tuy nhiên, không phép viết [D0, x] ;

Trong x tập hợp x = [x3 x0], phải viết [D0, x3 x0]

6.1 Ch

s

ho

c truy xu

t m

t t

p h

p

Chỉ số cho phép truy xuất phần tử tập hợp, giá trị số dùng để biểu thị số tập hợp Chỉ số tham chiếu đến vị trí bít tập hợp bắt đầu tương ứng với bít thấp tập hợp Sau số ví dụ

D1 = [D15 D0] ; “ mô tả tập hợp X2 = [X3 X0] ; “ mô tả tập hợp

X2 := D1[3 0] ; “ làm cho X2 với [D3, D2, D1, D0] X2 := D1[7 4] ; “ làm cho X2 với [D7, D6, D5, D4] Cú pháp sau dùng để truy xuất phần tử tập hợp OUT = ( X[2] == 1) ;

Toán tử so sánh == dùng để biến đổi phần tử ( X[2] ) giá trị bít X2 Tốn tử == cho kết tùy thuộc vào phép so sánh true false

6.2 Các toán t

t

p h

p

Hầu hết tốn tử áp dụng cho tập hợp thực phần tử theo quy luật đại số Boolean Các toán tử thực theo thứ tự ưu tiên Các toán tử có mức ưu tiên thực từ trái sang phải (trừ trường hợp dùng dấu ngoặc đơn)

Ví dụ 1:

Signal = [D2, D1, D0] ; “ mơ tả tập hợp tín hiệu

Signal = [1, 0, 1] & [0, 1, 1] ; “ kết signal sẻ [0, 0, 1] Ví dụ 2:

[A, B] = C & D ;

(75)

B = C & D ; Ví dụ 3:

[A1, B1] = [D1, D2] & [C3, C2] ; tương đương với

[A1, B1] = [D1 & C3, D2 & C2] ; Kết

A1 = D1 & C3 B1 = D2 & C2 Ví dụ 4:

X & [A, B, C] ; Tương đương với [X & A, X & B, X & C] ;

Tuy nhiên, xem biểu thức sau & [A, B, C] ;

Trước tiên, giá trị biến đổi thành nhị phân thêm vào số cần thiết (0010), phương trình trở thành

[0 & A, & B, & C] ; Ví dụ 5:

A = [A2, A1, A0] ; “ thiết lập mô tả B = [B2, B1, B0] ; “ thiết lập mô tả

A # B ; tương đương với [A2 # B2, A1 # B1, A0 # B0] ; !A ; tương đương với [!A2, !A1, !A0] ;

Ví dụ 6:

[b3, b2, b1, b0] = ; tương đương với b3 = 0, b2 = 0, b1 = 1, b0 = Giá trị chuyển thành nhị phân thêm vào số zero

Ví dụ 7:

Tập hợp thuận tiện đẻ xác định phương trình logic Chip_sel = !A7 & A6 & A5 ;

Yêu cầu thực cách dùng tập hợp Trước tiên, định nghĩa tập hợp Addr

(76)

Sau dùng phương trình sau để xác định địa Chip_sel = Addr == [0, 1, 1] ; kết tương đương

Chip_sel = !A7 & A6 & A5 ;

Nếu A7 = 0, A6 = 1, A5 = 1, biểu thức Addr == [0, 1, 1] true (hoặc 1) nên Chip_sel true (hoặc 1) Phương trình viết cách khác

Chip_sel = Addr == ; “ trị thập phân tương đương với 011

Phương pháp thông dụng làm việc với biến giá trị lớn (ví dụ địa 16 bít)

Ví dụ 8:

Cũng ví dụ trên, biểu thức & Addr ; tương đương với [0, 1, 1] & [A7, A6, A5] ; [0 & A7, & A6, & A5] ; [0, A6, A5]

Tuy nhiên, phát biểu sau lại khác & (Addr == 1) ;

Biểu thức tương đương & [!A7, !A6, A5] ;

Tuy nhiên, toán tử so sánh cho kết bít nên giá trị tính đánh giá bít giá trị bị cắt thành Phương trình trở thành

1 & !A7 & !A6 & A5

7 TỐN T

Có kiểu tốn tử bản: Logic, số học, so sánh gán

7.1 Toán t

logic

Bảng sau trình bày tốn tử logic Chúng thực bít Với dẩn @alternate người dùng chuyển tập hợp tốn tử trình bày bảng Tốn tử (mặc định) Mơ tả Tốn tử ln phiên

! NOT (bù một) /

& AND *

# OR +

$ XOR :+:

(77)

7.2 Toán t

s

h

c

Bảng sau trình bày tốn tử số học, tốn tử sau khơng áp dụng cho tổ hợp, dấu trừ có ý nghĩa khác: Là phép trừ (hoặc phép cộng số bù hai) dùng với hai toán hạng số bù hai dùng với toán hạng

Toán tử Ví dụ Mơ tả

- - D1 Số bù (đảo)

- C1 – C2 Phép trừ

+ A + B Phép cộng

Các toán tử sau không dùng với tập hợp

* A * B Phép nhân

/ A / B Phép chia số nguyên không dấu

% A % B Modulus số dư phép chia

<< A << B A dịch trái B bít

>> A >> B A dịch phải B bít

7.3 Toán t

so sánh

Bốn toán tử cho kết giá trị boolean: True (-1) falsse (0) Giá trị -1 tất bít Ví dụ với số 16 bít -1 tương đương với 1111 1111 1111 1111

Toán tử Ví dụ Mơ tả

== A == B 3= = (false) Bằng

!= A != B != (true) Khác

< A < B < (true) Nhỏ

<= A <= B <= (true) Nhỏ

> A > B -1 > (true) Lớn

>= A >= B !0 >= (true) Lớn

Toán tử so sánh không dấu Chú ý: !0 bổ túc 1111 1111 (dử liệu bít) có giá trị 255 Vì 10 > true biểu thức -1 > true

Giá trị -1 thay tùy thuộc vào kết logic ví dụ: A = B !$ (C==D) ;

A B C = D (true 1111…B XNOR B) Ngược lại A sẻ bổ túc B (nếu C khác B (false 0))

7.4 Toán t

gán

Các toán tử dùng phương trình để gán giá trị biểu thức cho tín hiệu Có hai kiểu tốn tử gán: Tỏ hợp ghi Trong toán tử tổ hợp phép gán xảy tức thời khơng có trì hỗn Trong phép gán kiểu ghi xảy xung đồng hồ kết hợp với ngỏ Ví dụ FF định nghĩa dòng lệnh sau

Q1 pin istype ‘reg’ ; Q1 := D ;

(78)

Toán tử Mô tả

= Gán tổ hợp

:= Gán ghi

7.5 Th

t

ư

u tiên

Mức ưu tiên tốn tử trình bày bảng đây, với mức ưu tiên cao thấp Những tốn tử có mức ưu tiên thực từ trái sang phải

Mức ưu tiên Tốn tử Mơ tả

1 - Phủ định (bù 2)

1 ! Đảo

2 & AND

2 << Dịch trái

2 >> Dịch phải

2 * Nhân

2 / Chia không dấu

2 % Modulus + Cộng

3 - Trừ

3 # OR $ XOR !$ XNOR

4 == Bằng

4 != Khác

4 < Nhỏ

4 <= Nhỏ

4 > Lớn

4 >= Lớn

8 MÔ T

LOGIC

Một thiết kế logic mơ tả theo phương pháp sau đây: • Phương trình

• Bảng thật • Sơ đồ trạng thái

8.1 Ph

ươ

ng trình

Mơ tả phương trình logic khóa equations Phương trình xác định biểu thức logic cách dùng toán tử trình bày phần câu lệnh “When – Then – Else”

Câu lệnh “When – Then – Else” dùng phương trình để mơ tả chức logic (Lưu ý: “If – Then –Else” dùng phần sơ đồ trạng thái để mơ tả q trình chuyển đổi trạng thái)

Dạng thức câu lệnh “When – Then – Else” sau:

When điều kiện Then phần tử = Biểu thức ;

Else phương trình ; Hoặc:

(79)

Ví dụ:

SUM = (A & !B) # (!A & B) ; A0 := EN & !D1 & D3 & !D7;

WHEN (A == B) THEN D1_out = A1;

ELSE WHEN (A == C) THEN D1_out = A0; WHEN (A>B) THEN { X1 :=D1; X2 :=D2; }

Cũng dùng dấu ngoặc móc để nhóm đoạn lại với thành khối Đoạn văn khối viết dòng rải nhiều dòng Các khối dùng phương trình, sơ đồ trạng thái dẩn

8.2 b

ng s

th

t

Từ khóa truth_table cú pháp

TRUTH_TABLE ( in_ids -> out_ids )

inputs -> outputs ;

Hoặc

TRUTH_TABLE ( in_ids :> reg_ids )

inputs :> reg_outs ;

Hoặc

TRUTH_TABLE

( in_ids :> reg_ids -> out_ids )

inputs :> reg_outs -> outputs ;

Ký hiệu -> ngỏ tổ hợp :> ngỏ kiểu ghi Dòng bảng thật (trong cặp ngoặc đơn) định nghĩa tín hiệu vào Các dòng cho biết giá trị tín hiệu vào ra, dịng phải kết thúc dấu chấm phẩy ngỏ vào tín hiệu đơn tập hợp Khi tập hợp tín hiệu phải bao ngoặc vuông cách dấu phẩy Giá trị không xác đinh biểu diển ký hiệu “.X.”

Ví dụ 1: mạch cộng bán phần

TRUTH_TABLE ( [ A, B] -> [Sum, Carry_out] ) [ 0, ] -> [0, ] ;

[ 0, ] -> [1, ] ; [ 1, ] -> [1, ] ; [ 1, ] -> [1, ] ;

Tuy nhiên, định nghĩa tập hợp IN = [A, B] OUT = [sum, carry_out] ; lúc bảng thật sẻ trở nên đơn giản

(80)

2 -> 2; -> 3;

Ví dụ 2: Mạch EXOR có hai ngỏ vào ngỏ cho phép, ví dụ cho thấy cách dùng trị không xác định

TRUTH_TABLE ([EN, A, B] -> OUT ) [ 0, X.,.X.] -> X ; [ 1, , ] -> ; [ 1, , ] -> ; [ 1, , ] -> ; [ 1, , ] -> ;

Bảng thật dùng để định nghĩa hệ ví dụ mạch đếm lên bít từ 000, 001 đến 111 trở 000 Gọi QA, QB QC ngỏ FF ngỏ OUT đếm đạt đến giá trị 111, đếm bị xóa 000 tín hiệu reset mức cao

MODULE CNT3;

CLOCK pin; " input signal

RESET pin; " input signal

OUT pin istype 'com'; " output signal (combinational)

QC,QB,QA pin istype 'reg'; " output signal (registered)

[QC,QB,QA].CLK = CLOCK; "FF clocked on the CLOCK input

[QC,QB,QA].AR = RESET; "asynchronous reset by RESET

TRUTH_TABLE ) [QC, QB, QA] :> [QC,QB,QA] -> OUT)

[ 0 ] :> [ 0 ] -> 0; [ 0 ] :> [ ] -> 0; [ ] :> [ 1 ] -> 0; [ 1 ] :> [ 0 ] -> 0; [ 0 ] :> [ 1 ] -> 0; [ 1 ] :> [ 1 ] -> 0; [ 1 ] :> [ 1 ] -> 0; [ 1 ] :> [ 0 ] -> 1; END CNT3;

8.3 Mô t

tr

ng thái

Phần sơ đồ trạng thái bao gồm việc mô tả trạng thái thiết kế logic Trong phần dùng cú pháp state_diagram với câu lệnh “If – Then –Else”, “Goto”, “case” “With” Thông thường tên trạng thái đặt phần mô tả để giúp việc đọc chương trình dể

Cú pháp: state_id [, state_id ] STATE ;

Ví dụ: SREG = [Q1, Q2] ; kết hợp tên trạng thái SREG với trạng thái định nghĩa Q1 Q2

Cú pháp phần sơ đồ trạng thái sau:

State_diagram state_reg

STATE

state_value

: [equation;]

[equation;]

(81)

:

trans_stmt ;

Từ khóa state_diagram báo cho biết vị trí bắt đầu phần mơ tả máy trạng thái Từ khóa STATE câu lệnh theo sau trình bày trạng thái sơ đồ trạng thái gồm có giá trị tên trạng thái, câu lệnh chuyển trạng thái phương trình ngỏ tùy chọn Trong cú pháp trình bày trên:

• State_reg: Là định danh định nghĩa ký hiệu xác định trạng thái máy Đây ghi trạng thái mô tả trước phần mơ tả • State_value: Có hể biểu thức, giá trị tên trạng thái hành • Equation: Phương trình định nghĩa ngỏ máy trạng thái

• Trans_stmt: câu lệnh “If – Then – Else”, “Case” “Goto” dùng để xác định trạng thái kế tiếp, theo sau phương trình chuyển tiếp WITH tùy chọn

“If – Then – Else”

Câu lệnh dùng phần sơ đồ trạng thái để mô tả trạng thái xác định điều kiện chuyển tiếp

Cú pháp:

IF expression THEN state_exp

[ELSE state_exp] ;

state_exp biểu thức logic tên trạng thái Lưu ý câu lệnh If – Then – Else dùng phần sơ đồ trạng thái (dùng “When – If – Then” để mô tả chức logic) Mệnh đề ELSE tùy chọn Câu lệnh If – Then – Else câu lệnh Goto, Case With

Ví dụ:

Trong phần mơ tả, trước tiên định nghĩa ghi trạng thái

SREG = [Q1, Q0]; "definition of state registers

S0 = [0, 0];

S1 = [1, 1];

state_diagram SREG

state S0:

OUT1 = 1;

if A then S1

else S0;

state S1: OUT2 =1;

if A then S0

else S1;

Các câu lệnh If – Then – Else lồng ví dụ sau Giả sử trạng thái ghi định nghĩa phần mô tả

(82)

state INIT: if RESET then INIT else LOOK;

state LOOK: if REST than INIT

else if (X == LASTX) then OK

else LOOK;

state OK: if RESET than INIT

else if Y then OK

else if (X == LASTX) then OK

else LOOK;

state OK: goto INIT;

Câu lênh “With” Cú pháp:

trans_stmt state_exp WITH equation

[equation ] ;

trans_stmt câu lệnh “If – then – else”, “Goto” “Case”, state_exp trạng thái equation phương trình máy

Câu lệnh dùng với “If – then – else”, “Goto” “Case” vị trí biểu thức trạng thái đơn Câu lệnh “With” cho phép phương trình ghi vào số hạng chuyển tiếp

Ví dụ 1:

if X#Y==1 then S1 with Z=1 else S2;

Trong ví dụ ngỏ Z sẻ xác định biểu thức sau câu lệnh If có giá trị (hoặc true) Biểu thức sau từ khóa WITH phương trình định trị điều kiện If true ví dụ

Ví dụ 2:

if X&!Y then S3 with Z=X#Y else S2 with Z=Y;

Câu lệnh “With” thường dùng để mô tả hành vi ngỏ kiểu ghi Do ngỏ kiểu ghi chậm sau chu kỳ đồng hồ Nó cho phép thể để xác định ngỏ ghi có giá trị xác định sau chuyển tiếp đặc biệt ví dụ [1]

Ví dụ 3[1]

state S1:

if RST then S2 with { OUT1 := 1;

Error-Adrs := ADDRESS; }

else if (ADDRESS <= ^hC101)

then S4 else S1;

Lưu ý dùng cặp ngoặc nghoéo để nhóm chung ngỏ phương trình ví dụ

(83)

state S1: if (A & B) then S2 with TK = else S0 with TK = ;

Cần phải quan tâm đến thời gian dùng câu lênh “With” ngỏ tổ hợp không đồng (như hệ Mealy) Hệ Mealy thay đổi ngỏ ngỏ vào thay đổi Điều làm cho ngỏ thay đổi nhanh sẻ gây nhiểu logic.Các ngỏ Mealy phải ổn định thời điểm cuối trạng thái (có nghĩa trước xung đồng hồ thay đổi) Về điễm ngỏ Moore sẻ gây lổi

Câu lệnh “Case” Cú pháp:

CASE expression : state_exp;

[ expression : state_exp; ]

:

ENDCASE ;

expression biểu thức ABEL state_exp biểu thức cho biết trạng thái (có thể theo sau câu lệnh “With”)

Ví dụ:

State S0:

case ( A == 0) : S1;

( A == 1) : S0; endcase;

Câu lệnh case dùng để liệt kê chuỗi điều kiện chuyển tiếp loại trừ trạng thái tương ứng Các điều kiện câu lệnh case phải loại trừ lẩn (khơnmg thể có hai điều kiện chuyển tiếp true) kết trạng thái khơng thể đốn

8.4 D

u ch

m (.)

Dấu chấm dùng để mô tả hành vi mạch điện cách chi tiết Việc mở rộng tín hiệu thuận lợi cung cấp phương pháp tham chiếu đến tín hiệu bên chân nội kết hợp với tín hiệu sơ cấp

Cú pháp

signal_name.ext

Một số dấu chấm mở rộng cho bảng sau Các mở rộng không phân biệt chử hoa chử thường, số dấu chấm mở rộng có cơng dụng chung (cũng gọi độc lập cấu trúc điễm – điễm) dùng với nhiều kiểu cấu trúc thiết bị Các dấu chấm mở rộng khác dùng cho cấu trúc thiết bị xác định gọi phụ thuộc cấu trúc dấu chấm mở rộng chi tiết

Dấu chấm mở rộng Mô tả

Mở rộng không phụ thuộc cấu trúc điễm - điễm

.ACLR Reset không đồng

.ASET Preset không đồng

(84)

.CLR Reset đồng COM Ngỏ vào dử liệu hồi tiếp kiểu tổ hợp từ FF FG Hồi tiếp ghi

.OE Cho phép

.PIN Hồi tiếp chân thiết bị

.SET Preset đồng

Các mở rộng xác định (phụ thuộc cấu trúc) D Ngỏ vào dử liệu D – FF J Ngỏ vào J JK – FF K Ngỏ vào K JK – FF S Ngỏ vào S SR – FF R Ngỏ vào R SR – FF T Ngỏ vào T T – FF Q Hồi tiếp ghi

.PR Preset ghi

.RE Reset ghi

.AP Preset ghi không đồng

.AR Reset ghi không đồng

.SP Preset ghi đồng

.SR Reset ghi đồng

Hình sau trình bày số mở rộng

Hình 3.1 Mô tả mở rộng : (a) Không phụ thuộc cấu trúc, (b) Phụ thuộc cấu trúc D – FF T – FF

Ví dụ :

[S6 S0].OE = ACTIVE;

Truy cập đến tín hiệu điều khiển trạng thái đệm tín hiệu S6…S0 Khi ACTIVE mức cao, tín hiệu cho phép Ngược lại, ngỏ sẻ trạng thái Z cao

Ví dụ :

Q.AR = reset;

(85)

Ngỏ ghi (FF) trở reset mức cao

8.5 Các véc t

ơ

th

Các véc tơ thử tùy chọn nhằm cung cấp phương pháp để kiểm tra hoạt động máy trạng thái Các véc tơ xác định hoạt động logic mong muốn thiết bị logic cách cho ngỏ hàm ngỏ vào cách rỏ ràng

Cú pháp :

Test_vectors [note]

(input [, input ] -> output [, output ] )

[invalues -> outvalues ; ]

:

:

Ví dụ :

Test_vectors

( [A, B] -> [Sum, Carry] )

[ 0, ] -> [0, 0];

[ 0, ] -> [1, 0];

[ 1, ] -> [1, 0];

[ 1, ] -> [1, 1];

Cũng xác định giá trị tập hợp với số sau :

( [A, B] -> [Sum, Carry] )

-> 0;

1 -> 2; -> 2; -> 3;

Trị bất định (.X.), ngỏ vào đồng hồ (.C.) dùng số, xem ví dụ sau

test_vectors

( [CLK, RESET, A, B ] -> [ Y0, Y1, Y3] )

[.X., 1, X.,.X.]->[ S0, 0, 0];

[.C., 0, 0, ] -> [ S0, 0, 0];

[.C., 1, 1, ] -> [ S0, 0, 1];

8.6 Các câu l

nh thu

c tính

ABEL cho phép cung cấp câu lệnh xác định thiết bị cách dùng lệnh thuộc tính Lệnh bỏ qua q trình dịch Thuộc tính thiết bị CPLD gồm có:

(86)

• Tối ưu logic • Sắp xếp logic • Thiết lập cơng suất • Giá trị nạp trước

8.7 Linh tinh

Mô tả tích cực mức thấp

Các tín hiệu tích cực mức thấp định nghĩa với toán tử “!” sau:

!OUT pin istype 'com' ;

Khi tín hiệu xử dụng mơ tả thiết theo sau, sẻ tự động đảo lại ví dụ sau

module EXAMPLE

A, B pin ;

!OUT pin istype 'com';

equations

OUT = A & !B # !A & B ;

end

Trong ví dụ trên, tín hiệu OUT kết EXOR A với B có nghĩa OUT sẻ (High ON) ngỏ vào Mặt khác OUT sẻ Tuy nhiên, chân định nghĩa !OUT có nghĩa tín hiệu tích cực mức thấp Điều cho thấy chân sẻ (tích cực mức thấp ON) hai ngỏ vào Cũng nhận kết cách đảo tín hiệu phương trình cách mơ tả chân OUT Ví dụ:

module EXAMPLE

A, B pin ;

OUT pin istype 'com';

equations

!OUT = A & !B # !A & B ;

end

Tích cực mức thấp áp dụng cho tổ hợp, ví dụ sau định nghĩa tổ hợp A, B C

A = [A2,A1,A0]; "set declaration

B = [B2,B1.B0]; "set declaration

X = [X2,X1.X0]; "set declaration

(87)

Phương trình cuối tương đương với cách viết sau !X0 = A0 & !B0 # !A0 & B0;

!X1 = A1 & !B1 # !A1 & B1;

!X2 = A2 & !B2 # !A2 & B2;

9 CH

Ư

ONG TRÌNH M

U

Chương trình 1:

1 module Alarm_Circuit title ’Alarm Circuit Example

3 J Wakerly, Micro Systems Engineering’ ALARMCKT device ’P16V8C’;

5 " Input pins

6 PANIC, ENABLEA, EXITING pin 1, 2, 3; WINDOW, DOOR, GARAGE pin 4, 5, 6; " Output pins

9 ALARM pin 11 istype ’com’; 10 " Constant definition

11 X = X.;

12 " Intermediate equation

13 SECURE = WINDOW & DOOR & GARAGE; 14 equations

15 ALARM = PANIC # ENABLEA & !EXITING & !(WINDOW & DOOR & GARAGE);

16 test_vectors

17 ([PANIC,ENABLEA,EXITING,WINDOW,DOOR,GARAGE] -> [ALARM]) 18 [ 1, X., X., X., X., X.] -> [ 1];

19 [ 0, 0, X., X., X., X.] -> [ 0]; 20 [ 0, 1, 1, X., X., X.] -> [ 0]; 21 [ 0, 1, 0, 0, X., X.] -> [ 1]; 22 [ 0, 1, 0, X., 0, X.] -> [ 1]; 23 [ 0, 1, 0, X., X., 0] -> [ 1]; 24 [ 0, 1, 0, 1, 1, 1] -> [ 0]; 25 end Alarm_Circuit

Gii thích chương trình:

• Dịng khai báo module tên Alarm_Circuit

• Dịng khai báo tiêu đề module

• Dịng khai báo kiểu thiết bị P16V8C (chế độ tổ hợp)

• Dịng thích cho biết bắt đầu khai báo chân vào

• Dịng khai báo chân vào

• Dịng thích cho biết bắt đầu khai báo chân

• Dịng cho biết tín hiệu kiểu tổ hợp ALARM kết nối với chân 11

• Dịng 10 thích định nghĩa số

• Dịng 11 định nghĩa X giá trị khơng xác định

• Dịng 12 13 thích định nghĩa phương trình trung gian SECURE

• Dịng 14 từ khóa equations cho biết bắt đầu phần phương trình

• Dịng 15 khai báo phương trình tín hiệu ALARM

• Dịng 16 từ khóa test_vectors báo bắt đầu phần véc tơ thử kiểm tra chức hoạt động mạch

• Dịng 17 khai báo tín hiệu vào cần kiểm tra

(88)

• Dịng 25 kết thúc module Alarm_Circuit từ khóa end Chương trình 2: cách dùng trị bất định

module DontCare

title 'Dont Care Examples' @DCSET

" Input and output pins N3 N0, A, B pin; F, Y pin istype 'com'; NUM = [N3 N0]; X = X.;

truth_table (NUM->F) 0->0; 1->1; 2->1; 3->1; 4->0; 5->1; 6->0; 7->1; 8->0; 9->0; truth_table ([A,B]->Y) [0,0]->0; [0,1]->X; [1,0]->X; [1,1]->1; end DontCare

Từ chương trình cho thấy xác định tổ hợp bất định cách rỏ ràng bảng thật thứ hai

Chương trình 3: Dùng phương pháp máy trạng thái thiết kế mạch đếm lên, đồng bộ, 16 dùng GAL 16V8 có ngỏ CL đồng tích cực mức thấp sơ đồ mạch sau

Từ sơ đồ trạng thái kèm theo lưư ý ngỏ Q3…Q0 biến trạng thái

1 module Count4

3 19 18 17 16 GAL16V8 CK CL Q3 Q2 Q1 Q0

(89)

2 title ‘bộ đếm lên 16’ U4 device ‘P16V8R’ ; Ck, cl pin 1, ;

5 Q3, Q2, Q1, Q0 pin 19, 18, 17, 16 ; Count = [Q3,Q2,Q1,Q0] ;

7 c, h, l = C., 1, ;

8 “định nghĩa trạng thái

9 s0 = ^b0000 ; s1 = ^b0001 ; s2 = ^b0010 ; 10 s3 = ^b0011 ; s4 = ^b0100 ; s5 = ^b0101 ; 11 s6 = ^b0110 ; s7 = ^b0111 ; s8 = ^b1000 ; 12 s9 = ^b1001 ; s10 = ^b1010 ; s11 = ^b1011 ; 13 s12 = ^b1100 ; s13 = ^b1101 ; s14 = ^b1110 ; 14 s15 = ^b1111 ;

15 state_diagram [Q3,Q2,Q1,Q0] 16 state s0 : if cl then s1 else s0 ; 17 state s1 : if cl then s2 else s0 ; 18 state s2 : if cl then s3 else s0 ; 19 state s3 : if cl then s4 else s0 ; 20 state s4 : if cl then s5 else s0 ; 21 state s5 : if cl then s6 else s0 ; 22 state s6 : if cl then s7 else s0 ; 23 state s7 : if cl then s8 else s0 ; 24 state s8 : if cl then s9 else s0 ; 25 state s9 : if cl then s10 else s0 ; 26 state s10 : if cl then s11 else s0 ; 27 state s11 : if cl then s12 else s0 ; 28 state s12 : if cl then s13 else s0 ; 29 state s13 : if cl then s14 else s0 ; 30 state s14 : if cl then s15 else s0 ; 31 state s15 : goto s0 ;

32 test_vectors ([ck,cl] -> count) 33 [c,h] -> ^b0000 ; 34 [c,h] -> ^b0001 ; 35 [c,h] -> ^b0010 ; 36 [c,h] -> ^b0011 ; 37 [c,h] -> ^b0100 ; 38 [c,l] -> ^b0000 ;

39 end Count

Gii thích chương trình

• Từ dịng đné 14 định nghĩa trạng thái s0 đến s15 toán tử gán “=”, chương trình dùng mã nhị phân “^b”

• Dịng 15 định nghĩa biến trạng thái Q3Q2Q1Q0 từ khóa state_diagram • Từ dịng 16 đến 30 câu lệnh if – then mô tả q trình chuyển trạng thái • Dịng 31 câu lệnh goto đưa trạng thái đếm vô điều kiện

• Dịng 32 bắt đầu phần véc tơ thử từ khóa test_vectors • Từ dịng 33 đến 38 véc tơ thử

• Dịng 39 từ khóa end kết thúc module

cl

S0 0000

cl

S1 0001

(90)

BÀI

Tên bài:

H

CPLD

Mã bài: CIO 01 09 04

GI

I THI

U

Bài học giới thiệu cấu tạo logic, đặc tính điện họ CPLD thơng dụng hảng LATTICE vi mạch ispLSI 1016, ngồi khả cho phép lập trình lạI vi mạch cịn nạp chương trình hệ thống làm việc, điều thích hợp vớI yêu cầu cập nhật tính hệ thống điều khiển số

M

C TIÊU TH

C HI

N

• Hiểu cấu trúc logic họ ispLSI 1016

• Nắm tính cần thiết thiết bị để khai thác thiết bị cách hiệu

N

I DUNG CHÍNH

Nội dung học tập trung chủ đề sau: • GiớI thiệu chung CPLD

• Các đặc tính họ ispLSI 1016 • Mơ tả chi tiết cấu trúc logic ispLSI 1016 • Các thơng số giớI hạn

(91)

1 GI

I THI

U CHUNG

Trong vi mạch logic đơn lẻ Ví dụ trường hợp IC 7400 gồm cổng NAND thiết kế bên Trong trường hợp IC 7406, cổng đảo thiết kế bên Đây IC riêng biệt nên để sử dụng cần phải kết nối chúng với board mạch chúng chiếm nhiều khoảng trống board Trong trường hợp CPLD, kết nối khối chức logic với IC (sơ đồ kết nối xác định phần mềm) nên không chiếm nhiều khoảng trống nhờ mạch thiết kế gọn Ngồi CPLD cịn có ưu điểm khác hẳn so với dùng họ vi mạch truyề thống :

♣ Công suất tiêu thụ thấp ♣ Độ tin cậy cao

♣ Kich thước board mạch nhỏ gọn, sơ đồ nối dây bên đơn giản dẩn đến thi cơng đơn giản

♣ Q trình thiết kế dể dàng nhờ có trợ giúp cơng cụ phần mềm p-hát triển hệ thống

♣ Giá thành rẻ

Tuy nhiên, Khả CPLD có giới hạn, giới hạn số chân đừng trơng mong q nhiều vào CPLD Mặc khác chế tạo theo dạng flash nên CPLD tái lập trình khoảng 10.000 lần số mà nhà sản xuất cung cấp

2 VI M

CH ispLSI 1016

2.1

Đặ

c tính

ƒ Vi mạch logic mật độ cao

− Khả kết nốI tốc độ cao − Gồm 2000 cổng PLD

− 32 chân I/O, ngỏ vào định sẳn − 96 ghi

− Cổng vào dảI rộng cho chức đếm tốc độ cao, máy trạng thái, giãi mả địa chỉ…

− Khả bảo mật chống chép

ƒ Công nghệ E2CMOS

− Tần số tốI đa fmax = 110 KHz

− Tần số fmax = 60 MHz đốI vớI thiết bị công nghiệp quân

− Trì hỗn truyền tpd = nS

− Ngỏ vào tương thích TTL

(92)

− Công nghệ nhớ không dử liệu E2CMOS

− Được kiểm tra 100%

ƒ Lập trình hệ thống

− Khả lập trình V hệ thống

− Tăng lỉnh vực sản xuất, giãm thờI gian thương mạI hóa cảI thiện chất lượng sản phẩm

− Tìm lổI nhanh

ƒ Kết hợp dể dàng việc ứng dụng hệ PLD tốc độ cao vớI mật độ tính linh hoạt FPGA

− Thiết bị lập trình tồn kết hợp logic tổ hợp vớI thiết kế có cấu trúc

− Có ngỏ vào đồng hồ định sẳn

− Xung đồng hồ đồng khơng đồng − Vị trí chân linh hoạt

2.2 Mô t

IspLSI 1016 vi mạch số lập trình mật độ cao bao gồm 96 ghi, 32 ngỏ I/O đa năng, ngỏ vào định sẳn, ngỏ vào đồng hồ định sẳn khốI kết nốI toàn cục (global routing pool) IspLSI 1016 cho phép lập trình hệ thống vớI mức điện áp V thiết bị logic có nhớ lập trình lạI mà không dử liệu

KhốI logic sở ispLSI 1016 khốI logic tông quát GLB (generic logic block), khốI đặt tên A0, A1,…,B7 (hình 4.1), có tất 16 GLB : MỗI GLB có 18 ngỏ vào, mảng AND/OR/XOR lập trình ngỏ Các ngỏ cấu hình theo kiểu tổ hợp ghi Tín hiệu đưa vào GLB lấy từ GRB từ ngỏ vào định sẳn Tất ngỏ GLB hồi tiếp GRB để kết nốI vớI ngỏ vào GLB khác thiết bị

(93)

Các thiết bị có 32 đơn vị I/O nốI trực tiếp đến chân I/O bên ngồi MỗI đơn vị I/O lập trình riêng rẻ theo kiểu : Ngỏ vào tổ hợp, ngỏ vào ghi, ngỏ vào chốt, ngỏ chân I/O hai chiều trạng thái Các mức tín hiệu tương thích TTL, dịng nguồn ngỏ mA dòng nhận ngỏ mA MỗI ngỏ cho phép lập trình độc lập vớI tốc độ tăng điện áp nhanh chậm nhằm giãm thiểu nhiểu phát sinh ngỏ chuyển trạng thái

Tám khốI GLB, 16 đơn vị I/O, hai ngỏ vào định sẳn ORP nốI vớI tạo thành khốI mega (hình 4.1), ngỏ GLB nốI đến tập hợp gồm 16 đơn vị I/O đa bởI ORP MỗI vi mạch ispLSI 1016 gồm có hai khốI mega

KhốI GRP có ngỏ ngỏ vào cung cấp từ GLP, ngỏ vào đơn vị I/O hai chiều Tất tín hiệu dùng làm tín hiệu vào cho GLP

Xung đồng hồ họ ispLSI 1016 chọn bởI khốI phân phốI xung Ba chân đồng hồ định sẳn Y0, Y1 Y2 đưa vào khốI năm ngỏ đồng hồ CLK 0, CLK 1, CLK 2, IOCLK IOCLK cung cấp đến GLB đơn vị I/O KhốI phân phốI xung điều khiển từ GLB đồng hồ đặc biệt (B0 ispLSI 1016) Chức GLB cho phép ngườI dùng tạo xung đồng hồ bên qua việc kết hợp tín hiệu thiết bị

2.3 Thơng s

gi

I h

n

Điện áp nuôi Vcc……… -0,5 đến +7 V Điện áp ngỏ vào ……… -2,5 đến Vcc + V Điện áp trạng thái tắt………-2,5 đến Vcc + V Nhiệt độ lưu trử……….-65 đến + 1500C

Nhiệt độ vỏ cấp nguồn………-65 đến + 1250C

Nhiệt độ mốI nốI tốI đa (TJ) cấp nguồn 1500C

2.4

Đ

i

u ki

n ho

t

độ

ng DC

Ký hiệu Thông số Min Max Đơn vị

Thương mại TA = 00C +700C 4,75 5,25 V

Vcc Điện áp nuôi

Công nghiệp TA = -400C +850C 4,5 5,5 V

VIL Điện áp vào mức thấp 0,8 V

VIH Điện áp vào mức cao Vcc + V

2.5

Đ

i

n dung (T

A

= 25

0

C, f = MHz)

hiệu

Thông số Điển

hình

Đơn vị

Điều kiện thử

C1 ngỏ vào định sẳn, I/O, Y1, Y2, Y3, (thương mại, công nghiệp)

8 PF Vcc = V, VPIN = V

C2 ngỏ đồng hồ Y0 12 PF Vcc = V, VPIN = V

2.6

Đặ

c tính l

ư

u tr

d

li

u

Thông số Min Max Đơn vị

Thời gian lưu trử 20 - Năm

(94)

2.7

Đ

i

u ki

n th

chuy

n m

ch

Mức xung vào GND đến V -125 ≤ ns thờI gian tăng giãm ngỏ

vào 10% đến 90% -100, -80 ≤ ns Mức tham chiếu thờI gian vào 1,5 V Mức tham chiếu thờI gian 1,5 V

TảI ngỏ Hình 4.2

Điều kiện tảI ngỏ (hình 4.2)

Điều kiện thử R1 R2 CL

A 470 Ω 390 Ω 35 pF

Tích cực mức cao ∞ 390 Ω 35 pF

B

Tích cực mức thấp 470 Ω 390 Ω 35 pF

Tích cực H đến Z tạI VOH

– 0,5 V ∞ 390 Ω

5 pF C

Tích cực L đến Z tạI VOL

+ 0,5 V 470 Ω 390 Ω

5 pF

2.8

Đặ

c tính

đ

i

n DC

Ký hiệu Thơng số Điều kiện Min Typ Max Đơn vị

VOL Điện áp mức thấp IOL = mA - - 0,4 V

VOH Điện áp mức cao IOH = -4 mA 2,4 - - V

IIL Dòng rỉ mức thấp ngỏ vào

hoặc I/O 0≤V(max) IN≤VIL

- - -10 μA

IIH Dòng rỉ mức cao ngỏ vào

hoặc I/O 3,5 V≤VIN≤VCC

- - 10 μA

IIL-isp Dòng rỉ ngỏ vào ispEN 0≤VIN≤VIL - - -150 μA

IIL-PU Dòng kéo lên I/O 0≤VIN≤VIL - - -150 μA

IOS Dòng ngắn mạch ngỏ VCC = V,

VOUT = 0,5 V

- - -200 mA

ICC Dòng nuôi VIL = 0,5 V,

VIH = V,

fCLOCK =

MHz

- 90 - mA

2.9 Mơ hình th

i gian ispLSI 1016

(95)

Hình 4.2

2.10 Th

I gian trì ho

n t

I

đ

a c

a GRB v

I t

I GLB

Hình 4.3 ThờI gian trì hoản GRB

2.11 Công su

t tiêu th

Công suất tiêu thụ ispLSI 1016 phụ thuộc vào hai yếu tố : Tốc độ làm việc số lượng tích số xử dụng Hình 4.4 cho thấy quan hệ cơng suất vớI tốc độ làm việc

ICC tính theo phương trình sau :

ICC (mA) = 23 + (# of PTs * 0,52) + (# of Nets * max freq * 0,004)

Trong đó :

# of PTs : Số tích số dùng # of nets : Số tín hiệu xử dụng

Hình 4.4 Cơng suất tiêu thụ với fmax

(96)

max freq : Tần số làm việc cao

Việc tính tốn ICC dựa điều kiện chuẩn (VCC = V, 250C) vớI tảI khốI

GLB cấu hình thiết bị đếm 16 bít Do giá trị ICC dể bị ảnh hưởng vớI điều

kiện làm việc chương trình thiết bị nên trị số thực tế ICC thay đổI

2.12 S

ơ

đồ

chân

Hình 4.5 Sơđồ chân PLCC 44

Hình 4.6 Sơđồ chân TQFP 44

(97)(98)

BÀI

Tên bài:

Ph

n m

m ISP Synario

Mã bài: CIO 01 09 05

GI

I THI

U

Bài học giới thiệu công cụ phần mềm hổ trợ phát triển hệ thống sở CPLD cơng ty LATTICE SEMICONDUCTOR ispVHDL ISP Synario, hai hệ thống cho phép lập trình dạng sơ đồ mạch dạng modul VHDL kết hợp hai giúp dể dàng cho lập trình viên có khả thiết kế yêu cầu phức tạp mà không cần quan tâm đến thao tác nhàm chán quan trọng trình tối thiểu hóa, liên kết file nguồn …

Nội dung kết hợp với yêu cầu thực hành board mạch UNIKIT chủ yếu tập trung vào họ CPLD ispLSI LATTICE 1016, 2032 đề cập

M

C TIÊU TH

C HI

N

• Hiểu cách xử dụng cơng cụ phần mềm phát triển hệ điều khiển CPLD ISP Synario

• Biết vận dụng ISP Synario để thực dự án cụ thể

N

I DUNG CHÍNH

Nội dung học tập trung chủ đề sau: • Giới thiệu chung ISP Synario

• Yêu cầu hệ thống • Khởi động Synario

• Nhập modul VHDL vào dự án • Nhập sơ đồ mạch vào dự án • Hồn tất thiết kế

• Nhập thuộc tính • Tạo file véc tơ thử

• Biên dịch VHDL, sơ đồ véc tơ thử • Mơ chức dạng sóng • Tạo ký hiệu

• Tương thích thiết kế với thiết bị LATTICE • Tính nhập hổn hợp

• Tạo file nguồn ABEL-HDL • Biên dịch ABEL-HDL • Mơ kết thiết kế

(99)

1 GI

I THI

U

Với Synario navigator ngườI dùng thực yêu cầu thiết kế bao gồm việc truy cập thành phần thiết kế, theo dỏI bước xử lý NgườI dùng mở sơ đồ mạch trình soạn thảo văn thông qua cấp thiết kế Trong phần sau sẻ hướng dẩn việc ứng dụng phần mềm thiết kế ISP synario qua đề mục sau :

9 Yêu cầu hệ thống

9 KhởI động ISP synario

9 Nhập modul VHDL vào dự án thiết kế

9 Nhập sơ đồ vào dự án thiết kế

9 Hoàn tất dự án

9 Bổ sung thuộc tính

9 Tạo véc tơ thử

9 Dịch sơ đồ véc tơ thử

9 Thực chức mô dạng sóng

9 Tạo ký hiệu

9 Chế độ nhập hổn hợp

9 Tạo file nguồn ABEL-HDL

9 Dịch ABEL-HDL

9 Mô thiết kế

9 nạp kết thiết kế vào thiết bị CPLD

2 YÊU C

U H

TH

NG

Những phần mềm cần thiết cần phảI cài đặt hệ thống máy tính trước bắt đầu thiết kế

9 ISP Synario Entry/Simulation

9 ISP Synario VHDL Entry

9 IspDS + Filter

3 KH

I

ĐỘ

NG SYNARIO

(100)

Hình 5.1 Cửa sổ quản lý dự án

2 Trong hộp sources in project chọn File New Project, hộp thoạI Create New Project xuất (h.5.2)

Hình 5.2 Hộp thoạI Create New Project

3 Trong ổ đỉa C (mặc định) kích đúp chuột để mở ispsyn50 (thư mục cài đặt mặc định)

a Nếu dùng hệ ISP Synario phải tạo thư mục tutorial Kích vào nút Create Dir (h.5.2), hộp thoại Create Directory xuất nhập vào tutorial

b Nếu dùng hệ ispVHDL Synario thư mục tutorial đả tự động tạo cài đặt Kích đúp để mở ra, hộp Project File Name nhập tên tutor.syn ấn OK

(101)

Hình 5.3 Cửa sổ quản lý dự án hộp Project Title

5 Kích chọn mục Virtual Device để xổ xuống cửa sổ Choose Device Chọn danh sách thiết bị ISP Synario Device List vùng Device Kit Một danh sách thiết bị xuất (h.5.4)

Hình 5.4 Cửa sổ chọn thiết bị

(102)

4 NH

P MODUL VHDL VÀO D

ÁN

Thiết kế dự án kết hợp từ nhiều nguồn sơ đồ mạch, file ABEL-HDL, file VHDL (chỉ đốI vớI hệ ispVHDL Synario), file véc tơ thử file tài liệu

Bốn bước sau sẻ trình bày chi tiết phương pháp dùng modul VHDL để thiết kế dự án Nếu khơng muốn dùng tính VHDL bỏ qua bốn bước

7 VớI thiết bị ispLSI 2032 chọn, ghi lạI phương thức xử lý liên kết vớI nguồn Từ menu chọn Source Import

8 Trong danh sách thư mục hộp thoạI Import File chọn đường dẩn drive :\ispsyn50\tutorial Chiếu sáng tên file demo.vhd vùng file name Ấn OK, hộp thoạI Import Source Type xuất hiện, chọn VHDL Module ấn OK hình 5.5

Hình 5.5 Hộp thoạI Import Source Type

File VHDL demo.vhd xuất phần Source danh sách dự án cửa sổ quản lý dự án Chiếu sáng biểu tượng VHDL lưu ý phương pháp xử lý liên kết vớI Có thể xem cú pháp cách dùng trình soạn thảo văn (h.5.6)

(103)

PhảI dùng thuộc tính thiết kế LOCK để gán số “4” cho chân I/O, dòng “scp C path1” cho biết đường dẩn khởi động path1 bao gồm tên cho thuộc tính đường dẩn

9 Với file VHDL chiếu sáng, mục chọn Synthezise Logic bảng danh sách xử lý chiếu sáng Chọn nút nhấn Properties bên để làm xuất hộp thoại Properities (Normal : VHDL)

10 Các thuộc tính nhìn thấy hộp thoại mặc định modul VHDL Chiếu sáng tùy chọn thuộc tính Generate Reset Logic dùng phím mũi tên để thay đổi từ False thành True Kích vài dấu kiểm để chấp thuận thay đổi Hộp thoại hiển thị hình 5.7 Đóng hộp thoại

Hình 5.7 Hộp thoại Properties (Normal : VHDL)

Khi thuộc tính thay đổi, nút Default lên cho phép trả giá trị mặc định cần

5 NH

P S

Ơ

ĐỒ

M

CH VÀO D

ÁN

Các bước sau hướng dẩn cách nhập sơ đồ trống vào dự án, nhập ký hiệu kết nối chúng với

11 Với thiết bị 2032 chọn trên, ghi lại bước xử lý tương ứng với nguồn Từ menu chọn Source New

12 Trong hộp thoại New Source chọn Schematic kích OK ấn Enter Một hộp thoại xuất yêu cầu nhập tên cho sơ đồ Chọn đường dẩn c:\ispsyn50\tutorial nhập tên file demo.sch vùng text Kích OK ấn Enter

Lưu ý : Để tránh rắc rối xảy tốt nên đặt tên cho file nguồn file dự án khác

(104)

Hình 5.8 Cửa sổ soạn thảo sơđồ

Mẹo : Dùng chức Zoom menu thả xuống mục View công cụ Schematic Editor để dể quan sát

14 Trong hộp thoại Symbol Libraries chọn C:\ \generic\gates.lib từ danh sách thư viện sau chiếu sáng ký hiệu G_2AND (h.5.9)

Hình 5.9 Cửa sổ Symbol Libraries

15 Chuyển trỏ trở Schematic Editor, lưu ý cổng AND dính kèm theo trỏ, đặt cổng cách kích lên sơ đồ, đặt thêm cổng AND khác bên cổng thứ

(105)

17 Từ menu Schematic Editor chọn Add Wire, kích vào chân cổng AND phía để bắt đầu nối dây Kích đơn để bẻ cong dây nối kích đúp để kết thúc dây nối Kích đơn để nối đến ngỏ vào cổng OR Lặp lại thao tác vừa với cổng AND bên

18 Thực lại bước để nhập vào ghi g_d từ thư viện REGS.LIB G_OUTPUT từ thư viện IOPADS.LIB, nối tất chúng lại theo sơ đồ hình 5.10

19 Từ menu cửa sổ Schematic Editor chọn File Save để lưu lại thiết kế vừa

Hình 5.10 Xây dựng sơđồ

6 HOÀN T

T THI

T K

Thiết kế hoàn tất cách thêm tên mạng dấu I/O, tên mạng nhập tính ISP Synario, tính cho phép nhập lúc mạng tên mạng Dấu I/O ký hiệu đặc biệt cho biết tín hiệu biểu diển chân linh kiện Các ký hiệu chấp nhận tên mạng mà chúng thâm nhập khác với ký hiệu chân I/O

20 Trên menu Schematic Editor chọn Add Net Name Thanh trạng thái đáy hình sẻ câu nhắc nhập tên mạng Nhập A ấn Enter Tên mạng sẻ dính vào trỏ

(106)

22 Lặp lại bước để nhập tên mạng “B”, “C”, “D” “CK” cho ngỏ vào “OUTP” cho ngỏ

Mẹo : Đối với ngỏ vào lại sau nhập tên ấn Enter, mổi lần kích vào điểm cuối mạng, chiều dài mạng sẻ với lần đặt cách kích giử rê chuột

23 Từ menu Schematic Editor chọn Add I/O Marker Hộp thoại I/O Marker xuất hiện, chọn Input

24 Đưa trỏ kích vào điểm cuối mạng vào (ở giửa điểm cuối tên mạng) Một dấu I/O xuất với tên mạng chứa bên trong, di chuyển đến ngỏ vào kích chuột Lặp lại thao tác tất ngỏ vào có dấu I/O

Mẹo : Để nhập lần tất dấu input, kích giử chuột sau rê khung bao tất mạng vào nhả Thao tác áp dụng tốt với ngỏ 25 Chọn Output từ hộp thoại I/O Marker, kích điểm cuối mạng Sơ đồ

hồn tất trình bày hình 5.11 Chọn lưu sơ đồ

Hình 5.11 Sơđồ hồn tất

7 NH

P THU

C TÍNH

(107)

Start/End) vào đường dẩn Lưu ý ISP Synario thuộc tính pin nhập vào ký hiệu chân I/O thực dấu I/O cần nhớ ký hiệu chân I/O thực cần thiết muốn nhập thuộc tính cho pin Nếu khơng cần dùng dấu I/O

26 Từ menu Schematic Editor chọn Add Symbol Attribute, hộp thoại Symbol Attribute Editor xuất Trên sơ đồ kích vào chân I/O dính với mạng OUTP Một danh sách thuộc tính liên quan xuất hộp thoại

27 Chọn thuộc tính ISP SynarioPin=* thay dấu * số hình 5.12 Đóng hộp thoại, ý : Số đẫ nhập vào ký hiệu chân I/O sơ đồ

Hình 5.12 Symbol Attribute Editor

28 Thực tương tự để nhập thuộc tính cho mạng đường dẩn Từ menu Schematic Editor chọn Add Net Attribute Hộp thoại Net Attribute Editor xuất Trên sơ đồ kích vào mạng nối với ngỏ vào “C” cổng AND, danh sách thuộc tính liên quan xuất hộp thoại

29 Chọn thuộc tính CriticalPath= nhập S,path1 vào hộp văn hình 5.13 S cho biết vị trí bắt đầu đường dẩn path 1 bao gồm tên cho thuộc tính đường dẩn Thuộc tính khơng hiển thị sơ đồ

Hình 5.13 Net Attribute Editor

30 Trên sơ đồ, kích vào mạng nối cổng OR với D-FF Trong hộp thoại Net Attribute Editor nhập E,path1 để xác định vị trí kết thúc đường dẩn giới hạn có tên “path 1” Đóng hộp thoại

31 Kiểm tra lổi cho sơ đồ cách chọn File Consistency Check Một cửa sổ thông báo lổi lên với câu thông báo

(108)

Nếu sơ đồ chưa đươc lưu Nếu sơ đồ củ, chọn File Matching Symbol ISP Synario sẻ hỏi có muốn thay file design.sym Chọn Replace

Lưu ý : Nếu dấu I/O nhập tháo bỏ phải thay ký hiệu cách chọn File Matching Symbol

32 Từ menu Schematic Editor chọn File Save để lưu kết thiết kế, chọn File Exit để đóng cửa sổ Schematic Editor Các thao tác trình bày dùng để khóa pin vào

8 T

O VÉC T

Ơ

TH

Trong ISP Saynario cho phép áp dụng nhiều tập véc tơ thử để mô chức thiết bị Trong phần sẻ giới thiệu cách tạo tập véc tơ thử đơn giản

33 Trong ISP Synario Project Navigator, chiếu sáng thiết bị ispLSI 2032-150 TQFP44 Từ menu chọn Source New Một hộp thoại New Source xuất hiên, chiếu sáng mục ABEL Test Vectors kích OK ấn Enter

34 Hộp thoại New File cửa sổ ISP Synario Text Editor trống xuất Nhập tên file demo hình 5.14 cho tên file véc tơ thử Kích OK ấn Enter

Hình 5.14 ISP Synario Text Editor với hộp thoại New File

35 Trong cửa sổ ISP Synario Text Editor nhập dòng sau, ý chử thường chử hoa (giống ngôn ngử “C”)

module demo; c,x = c.,.x.;

(109)

[c , , , , 0]->[x]; [c , , , , 1]->[x]; END

36 Sau nhập xong chọn File Save từ menu ISP Synario Text Editor để lưu file véc tơ thử Chọn File ⇒ Exit ISP Synario sẻ trở cửa sổ Project Navigator trình bày hình 5.15

Hình 5.15 ISP Synario Project Navigator

9 BIÊN D

CH FILE VHDL, S

Ơ

ĐỒ

VÀ VÉC T

Ơ

TH

Bây với file nguồn tạo dự án, bước thực trình xử lý liên hệ với file nguồn Các trình xử lý khác hiển thị thực cách chọn file nguồn Trong phần sẻ trình bày việc biên dịch file sơ đồ file véc tơ thử độc lập

37 Trong cửa sổ ISP Synario Project Navigator, chiếu sáng file sơ đồ có tên demo (demo.sch) bảng danh sách Sources in Project, kích đúp vào mục Compile Schematic bảng Processes Một hộp thoại trạng thái (h.5.16) xuất khoảng thời gian ngắn Khi trình xử lý kết thúc, mục Compile Schematic process xuất dấu kiểm màu xanh kế bên cho biết kết biên dịch thành công

(110)

38 Trong cửa sổ ISP Synario Project Navigator, chiếu sáng file véc tơ thử demo.abv Kích đúp vào mục Compile Test Vectors bảng Processes Một dấu kiểm xanh xuất kế bên mục Compile Test Vectors hồn tất

10 MƠ PH

NG CH

C N

Ă

NG VÀ D

NG SÓNG RA

Hệ ISP Synario bao gồm tính xem dạng sóng mơ chức Các bước sau trình bày phương pháp thực để đạt kết

39 Với file véc tơ thử demo.abv chiếu sáng, kích đúp vào mục Equation Simulation Waveform danh sách Processes ISP Synario sẻ mơ phương trình mở cửa sổ Waveform Viewer hình 5.17

Hình 5.17 Cửa sổ Waveform Viewer

40 Để xem dạng sóng, chọn Edit Show từ menu Waveform Viewer Hộp thoại Show Waveforms xuất hình 5.18

(111)

41 Tại thời điểm, chiếu sáng tên tín hiệu cần xem ấn Show, dạng sóng chọn sẻ xuất cửa sổ Waveform Viewer theo thứ tự chọn (h.5.19) Chọn File Exit để đóng Waveform Viewer, hộp thoại xuất yêu cầu xác nhận thay đổi dạng sóng PLA

Mẹo : Chọn nhiều tên tín hiệu lúc cách giử rê chuột để chiếu sáng chúng Hoặc ấn giử phím CTRL kích vào tên để xem

Hình 5.19 Một dạng sóng đầy đủ

11 T

O M

T KÝ HI

U

Một tính hửu dụng ISP Synario cho phép tạo nhanh ký hiệu sơ đồ Với tính tạo macro dùng lại đặt vào sơ đồ cấp cao

42 Mở file sơ đồ cách kích đúp vào schematic source, demo.sch ISP Synario Project Navigator

43 Trong menu Schematic Editor chọn File Matching Symbol 44 Chọn File Exit để đóng sơ đồ

45 Ký hiệu tạo nhập vào bảng symbol sẳn sàng để xử dụng cho lần sau

12 THÍCH

NG THI

T K

V

I THI

T B

C

A LATTICE

SEMICONDUCTOR

Bây ví dụ thiết kế hồn tất mô Nếu dự định biên dịch VHDL, ABEL-HDL sơ đồ khơng cần thiết phải hồn tất bước cịn lại phần trình bày Ngược lại, trình xử lý cuối phải làm cho tương thích giửa kết thiết kế với họ ispLSI công ty LATTICE

(112)

Hình 5.20 ISP Synario Project Navigator sau xử lý Fit Design

Lưu ý : Dấu chấm than màu vàng cho biết có cảnh báo tạo dấu X đỏ báo có lổi xảy

47 Kích đúp vào Fitter Report danh sách Processes để xem thơng tin q trình tương thích hóa kết thiết kế

(113)

13 CH

ĐỘ

NH

P H

N H

P

Có thể kết hợp phần mềm ispVHDL ISP Synario để tạo thiết kế VHDL tốt thiết kế ABEL-HDL Tuy nhiên, để làm quen với công cụ trước tiên sẻ tạo thiết kế ABEL-HDL đơn giản sau liên kết với sơ đồ từ bước trước sơ đồ cấp đỉnh Bản thiết kế hồn tất sẻ mơ biên dịch vào thiết bị ispLSI

48 Nếu thoát ISP Synario Khởi động lại cách kích đúp vào biểu tượng nhóm chương trình ISP Synarrio Màn hình Navigator xuất hình 5.22 Nếu khơng giống phải bảo đảm tất bước phần hoàn tất cách đắn

Hình 5.22 ISP Synario Project Navigator

49 Với thiết bị 2032 chọn, chọn mục Source New từ menu ISP Synario Project Navigator Trong hộp thoại chọn Schematic kích OK Chọn đường dẩn c:\ispsyn50\tutorial nhập tên file top.sch vào hơp File Name Kích OK để vào Schematic Editor

(114)

Hình 5.23 Schematic Editor với hộp thoại Symbol Libraries

Bước tạo ký hiệu cấp đỉnh cho file thiết kế ABEL-HDL Một ký hiệu tạo cho modul thiết kế với có mức thấp tùy ý biết giao tiếp File ABEL-HDL thực tế cho dự án thiết kế sẻ hoàn tất bước sau

51 Trong sổ Schematic Editor chọn Add New Block Symbol, hộp thoại nhập vào abeltop text box Block Name, IN1, IN2, IN3 hộp văn Input Pins OUT1, OUT2, OUT3, OUT4 hộp văn Output Pins (h.5.24) Kích RUN

Hình 5.24 Hộp thoại New Block Symbol

(115)

Symbol Libraries (h.5.25) Chú ý ký hiệu abeltop Local library Đóng hgộp thoại

Hình 5.25 Thêm ký hiệu từ Local Library

(116)

Hình 5.26 Hồn tất thiết kế abeltop

Nếu thích chỉnh sửa cho đồng thiết kế cấp đỉnh, lập trình viên chuyển qua mức thiết kế dùng tính Hierarchy Navigator Một số chức soạn thảo có hiệu lực qua Navigator

54 Trong file nguồn danh sách Project cửa sổ ISP Synario Project Navigator, chiếu sáng sơ đồ cấp đỉnh (top.sch) Trong danh sách Processes kích đúp lên Navigate Hierarchy, hộp thông điệp Building Hierarchy xuất khoảng thời gian ngắn Sau cửa sổ Hierarchy Navigator với thiết kế cấp đỉnh

55 Chọn View Push/Pop, trỏ biến thành hình chử thập Kích lên ký hiệu mong muốn, Hierarchy Navigator sẻ mở trang ký hiệu cấp Nếu kích lên ký hiệu gốc sẻ xuất thông báo nhắc nhở đáy cửa sổ Navigator

56 Chọn File Exit để đóng Hierarchy Navigator lên câu hỏi save changes you made có thay đổi

14 T

O FILE NGU

N ABEL-HDL

Bây cần phải tạo file nguồn ABEL-HDL liên kết với ký hiệu sơ đồ cấp đỉnh Project Navigator thực việc cách dể dàng

(117)

Hình 5.27 ISP Synario Project Navigator

58 Để tạo file nguồn, chiếu sáng mục abeltop sau chọn Source New Trong hộp thoại New Source chọn ABEL-HDL Module kích OK Một trình soạn thảo văn ISP Synario với hộp thoại New ABEL-HDL Source (h.5.28)

(118)

Để file liên kết với ký hiệu phải đặt tên modul giống với tên ký hiệu Tên file không cần giống tên ký hiệu đơn giản nênđặt tên giống Điền vào vùng văn sau :

Module Name: abeltop File Name: abeltop.abl

Title: This is the Top Level ABEL file

Kích OK để vào trình soạn thảo văn ISP Synario sẻ thấy khung làm việc khởi tạo sẳn

59 Nhập vào mả lệnh bên phải bảo đảm nhập khoảng giửa hai câu lệnh TITLE END hình 5.29

"Inputs

IN1,IN2,IN3 pin; "Outputs

OUT1,OUT2,OUT3,OUT4 pin; Equations

OUT1=IN1 & !IN3; OUT2=IN1 & !IN2; OUT3=!IN1 & IN2 & IN3; OUT4=IN2 & IN3;

Hình 5.29 Trình soạn thảo văn ISP Synario

(119)

15 BIÊN D

CH ABEL-HDL

61 Trong file nguồn vùng Project Project Navigator chọn abeltop (abeltop.abl), cửa sổ Processes for Current Source kích đúp vào mục Reduce Logic Navigator sẻ biên dịch cẩn thận trước thực yêu cầu Reduce Logic (tối thiểu hóa) Khi kết thúc hình Navigator giống hình 5.30

Hình 5.30 ISP Synario Project Navigator sau biên dịch ABEL-HDL

16 MÔ PH

NG K

T QU

THI

T K

Trong phần sẻ mơ tồn kết thiết kế, để thực cần phải có file véc tơ thử (.abv) phần sẻ chỉnh sửa file véc tơ thử tạo phần

62 Kích đúp lên file demo.abv cửa sổ Project Navigator, trình soạn thảo văn ISP Synario xuất với cú pháp nhập bước 39 Chỉnh sửa sau :

module demo; c,x = c.,.x.;

CLK,TOPIN1,TOPIN2,TOPIN3,TOPOUT PIN; TEST_VECTORS

([CLK,TOPIN1,TOPIN2,TOPIN3]->[TOPOUT]) [c , , , 0]->[x];

(120)

Hình 5.31 File véc tơ thử trình soạn thảo văn ISP Synario 63 Sau chỉnh sửa xong chọn File Save, chọn File Exit

64 Trong Navigator với véc tơ thử vẩn chọn, kichý đúp lên Equation Simulation Waveform process, cửa sổ Waveform Viewer xuất

65 Để xem dạng sóng chọn Edit Show Hộp thoại Show Waveforms với đầy đủ tên tín hiệu

(121)

Hình 5.32 Hộp thoại Show Waveforms Waveform Viewer

17 THÍCH

NG THI

T K

V

I THI

T B

LATTICE

Dự án thiết kế hổn hợp sơ đồ với ABEL-HDL hồn tất chạy mơ phỏng, cịn bước cuối tương thích hóa thiết kế với họ ispLSI LATTICE

67 Từ cửa sổ Sources in Project ISP Synario Project Navigator chọn ispLSI 2032-150 TQFP44 quan sát trình xử lý liên quan tạo

(122)

Hình 5.33 ISP Synario Project Navigator sau tương thích thành cơng

69 Phần mềm ispDS+ có số điều khiển người dùng truy cập từ Navigator, chiếu sáng Fit Design kích Properties phía đáy cửa sổ Navigator, hộp thoại chứa danh sách thuộc tính xuất

(123)(124)

TÀI LI

U THAM KH

O

1 Kỹ thuật điện tử số Đặng văn Chuyết

2 Baugruppen der Mikroelektronik III Pflaum Verlag Muenchen

3 Xilinx-ABEL Design Software Reference Manual Data I/O Corp., 1993

4 The ISP Application Guide and CPLD Data Book, Application Note XAPP075, 1997 Xilinx, San Jose, CA, 1997

5 D Van den Bout, "Xilinx FPGA Student Manual" Prentice Hall, Englewoods Cliff, NJ, 1997

6 R Katz, "Contemporary Logic Design," Benjamin/Cummings Publ Comp Redwood City, CA, 1995

7 J Wakerly, "Digital Design," Prentice Hall, Englewoods Cliff, NJ, 1993

8 Xilinx Foundation Series, On-line documentation Xilinx, San Jose, CA

Ngày đăng: 31/03/2021, 21:36

TỪ KHÓA LIÊN QUAN

w