Bài giảng Thiết kế mạch số dùng HDL - Chương 9: Giải thuật và kiến trúc cho các bộ xử lý số có nội dung trình bày về giải thuật, chương trình lặp lồng nhau (NestedLoop) và đồ thị dòng dữ liệu (Data Flow Graph); bộ lọc số và bộ xử lý tín hiệu số; khối cơ bản cho các bộ xử lý tín hiệu; kiến trúc pipeline; bộ đệm vòng; FIFO và sự đồng bộ hóa giữa các mạch đồng bộ;... Mời các bạn cùng tham khảo!
dce 2009 Thiết kế vi mạch số với HDL Chương 9: Giải thuật Kiến trúc cho xử lý số Computer Engineering 2009 Trade-off in system implementation • General purpose, high performance processor (GHP) Có thể khơng đạt hiệu suất cao ứng dụng cá biệt (particular applications) Có thể sử dụng khơng mức (underutilized) ứng dụng Có thể không cân tốc độ xử lý thiết bị ngoại vi • So sánh với ASIC: GHP tiêu thụ lượng nhiều hơn, tốn nhiều diện tích chi phí cao (tùy thuộc vào số lượng bán ra) Bộ xử lý chuyên dụng (dedicated processors) có tập lệnh vi lệnh (microcode) đơn giản Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 What about ASICs • ASICs thiết kế để tối ưu thực thi giải thuật cá biệt cho ứng dụng chun biệt • Kiến trúc mạch ASICs đặc chế (customize) trade-off hiệu suất giá thành • ASIS Chips hy sinh tính uyển chuyển để đạt hiệu suất cao • Đặc biệt thích hợp cho ứng dụng có đường liệu song song yêu cầu xử lý đồng thời (DSP, Data communication,…) • ASIC vs FPGA: bottom-line unit cost, nhiên dựa giải thuật Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Thiết kế xử lý nào? • High-level design: thực kiến trúc thực giải thuật mà hồn thành xử lý thơng thường (general processor) • High-level design hồn thành công việc Xây dựng giải thuật thực đặc tả hành vi (ví dụ: thiết kế lọc thông thấp thỏa yêu cầu hiệu suất) Ánh xạ giải thuật vào kiến trúc thực hành vi phần cứng • Bắt đầu với giải thuật tính tốn thực phần cứng • Tập trung vào: Phá triển xử lý giải thuật Chọn lựa tradeoff kiến trúc Đặc tả Verilog Tổng hợp Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Nội dung • Giải thuật, chương trình lặp lồng (NestedLoop) đồ thị dịng liệu (Data Flow Graph) • Ví dụ thiết kế • Bộ lọc số xử lý tín hiệu số • Khối cho xử lý tín hiệu • Kiến trúc pipeline • Bộ đệm vịng • FIFO đồng hóa mạch đồng Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Algorithms, Nested-loop program & DFG • Một giải thuật mơ tả chương trình lặp lồng (NLP) viết ngơn ngữ lập trình/đặc tả (C/Verilog) • NLP ln ln khả tính tốn • NLP cung cấp đặc tả không nhập nhằn khả thực thi Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Data-Flow graph • DFG: đồ thị có hướng khơng có vòng G(V,E) V tập hợp đỉnh E tập hợp cạnh • Mỗi node viV biễu diễn cho đơn vị chức (Functional Unit - FU), xử lý đầu vào sinh liệu ngõ • FU thực hành động đơn hay chuỗi hành đồng • cạnh eijE có hướng biễu diễn liệu sinh từ node vi vào vj • Phụ thuộc liệu cặp đỉnh vi vj cạnh eij vj sử dụng kết vi vj khơng thể hồn thành vi hoàn thành Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Cần phải làm gì? • Chuyển đổi từ DFG cho giải thuật thành cấu trúc phần cứng Một phân chia đơn vị điều khiển dịng liệu (ASMD) • Chỉ rõ cấu trúc cho dịng liệu • Thiết kế điều khiển cho dòng liệu giải thuật Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Từ NLP-algorithms đến HW-architecture • Nguyên tắc: Baseline architecture cho processor datapath thực cho DFG tập hợp FU kết nối theo cấu trúc DFG Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering Computer Engineering 2009 Design flow Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 10 Computer Engineering 2009 Kiến trúc máy cho HPIC Kiến trúc dãy pixel chiều MxN Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 32 Computer Engineering 2009 Chuẩn bị cho image_converter_1 • Khai báo dãy word cho hàng pixel • Đặt hàng vịng lặp for bên hành vi vịng • Thực phép gán thủ tục (=) • Viết lệnh (statement) biểu diễn phụ thuộc liệu thực thi FU • Thực chuyển đổi ảnh chu kỳ • Dùng tín hiệu Go để điều khiển thực thi chuyển đổi ảnh • Dùng tín hiệu Done để thơng báo việc chuyển đổi hồn tất • Dùng tín hiệu reset để đưa hệ thống trạng thái ban đầu Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 33 Computer Engineering 2009 Hiện thực image_converter_1 Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 34 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 35 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 36 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 37 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 38 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 39 Computer Engineering 2009 Hiện thực image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 40 Computer Engineering 2009 Kiểm tra image_converter_1 Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 41 Computer Engineering 2009 Kiểm tra image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 42 Computer Engineering 2009 Kiểm tra image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 43 Computer Engineering 2009 Kiểm tra image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 44 Computer Engineering 2009 Kiểm tra image_converter_1 (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 45 Computer Engineering 2009 Kết mô Kết mô cho image_convert giống (w1, w2, w3, w4) = (2, 8, 4, 2) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 46 ... Flow Graph) • Ví dụ thiết kế • Bộ lọc số xử lý tín hiệu số • Khối cho xử lý tín hiệu • Kiến trúc pipeline • Bộ đệm vịng • FIFO đồng hóa mạch đồng Thiết kế vi mạch số với HDL (c) 2009 Department... 2009 Kiến trúc NLP-Based cho HPIC (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 27 Computer Engineering 2009 Kiến trúc NLP-Based cho HPIC (tt) Thiết kế vi mạch số. .. Baseline Design (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 22 Computer Engineering 2009 Kiến trúc NLP-Based cho HPIC Thiết kế vi mạch số với HDL (c) 2009 Department