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

THIẾT KẾ LOGIC SỐ - HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

20 1 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

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin 1 HỌC VIỆN CÔNG NGHỆ BU 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 2 3 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ố hoà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 chuyên 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 CPLDFPGA 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 hoà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: hadmptit.edu.vn. 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 hoàn thành bài giảng này. Hà nội, tháng 9 năm 2010 Nhóm tác giả 4 Mục lục 5 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 LU ĐỒ 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 CPLDFPGA ...... 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 CPLDFPGA ....................................... 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 CPDLFPGA ....................................................... 38 2.3.3 Chọn công cụ phần mềm phù hợp ...................................................................... 40 2.4. LU ĐỒ THIẾT KẾ CHO CPLDFPGA ................................................................ 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 Mục lục 6 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 Mục lục 7 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 CPLDFPGA CỦA XILINX ................................... 297 III.1. GIỚI THIỆU CHUNG VỀ CPLDFPGA 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 LU ĐỒ THIẾT KẾ TRÊN ISE .................................................. 323 TÀI LIỆU THAM KHẢO .......................................................................................... 343 Chương 1 – Giới thiệu chung về thiết kế hệ thống số 8 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. Chương 1 – Giới thiệu chung về thiết kế hệ thống số 9 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 toàn bộ quá 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 yê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 Chương 1 – Giới thiệu chung về thiết kế hệ thống số 10 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ế. 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. Toàn bộ quá 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 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 Chương 1 – Giới thiệu chung về thiết kế hệ thống số 11 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. 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 ngoài Yêu cầu kỹ thuật của sản phẩm. Đó là các quá 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. Xác định yêu cầu sản phẩm Ý tƣởng thiết kế DFx1 Yêu cầu Thị trƣờng Cơ cấu chất lƣợng Định dạng thiết kế Hệ thống hỗ trợ và dịch vụ Các quy trình 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 Chương 1 – Giới thiệu chung về thiết kế hệ thống số 12 - 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 ...

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ố hoà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 chuyên 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 hoà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: hadm@ptit.edu.vn 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 hoà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 toàn bộ quá 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 yê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 Toàn bộ quá 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 ngoài Yêu cầu kỹ thuật của sản phẩm Đó là các quá 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 toá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 hoàn chỉnh Quá 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 để hoà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 hoá 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 toá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 toá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ế chuyên 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 nguyên 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 toá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 toá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

Ngày đăng: 16/03/2024, 11:59

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

TÀI LIỆU LIÊN QUAN

w