Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 336 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
336
Dung lượng
9,79 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SỸ KHOA HỌC QUY TRÌNH THIẾT KẾ ASIC/ASIP NGÀNH: XỬ LÝ THƠNG TIN VÀ TRUYỀN THÔNG ĐỖ THỊ THU TRANG HÀ NỘI 11 - 2005 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SỸ KHOA HỌC QUY TRÌNH THIẾT KẾ ASIC/ASIP NGÀNH: XỬ LÝ THƠNG TIN VÀ TRUYỀN THÔNG ĐỖ THỊ THU TRANG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN KIM KHÁNH HÀ NỘI 11 - 2005 LỜI CẢM ƠN Sau thời gian nỗ lực nghiên cứu thực hiện, tơi hồn thành luận văn tốt nghiệp kế hoạch đặt Để có kết này, tơi khơng thể không nhắc đến hỗ trợ, giúp đỡ vô quý giá gia đình, nhà trường, thầy cô, đồng nghiệp bạn bè Đầu tiên, xin cho phép tơi bày tỏ lịng kính trọng lịng biết ơn sâu sắc tới cha mẹ, người không quản nhọc nhằn nuôi nấng tơi, chăm sóc, dạy dỗ tơi từ thời tơi thơ dại trưởng thành Cha mẹ người thực bên tôi, sẵn sàng đưa cho lời khuyên kinh nghiệm trí tuệ tơi gặp khó khăn trở ngại cơng việc sống Hồn thành luận văn ngày hơm nay, không nhắc tới thầy giáo cô giáo trường Đại học Bách Khoa Hà Nội, thầy giáo cô giáo khoa Công nghệ Thông tin thầy cô giáo Bộ môn Kỹ thuật Máy tính, người tận tình dạy, cung cấp cho kiến thức Đại cương Chuyên ngành suốt năm năm ngồi ghế nhà trường Đại học hai năm Cao học Đặc biệt, tơi xin bày tỏ lịng biết ơn sâu sắc đến thầy giáo - Tiến sĩ Nguyễn Kim Khánh, giảng viên Bộ mơn Kỹ thuật máy tính, Khoa CNTT, Phó Giám đốc Trung tâm Thư viện Mạng thông tin Trường Thầy trực tiếp hướng dẫn tôi, bảo hướng phương pháp tiếp cận vấn đề, nội dung phương pháp nghiên cứu, động viên truyền đạt cho kinh nghiệm vô quý giá suốt trình thực Đồ án tốt nghiệp Đại học Luận văn tốt nghiệp Cao học, giúp tơi thực thành cơng đề tài đặt Tôi gửi lời cảm ơn riêng tới thầy cô đồng thời đồng nghiệp Bộ môn Kỹ thuật Máy tính - nơi tơi học tập, cơng tác nghiên cứu Các thầy cô tạo điều kiện cho mặt công việc, thời gian đặc biệt sở vật chất Phịng thí nghiệm Thiết kế Điện tử - Trường Đại học Bách Khoa Hà Nội để tơi thực nghiên cứu thử nghiệm Tơi xin cảm ơn bạn đồng nghiệp, thành viên nhóm nghiên cứu thuộc Phịng thí nghiệm Thiết kế điện tử, người trăn trở, suy nghĩ, nghiên cứu, người đóng góp cho tơi ý kiến đáng q hỗ trợ tơi q trình thực luận văn Và cuối cùng, xin cảm ơn người bạn tôi, người bên cạnh tôi, chia sẻ buồn vui hay khó khăn cơng việc sống Hà Nội, tháng 11 năm 2005 Đỗ Thị Thu Trang Mục lục Mục lục i Danh sách hình vẽ vi Danh sách bảng xi Danh sách thuật ngữ xii Mở đầu Phần Sơ lược thiết kế chế tạo IC số 1.1 Các vấn đề chung thiết kế IC số 1.1.1 Sự phát triển cơng nghệ bán dẫn mạch tích hợp số 1.1.2 Những biến đổi thiết kế mạch tích hợp số 1.1.2.1 Cuộc cách mạng mật độ tích hợp hiệu IC số .9 1.1.2.2 Chuyển đổi công nghệ thiết kế 11 1.1.3 Các tiêu chí chất lượng thiết kế số 15 1.1.3.1 Chi phí mạch tích hợp (cost) .15 1.1.3.2 Tính chức độ mạnh (Functionality and Robustness) 18 1.1.3.3 Hiệu (Performance) 24 1.1.3.4 Công suất tiêu thụ lượng tiêu thụ (Power and Energy Consumption) 26 1.2 Giới thiệu quy trình sản xuất chế tạo IC số 28 1.2.1 Quy trình chế tạo .30 1.2.1.1 Sản xuất wafer 30 1.2.1.2 In Photolithography 35 1.2.1.3 Minh họa trình sản xuất transistor NMOS đế Silic kiểu p 46 1.2.1.4 Minh họa trình sản xuất n-well CMOS 50 1.2.1.5 Cưa wafer thành khuôn (die - dice) 57 1.2.1.6 Đóng gói chip 59 1.2.2 Điều kiện trình sản xuất bước kiểm tra 61 1.3 Các chiến lược thực thiết kế IC số 62 1.3.1 Các chiến lược thực thiết kế .64 1.3.2 Thiết kế tùy biến (custom) 66 1.3.3 Phương pháp thiết kế dựa phần tử (Cell-Based Design Methodology) 68 1.3.3.1 Phương pháp thiết kế sử dụng phần tử chuẩn (Standard Cell) .68 1.3.3.2 Phương pháp thiết kế dựa phần tử biên dịch (Compiled Cell) 70 1.3.3.3 Phương pháp thiết kế dựa macrocell, megacell Intellectual Property 70 1.3.4 Các phương pháp thiết kế dựa sở dãy (Array-Based) 73 1.3.4.1 Các dãy khuếch tán trước (Mask-Programmable or Prediffused Arrays) .73 1.3.4.2 Các dãy dây trước (Prewired Arrays) 74 1.3.5 Lựa chọn phương hướng thực 76 Phần ASIC quy trình thiết kế ASIC 77 2.1 Tổng quan ASIC .78 2.1.1 Sự đời công nghệ ASIC 79 2.1.2 Phân loại ASIC 81 2.1.2.1 ASIC hoàn toàn tùy biến 81 2.1.2.2 ASIC dựa phần tử (cell-based ASIC) 81 2.1.2.3 ASIC có dạng dãy cổng (Gate-Array-Based ASIC) 82 i 2.1.2.4 ASIC có dạng dãy cổng hình máng (Channeled Gate Array) 82 2.1.2.5 ASIC có dạng dãy cổng khơng có hình máng (Channelless Gate Array) 82 2.1.2.6 ASIC có dạng dãy cổng có cấu trúc (Structured Gate Array) 83 2.1.2.7 ASIC dạng thiết bị logic lập trình (Programmable Logic Devices) 84 2.1.2.8 ASIC có dạng ma trận cổng lập trình (Field-Programmable Gate Array) 84 2.1.2.9 Một số so sánh loại ASIC 85 2.2 Các quy trình thiết kế ASIC 86 2.3 Quy trình thiết kế ASIC đầy đủ 88 2.3.1 Sơ đồ quy trình thiết kế .89 2.3.2 Bước - Vào thiết kế 91 2.3.2.1 Vào thiết kế mức thấp 91 2.3.2.2 Vào thiết kế bậc cao sử dụng ngôn ngữ mô tả phần cứng VHDL, Verilog 96 2.3.3 Bước - Tổng hợp logic (logic synthesis) 98 2.3.3.1 Nhiệm vụ Tổng hợp logic 98 2.3.3.2 So sánh thiết kế bậc cao sử dụng tổng hợp logic với thiết kế mức thấp 99 2.3.3.3 Một số quy ước cần lưu ý trước tổng hợp 100 2.3.4 Mô 101 2.3.4.1 Phân loại mô 101 2.3.4.2 Mô hành vi (Behavioral simulation) 101 2.3.4.3 Mô chức (Functional simulation) 101 2.3.4.4 Phân tích thời gian tĩnh (Static timing analysis) .101 2.3.4.5 Mô mức cổng/logic (Gate-level/Logic simulation) 102 2.3.4.6 Mô mức chuyển mạch (Switch-level simulation) 102 2.3.4.7 Môphỏngmứctransistorhoặcmứcmạch(Transistor-levelorCircuit-levelsimulation).102 2.3.5 Kiểm tra ASIC (test) .103 2.3.5.1 Các giai đoạn kiểm tra 103 2.3.5.2 Mức độ quan trọng thử nghiệm 103 2.3.6 Bước - Phân chia hệ thống (system partioning) 104 2.3.6.1 Nhìn lại bước thiết kế ASIC mặt vật lý 104 2.3.6.2 Các yếu tố cần xác định phân chia hệ thống .107 2.3.6.3 Một ví dụ đơn giản phân chia hệ thống 109 2.3.6.4 Thuật toán phân chia hệ thống theo cấu trúc 110 2.3.6.5 Thuật toán phân chia hệ thống – thuật toán K-L 111 2.3.6.6 Một số quan điểm khác phân chia hệ thống .111 2.3.7 Bước - Bố trí mặt (floorplanning) bước - Đặt khối vào vị trí (placement)111 2.3.7.1 Bố trí mặt 112 2.3.7.2 Đặt khối vào vị trí 116 2.3.8 Bước - Định tuyến liên kết nối (routing) 119 2.3.8.1 Tổng quan 119 2.3.8.2 Định tuyến tổng thể, mục đích đối tượng 120 2.3.8.3 Định tuyến chi tiết 120 2.3.9 Bước - Tính thơng số mạch (Circuit extraction) kiểm tra luật thiết kế (DRC) 122 2.3.9.1 Tính thơng số mạch 122 2.3.9.2 Kiểm tra thiết kế 123 2.3.9.3 Chuẩn bị mặt nạ .123 2.4 Quy trình thiết kế ASIC sử dụng FPGA 124 ii 2.4.1 Khái niệm khả FPGA 125 2.4.2 Các thành phần cấu trúc bên FPGA .126 2.4.3 Quy trình thiết kế ASIC sử dụng FPGA 128 2.4.3.1 Thiết kế hệ thống (System Design) 128 2.4.3.2 Tích hợp vào với phần lại hệ thống (I/O integration) 128 2.4.3.3 Đặc tả thiết kế (Design Specification) 128 2.4.3.4 Tổng hợp (Synthesis) .128 2.4.3.5 Kiểm tra thiết kế (Design Verification) 128 2.4.4 So sánh quy trình thiết kế ASIC với quy trình thiết kế ASIC sử dụng FPGA 130 2.5 Một vài công cụ thiết kế ASIC 132 2.5.1 Giới thiệu số công cụ thiết kế ASIC 132 2.5.2 Đánh giá so sánh công cụ thiết kế 133 2.5.2.1 Các tính .134 2.5.2.2 Khả hỗ trợ dòng sản phẩm ASIC khác 134 2.5.2.3 Tínhnănghỗtrợthiếtkếbộvixửlýnhúngvàđồngthiếtkếphầncứng/phầnmềm 135 2.5.2.4 Các chức mức cao 135 2.5.2.5 Luồng thiết kế 136 2.5.2.6 Sử dụng công cụ phù hợp với nhà cung cấp 137 2.6 Case study: Thiết kế ASIC đơn giản 138 2.6.1 Bước đặc tả thiết kế .139 2.6.1.1 Đầu vào, đầu 139 2.6.1.2 Yêu cầu thiết kế .139 2.6.1.3 Phân tích 139 2.6.1.4 Mô tả VHDL 139 2.6.2 Tổng hợp logic (Logic Synthesis) 143 2.6.2.1 Đầu vào, đầu 143 2.6.2.2 Tổng hợp logic sử dụng công cụ .143 2.6.3 Phân tích RTL 144 2.6.4 Mô giả lập – kiểm tra thiết kế 146 2.6.4.1 Đầu vào, đầu 146 2.6.4.2 Mô .146 Phần ASIP quy trình thiết kế ASIP 147 3.1 Tổng quan ASIP .148 3.1.1 Khái niệm ASIP 149 3.1.2 Đặc điểm bật ASIP .151 3.1.3 Đánh giá chất lượng ASIP .153 3.1.3.1 Đánh giá qua thơng số diện tích (area) 153 3.1.3.2 Đánh giá qua thông số hiệu thời gian (Time Performance) 154 3.1.3.3 Đánh giá qua thông số điện tiêu thụ (Power Consumption) 154 3.1.3.4 Đánh giá qua thông số khác 155 3.1.4 Lựa chọn tốn cần giải thực ASIP 157 3.1.4.1 Bài toán .157 3.1.4.2 Bài toán .157 3.1.4.3 Bài toán .157 3.2 Các phương pháp thực ASIP .158 3.2.1 Hai phương pháp thực ASIP ưu nhược điểm .159 iii 3.2.1.1 Phương pháp sử dụng lại lõi CPU có sẵn (off-the-shelf) 159 3.2.1.2 Phương pháp thiết kế lõi CPU dùng riêng .160 3.2.2 Phương pháp thực ASIP sử dụng lõi CPU có sẵn (off-the-shelf) 162 3.2.2.1 Đặt vấn đề 162 3.2.2.2 Mục tiêu 163 3.2.2.3 Phương pháp thực 163 3.2.2.4 Tổng kết phương pháp 168 3.2.3 Phương pháp thực ASIP cách thiết kế lõi CPU dùng riêng .170 3.2.3.1 Giới thiệu 170 3.2.3.2 Các bước tổng hợp ASIP .170 3.2.3.3 Phân tích ứng dụng 172 3.2.3.4 Khảo sát không gian thiết kế kiến trúc 173 3.2.3.5 Sinh tập lệnh 176 3.2.3.6 Tổng hợp code 178 3.2.3.7 Tổng kết phương pháp 179 3.3 Một số toán tối ưu trình thiết kế ASIP .181 3.3.1 Tối ưu hố kích thước CPU memory thiết kế hệ thống nhúng 181 3.3.1.1 Giới thiệu 181 3.3.1.2 Phạm vi 181 3.3.1.3 Với vi xử lý độ rộng bit nhỏ .181 3.3.1.4 Các vấn đề khác .183 3.3.1.5 Mơ hình giá thành hệ thống 183 3.3.1.6 Kết 185 3.3.1.7 Một chút thảo luận 188 3.3.1.8 Kết luận 188 3.3.2 Đánh giá độ rộng tập ghi thiết kế ASIP 189 3.3.2.1 Giới thiệu 189 3.3.2.2 Một vài kết 190 3.3.2.3 Kết luận 195 3.4 Một vài công cụ hỗ trợ thiết kế ASIP 196 3.4.1 Bộ tổng hợp processor sinh trình biên dịch Satsuki 196 3.4.2 Trình biên dịch encc 196 3.4.3 SystemC 196 3.4.4 CASLE 196 Phần Thiết kế thử nghiệm ASIP .198 4.1 Giải pháp thiết kế ASIC/ASIP Việt Nam 199 4.1.1 Tình hình cơng nghiệp vi điện tử Việt Nam 199 4.1.2 Tình hình thiết kế điện tử Việt Nam 200 4.1.3 Tình hình cơng cụ phát triển ASIC/ASIP Việt Nam 200 4.1.4 Giải pháp cho thiết kế ASIC Việt Nam 201 4.1.4.1 Số lượng lớn, giải pháp ASIC phi chế tạo (fabless) 201 4.1.4.2 Giải pháp cho thiết kế thư viện phần tử 202 4.1.4.3 Số lượng ít, giải pháp ASIC dựa FPGA 202 4.1.5 Giải pháp cho thiết kế ASIP Việt Nam 202 4.1.6 Bài học từ nước khác - chuẩn bị cho ngành thiết kế chip nước nhà 203 4.1.6.1 Chuẩn bị nhân lực cập nhật công nghệ 204 iv 4.1.6.2 Chuẩn bị máy móc, cơng cụ .204 4.1.6.3 Vấn đề thị trường 204 4.2 Mơ tả tốn thử nghiệm 206 4.3 Phân tích ứng dụng .208 4.3.1 Thao tác lấy ngưỡng ảnh đa mức xám 208 4.3.2 Phân tích thao tác thực cho ASIP có khả thực phân ngưỡng 210 4.3.3 Mơ hình hệ thống ASIP cần xây dựng .210 4.3.3.1 Sơ đồ nguyên lý nối ghép ASIP với PC 210 4.3.3.2 Mơ hình giao tiếp tín hiệu phần mềm PC ASIP 211 4.4 Khảo sát không gian thiết kế - Thiết kế kiến trúc ASIP 212 4.4.1 Kiến trúc tổng thể ASIP 212 4.4.2 Phân tích lựa chọn kiến trúc ASIP .212 4.4.3 Các giai đoạn thiết kế kiến trúc ASIP .214 4.4.4 Kiến trúc chi tiết ASIP 216 4.4.4.1 Kiến trúc 216 4.4.4.2 Kiến trúc .218 4.5 Tổng hợp tập lệnh 219 4.5.1 Phân tích lệnh 219 4.5.2 Phân nhóm lệnh .219 4.5.3 Đặt mã lệnh (opcode) 220 4.5.4 Dạng lệnh nhị phân đầy đủ 221 4.6 Tổng hợp code .223 4.6.1 Chương trình nạp chip FPGA 223 4.6.2 Chương trình truyền nhận liệu ảnh từ PC qua cổng COM 225 4.7 Tổng hợp phần cứng 226 4.8 Kết đánh giá ứng dụng ASIP 227 Kết luận 232 Định hướng phát triển 233 Tài liệu tham khảo 234 Phụ lục Một số ASIC cụ thể Phụ lục Khuôn dạng EDIF .4 Phụ lục Một số quy trình thiết kế ASIC thực tế Phụ lục Các thành phần cấu trúc bên FPGA 13 Phụ lục Một số công cụ thiết kế ASIC 19 Phụ lục Tập ghi ASIP lấy ngưỡng 59 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng .62 Phụ lục Mã ứng dụng lấy ngưỡng viết ASIP 73 Phụ lục Kết đánh giá ASIP lấy ngưỡng phần mềm ISE Xilinx 76 Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP .78 v Danh sách hình vẽ Hình 1.1 Khn silic IC chân kiểu lưới Hình 1.2 Sự phát triển mật độ tích hợp IC logic nhớ theo thời gian Hình 1.3 Lịch sử phát triển số lượng transistor tần số xung clock vi xử lý 10 Hình 1.4 Xu hướng tăng số lượng transistor 10 Hình 1.5 Xu hướng tăng tần số xung clock 11 Hình 1.6 Bộ vi xử lý Intel 4004 (1971) - công nghệ thiết kế thủ cơng 12 Hình 1.7 Bộ vi xử lý Intel Pentium (1997) .12 Hình 1.8 Các mức trừu tượng thiết kế cho mạch số 14 Hình 1.9 Mỗi chữ nhật khn (die) wafer 16 Hình 1.10 Các nguồn nhiễu mạch số 19 Hình 1.11 Đặc tính chuyển đổi điện áp 20 Hình 1.12 Kết nối mức logic mức điện .21 Hình 1.13 Các cổng đảo kết nối liên tiếp với nhau: định nghĩa lề nhiễu .21 Hình 1.14 Sau chuỗi cổng, tín hiệu đầu nhảy đến điện áp vùng khơng xác định 22 Hình 1.15 Một chuỗi đảo mắc liên tiếp 22 Hình 1.16 Định nghĩa fan-out fan-in cổng số 23 Hình 1.17 Đặc tuyến chuyển đổi điện áp lý tưởng .24 Hình 1.18 Định nghĩa trễ truyền thời gian tín hiệu lên xuống .25 Hình 1.19 Mạch ring oscillator dùng để đo độ trễ mạch 25 Hình 1.20 Quy trình thiết kế chế tạo IC hồn chỉnh ERSO thuộc ITRI - Trung Quốc 28 Hình 1.21 Sơ đồ chế tạo wafer từ cát 30 Hình 1.22 Phần lớn thành phần cát thạch anh 30 Hình 1.23 Thạch anh 30 Hình 1.24 Tỉ lệ tạp chất trình chiết xuất Silic tinh khiết ví bóng tennis bóng bàn ghép thành đường thẳng kéo dài từ trái đất đến mặt trăng .31 Hình 1.25 Các đơn tinh thể Silic bám dần vào Solid Seed Crystal xoay nhấc dần lên khỏi bể Silic nóng chảy, hình thành thỏi Silic đơn tinh thể 32 Hình 1.26 Sơ đồ khơng gian chiều phương pháp Czochralski 32 Hình 1.27 Thỏi tinh thể Silic đường kính inchs so với thỏi tinh thể Silic với đường kính inch sản xuất vào năm 50 33 Hình 1.28 Một thỏi Silic thơng thường dài khoảng 1-2m 33 vi Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Lệnh SUC: Mơ tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Lấy giá trị tốn hạng nguồn trừ cờ nhớ trừ giá trị Acc Template Kết ghi vào tốn hạng nguồn Acc SUC #R, [T], [D] (#R - T - C) → D; (PC +1) → PC Z, C 0101 1TDR RRRR Lệnh SWPN: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Hoán vị bit cao bit thấp với SWPN #R Hoán vị #R → D; (PC +1) → PC Không 0110 0xDR RRRR Lệnh OR: Mơ tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép OR hai toán hạng OR #R, T, D (#R or T) → D; (PC +1) → PC Z 0110 1TDR RRRR Lệnh AND: Mơ tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép AND hai toán hạng AND #R, T, D (#R and T) → D; (PC +1) → PC Z 0111 0TDR RRRR Lệnh XOR: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép XOR hai toán hạng XOR #R, T, D (#R xor T) → D; (PC +1) → PC Z 0111 1TDR RRRR Đỗ Thị Thu Trang Phụ lục - 67- Luận văn Thạc sĩ - 2005 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Lệnh RL: Mơ tả: Xoay vịng bit sang trái, khơng qua cờ nhớ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: RL #R, D Xem mô tả; (PC +1) → PC C 1000 0xDR RRRR Lệnh RR: Mơ tả: Xoay vịng bit sang phải, không qua cờ nhớ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: RR #R, D Xem mô tả; (PC +1) → PC C 1000 1xDR RRRR Lệnh SL: Mô tả: Dịch bit sang trái thêm vào LSB Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SL #R, D Xem mô tả; (PC +1) → PC C 1001 0xDR RRRR Lệnh SR: Mô tả: Dịch bit sang phải thêm vào MSB Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SR #R, D Xem mô tả; (PC +1) → PC C 1001 1xDR RRRR Đỗ Thị Thu Trang Phụ lục - 68- Luận văn Thạc sĩ - 2005 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Lệnh SLX: Mô tả: Dịch bit sang trái lặp lại giá trị LSB vị trí cũ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SLX #R, D Xem mô tả; (PC +1) → PC C 1010 0xDR RRRR Lệnh SRX: Mô tả: Dịch bit sang phải lặp lại giá trị MSB vị trí cũ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SRX #R, D Xem mô tả; (PC +1) → PC C 1010 1xDR RRRR Lệnh READIMG: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Đọc byte Vùng nhớ Ram, địa byte xác định cắp ghi địa LoAddr HiAddr READIMG PC + 1→ PC, RAM[] → Acc Không 0000 0000 1100 Lệnh WRITEIMG: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Ghi byte vào Vùng nhớ Ram, địa byte xác định cắp ghi địa LoAddr HiAddr WRITEIMG PC + 1→ PC, Acc → RAM[] Không 0000 0000 1101 Đỗ Thị Thu Trang Phụ lục - 69- Luận văn Thạc sĩ - 2005 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Lệnh FUNC1: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Cho phép khối xử lý lấy ngưỡng họat động FUNC1 PC + 1→ PC Không 0000 0000 1110 Lệnh SLA: Mô tả: Quay bit sang trái thơng qua cờ nhớ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SLA #R, D Xem mô tả; (PC +1) → PC C 1011 0xDR RRRR Lệnh SRA: Mô tả: Quay bit sang phải thơng qua cờ nhớ Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: SRA #R, D Xem mô tả; (PC +1) → PC C 1011 1xDR RRRR Lệnh CAZP: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Tính parity tốn hạng nguồn gán nội dung cho tốn hạng đích CAZP #R, [P], [D] #R → D; (PC +1) → PC Z, P 1100 0PDR RRRR Lệnh CLRB: Mơ tả: Cú pháp: Số chu kì: Phép tính: Xố bit vị trí định tốn hạng nguồn CLRB #R, #V → bit #V #R; (PC +1) → PC Đỗ Thị Thu Trang Phụ lục - 70- Luận văn Thạc sĩ - 2005 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Ảnh hưởng: Không Từ lệnh: 0000 VVVR RRRR Lệnh SETB: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thiết lập bit vị trí định tốn hạng nguồn SETB #R, #V 1 → bit #V #R; (PC +1) → PC Không 0001 VVVR RRRR Lệnh JZ: Mơ tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực nhảy tới địa lệnh điều kiện Z = thoả mãn JZ #V Z = 1: 2; Z /= 1: Nếu Z = #V → PC, khơng (PC + 1) → PC Khơng 001V VVVV VVVV Lệnh JC: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực nhảy tới địa lệnh điều kiện C = tho mãn JP #V C = 1: 2; C /= 1: Nếu C = #V → PC, khơng (PC + 1) → PC Không 011V VVVV VVVV Lệnh MOVI: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Gán giá trị tức vào ghi Acc MOVI #V #V → Acc; (PC + 1) → PC Z 1000 VVVV VVVV Lệnh ORI: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép OR giá trị tức với ghi Acc Kết đưa vào ghi Acc ORI #V (Acc or #V) → Acc; (PC + 1) → PC Z 1001 VVVV VVVV Đỗ Thị Thu Trang Phụ lục - 71- Luận văn Thạc sĩ - 2005 Phụ lục Mô tả lệnh tập lệnh ASIP lấy ngưỡng Lệnh ANDI: Mơ tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép AND giá trị tức với ghi Acc Kết đưa vào ghi Acc ANDI #V (Acc and #V) → Acc; (PC + 1) → PC Z 1010 VVVV VVVV Lệnh XORI: Mô tả: Cú pháp: Số chu kì: Phép tính: Ảnh hưởng: Từ lệnh: Thực phép XOR giá trị tức với ghi Acc Kết đưa vào ghi Acc XORI #V (Acc xor #V) → Acc; (PC + 1) → PC Z 1011 VVVV VVVV Đỗ Thị Thu Trang Phụ lục - 72- Luận văn Thạc sĩ - 2005 Phụ lục Mã ứng dụng lấy ngưỡng ASIP Phụ lục Mã ứng dụng lấy ngưỡng viết ASIP library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity fetchingrom is port ( CLK: in STD_LOGIC; OE : in STD_LOGIC; ADDRESS : in STD_LOGIC_VECTOR(10 downto 0); Q : out STD_LOGIC_VECTOR(12 downto 0) ); end entity; architecture rom_arch17 of fetchingrom is signal LQ: STD_LOGIC_VECTOR(12 downto 0); begin process(CLK) begin if rising_edge(CLK) then if OE = '1' then case (ADDRESS) is when "00000000000" => LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ LQ when "00000011001" => LQ when "00000011010" => LQ when "00000011011" => LQ when "00000011100" => LQ when "00000011101" => LQ when "00000011110" => LQ when "00000011111" => LQ when "00000100000" => LQ Đỗ Thị Thu Trang dac biet O 0.314 0.240 Top_pTBDC8x_ArithmeticLogicUnit_U1 n00681_SW01 (N64158) LUT3_D:I0->O 0.479 0.658 (Top_pTBDC8x_ArithmeticLogicUnit_U1_CRY) Top_pTBDC8x_ArithmeticLogicUnit_U1 n00691 LUT3_D:I2->LO (N66060) LUT4:I0->O (Top_pTBDC8x_FromALU) Đỗ Thị Thu Trang 0.479 0.100 Top_pTBDC8x_ArithmeticLogicUnit_U1 n00711 12 0.479 0.865 Top_pTBDC8x_ArithmeticLogicUnit n0135241 Phụ lục - 76- Luận văn Thạc sĩ - 2005 Phụ lục Kết đánh giá ASIP lấy ngưỡng phần mềm ISE Xilinx LUT4:I0->O 0.479 0.240 Top_pTBDC8x_ArithmeticLogicUnit n014644_SW1 (N64563) LUT4_L:I1->LO 0.479 0.100 Top_pTBDC8x_DeM_Giai_ma_BRA_IMP_JumpEnable113_SW0 (N64176) LUT4:I2->O 17 0.479 1.031 Top_pTBDC8x_DeM_Giai_ma_BRA_IMP_JumpEnable128 (CHOICE5543) LUT4:I0->O 11 0.479 0.836 Top_pTBDC8x_DeM_IP_PC_PRPC_SW1 (N64633) 0.479 0.577 Top_pTBDC8x_DeM_IP_PC_PRPC LUT4:I1->O 11 (Top_pTBDC8x_PCReg_CEST2) 0.479 0.836 Top_pTBDC8x_PCReg_PC_Logic_CEST21 LUT4_D:I3->O (Top_pTBDC8x_PRPC) FDE:CE 0.524 Top_pTBDC8x_PCReg_STACK2_Q_0 -Total 16.900ns (8.617ns logic, 8.283ns route) (51.0% logic, 49.0% route) Đỗ Thị Thu Trang Phụ lục - 77- Luận văn Thạc sĩ - 2005 Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP Kiến trúc tổng quan Kiến trúc tổng quan khối lấy ngưỡng Khối xử lý lấy ngưỡng ảnh thiết kế để truy xuất nhớ liệu thực phép so sánh với ngưỡng để chuyển đổi ảnh đa mức xám thành ảnh nhị phân Do đó, phần lớn tín hiệu vào khối tín hiệu để truy xuất nhớ, bao gồm tín hiệu địa Addr, liệu vào ImgIn, ImgOut, tín hiệu điều khiển ghi đọc WE Ngồi ra, khối cần thơng tin điều khiển đặc biệt để tính tốn lưu trữ ghi đặc biệt Height, Width, Threshold, địa bắt đầu vùng nhớ ảnh nguồn ảnh đích cặp ghi (HiAddr, LoAddr Khối lấy ngưỡng bắt đầu kích hoạt hoạt động phát sườn dương tín hiệu Func1CE kết thúc tín hiệu báo Done tích cực Đỗ Thị Thu Trang Phụ lục - 78- Luận văn Thạc sĩ - 2005 Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP Ghép nối với nhớ liệu Ghép nối khối lấy ngưỡng với liệu Các đường liệu chứa thông tin độ cao, độ rộng, ngưỡng địa bắt đầu vùng nhớ ảnh kết nối trực tiếp tới ghi đặc biệt tương ứng Riêng địa bắt đầu vùng nhớ ảnh đích DP tính địa bắt đầu vùng nhớ ảnh nguồn SP với bit cao DP(14) ‘1’ Dữ liệu từ nhớ liệu theo đường ImgData tới khối thao tác khối thực lấy ngưỡng Sau thực phép so sánh với ngưỡng, khối trả lại kết phép toán đưa lên đường liệu ImgDataOut tới nhớ liệu Tuy nhiên, nhớ liệu truy xuất khối giải mã thao tác lệnh, vừa truy xuất khối lấy ngưỡng ảnh nên cần thiết phải sử dụng dồn kênh ImgAddrMux ImgDataMux để chọn địa liệu xác Hai dồn kênh có chung tín hiệu điều khiển chọn kênh Khi khối lấy ngưỡng ảnh khơng kích hoạt, khối giải mã mà thao tác lệnh quyền truy xuất với nhớ, nhiên khối lấy ngưỡng ảnh kích hoạt quyền truy xuất nhớ phải thuộc q trình lấy ngưỡng Do đó, tín hiệu điều khiển chọn kênh tín hiệu báo khối lấy ngưỡng hoạt động, giữ vai trò điều khiển bus Nguyên tắc làm việc với tín hiệu WE nhằm để điều khiển trình ghi đọc nhớ Đỗ Thị Thu Trang Phụ lục - 79- Luận văn Thạc sĩ - 2005 Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP Hoạt động Hoạt động khối lấy ngưỡng Khối lấy ngưỡng có phận hoạt động bao gồm • tính địa byte liệu nguồn • tính địa byte liệu đích • so sánh • điều khiển bus Q trình tính địa nguồn đích tường tự bao gồm cộng giới hạn địa Dựa địa bắt đầu, độ rộng dài ảnh, khối Limiter tính địa cuối phải truy xuất Giá trị sau đưa tới cộng Khi có tín hiệu cho phép lấy ngưỡng Func1CE, cộng khởi tạo cách chốt giá trị địa bắt đầu tín hiệu PRL tích cực Đối với cộng tín hiệu địa chị đích, tín hiệu PRL phải trể chu kì đan xen q trình ghi đọc, đó, phải có thêm trigo D để làm trễ tín hiệu Func1CE Đồng thới với q trình chốt giá trị bắt đầu, tín hiệu Done báo kết thúc cộng chốt giá trị Điều làm tín hiệu CE cộng tích cực lấy đảo Done làm cộng thực phép +1 sau chu kì Cứ vậy, cho Đỗ Thị Thu Trang Phụ lục - 80- Luận văn Thạc sĩ - 2005 Phụ lục 10 Thiết kế chi tiết khối lấy ngưỡng ASIP tới giá trị cộng đạt tới giá trị giới hạn, tín hiệu Done tích cực cộng dừng thực Tuy nhiên, thời điểm, nhớ ghi, đọc Điều có nghĩa phải tối thiểu chu kì đồng hồ nhớ hồn tất chu kì truy xuất, khối lấy ngưỡng phải tối thiểu chu kì để lấy ngưỡng byte Như vậy, có nghĩa địa truy xuất ghi đọc phải bị chậm lại, sau chu kì phép tăng lên trình ghi đọc xen kẽ Vì vậy, khối lấy ngưỡng cần tín hiệu điều khiển, điều độ việc truy xuất nhớ điều khiển sinh địa nR_W Khi nR_W = ‘1’, địa đích tăng lên tín hiệu cho phép ghi nhớ 0, nhớ đọc địa nguồn có Khi nR_W=’0’, địa nguồn tăng lên tín hiệu cho phép ghi nhớ 1, nhớ chốt lại địa đích có Q trình lấy ngưỡng thực so sánh Dữ liệu so sánh byte liệu đọc từ nhớ giá trị ghi ngưỡng Kết trả đưa ngồi để trở nhớ liệu Phân tích thời gian hoạt động khối lấy ngưỡng Đỗ Thị Thu Trang Phụ lục - 81- Luận văn Thạc sĩ - 2005 ... quy trình thiết kế ASIC đầy đủ quy trình thiết kế ASIC sử dụng FPGA Đây quy trình thiết kế, việc chế tạo ASIC tuân theo quy trình chế tạo IC số mà phần trình bày Cuối cùng, để hiểu thêm quy trình. .. thiết kế, ASIC lựa chọn thiết kế dựa FPGA Phần - ASIP quy trình thiết kế ASIP Phần tiếp tục trình bày ASIP quy trình thiết kế ASIP việc đưa thông tin tổng quan khái niệm xử lý chuyên dụng ASIP, ... so sánh loại ASIC 85 2.2 Các quy trình thiết kế ASIC 86 2.3 Quy trình thiết kế ASIC đầy đủ 88 2.3.1 Sơ đồ quy trình thiết kế .89 2.3.2 Bước - Vào thiết kế