HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG
--------------------
Đỗ Mạnh Hà
Đặng Hoài Bắc
BÀI GIẢNG
THIẾT KẾ LOGIC SỐ
Hà nội 9.2010
1
2
LỜI NÓI ĐẦU
“Thiết kế logic số” là môn học chuyên ngành quan trọng cho sinh viên ngành Kỹ thuật
Điện – Điện tử tại Học viện Cơng nghệ Bƣu chính Viễn thông. Trong môn học này, sinh viên
đƣợc trang các kiến thức về phƣơng pháp mô tả, thiết kế theo cấu trúc, RTL và hành vi các hệ
thống số dùng ngôn ngữ mô tả phần cứng: thiết kế mạch số tổ hợp, thiết kế mạch số tuần tự,
máy trạng thái, hazard, phát hiện lỗi,... thử nghiệm thiết kế các hệ thống số sử dụng những
cấu kiện logic khả trình nhƣ CPLD, FPGA. Từ đó sinh viên có thể thực hiện thiết kế logic cho
hệ thống điện tử số sử dụng ngôn ngữ mô tả phần cứng VHDL phục vụ mô phỏng, kiểm tra,
thử nghiệm, thực thi một một hệ thống điện tử số hồn chỉnh trong thực tế. Bên cạnh đó mơn
học cịn giúp sinh viên tích lũy các kỹ năng chun mơn nhƣ kỹ năng phân tích, thiết kế kỹ
thuật hệ thống thống số dùng VHDL
Bài giảng gồm các nội dung chính nhƣ sau:
CHƢƠNG 1 – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ THỐNG SỐ
CHƢƠNG 2 – CẤU KIỆN LOGIC KHẢ TRÌNH (PLD).
CHƢƠNG 3 – CĂN BẢN VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL
CHƢƠNG 4 – PHƢƠNG PHÁP THIẾT KẾ LOGIC DÙNG VHDL
CHƢƠNG 5 – THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG DÙNG VHDL
PHỤ LỤC I – QUY ƢỚC VỀ ĐẶT TÊN TRONG VHDL
PHỤ LỤC II – CẤU TRÚC LỆNH CƠ BẢN CỦA VHDL
PHỤ LỤC III – GIỚI THIỆU CPLD/FPGA CỦA XILINX
PHỤ LỤC IV – HƢỚNG DẪN PHẦN MỀM ISE CỦA XILINX
Trong đó Chƣơng 1, Phụ lục III, và Phụ lục IV do giảng viên Đặng Hoài Bắc biên soạn,
các nội dung còn lại do giảng viên Đỗ Mạnh Hà biên soạn. Bài giảng đƣợc thực hiện trong
một thời gian ngắn, nên khó tránh khỏi những thiếu sót. Các tác giả rất mong nhận đƣợc
những ý kiến đóng góp các đồng nghiệp để bài giảng đƣợc hồn thiện hơn. Mọi góp ý xin vui
lịng gửi về Bộ mơn kỹ thuật điện tử - Khoa Kỹ thuật Điện tử 1- Học viện Cơng nghệ Bƣu
chính Viễn thơng hoặc email: Chúng tơi xin chân thành cảm ơn các đồng
nghiệp đã đóng góp các ý kiến quý báu; xin chân thành cảm ơn lãnh đạo Học viện, Phòng
Đào tạo và NCKH, Khoa Kỹ thuật Điện tử 1, 2 đã tạo điều kiện để chúng tơi hồn thành bài
giảng này.
Hà nội, tháng 9 năm 2010
Nhóm tác giả
3
4
Mục lục
MỤC LỤC
LỜI NÓI ĐẦU ................................................................................................................. 3
MỤC LỤC........................................................................................................................5
CHƢƠNG 1 – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ THỐNG SỐ .................. 8
1.1 GIỚI THIỆU CHUNG ................................................................................................ 8
1.2 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG ĐIỆN TỬ ................................................ 9
1.2.1 Quy trình phát triển sản phẩm tuần tự.................................................................9
1.2.2 Quy trình phát triển sản phẩm song song .......................................................... 10
1.2 MƠ HÌNH KIẾN TRÚC VÀ CÁC MỨC THIẾT KẾ HỆ THỐNG SỐ .................. 12
1.2.1 Kiến trúc của hệ thống số................................................................................... 12
1.2.2 Các Mức thiết kế hệ thống số ............................................................................. 13
1.3. TỔNG QUAN VỀ CÁC CÔNG NGHỆ THỰC HIỆN HỆ THỐNG SỐ ................ 14
1.3.1 Phân loại các công nghệ logic số ...................................................................... 14
1.3.2 So sánh các loại cấu kiện chuẩn ........................................................................ 17
1.4 QUY TRÌNH THIẾT KẾ VI ĐIỆN TỬ....................................................................22
1.5. VAI TRÒ CỦA THIẾT KẾ VI ĐIỆN TỬ SỬ DỤNG HDL ................................... 23
1.6 LƢU ĐỒ THIẾT KẾ VI ĐIỆN TỬ DÙNG HDL.....................................................25
1.6.1. Thiết kế logic ..................................................................................................... 26
1.6.2. Tổng hợp thiết kế (Synthesis) ............................................................................ 26
1.6.3. Thiết kế mức vật lý (Physical Design)............................................................... 26
1.6.4. Kiểm tra thiết kế (Verification) ......................................................................... 27
1.6.5 Sản xuất và đóng gói .......................................................................................... 28
1.7 CÁC PHẦN MỀM EDA HỖ TRỢ THIẾT KẾ LOGIC SỐ DÙNG HDL ............... 28
CHƢƠNG 2 – CẤU KIỆN LOGIC KHẢ TRÌNH (PLD). ........................................ 30
2.1. GIỚI THIỆU CHUNG VỀ CƠNG NGHỆ LOGIC KHẢ TRÌNH (PLD) ............... 30
2.1.1. SPLD ................................................................................................................. 30
2.1.2. CPLD (Complex PLD) ...................................................................................... 33
2.1.3. FPGA................................................................................................................. 34
2.2. GIỚI THIỆU PHƢƠNG PHÁP THIẾT LẬP CẤU HÌNH CHO CPLD/FPGA......36
2.2.1 Phƣơng pháp dùng sơ đồ mô tả ......................................................................... 36
2.2.2. Phƣơng pháp dùng ngôn ngữ mô tả phần cứng (HDL) .................................... 37
2.3. YÊU CẦU CHUNG KHI THIẾT KẾ VỚI CPLD/FPGA ....................................... 37
2.3.1 Chọn vi mạch CPLD hoặc FPGA phù hợp ........................................................ 37
2.3.2 Chọn giải pháp cấu hình cho CPDL/FPGA.......................................................38
2.3.3 Chọn công cụ phần mềm phù hợp ...................................................................... 40
2.4. LƢU ĐỒ THIẾT KẾ CHO CPLD/FPGA................................................................ 41
2.4.1 Lƣu đồ thiết kế cho CPLD..................................................................................41
2.4.2 Lƣu đồ thiết kế cho FPGA..................................................................................44
2.5.3. Ví dụ thiết kế đơn giản dùng phần mềm ISE ..................................................... 46
5
Mục lục
CHƢƠNG 3 – CĂN BẢN VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL ........... 65
3.1. LỊCH SỬ PHÁT TRIỂN CỦA VHDL .................................................................... 65
3.2 NHỮNG ƢU ĐIỂM CỦA VHDL ............................................................................ 66
3.3 CẤU TRÚC NGÔN NGỮ CỦA VHDL...................................................................67
3.3.1 Đối tƣợng trong VHDL ...................................................................................... 68
3.3.2 Kiểu dữ liệu trong VHDL ................................................................................... 70
3.3.3 Các phép toán trong VHDL ............................................................................... 81
3.3.4 Các đơn vị thiết kế trong VHDL......................................................................... 87
3.3.5 Cấu trúc chung của một chƣơng trình mô tả VHDL..........................................95
3.3.6 Môi trƣờng kiểm tra “testbench”.......................................................................97
3.3.7 Các cấu trúc lệnh song song ............................................................................ 100
3.3.8 Cấu trúc lệnh tuần tự ....................................................................................... 111
3.3.9 Hàm và thủ tục ................................................................................................. 120
BÀI TẬP ....................................................................................................................... 126
CHƢƠNG 4 – PHƢƠNG PHÁP THIẾT KẾ LOGIC DÙNG VHDL....................128
4.0 GIỚI THIỆU CHUNG VỀ THIẾT KẾ LOGIC DÙNG HDL ................................ 128
4.1 MƠ HÌNH BIỂU DIỄN HỆ THỐNG SỐ ............................................................... 129
4.1.1. Mô hình hoạt động (Behavioral views) ........................................................... 129
4.1.2. Mơ hình cấu trúc (Structural views) ............................................................... 130
4.1.3. Mơ hình vật lý (Physical views) ...................................................................... 130
4.2 CÁC MỨC ĐỘ TRỪU TƢỢNG TRONG MÔ TẢ HỆ THỐNG SỐ .................... 130
4.2.1. Mô tả mức mạch điện (Circuit Level or Transistor Level) ............................. 132
4.2.2. Mô tả mức logic (Logic Lever or Gate Level).................................................132
4.2.3 Mô tả mức RTL (Register Transfer Level – Mức truyền đạt thanh ghi) .......... 132
4.2.4. Mô tả mức hệ thống (System Level or Processor Level).................................132
4.2.5. Ví dụ các mơ hình hệ thống số ........................................................................ 133
4.3 MÔ TẢ THEO MÔ HÌNH HOẠT ĐỘNG (BEHAVIORAL) ............................... 135
4.3.1 Mô tả theo mức hệ thống..................................................................................135
4.3.2 Mô tả theo mức RTL......................................................................................... 136
4.3.3. Viết mô tả Testbench ....................................................................................... 139
4.3.4 Mã mô tả VHDL không tổng hợp đƣợc ............................................................ 153
4.4. CÁC MƠ HÌNH TÍN HIỆU SỐ.............................................................................154
4.5. MƠ TẢ THEO MƠ HÌNH CẤU TRÚC................................................................ 155
4.6. MÔ TẢ MẠCH LOGIC TỔ HỢP ......................................................................... 160
4.6.1. Các cấu trúc lệnh VHDL dùng cho mô tả mạch tổ hợp .................................. 160
4.6.2. Mô tả các mạch tổ hợp cơ bản ........................................................................ 163
4.6.3. Phƣơng pháp thiết kế dùng chung phép toán..................................................182
4.6.4. Phƣơng pháp thiết kế dùng chung chức năng ................................................. 188
4.7. MÔ TẢ MẠCH LOGIC TUẦN TỰ CƠ BẢN ...................................................... 190
4.7.1. Cấu trúc lệnh VHDL dùng cho mô tả mạch tuần tự ....................................... 190
4.7.2. Mô tả các phần tử nhớ .................................................................................... 191
4.7.3. Bộ đếm (Counter) ............................................................................................ 197
4.7 MÁY TRẠNG THÁI HỮU HẠN – FSM .............................................................. 206
6
Mục lục
4.7.1. Giới thiệu chung về máy trạng thái hữu hạn - FSM ....................................... 206
4.7.2. Đồ hình máy trạng thái - FSMD ..................................................................... 208
4.7.3. Lƣu đồ giải thuật máy trạng thái – ASM......................................................... 210
4.7.4. Mô tả VHDL cho FSM .................................................................................... 212
4.8. PHƢƠNG PHÁP THIẾT KẾ TOP-DOWN .......................................................... 220
BÀI TẬP ....................................................................................................................... 221
CHƢƠNG 5 – THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG DÙNG VHDL ... 222
5.1. THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LED .............................................. 222
5.1.1 Thiết kế mạch điều khiển màn chỉ thị số LED.................................................222
5.1.2 Thiết kế mạch điều khiển ma trận LED............................................................ 227
5.1.3. Thiết kế ứng dụng điều hiển thị 8 led đơn sáng theo quy luật ........................ 233
5.2 THIẾT KẾ BỘ ĐẾM THUẬT NGHỊCH THEO ĐIỀU KHIỂN............................ 237
5.3. THIẾT KẾ BỘ ĐẾM TẦN TỰ ĐỘNG THAY ĐỔI THANG ĐO ....................... 240
5.4. THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA...........................................248
5.5. THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD..............................................255
5.6 THIẾT KẾ MẠCH ĐIÈU KHIỂN MA TRẬN PHÍM............................................ 270
5.7. THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM ..................................................... 274
5.8. THIẾT KẾ BỘ ĐIỀU KIỂN TRUYỀN THÔNG NỐI TIẾP UART .................... 279
PHỤ LỤC I – QUY ƢỚC VỀ ĐẶT TÊN TRONG VHDL......................................289
I.1. Quy ƣớc chung về đặt tên trong VHDL..................................................................289
I.2. Quy ƣớc đặt tên các đối tƣợng trong VHDL .......................................................... 290
I.3. Quy ƣớc đặt tên các đơn vị thiết kế ........................................................................ 291
PHỤ LỤC II – CẤU TRÖC LỆNH CƠ BẢN CỦA VHDL.....................................293
PHỤ LỤC III – GIỚI THIỆU CPLD/FPGA CỦA XILINX ................................... 297
III.1. GIỚI THIỆU CHUNG VỀ CPLD/FPGA CỦA XILINX .................................... 297
III.1.1. CPLD của Xilinx ........................................................................................... 297
III.1.2. FPGA của Xilinx ........................................................................................... 300
III.2. CẤU TRÚC CPLD CỦA XILINX ..................................................................... 301
III.2.1 XC9500XL ...................................................................................................... 301
III.2.2. CoolRunner XPLA3....................................................................................... 307
III.2.3 CoolRunner II.................................................................................................309
III.3. GIỚI THIỆU CÁC DÒNG FPGA CĂN BẢN .................................................... 313
III.3.1. Spartan-3.......................................................................................................313
III.3.2. Virtex ............................................................................................................. 317
PHỤ LỤC IV – HƢỚNG DẪN PHẦN MỀM ISE CỦA XILINX .......................... 323
IV.1. GIỚI THIỆU CHUNG......................................................................................... 323
IV.2. HƢỚNG D N CÀI Đ T .................................................................................... 323
IV.3. THỰC HIỆN LƢU ĐỒ THIẾT KẾ TRÊN ISE .................................................. 323
TÀI LIỆU THAM KHẢO .......................................................................................... 343
7
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
CHƢƠNG 1 – GIỚI THIỆU CHUNG VỀ THIẾT KẾ HỆ
THỐNG SỐ
Giới thiệu chung
Quy trình phát triển hệ thống điện tử
Mơ hình kiến trúc và các mức thiết kế hệ thống số
Tổng quan về các công nghệ thực hiện hệ thống số
Quy trình thiết kế vi điện tử
Vai trò của thiết kết vi điện tử sử dụng HDL
Lƣu đồ thiết kế vi điện tử dùng HDL
Các phần mềm EDA hỗ trợ thiết kế logic dùng HDL
1.1 GIỚI THIỆU CHUNG
Hiện nay, Hệ thống số đang là trung tâm của các hệ thống điện tử. Mọi phát triển hiện
nay đều dựa vào công nghệ số. Trang bị kiến thức và kỹ năng thiết kế hệ thống số là rất quan
trọng đối với kỹ sƣ điện tử. Các phƣơng thức nền tảng cho phát triển hệ thống số nhƣ sau:
+ Phát triển hệ thống số trên cở sở dùng rút gọn hàm logic, bảng trạng thái, máy trạng
thái dùng các cấu kiện logic chuẩn chức năng cố định nhƣ: Các cổng logic đơn giản, các mô-
đun mạch tổ hợp và tuần tự cơ bản.
+ Phát triển hệ thống số trên cơ sở dùng các hệ vi xử lý, vi điều khiển, bộ xử lý tín hiệu
số, và thực hiện ghép nối máy tính: Chức năng hệ thống chủ yếu đƣợc phát triển nhờ lập trình
phần mềm.
+ Phát triển hệ thống số trên cơ sở thiết kế logic số: Sử dụng ngôn ngữ mô tả phần cứng
HDL mô tả đƣợc hệ thống số cần thiết kế, thực hiện tổng hợp và thực hiện chúng trên các cấu
kiện logic khả trình PLD hay chuyển sang các mức thiết kế vật lý, layout và thực hiện trên các
vi mạch số VLSI... Đây là những tiền đề tốt cho thiết kế IC số và thiết kế hệ thống VLSI.
Cả ba hƣớng trên đều có thể đƣợc sử dụng để phát triển các hệ thống số nhƣng mức độ
đơn giản hay phức tạp là khác nhau và đều đƣợc đào tạo cho sinh viên ngành Điện – Điện tử
và Kỹ thuật Máy tính ở các mơn học với các mức độ khác nhau. Trong môn học Thiết kế
logic số chủ yếu tập trung vào hƣớng thứ 3. Hƣớng phát triển này vừa phù hợp với môi trƣờng
giáo dục đại học và yêu cầu phát triển khả thi đƣợc các ứng dụng đa dạng trong thực tế với
mức độ phức tạp cao. Trong đó phƣơng pháp thiết kế trọng tâm mà sinh viên sử dụng để phát
triển các hệ thống số là Thiết kế logic dùng HDL, đây cũng là phƣơng pháp thiết kế đòi hỏi
sinh viên phải có kiến thức nền tảng tổng hợp tốt của cả hai hƣớng phát triển trên. Sử dụng
thiết kế logic cũng địi hỏi sinh viên phải có hiểu biết sâu sắc về hoạt động của đối tƣợng
mình định thiết kế, và đặc biệt là phát huy đƣợc tính sáng tạo của sinh viên. Hơn thế nữa thiết
kế logic số dùng HDL hiện vẫn đang đƣợc giảng dạy phổ biến trong các Trƣờng đại học tiên
tiến trên thế giới và vẫn là phƣơng pháp thiết kế phổ biến của các phần mềm Thiết kế điện tử
hiện đại đang đƣợc sử dụng phổ biến cho các nhà Thiết kế của nhiều doanh nghiệp điện tử
trên thế giới.
8
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
Trƣớc khi tập trung vào trình bày về phƣơng pháp thiết kế logic số dùng HDL ở các
chƣơng tiếp theo, trong chƣơng này sẽ nêu bật đƣợc vai trị và vị trí của Thiết kế điện tử nói
chung và Thiết kế logic nói riêng trong tồn bộ q trình phát triển hệ thống điện tử số hiện
đại.
1.2 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG ĐIỆN TỬ
Phát triển hệ thống điện tử nói chung, hệ thống số nói riêng sẽ đƣợc thƣc hiện trên cơ sở
phát triển các hệ thống con và ghép chúng với nhau tạo thành toàn bộ hệ thống. Tuy nhiên,
trƣớc khi xem xét đến quá trình phát triển cũng nhƣ thiết kế hệ thống điện tử chúng ta chú ý
ba điểm nhƣ sau trong quá trình thiết kế:
1. Luôn luôn sử dụng chung:
2. Không bao giờ tự bỏ bất cứ điều gì để thay đổi:
3. Hầu hết có nhiều hơn một cách để giải quyết một vấn đề: Ngƣời thiết kế có nhiệm vụ
tìm ra cách giải quyết vấn đề hợp lý nhất. Giải pháp đƣợc phát triển đầu tiên không nhất thiết
phải là tốt nhất.
Quy trình phát triển một hệ thống số (một sản phẩm hệ thống số) là quá trình một thiết
kế đƣợc phát triển từ những ý tƣởng ban đầu đến sự hiện thực hóa đƣợc một sản phẩm
(thƣơng mại hoặc phi lợi nhuận). Quá trình phát triển một sản phẩm hệ thống số có thể tiếp
cận theo một trong hai hƣớng sau:
+ Quy trình phát triển tuần tự
+ Quy trình phát triển song song
1.2.1 Quy trình phát triển sản phẩm tuần tự
Trong quá trình phát triển sản phẩm tuần tự, mỗi một bƣớc trong quá trình phát triển (từ
ý tƣởng thiết kế đến quá trính sản xuất và kiểm tra sản phẩm) đƣợc hoàn thành trƣớc khi thực
hiện bƣớc tiếp theo. Quy trình phát triển truyền thống này đƣợc minh họa nhƣ hình vẽ và gồm
các bƣớc chính nhƣ sau:
1. Xác định yêu cầu sản phẩm: Xác định các yều cầu, tham số kỹ thuật cần phát triển
cho sản phẩm.
2. Thiết kế: Tạo ra thiết kế ban đầu
3. Kiểm tra thiết kế: Kiểm tra chức năng của thiết kế ban đầu có đúng u cầu khơng?
4. Chế mẫu: Tạo ra sản phẩm mẫu vật lý của thiết kế và kiểm tra hoạt động của mẫu
theo yêu cầu thiết kế.
5. Kiểm tra mẫu: Xác định xem liệu chức năng của thiết kế có nhƣ kỳ vọng hay không
và kiểm tra xem có xuất hiện những vấn đề của thiết kế mà cần đƣợc giải quyết hay
không?
6. Thiết kế lại: Dựa vào những vấn đề đã phát hiện ở bƣớc trên, thực hiện thiết kế lại
sản phẩm để giải quyết những vấn đề đó
7. Kiểm tra lại thiết kế: Kiểm tra chức năng của thiết kế mới có đúng yêu cầu không?
8. Sản xuất sản phẩm: Khi thiết kế đã đƣợc kiểm tra thành cơng, thì có thể sản xuất
hoạt loạt sản phẩm
9
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
9. Kiểm tra sản phẩm: Các sản phẩm đã đƣợc sản xuất dƣợc kiểm tra để phát hiện lỗi
xuất hiện trong quá trình sản xuất.
Mặc dù cách tiếp cận của quy trình trên có vể đơn giản, dễ thực hiện, dễ quản lý, nhƣng
cách tiếp cận tuần tự đó thƣờng khơng có hiệu quả cao. Nó khơng cho phép một bƣóc nào đó
tác động đến các bƣớc khác trừ các bƣớc ngay trƣớc và sau nó. Ví dụ bƣớc Chế mẫu khơng
tác động đến bƣớc sản xuất. Những ràng buộc vốn có trong bƣớc chế mẫu có thể khơng tạo ra
lỗi đƣợc mà chỉ đƣợc phát hiện trong bƣớc sản xuất. Những thông tin quan trọng có thể đƣợc
phát sinh trong bƣớc sản xuất đã bị bỏ qua trong bƣớc Chế mẫu và thậm trí là trong cả bƣớc
Thiết kế.
Xác định yêu cầu sản phẩm
Thiết kể sản phẩm
Kiểm tra Thiết kế
Chế mẫu
Kiểm tra mẫu
Thiết kế lại
Kiểm tra lại Thiết kế
Sản xuất sản phẩm
Kiểm tra sản phẩm
Hình 1.1 – Quy trình phát triển sản phẩm tuần tự
1.2.2 Quy trình phát triển sản phẩm song song
Trong quy trình phát triển song song, mỗi bƣớc từ ý tƣởng thiết kế đến bƣớc sản xuất và
kiểm tra đƣợc liên kết với nhau, cho phép thông tin đƣợc chuyển qua lại giữa các bƣớc. Quy
trình phát triển sản phẩm theo cách tiếp cận này đƣợc minh họa nhƣ Hình 1.2. Trong đó các
bƣớc khác nhau trong quy trình đƣợc thực hiện tại cùng thời điểm. Tồn bộ q trình có cấu
trúc dàn flatter, ngƣợc lại so với cách tiếp cận theo tuần tự, quy trình phát triển song song cho
phép nhiều vấn đề đƣợc giải quyết cùng nhau. Điều đó cho phép tất cả các thành viên tham
10
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
gia vào phát triển sản phẩm có những thơng tin liên quan và đánh giá các khía cạnh của vấn
đề thiết kế và thay đổi các thành phần của họ trong quá trình phát triển sản phẩm.
Xác định yêu cầu sản phẩm
Ý tƣởng DFx[1] Yêu cầu Cơ cấu
thiết kế Thị trƣờng chất lƣợng
Hệ thống hỗ Định dạng Các quy trình
trợ và dịch vụ thiết kế sản xuất
Sản xuất
Sản phẩm
[1] DFx:
DFA: Design for Assembly
DFD: Design for Debug
DFM: Design for Manufacturability
DFR: Design for Reliability
DFT: Design for Testability
DFY: Design for Yield
Hình 1.2 – Quy trình phát triển sản phẩm song song
Tính song song trong quy trình phát triển này đặc biệt đƣợc thực hiện rất rõ trong bƣớc
thiết kế sản phẩm. Trong bƣớc thiết kế sản phẩm đã có tính đến các yếu tố khác nhau, và
hƣớng nhiều đến các mục đích khác ngồi u cầu kỹ thuật của sản phẩm. Đó là các q trình
thiết kế hƣớng mục đích nhƣ:
- DFA: Design for Assembly – Thiết kế tính đến quá trình lắp rắp sản phẩm.
- DFD: Design for Debug – Thiết kế tính đến việc gỡ rối.
- DFM: Design for Manufacturability – Thiết kế tính đến quá trình sản xuất.
11
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
- DFR: Design for Reliability – Thiết kế tính đến mức độ tin cậy.
- DFT: Design for Testability – Thiết kế hỗ trợ việc đo kiểm.
- DFY: Design for Yield - Thiết kế tính đến yêu cầu sản lƣợng.
Nhƣ vậy Thiết kế là một bƣớc rất quan trọng trong quá trình phát triển sản phẩm điện
tử, nó quyết định rất lớn đến sự thành công của sản phẩm. Nắm bắt các công nghệ và thực
hành kỹ năng thiết kế điện tử là rất cần thiết đối với sinh viên ngành Điện – Điện tử và Kỹ
thuật máy tính.
1.2 MƠ HÌNH KIẾN TRÖC VÀ CÁC MỨC THIẾT KẾ HỆ THỐNG SỐ
Hệ thống số: là hệ thống điện tử xử lý tín hiệu số trên cơ sở các mạch điện tử số. Hệ
thống số hiện nay chủ yếu xử lý tín hiệu nhị phân và đƣợc xây dựng trên cơ sở các hệ thống
tính tốn số. Ví dụ các hệ thống số điển hình nhƣ máy tính, điện thoại số, .... Một hệ thống
điện tử có thể bao gồm cả các mạch xử lý tín hiệu tƣơng tự, tuy nhiên hiện nay phần mạch số
là khối trung tâm và quan trọng nhất của hệ thống.
1.2.1 Kiến trúc của hệ thống số
Kiến trúc của một hệ thống số cơ bản đƣợc mơ tả nhƣ trong Hình 1.3, nó gồm các thành
phần:
Thiết bị điện tử Quản lý, tích hợp,
và thiết kế hệ thống
Phần mềm Thiết kế, phát triển
ứng dụng phần mềm ứng dụng
Phần mềm Thiết kế firmware:
hệ thống (Device Driver, OS, Midleware)
Phần cứng
Thiết kế mạch, PCB
Linh kiện, Thiết kế vi điện tử: linh kiện, IC, IP,
phụ kiện điện tử phụ kiện
Hình 1.3 – Kiến trúc hệ thống số và các mức thiết kế
- Phần mềm ứng dụng: là các phần mềm đƣợc thiết kế để thực thi một tác vụ thực tế
dựa trên tài nguyên do nền phần cứng cung cấp. Ví dụ nhƣ các phần mềm chơi nhạc trên các
máy MP3, ứng dụng game trên các máy PS2, bộ công cụ Microsoft Office trên các PC,...
- Phần mềm hệ thống: Ví dụ nhƣ các hệ điều hành Windows, Linux, Unix, và các
chƣơng trình hỗ trợ nhƣ trình biên dịch, loader, linker, debugger, .. giúp quản lý các tài
12
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
nguyên phần cứng ở mức thấp. Về cơ bản nó cho phép các phần của hệ thống làm việc với
nhau, cấp phát các tài nguyên cho các phần mềm ứng dụng.
- Phần cứng : chỉ các thành phần vật lý của hệ thống, đƣợc cấu tạo về cơ bản từ các
linh kiện vậy lý.Ví dụ nhƣ với một PC, phần cứng gồm các thành phần bo mạch chủ, Ram, ở
cứng, nguồn nuôi, ... Các bo mạch chủ thì đƣợc cấu tạo từ các linh kiện bán dẫn, các linh kiện
thụ động nhƣ điện trở, tụ điện, cuộn cảm,...
Từ kiến trúc trên của hệ thống số, có thể phân chia việc thiết kế một hệ thống thành các
mảng công việc khác nhau nhƣ sau:
- Quản lý, tích hợp và thiết kế hệ thống.
- Thiết kế, phát triển phần mềm ứng dụng.
- Thiết kế firmware (device driver, OS, middleware).
- Thiết kế mạch, PCB.
- Thiết kế vi điện tử : linh kiện, IC, IP, Phụ kiện
Đối với từng mảng cơng việc, địi hỏi ngƣời thực hiện cần có các kĩ năng tƣơng ứng.
1.2.2 Các Mức thiết kế hệ thống số
a. Quản lý, tích hợp, thiết kế hệ thống:
Đây là một trong những mặt có vai trị quan trọng đối với sự thành công của một dự án
thiết kế một hệ thống số. Nó bao gồm các cơng việc:
- Hoạch định các yêu cầu của hệ thống, từ đó xây dựng kết cấu chung của hệ thống.
- Phân tách, tích hợp hệ thống, kiểm tra hệ thống,... đảm bảo hệ thống hoạt động ổn
định, đáp ứng đƣợc các yêu cầu về hiệu năng, giá thành, tuổi thọ,...
.-Xác định các tài nguyên có sẵn bao gồm nhân lực và vật lực.
- Lên kế hoạch các bƣớc thực hiện.
- Giám sát quá trình thực hiện.
…
b. Thiết kế, phát triển phần mềm ứng dụng
Đối với các hệ thống số, điều quan trọng là ứng dụng thực tiễn của nó trong đời sống,
quan trọng hơn, chức năng đƣợc quyết định bởi phần mềm ứng dụng đƣợc cài đặt trên hệ
thống. Vì vậy, các thiết kế, phát triển phần mềm ứng dụng là không thể thiếu đối với thiết kế
hệ thống số hiện nay. Quá trình phát triển phần mềm ứng dụng thƣờng đƣợc dựa trên các kỹ
thuật về xây dựng cấu trúc dữ liệu và giải thuật; cơ sở dữ liệu; các phƣơng thức lập trình
hƣớng cấu trúc , hƣớng đối tƣợng; đồ họa; đa phƣơng tiện; xử lý tín hiệu... Và sử dụng các
ngơn ngữ lập trình ứng dụng nhƣ C/C++, VC++, VB, Delphi, ASP, PHP, JAVA để thực hiện
trên các nền tẳng hệ điều hành khác nhau.
c. Thiết kế firmware
Điều quan trọng của các ứng dụng hệ thống số đó là tận dụng đƣợc các tài nguyên của
hệ thống : CPU, memory, các ngoại vi, các giao diện,... Hầu hết quá trình xử lý bên trong của
hệ thống là sự giao tiếp giữa các thành phần phần cứng bên trong. Vì vậy địi hỏi xây dựng
firmware để quản lý các tài nguyên này một cách hữu hiệu, cung cấp các giao diện truy cập
các tài nguyên này cho lớp cao hơn( lớp ứng dụng).
13
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
Nó gồm các lĩnh vực về thiết kế trình điều khiển thiết bị - Device Driver, thiết kế OS –
hệ điều hành, thiết kế phần mềm Middleware.
d. Thiết kế mạch, PCB:
Phần cứng có thể coi nhƣ phần xác của hệ thống, cũng là một phần không thể thiếu của
hệ thống số. Thiết kế phần cứng là quá trình kết hợp các thành phần rời rạc nhƣ các phần tử
mạch điện tử cơ bản, phần cứng vi xử lý, vi điều khiển, IC chức năng, FPGA, CPLD..., và các
phụ kiện khác để tạo lên 1 hệ thống hồn chỉnh. Q trình thiết kế thƣờng đƣợc hỗ trợ bằng
các công cụ phần mềm thiết kế mạch, mô phỏng mạch nhƣ Altium, ISE, proteus,..
e. Thiết kế vi điện tử : linh kiện, IP, IC, phụ kiện
Vi điện tử là các vấn đề liên quan đến nghiên cứu, chế tạo các linh kiện điện tử. Những
linh kiện này làm từ các chất bán dẫn. Chúng là những thành phần cơ bản trong các thiết kế
điện tử nhƣ transistor, tụ điện, điện trở, diode, IC, ...Có thể nói các linh kiện, IP core, IC, phụ
kiện,... là những “viên gạch” xây lên “ngôi nhà” phần cứng hệ thống. Thiết kế vi điện tử là
quá trình thiết kế các thành phần linh kiện này. Hiện nay các thiết kế vi điện tử chủ yếu đƣợc
thực hiện ở mức thiết kế layout, ASIC, VLSI .. sử dụng các phần mềm EDA nhƣ
MentorGraphic, Cadence, ADS, ...
Nhƣ vậy trong quá trình phát triển Hệ thống số, tùy theo công nghệ logic số đƣợc sử
dụng mà các mức thiết kế ở trên đƣợc thực hiện ở với các mức độ khác nhau. Có những cơng
nghệ chỉ cần sử dụng 1 mức thiết kế, và có những cơng nghệ phải sử dụng một vài mức hay
tất cả các mức thiết kế kể trên để hồn thiện sản phẩm.
1.3. TỔNG QUAN VỀ CÁC CƠNG NGHỆ THỰC HIỆN HỆ THỐNG SỐ
1.3.1 Phân loại các công nghệ logic số
Ngày nay công nghệ Logic số đã phát triển rất mạnh mẽ và là công nghệ chủ đạo trong
việc phát triển các hệ thống số trong các lĩnh vực công nghiệp và dân dụng, điều khiển – tự
động, viễn thông và cơng nghệ thơng tin. Hiện nay có có rất nhiều loại công nghệ logic số
khác nhau đƣợc sử dụng để phát triển các hệ thống số. Biểu đồ phân loại các công nghệ logic
số đƣợc sử dụng để phát triển các hệ thống số nhƣ Hình 1.4. Trong đó gồm có:
1. Sử dụng cấu kiện chuẩn (Standard Components): gồm có 2 hƣớng chính:
- Sử dụng cấu kiện logic chuẩn có ứng dụng/chức năng cố định: Đây là cơng nghệ logic
truyền thống gồm có các IC số chức năng cố định, công nghệ này có 2 họ cấu kiện logic điển
hình là TTL 74xx và CMOS 4xxx. Chức năng của mỗi cấu kiện là cố định do nhà sản xuất tạo
ra, ngƣời sử dụng chỉ thực hiện kết nối chúng với nhau để xây dựng mạch ứng dụng. Các IC
số theo công nghệ logic chuẩn này rất đa dạng từ IC chức năng thực hiện các phép toán logic
căn bản đến IC thực hiện các chức năng phức tạp khác nhƣ: bộ hợp kênh, phân kênh, bộ cộng,
so sánh, bộ mã hoá, giải mã, bộ đếm… Chúng là các IC số có chức năng cố định, tức là mỗi
IC thực hiện một chứ năng chuyên biệt. Những cấu kiện này đƣợc sản xuất một số lƣợng lớn
để đáp ứng nhu cầu ứng dụng phong phú. Để thiết kế một mạch số, nhà thiết kế có thể chọn từ
các IC có sẵn phù hợp nhất cho mạch điện. Phần thiết kế này có thể đƣợc chỉnh sửa để đáp
ứng các yêu cầu chuyên biệt của những linh kiện này.
14
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
- Sử dụng lập trình để phát triển ứng dụng (Application by programming): Sử dụng các
IC số chức năng đa dụng đã đƣợc chế tạo sẵn để phát triển ứng dụng theo hai cách khác nhau
nhƣ sau:
+ Lập trình phần mềm (Software Programming): Phát triển hệ thống số dựa trên các
hệ vi xử lý hoặc vi điều khiển đa dụng, hoặc Bộ xử lý tín hiệu số (DSPs). Các ứng dụng của
hệ thống đƣợc phát triển bằng cách lập trình phần mềm cho các hệ vi xử lý, vi điều khiển hoặc
DSPs đó.
+ Lập trình/Cấu hình phần cứng (Hardware Programming/Configuring): Phát triển
hệ thống số dựa trên lập trình phần cứng để cấu hình cho các cấu kiện logic khả trình (PLD).
Đây là một chip LSI có chứa nhiều cấu trúc logic đồng nhất và các kết nối khả trình cho phép
nhà thiết kế tạo tuỳ biến cho nó để dùng cho bất kỳ ứng dụng đặc biệt nào, tức là nó có thể
đƣợc ngƣời dùng lập trình lại cấu hình phần cứng để thực hiện một chức năng cần thiết cho
ứng dụng của họ.Các PLD có các ƣu điểm sau:
Thời gian thiết kế ứng dụng ngắn.
Chi phí phát triển thấp.
Giảm thiểu đƣợc yêu cầu khoảng trống trên bảng mạch.
Giảm thiểu đƣợc yêu cầu về điện.
Bảo đảm tính bảo mật của thiết kế.
Tốc độ chuyển mạch nhanh hơn.
Mật độ tích hợp cao.
Chi phí sản xuất số lƣợng lớn thấp.
PLD cũng cho phép nhà thiết kế có nhiều phƣơng tiện linh động hơn để thí
nghiệm với các bản thiết kế bởi vì chúng có thể đƣợc lập trình lại trong vài giây.
Với nhiều ƣu điểm nhƣ vậy nên hiện nay có một số lƣợng lớn các PLD đƣợc các nhà
sản xuất IC tạo ra với nhiều tính năng đa dạng và nhiều tuỳ chọn có sẵn để nhà thiết kế mạch
có thể sử dụng một cách phổ biến. Một số cấu trúc của PLD nhƣ: Mảng logic khả trình (PLA).
Logic mảng khả trình (PAL), Cấu kiện logic khả trình đơn giản (SPLD), và Mảng cổng có thể
lập trình theo trƣờng (FPGA) sẽ đƣợc đề cập kỹ hơn trong các phần sau.
2. Công nghệ ASIC (Application specific Integrated Circuit):
Để khắc phục những nhƣợc điểm của việc thiết kế bằng cách sử dụng các IC chức năng
cố định, các mạch tích hợp chuyên biệt ứng dụng (ASIC-Aplication Specific IC) đã đƣợc phát
triển. Các ASIC đã đƣợc thiết kế để đáp ứng các yêu cầu chuyên biệt của một mạch và đƣợc
giới thiệu bởi một nhà sản xuất IC. Các thiết kế này quá phức tạp không thể thực hiện bằng
cách sử dụng các IC chức năng cố định đƣợc Ngƣời sử dụng có thể thiết kế cấu hình chúng
theo chức năng mong muốn, nhƣng cần thực hiện công đoạn sản xuất cuối cùng tại nhà máy
để tạo ra một lại IC chuyên dụng cho mục đích riêng của ngƣời sử dụng. Hiện nay công nghệ
ASIC gồm 2 loại là: Gate Arrays và Standard Cell.
Cấu kiện Gate Arrays đƣợc cấu tạo từ mảng các logic cell cố định đã đƣợc sản xuất
trƣớc. Mỗi logic cell gồm có vài cổng logic hoặc một Flip-Flop. Cần có một bƣớc sản xuất
15
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
cuối cùng để thực hiện tạo ra lớp kết nối các logic cell này theo mẫu kết nối đã đƣợc tạo ra
bởi ngƣời sử dụng khi thực hiện một thiết kế xác định.
Cấu kiện Standard Cell khơng có cấu trúc cố định, nhà sản xuất tạo ra mặt nạ riêng để
xây dựng IC dựa vào những lựa chọn linh kiện của ngƣời sử dụng nhƣ các bộ điều khiển,
ALU, RAM, ROM, vi xử lý... từ thƣ viện standard cell mà nhà sản xuất đã đƣa ra. Các lớp
mặt nạ này sẽ đƣợc thực hiện trong quá trình sản xuất tại nhà máy.
Digital Circuit
Standard Full-custom ASICs SoC
Components VLSI Design
Fixed Application Gate Standard
application by programming Arrays Cell
Logic Gates & Software Hardware
Logic Modules Programming Programming
CMOS Microprocessor PLD
TTL & EPROM (CPLD,FPGA ...)
ECL…
Hình 1.4 – Các công nghệ Logic số
3. Công nghệ thiết kế vi mạch số mật độ tích hợp lớn (Full Custom VLSI Design):
Công nghệ thực hiện việc thiết kế vi mạch số ở mức Transistor trên bề mặt của tinh thể
bán dẫn, cho phép tạo ra vi mạch có chức năng mong muốn, thƣờng sử dụng để thiết kế các vi
mạch đa dụng có tính năng mạnh, và có phạm vi ứng dụng lớn, điển hình nhƣ các họ vi xử lý
(MicroProcessor), Bộ nhớ RAM...., các vi mạch số có độ phức tạo cao, tính năng mạnh... Khi
sử dụng các họ vi xử lý để phát triển ứng dụng, thiết kế của ngƣời sử dụng đƣợc chƣơng trình
hố và đƣợc cài đặt vào các thiết bị nhớ. Nhiệm vụ chính của việc thiết kế là lập trình cho các
vi xử lý này theo bài tốn đã đặt ra.
4. Cơng nghệ SoC (System on Chip)
Hệ thống trên một vi mạch, là một khái niệm dùng để chỉ các hệ thống đƣợc xây dựng
trên ý tƣởng tích hợp tất cả các thành phần của một hệ thống máy tính lên trên một vi mạch
đơn (hay còn gọi là một chip đơn). Hệ thống trên một vi mạch có thể bao gồm các khối chức
năng số, tƣơng tự, tín hiệu kết hợp (mixed-signal) và cả các khối tần số radio (RF). Ứng dụng
điển hình của các hệ thống trên một vi mạch là các hệ thống nhúng. Các SoC này thƣờng
đƣợc phát triển nhờ phƣơng pháp thiết kế vi mạch điển hình là thiết kế hệ thống VLSI.
16
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
So sánh chung giữa các công nghệ logic số
Sự phức tạp khi sử dụng, thời gian thiết kế, cũng nhƣ độ phức tạp của ứng dụng là khác
nhau đối với mỗi loại công nghệ logic số.
Việc phát triển vi mạch VLSI đa dụng cũng nhƣ SoC cho một thiết kế ở mức transistor
có thể mất tới vài năm cho việc thiết kế và kiểm tra. Do đó cơng nghệ này phù hợp cho việc
phát triển những loại cấu kiện có số lƣợng cao nhất, hiệu năng cao nhất, đa dụng nhất ví dụ
nhƣ vi xử lý, bộ nhớ, vi điều khiển... sử dụng trong trong các hệ máy tính cũng nhƣ trong các
hệ thống số khác.
Giá thành và thời gian phát triển sản phẩm dùng ASIC giảm hơn công nghệ thiết kế
VLSI, tuy vậy vẫn cần thời gian và chi phí phát triển cho cơng đoạn sản xuất cuối cùng ở nhà
máy. Việc kiểm tra đƣợc thực hiện bởi ngƣời sử dụng sau công đoạn sản xuất cuối cùng đó,
nên nếu có bất kỳ lỗi thiết kế nào cũng sẽ dẫn đến việc tăng thời gian và giá thành phát triển.
Cơng nghệ này thích hợp với phát triển các sản phẩm có số lƣợng và thời gian sống lớn.
Sử dụng Công nghệ Cấu kiện chuẩn, mà điển hình là sử dụng Vi xử lý, Vi điều khiển,
và Công nghệ logic khả trình (điển hình nhất là CPLD và FPGA) rất thích hợp cho yêu cầu
phát triển sản phẩm nhanh, số lƣợng khơng lớn và có mật độ tích hợp cũng độ phức tạp không
quá lớn, và đặc biệt tiện lợi trong giai đoạn nghiên cứu phát triển, chế thử sản phẩm. Tuy
nhiên sự cân bằng về hiệu năng và tính kinh tế giữa ASIC, CPLD, FPGA, Vi xử lý sẽ liên tục
thay đổi với mỗi thế hệ cấu kiện và công cụ thiết kế mới.
Tóm lại trong số các cơng nghệ logic số hiện nay, cơng nghệ Cấu kiện chuẩn là lựa
chọn khá thích hợp cho việc phát triển các hệ thống số không quá phức tạp, với số lƣợng
không lớn, thời gian phát triển nhanh, nhất là ở những nƣớc có nền cơng nghiệp điện tử cũng
nhƣ sản xuất vi mạch mới phát triển nhƣ Việt Nam và đặc biệt là trong môi trƣờng giáo dục.
1.3.2 So sánh các loại cấu kiện chuẩn
Các cấu kiện chuẩn phổ biến nhất hiện nay dùng cho phát triển các hệ thống số gồm các
công nghệ sau: Cấu kiện logic chuẩn, ASSP, MCU, RISC/GPP, DSP, Vi xử lý có thể cấu
hình, FPGA.
Các cơng nghệ đều nhằm đáp ứng lợi ích ngƣời dùng là thiết bị phải nhỏ hơn, nhanh
hơn, thông minh hơn, tiêu thụ ít năng lƣợng hơn, tƣơng tác đƣợc với nhau... nhƣng cũng làm
các nhà thiết kế bối rối nhiều hơn khi lựa chọn cơng nghệ thích hợp cho sản phẩm của mình.
Tiêu chí để đánh giá so sánh chúng bao gồm:
- Thời gian đƣa sản phẩm ra thị trƣờng***
- Năng lực thực hiện ***
- Giá thành ***
- Dễ phát triển ***
- Năng lƣợng tiêu thụ **
- Tính mềm dẻo *
(Các dấu (*) xác định tầm quan trọng của các tiêu chí)
17
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
Thời gian đƣa sản phẩm ra thị trƣờng: đây là tiêu chí quan trọng nhất trong một chu
trình phát triển, từ vài năm đến vài tháng. Theo bài báo “Mind of the Engineer” của Cahners
thì thậm chí Thời gian ra thị trƣờng cịn điều khiển cả nền cơng nghiệp.
Năng lực thực hiện: là tiêu chí quyết định năng lực của sản phẩm. Tăng năng lực thực
hiện sẽ thêm chức năng và tốc độ cao hơn, cũng nhƣ giảm kích thƣớc và đạt chất lƣợng cao
hơn. Năng lực thực hiện có thể đo bằng nhiều cách, nói chung là số triệu thao tác trên một
giây (MIPS), số triệu phép nhân trên một giây (MMACS); hoặc, đôi khi, đơn giản hơn đo
bằng số chu kỳ clock trên một giây (MHz).
Giá thành: thƣờng là tiêu chí hiển nhiên nhất, nhƣng trong đa số trƣờng hợp vẫn xếp sau
Thời gian ra thị trƣờng và Năng lực thực hiện. Nói chung số lƣợng sản phẩm và khách hàng
càng nhiều thì tiêu chí này càng đƣợc đẩy lên cao và giá càng thấp.
Dễ phát triển: tiêu chí này đi cùng với hỗ trợ phát triển, công cụ phát triển, giá phát
triển và có thể phân chi tiết thành Hỗ trợ kỹ thuật, Đào tạo kỹ thuật, Trang web có giá trị của
thành phần thứ ba, Cơng cụ phần mềm, Tài liệu, Thời gian thiết kế.Rõ ràng là càng nhiều hỗ
trợ kỹ thuật thì ngƣời kỹ sƣ thiết kế càng có điều kiện tập trung vào cơng việc sáng chế của
mình, thay vì phải tự nghiên cứu thì anh ta có thể thuê ý kiến của các chuyên gia. Cơng cụ
phát triển cũng là chìa khóa để thiết kế. Các công cụ mạnh nhƣ DSP Starter Kits, Môi trƣờng
phát triển tích hợp, Compiler và Cơng cụ cho phần cứng đích... giúp thiết kế trực quan và dễ
dàng hơn. Tất cả những điều đó đều cho phép rút ngắn đáng kể thời gian phát triển và thời
gian ra thị trƣờng, cũng đồng nghĩa với giảm tổng chi phí phát triển và hạ giá thành sản phẩm.
Năng lƣợng tiêu thụ: Tiêu chí này quan trọng trong các sản phẩm xách tay nhƣ điện
thoại di động... Năng lƣợng tiêu thụ thấp tức là thời gian sống của ắcquy kéo dài – mối quan
tâm lớn của ngƣời dùng cuối. Năng lƣợng tiêu thụ thấp cũng làm giảm phát xạ nhiệt, điều này
có ý nghĩa lớn trong các thiết bị kín vì nhiệt độ trong vỏ kín tăng cao sẽ là nhân tố giảm mật
độ kênh hoặc một số chức năng của thiết bị.
Tính mềm dẻo: là khả năng sửa đổi hay tăng thêm chức năng cho thiết bị khi có yêu cầu.
Chẳng hạn các thiết bị làm việc theo chuẩn (nhƣ chuẩn truyền thông hay chuẩn nén) đƣợc
tung ra thị trƣờng trong khi chuẩn còn đang tạm thời. Nhƣ thế các nhà thiết kế cần tính tốn
sao cho sản phẩm có khả năng upgrade một cách dễ dàng và nhanh chóng khi chuẩn đã đƣợc
phê chuẩn.
Sau đây chúng ta sẽ phân tích các cơng nghệ với từng tiêu chí kể trên.
1. Công nghệ logic chuẩn
Ƣu điểm của việc sử dụng công nghệ logic chuẩn này là:
- Thực hiện thiết kế đơn giản.
- Chi phí phát triển ứng dụng thấp.
- Thay đổi nhanh xung quanh bản thiết kế.
- Tƣơng đối dễ thử nghiệm các mạch
Nhƣợc điểm:
- Các yêu cầu về kích thƣớc trong bảng mạch lớn.
- Khó tạo đƣợc những mạch ứng dụng phức tạp.
18
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
- Yêu cầu về điện lớn.
- Thiếu tính bảo mật (Các bảng mạch có thể bị sao chép).
- Các yêu cầu về chi phí bổ sung, khoảng trống, điện…cần thiết để chỉnh sửa bản thiết kế
hoặc bổ sung các tính năng khác.
2. Cơng nghệ ASSP
ASSP (Application-Specific Standard Product): Sản phẩm chuẩn cho ứng dụng xác
định.
Thời gian ra thị trƣờng của ASSP: nếu thị trƣờng đã có và sản phẩm cũng đã sẵn sàng
thì tiêu chí này từ tốt cho đến rất tốt. Nếu thị trƣờng mới và còn phải phát triển các đặc điểm
mới cho sản phẩm thì tiêu chí này là kém. Thỏa hiệp của cả hai khả năng ấy thì tiêu chí Thời
gian ra thị trƣờng của ASSP đƣợc coi là khá.
Giá thành của ASSP đƣợc coi là tốt cho loạt sản phẩm nhỏ, tuy nhiên kém hơn chút ít so
với DSP.
Năng lƣợng tiêu thụ của ASSP đƣợc coi là rất tốt khi nó đƣợc thiết kế tối ƣu cho ứng
dụng xác định. Tuy nhiên nếu thay vì Năng lƣợng tiêu thụ mà thiết kế hƣớng đến Giá thành
thì tiêu chí này thua DSP.
Dễ phát triển của ASSP đƣợc coi là khá, vì giả thiết một số khó khăn khi thiết kế các
đặc điểm riêng biệt làm chậm quá trình phát triển. Tài liệu phát triển chung khơng tốt vì ASSP
định hƣớng cho thiết kế chun dụng.
Tính mềm dẻo của ASSP bị coi là kém vì ngay từ đầu ASSP đã định hƣớng cho các sản
phẩm đích xác định.
3. Cơng nghệ MCU
MCU (Microcontroller): vi điều khiển.
Thời gian ra thị trƣờng của MCU đƣợc coi là rất tốt, cũng nhƣ DSP, RISC. Về xử lý
thời gian thực thì mặc dù MCU khơng thật tốt nhƣng do nó đƣợc phổ biến rất rộng rãi, cũng
nhƣ có rất nhiều cơng cụ và các trang web có giá trị nên MCU đƣợc xếp đứng hàng thứ hai.
Về Năng lực thực hiện MCU đƣợc coi là khá. So với RISC/GPP thì tài nguyên để thực
hiện các phép toán của MCU nhỏ hơn và tần số làm việc cũng chậm hơn.
Giá thành của MCU là rất tốt do nói chung MCU là các chip nhỏ tƣơng đối rẻ và đứng
hàng thứ hai sau ASIC.
Về Năng lƣợng tiêu thụ thì MCU đƣợc đánh giá là khá. MCU tiêu thụ ít năng lƣợng hơn
RISC và FPGA do nó sử dụng ít tài ngun silicon hơn. Tuy nhiên kém DSP, ASSP và bộ xử
lý có thể cấu hình.
Tính Dễ phát triển của MCU đƣợc đánh giá là tốt. Khả năng lập trình đƣợc của các chip
MCU đang có cho phép phát triển các chức năng theo nhu cầu nhanh hơn đối với ASIC hoặc
các chip chuyên dụng cho ứng dụng xác định. Sử dụng đúng ngôn ngữ lập trình bậc cao
và/hoặc sử dụng các mơ-đun code chuẩn có thể giảm đáng kể, dẫn đến hạ giá thành phát triển.
Về việc hỗ trợ phát triển, hầu hết các nhà cung cấp MCU đều có mạng lƣới giúp đỡ tốt,
tuy vậy khơng đƣợc đánh giá là rất tốt vì nhiều mạng này đơn thuần là các ứng dụng nhúng
mà không phải ứng dụng thời gian thực.
19
Chương 1 – Giới thiệu chung về thiết kế hệ thống số
Tính mềm dẻo MCU đƣợc đánh giá là rất tốt, tƣơng tự nhƣ các chip có thể lập trình.
4. Cơng nghệ RISC/GPP
RISC/GPP (Reduced Instruction Set Computer/ General Purpose Processor) - Chip tính
tốn có tập lệnh rút gọn/Bộ xử lý mục đích chung.
Thời gian ra thị trƣờng của RISC/GPP đƣợc coi là tốt, cũng nhƣ DSP, các bộ xử lý cấu
hình đƣợc và MCU. Đối với xử lý tín hiệu thời gian thực, RISC/GPP đứng hàng thứ ba sau
MCU. Tuy nhiên nó khơng đủ mạnh cho các ứng dụng thời gian thực và không định hƣớng
cho các ứng dụng nhúng mà mục tiêu tập trung vào máy tính để bàn.
Năng lực thực hiện của RISC đƣợc coi là tốt. Tần số làm việc cao tăng hiệu suất xử lý
tín hiệu. Tuy vậy do khơng có các lệnh thực hiện phép tốn trong một chu kỳ và khơng có các
khối nhân làm việc thực hiện thời gian thực của nó bị giới hạn.
Giá thành của RISC bị coi là khá. Các bộ xử lý RISC tốt với các ứng dụng để bàn,
nhƣng về mặt giá thì chỉ đƣợc coi là khá với xử lý tín hiệu thời gian thực.
Năng lƣợng tiêu thụ của RISC đƣợc đánh giá là khá, xếp dƣới so với DSP, ASSP hay
các bộ xử lý cấu hình lại.
Dễ phát triển của RISC đƣợc đánh giá là tốt. Khả năng lập trình đƣợc của RISC đang có
cho phép phát triển các chức năng theo nhu cầu nhanh hơn đối với ASIC hoặc các chip
chuyên dụng cho ứng dụng xác định. Sử dụng đúng ngơn ngữ lập trình bậc cao và/hoặc sử
dụng các mơ-đun code chuẩn có thể giảm đáng kể, dẫn đến hạ giá thành phát triển.
Về giúp đỡ phát triển, có những hỗ trợ chung cho các nhà thiết kế RISC, nhƣng khơng
có những hỗ trợ cho một ứng dụng xác định nào cũng nhƣ khơng có hỗ trợ về thời gian thực
do kiến thức của những nhà cung cấp RISC về các nội dung này không mạnh.
Tính mềm dẻo của RISCđƣợc đánh giá là rất tốt so với thực hiện bằng phần cứng, giống
nhƣ các loại có khả năng lập trình khác.
5. Cơng nghệ DSP
DSP (Digital Signal Processor): Bộ xử lý tín hiệu số.
Thời gian ra thị trƣờng của DSP đƣợc coi là rất tốt. Các bộ xử lý có thể lập trình nhƣ
DSP, RISC và MCU đều có khả năng lập trình bằng phần mềm để có đƣợc các chức năng và
đặc điểm khác nhau, tiết kiệm thời gian so với các thực hiện tƣơng tự bằng phần cứng. Trong
ba loại kể trên thì thì DSP đƣợc coi là tốt nhất và cũng vì thế mà cơng cụ và thông tin dành
cho DSP cũng nhiều nhất.
Năng lực thực hiện của DSP đƣợc coi là rất tốt. Các DSP có cấu trúc multi-MAC VLIW
nhƣ TMS320C6000 có tốc độ MIPS rất cao.
Về Giá thành DSP đƣợc coi là tốt, không rẻ nhƣ ASIC nhƣng không quá cao so với
MCU.
Năng lƣợng tiêu thụ của DSP đƣợc coi là rất tốt, nhất là với loại DSP đƣợc thiết kế đặc
biệt cho tiêu chí này cho các ứng dụng xách tay nhƣ TMS320C5000.
Tính Dễ phát triển đƣợc đánh giá là rất tốt. Các nhà cung cấp DSP có một mạng lƣới
thành phần thứ ba cho mọi lĩnh vực để giúp phát triển DSP, từ các chuyên gia cố vấn cho
phần cứng, phần mềm, đến hệ thống.
20