Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
2,12 MB
Nội dung
IH QU TRƢ GI H N I Ọ NGUYỄ ỨC NAM NGHIÊN CỨU THIẾT KẾ MẢNG TÁI CẤU HÌNH KIẾN TRÚC THÔ CGRA ỨNG DỤNG CHO KỸ THUẬT UẬ V T S ỀU KHIỂN T – 2015 -V Ễ T IH QU TRƢ GI H N I Ọ ỨC NAM NGUYỄ NGHIÊN CỨU THIẾT KẾ MẢNG TÁI CẤU HÌNH KIẾN TRÚC THÔ CGRA ỨNG DỤNG CHO KỸ THUẬT ỀU KHIỂN Ng nh: Công nghệ iện tử - Viễn thông huy n ng nh: Kỹ thuật điện tử Mã số: 60520203 UẬ V Ƣ T Ƣ S T Ọ PGS.TS TRẦN QUANG VINH TS NGUYỄN KIÊM HÙNG – 2015 -V Ễ T M L Tôi xin cam đoan: Bản luận văn tốt nghiệp công trình nghiên cứu thực cá nhân tôi, thực dựa tr n sở nghiên cứu lý thuyết, thực tế hướng dẫn PGS.TS Trần Quang Vinh TS.Nguyễn Kiêm Hùng Các số liệu, kết luận luận văn l trung thực, dựa nghiên cứu mô hình, thành đạt nước giới trải nghiệm thân, chưa công bố hình thức n o trước trình, bảo vệ trước “Hội đồng đánh giá luận văn thạc sỹ kỹ thuật” Một lần xin khẳng định trung thực lời cam kết Hà nội, Ngày … tháng … năm2015 Người cam đoan Nguyễn Đức Nam ẢM Ơ Tôi xin chân th nh cảm ơn PGS.TS Trần Quang Vinh v TS.Nguyễn Ki m Hùng, hai thầy tận tình giúp đỡ, bảo hướng dẫn suốt thời gian thực luận văn tốt nghiệp Tôi xin cảm ơn hỗ trợ phần từ đề t i cấp Trường H N, Mã số đề tài: CN.14.04 Mặc dù có nhiều cố gắng, thời gian có hạn v vốn kiến thức hạn chế n n công trình nhiều thiếu sót Vì vậy, mong nhận đóng góp, bảo thầy cô v bạn Tôi xin chân th nh cảm ơn! MỤ MỤ Ụ Ụ DANH MỤC CÁC KÝ HI U VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, Ồ THỊ MỞ ẦU Lý lựa chọn đề tài Mục tiêu đề tài Phƣơng pháp nghiên cứu Nội dung nghiên cứu .10 Nghiên cứu lý thuyết .10 Thiết kế hệ thống 10 Kết cấu luận văn 10 ƢƠ KHÁI NI M VÀ VẤ Ề CẦN GIẢI QUYẾT 11 1.1 Giới thiệu chung 11 1.2 Một số mô hình R đƣợc nghiên cứu giới .12 1.2.1 Kiến trúc MorPhoSys 12 1.2.2 Kiến trúc ADRES 14 1.2.3 Kiến trúc REMUS 15 1.2.4 Nhận xét chung .17 1.3 Vấn đề cần giải 17 ƢƠ THIẾT KẾ CHI TIẾT CỦA CGRA 20 2.1 Phƣơng án đề xuất thiết kế CGRA sử dụng kỹ thuật điều khiển .20 2.1.1 Phép toán tổng/tích dãy 20 2.1.2 Phép tính tích vô hướng hai vector 21 2.1.3 Phương án kiến trúc CGRA 22 2.2 Kiến trúc tổng thể mảng tái cấu hình kiến trúc thô CGRA 22 2.3 Thiết kế chi tiết RCA 22 2.3.1 Kiến trúc tổng thể RCA 22 2.3.2 Cấu trúc thực RCA_Row .25 2.3.3 PE phần tử cấu thành PE 26 2.3.4 Bộ tích lũy, ghi đệm đầu PE 30 2.3.5 Thanh ghi cấu hình PE 31 2.3.6 Tệp ghi cấu hình RCA 32 2.4 Thiết kế chi tiết CGRA_CTRL 34 2.4.1 Kiến trúc tổng thể CGRA_CTRL 34 2.4.2 Bộ nhớ lưu cấu hình theo ngữ cảnh CGRA 34 2.4.3 Bộ nhớ liệu vào CGRA 35 2.4.4 Khối điều khiển hoạt động CGRA .36 ƢƠ KẾT QUẢ MÔ PHỎNG VÀ TH NGHI M 38 3.1 Mô hình mô RCA R môi trƣờng ModelSIM .38 3.2 Kết mô lõi RCA_4x4 CGRA ModelSIM .39 3.2.1 Kết mô phép toán Tổng dãy Tích vô hướng hai vector .39 3.2.2 Kết mô tính tổng theo cửa sổ trượt (Moving-windows) 40 3.2.3 Kết mô thực lọc FIR 42 3.2.4 Kết mô thực vòng điều khiển PI (proportional integral) 43 3.2.5 Nhận xét kết mô 45 3.3 So sánh kết mô CGRA modelSim với số tảng xử lý thông dụng 46 KẾT LUẬN 48 TÀI LI U THAM KHẢO 49 PHỤ LỤC 1: BẢNG MÔ TẢ THÔNG SỐ VÀ GIAO DI N CÁC MODULE PHỤ CỦA RCA 50 PL1.1 Module MUX_N_1 .50 PL1.2 Module MUX_2_1 50 PL1.3 Module BIN_DECODER .51 PHỤ LỤC 2: HỖ TRỢ MÔ PHỎNG TRÊN MODELSIM 52 MỤ TT Thuật ngữ viết tắt Á Ý UV Ữ V ẾT TẮT Thuật ngữ viết đầy đủ ACC Accumulator ALU Arithmetic Logic Unit ASIC Application-Specific Integrated Circuit CGRA Coarse Grain Reconfigurable Architectures CPLD Complex Programmable Logic Device CPU Central Processing Unit CRA Reconfigurable ell rray DMA Direct Memory Access DSP Digital Signal Processor 10 FIFO First In, First Out 11 FPGA Field-Programmable Gate Array 12 FSM Finite-State Machine 13 GPU Graphic Processing Unit 14 MIMD Multiple Instruction, Multiple Data 15 PE Processing Element 16 SIMD Single Instruction, Multiple Data 17 SoC System on Chip 18 VLIW Very Long Instruction Word MỤ Á BẢ Bảng 1: Tham số giao diện module RCA 24 Bảng 2: Thông số giao diện module RCA_row 25 Bảng 3: Thông số giao diện module PE .27 Bảng 4: Thông số giao diện module PE_router 28 Bảng 5: Thông số giao diện module DATAPATH 29 Bảng 6: Danh sách phép toán DATAPATH 30 Bảng 7: Thông số giao diện module ACC 31 Bảng 8: Thông số giao diện module RCA_REG_FILE .33 Bảng 9: Thông số giao diện CACHE 35 Bảng 10: Thông số giao diện module FSM .36 Bảng 11: So sánh tốc độ thực CGRA với giải pháp khác 47 Bảng 12: Thông số giao diện module MUX_N_1 .50 Bảng 13: Thông số giao diện module MUX_2_1 50 Bảng 14: Thông số giao diện module BIN_DECODER 51 MỤ Á Ì VẼ, Ồ T Ị Hình 1: Ba vấn đề thiết kế hệ thống Hình 2: Minh họa so sánh kiến trúc tinh - kiến trúc thô[13] 11 Hình 3: So sánh hiệu - tính mềm dẻo số loại vi mạch 12 Hình 4: So sánh hiệu - hiệu suất sử dụng điện số loại vi mạch 12 Hình 5: Kiến trúc RC MorPhoSys [4] 13 Hình 6: Kiến trúc MorPhoSys [13] .13 Hình 7: Kết nối MorPhoSys hệ SoC [5] 14 Hình 8: Kiến trúc ADRES[7] 14 Hình 9: Kiến trúc RSoC xử lý REMUS [3] .15 Hình 10: Cấu trúc RPU xử lý REMUS [3] .16 Hình 11: Cấu trúc phần tử RC REMUS [3] 16 Hình 12: Các thành phần hệ thống có CGRA 17 Hình 13: Mô hình ghép nối CGRA cho hệ điều khiển .18 Hình 14: Thực tổng theo phương pháp tính song song nhiều lớp 21 Hình 15: Thực tích vô hướng theo phương pháp tính song song nhiều lớp 21 Hình 16: Cấu trúc Top-down RCA 23 Hình 17: Mô hình kết nối bên RCA .23 Hình 18: Mô hình kết nối bên RCA_Row (08 PE 01 hàng) .25 Hình 19: Cấu trúc phần tử PE 26 Hình 20: Cấu trúc định tuyến đầu vào ROUTER PE (cho 01 k nh đầu ra) 28 Hình 21: Cấu trúc DATAPATH PE 29 Hình 22: Cấu trúc tích lũy đầu ACC PE 31 Hình 23: Cấu trúc ghi cấu hình PE .32 Hình 24: Mô hình kết nối liệu bên tệp ghi cấu hình RCA .33 Hình 25: Cấu trúc Top-down CGRA_CTRL 34 Hình 26: Mô hình nhớ lưu cấu hình theo ngữ cảnh CGRA .34 Hình 27: Cấu trúc vùng nhớ CACHE 35 Hình 28: Mô hình mô RCA ModelSIM 38 Hình 29: Cấu hình thực mô phép tính SUM v tích vô hướng 39 Hình 30: Kết mô RCA_4x4 với phép toán tính tổng 40 Hình 31: Kết mô RCA_4x4 với phép toán tích vô hướng 40 Hình 32: Cấu trúc tính tổng theo cửa sổ trượt có kích thước N 41 Hình 33: Cấu hình thực phép tính tổng theo cửa sổ trượt .41 Hình 34: Kết mô tính tổng theo cửa sổ trượt .42 Hình 35: Cấu trúc thực FIR với trường hợp N=5 42 Hình 36: Cấu hình thực lọc FIR (04 tap) 43 Hình 37: Kết mô lọc FIR có hệ số lọc {21, 13, 13, 21} 43 Hình 38: Mô hình toán vòng điều khiển PI .43 Hình 39: Cấu hình vòng điều khiển PD .44 Hình 40: Kết mô điều khiển PI với giá trị Kp Ki nhỏ 45 Hình 41: Kết mô điều khiển PI với giá trị Kp Ki lớn .45 38 ƢƠ ẾT QUẢ M P Ỏ V T M 3.1 Mô hình mô RCA CGRA môi trƣờng ModelSIM RCA_TEST_BENCH INPUT DATA FILE IN/OUT CONTROLLER WRITE OUTPUT TO TEXT_FILE CONF_DATA FILE Read_CONF_FILE OUTPUT DATA FILE WRITE OUTPUT TO TEXT_FILE UUT RCA CLK_GEN Hình 28: Mô hình mô RCA ModelSIM Testbench mô lõi RCA GR thực Hình 28 - UUT RCA: mô hình RTL viết ngôn ngữ mô tả phần cứng VHDL - mảng CGRA đề xuất chương CLK_GEN: tạo xung đồng toàn hệ thống IN/OUT ONTROLLER điều khiển trình ghi đọc liệu kiểm thử (bao gồm liệu cấu hình, liệu kiểm thử) Dữ liệu đầu v o đưa v o file text (để thuận tiện việc mô với khối liệu lớn) Trong trường hợp liệu đầu phức tạp, cần xử lý để thuận tiện cho việc kiểm tra xuất file text; trường hợp đơn giản xem kết trực tiếp cửa sổ WAVE ModelSim Nguyên tắc thực mô kiểm thử sau: - Dữ liệu đầu v o tạo ngẫu nhiên chương trình M TL B (hoặc C) - Thông tin cấu hình thiết lập thủ công tr n sở xác định trước cấu hình sử dụng - Dữ liệu đầu lưu lại so sánh với việc thực tính toán phần mềm MATLAB C Tr n sở tr n, RCA với thiết kế trình bày chương tiến hành mô số cấu hình tính toán thường dùng kỹ thuật điều khiển, bao gồm: - Phép tính tổng, tích vô hướng Bộ điều khiển PI (proportional integral) Phép tính tổng dãy cửa sổ trượt (Moving average) Thực lọc FIR 39 3.2 Kết mô lõi RCA_4x4 CGRA ModelSIM 3.2.1 Kết mô phép toán Tổng dãy Tích vô hướng hai vector x1 y1 x2 y2 x3 y3 x4 y4 x1 y1 x2 y2 x3 y3 x4 y4 x x x x x x x x x x x x + + + + + + x x + + x x + x x x ACC x x x RCA 4x4 RCA 4x4 Hình 29: Cấu hình thực mô phép tính SUM tích vô hƣớng Phép tính tổng dãy Kịch mô - Tính tổng SUM(X) = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 - Dữ liệu đầu vào: gồm chuỗi X = (x1, x 2, x3, x4, x5, x6, x7, x8) đuợc tạo ngẫu nhiên Matlab Dữ liệu đối chiếu lối ra: Tổng chuỗi lối vào tính phần mềm Matlab dùng để đối chiếu với kết tính mô kiến trúc CGRA ModelSim Hình 30 minh họa kết mô modelSim cho trường hợp: - X = (1, 2, 3, 4, 5, 6, 7, 8); - Kết tính toán SUM(X) = + + + + + + + = 36 Phép toán tích vô hƣớng Kịch mô phỏng: - Tính tích vô hướng = x1×y1 + x2× y2 + x3× y3 + x4× y4 - Dữ liệu đầu vào: gồm cặp vector X = (x1,x 2, x3, x4) Y =(y1, y2, y3, y4) đuợc tạo ngẫu nhiên Matlab - Dữ liệu đối chiếu lối ra: Tính tích vô hướng cặp vector (X,Y) lối vào tính phần mềm Matlabđược dùng để đối chiếu với kết tính mô kiến trúc CGRA ModelSim Hình 31 minh họa kết mô tr n modelSim cho trường hợp: - X = (1, 2, 3, 4) Y = (5, 6, 7, 8); Kết tính toán = 1×5 + 2×6 + 3×7 + 4×8 = 70 40 Kết đầu có giá trị = 36 Hình 30: Kết mô RCA_4x4 với phép toán tính tổng Kết đầu có giá trị = 70 Hình 31: Kết mô RCA_4x4 với phép toán tích vô hƣớng 3.2.2 Kết mô tính tổng theo cửa sổ trượt (Moving-windows) Công thức tính tổng theo cửa sổ trượt kích thước N có dạng sau: ( ) ∑ ( ) Công thức (3-1) viết lại dạng hiệu hai tổng tích lũy sau: (3-1) 41 ( ) ∑ ( ) ∑ ( ) (3-2) Cách biểu diễn theo công thức (3-2) giúp đưa cấu trúc thực thi phép tính tổng theo cửa sổ trượt minh họa Hình 32, cấu trúc phù hợp với thiết kế RCA luận văn ADD D1 D2 DN - SUMW(n) Hình 32: Cấu trúc tính tổng theo cửa sổ trƣợt có kích thƣớc N Kịch mô phỏng: - Mô hình mô tính tổng theo cửa sổ trượt với kích thước cửa sổ N=10 với cấu trúc thực thi Hình 33 ầu vào ACC D D D D D ACC D D D SUB D D RCA 4x4 ầu Hình 33: Cấu hình thực phép tính tổng theo cửa sổ trƣợt - Dữ liệu đầu vào: liệu tạo dạng chuỗi ngẫu nhiên Dữ liệu đối chiếu lối ra: đối chiếu với kết tính MATLAB tính phần mềm Matlab dùng để đối chiếu với kết tính mô ModelSim Kết mô Hình 34 thực với chuỗi liệu đầu vào tín hiệu xung vuông có nhiễu cộng ầu sau xử lý cộng theo cửa sổ trượt tín hiệu xung vuông gợn sóng nhiễu làm mịn 42 Tín hiệu đầu vào có nhiễu Hình 34: Kết mô tính tổng theo cửa sổ trƣợt Tín hiệu đầu sau cộng 3.2.3 Kết mô thực lọc FIR Công thức lọc FIR tổng quát có dạng sau: ( ) ∑ ( ) ( ) (3-3) Có nhiều cấu trúc để thực tính toán lọc này, với cấu trúc thiết kế RCA thực luận văn cấu trúc thực theo Hình 35 phù hợp Hình 35: Cấu trúc thực FIR với trƣờng hợp N=5 Kịch mô phỏng: - Mô lọc FIR bậc hệ số tương ứng (H3, H2, H1, H0); - Thực cấu hình lọc tr n R Hình 36 - Dữ liệu đầu v o sinh ngẫu nhiên từ MATLAB (để thuận tiện cho việc theo dõi, đánh giá kết quả, liệu thường tạo dạng hàm tổng hai hay nhiều h m sin(2πft) có tần số f khác nhau) - Kết đầu so sánh với kết tính trực tiếp MATLAB 43 X(n) H3 H2 H1 H0 MULT D ADD MULT D D D MULT ADD D D MULT ADD D RCA 4x4 ầu Hình 36: Cấu hình thực lọc FIR (04 tap) Kết mô Hình 37 thực với đầu vào tổng hàm sin (một tần số cao, tần số thấp) Hệ số lọc chọn cho lọc thực chức lọc thông thấp, đầu lại thành phần tần số thấp Tín hiệu đầu v o trước lọc có thành phần tần số cao Tín hiệu đầu sau lọc; loại bỏ tần số cao Hình 37: Kết mô lọc FIR có hệ số lọc {21, 13, 13, 21} 3.2.4 Kết mô thực vòng điều khiển PI (proportional integral) Hình 38: Mô hình toán vòng điều khiển PI 44 Hình 38 l mô hình vòng điều khiển PI đầy đủ Phần mô luận văn tập trung đánh giá hoạt động RCA_4x4 thực vòng điều khiển, n n để đơn giản hóa, giả thiết cấu chấp hành (process) trễ, tương đương với MV = PV Các giá trị Ki Kp tính toán dựa theo tính điều khiển cụ thể Phép tính tích phân ∫ ( ) miền tương tự chuyển sang miền số thực dạng tổng tích lũy Tr n sở n y, vòng điều khiển PI Hình 38 ánh xạ vào RCA Hình 39 Kịch mô phỏng: - Mô hình mô vòng điều khiển PI (proportional integral) Set-Point Kp Ki MUL MUL ACC SUB SUB RCA 4x4 ầu Hình 39: Cấu hình vòng điều khiển PD - Dữ liệu đầu vào: o Giá trị cần vòng điều khiển PI cần bám theo đưa v o qua thông số SP (setpoint) Trong trường hợp mô Hình 40 Hình 41, SP giá trị cố định o Vòng điều khiển có hệ số Kp, Ki điều khiển Kết Hình 40 thực với giá trị (SP, Kp, Ki) =(100000, 0.005, 0005), Hình 41 ứng với giá trí (SP, Kp, Ki) = (100000, 0.5, 0.5) o Tất phép toán xử lý dạng số fixed-point (32 bit, 16 bit biểu diễn phần thập phân) 45 Tín hiệu điều khiển đưa ngưỡng thiết lập ban đầu (Setpoint) Hình 40: Kết mô điều khiển PI với giá trị Kp Ki nhỏ Tín hiệu điều khiển đưa ngưỡng thiết lập ban đầu (Setpoint) Hình 41: Kết mô điều khiển PI với giá trị Kp Ki lớn 3.2.5 Nhận xét kết mô Về tính Các kết mô thực cho thấy RCA theo thiết kế trình bày chương luận văn có khả cấu hình để thực dải phép toán thường gặp kỹ thuật điều khiển (như nội suy, tính trung bình, tính công suất, tính tương quan, vòng điều khiển bản, …) Về tốc độ tính toán: Trong hai kết mô R thực 3.2 cho thấy phù hợp với kết phân tích thiết kế ban đầu mục 2.1.1 2.1.2 Với phép toán tổng với chiều dài dãy phần tử hay với phép toán tích vô hướng hai vector 04 chiều cần 03 xung nhịp để thực (mỗi nhịp tương ứng với mức tính toán mô tả Hình 14 Hình 15) Trong trường hợp độ dài liệu đầu vào N (với trường hợp tính tổng N số lượng phần tử dãy, tích vô hướng số chiều vector) cần số xung nhịp cần cho phép toán sau: - (N/8 + 4) xung nhịp với phép tính tổng (quá trình tính tổng thực theo phương pháp Pipeline, lần tính thực với số hạng dãy, cần phải nhịp ho n th nh phép cộng) - (N/4 + 4) xung nhịp với phép tính tích vô hướng (quá trình tính tích vô hướng thực theo phương pháp Pipeline, lần tính thực với thành phần vector, cần phải nhịp ho n th nh phép cộng) 46 Kết mô mục 3.2 thể khả tính toán RCA sau GR có sẵn liệu đầu vào vùng nhớ CACHE Trong thực tế, ghép nối CGRA vào hệ thống hoàn chỉnh (ví dụ cuối chương 1, mục 1.3 luận văn), lúc n y thời gian để nạp liệu đầu v o HE v đọc liệu kết từ CACHE cần phải xem xét đến Do RCA CGRA tính toán với bus liệu có kích thước lớn (ví dụ: RCA 8x8 với liệu có độ rộng 32 bit bus liệu xử lý 8×32 = 256 bit) bus liệu hệ thống điều khiển nhỏ nhiều (với mô hình mục 1.3 độ rộng bus liệu Avalon Altera 32 bit) Vì để không làm giảm hiệu tính toán CGRA, cần phải thực phép toán theo kỹ thuật đường ống (pipeline), thực đồng thời trình ghi liệu vào CACHE xử lý liệu RCA Kết mô phỏng, tính toán trình bày mục 3.3 làm rõ vấn đề 3.3 So sánh kết mô CGRA modelSim với số tảng xử lý thông dụng Các kết mô mục 3.3 thực với GR có kích thước 8x8, độ rộng liệu l 32 bit đầu vào, thời gian thực thi tổng thời gian nạp liệu v o/đọc kết thời gian thực thi phép toán ể đánh giá hoạt động GR đầy đủ (đã bao gồm RCA khối điều khiển GR _ TRL); bước mô thực sau: - Giống thực với RCA, liệu đầu vào CGRA block liệu có độ dài 1024, 2048 4096 phần tử, phần tử liệu đầu vào có độ rộng 32 bit Tất liệu đầu v o tạo ngẫu nhiên M TL B ối với trường hợp thực lọc FIR bậc lọc - Kết thực kiểm tra cách so sánh liệu mô đầu ModelSim với thực hàm MATLAB Thời gian xử lý liệu CGRA (bao gồm Thời gian ghi, đọc liệu thời gian thực thi phép toán) Bảng 11 thực cách đo trực tiếp giản đồ sóng (trong sổ wave ModelSim) òn vi xử lý Nios v DSP thực đo số lượng xung nhịp công cụ lập trình hãng sản xuất chip ể so sánh với cách thực tính toán thông thường vi xử lý, DSP, phép toán viết chương trình v chạy tảng khác nhau: - Trường hợp 1: Với vi xử lý Nios II (cấu hình fast) thực kit phát - triển DE4 Terasic với tảng FPGA Stratix IV Altera Trường hợp 2: thực với DSP C6678 (loại lõi DSP) Texas Instrument kit phát triển TMS320C6678 47 Tất phép đo tính theo số lượng xung nhịp cần thực trình cần xử lý Bảng 11: So sánh tốc độ thực CGRA với giải pháp khác Vòng lặp Kích thƣớc liệu Phép N=1024 tổng N=2048 SUM N=4096 Tích N=1024 vô N=2048 hướng N=4096 FIR (8 N=1024 tap) N=2048 N=4096 Lõi NIOS (Altera) 29 148 58 142 116 128 64 622 128 864 257 344 407 765 816 384 641 778 DSP (dùng code C thông thƣờng) 24 117 48 181 96 301 30 827 61 827 122 987 X X X DSP (dùng thƣ viện riêng) X X X 555 067 083 216 14 384 29 736 CGRA (ModelSim) 1045 2096 4117 2096 4117 8213 1043 2067 4115 Kích thước liệu N Bảng 11 ứng với phép toán sau: - Phép tổng SUM: N chiều dài dãy {x1, x2, …, xN} cần tính tổng - Phép tích vô hướng : N số chiều hai vector X= {x1, x2, …, xN} - Y= {y1, y2, …, yN} Phép tính FIR thực với lọc có hệ số{h7, h6, …, h0}: N l độ dài dãy liệu đầu vào X={x1, x2, …, xN} Theo kết Bảng 11, vi xử lý mềm NIOS Altera hay DSP (dòng cao cấp Keystone TI) thực lệnh lặp FOR thông thường lượng xung nhịp đáng kể Qua trình phân tích lệnh ASSEMBLY NIOS cho thấy: thời gian thực vòng lặp, bên cạnh việc thực phép toán (chiếm xung nhịp) vi xử lý phải thực tối thiểu thao tác khởi tạo địa liệu cho việc nạp liệu, kiểm tra vòng lặp chiếm nhiều thời gian Do hiệu suất tính toán NIOS thấp DSP thực lệnh FOR thông thường gặp vấn đề tương tự DSP thực với thư viện tối ưu hãng cho thấy tốc độ cải thiện nhiều so với việc sử dụng vòng FOR truyền thống Kết mô CGRA Model cho thấy tốc độ thực tương đương với DSP, số kết thực tốt Tốc độ tính toán GR cải thiện thực song song trình nạp liệu tính toán lúc 48 ẾT UẬ Trong thời gian tìm hiểu nghiên cứu giúp đỡ tận tình thầy hướng dẫn PGS.TS Trần Quang Vinh TS.Nguyễn Ki m Hùng, đến toàn nội dung luận văn ho n th nh đáp ứng đầy đủ yêu cầu đặt Qua trình tìm hiểu thực đề t i, thu kết sau: - Tìm hiểu xu hướng nghiên cứu CGRA giới, tr n sở phân tích số kiến trúc GR thực giới, đưa phương án thiết kế - CGRA sử dụng kỹ thuật điều khiển Thiết kế mô hình hóa ngôn ngữ VHDL (trong RCA CGR mô hình hóa mức RTL) tiến hành mô phỏng, so sánh với phương thức thực khác Các kết thực nghiệm thiết kế đáp ứng yêu cầu đặt ban đầu: tăng tốc độ tính toán cho - vòng lặp; khả tái hình linh hoạt để thực vòng lặp khác sử dụng cho số phép toán thường dùng kỹ thuật điều khiển ác module tham số hóa, dễ dàng mở rộng thiết kế theo phương án kết nối khác nhau, lõi RCA CGRA thiết kế với khả mở rộng kích thước theo chiều Kết thu luận văn ho n th nh mức xây dựng kiến trúc CGRA hoàn chỉnh, phần lõi R thiết kế mức RTL Kiến trúc thiết kế luận văn l sở để nghiên cứu phát triển th m hướng phát triển Trong tương lai, tiếp tục tối ưu hóa kiến trúc đề xuất, đồng thời đánh giá kiến trúc với ứng dụng điều khiển phức tạp với số hướng nghiên cứu sau: - ưa th m hệ thống quản lý lỗi trình tính toán phép toán số học (như tr n số, ) Xây dựng mô hình điều khiển tính toán với vòng lặp có điều kiện Phát triển hệ thống phần mềm hỗ trợ GR , l kiến trúc tính toán khác với kiến trúc vi xử lý hay DSP thông thường 49 T [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] UT M Ả G Theodoridis, D Soudris and S Vassiliadis: “ Survey of oarse-Grain Reconfigurable Architectures and Cad Tools Basic Definitions, Critical Design Issues and Existing Coarse-grain Reconfigurable Systems”, Springer 2008, p89149 Hung K NGUYEN, Quang-Vinh TRAN, and Xuan-Tu TRAN: “Data Locality Exploitation for Coarse-grained Reconfigurable Architecture in a Reconfigurable Network-on-Chip”, The 2014 International Conference on Integrated Circuits, Design, and Verification (ICDV 2014), Hanoi 14-15/2014 Kiem-Hung Nguyen, Peng Cao and Xue-Xiang Wang: “ n Efficient Implementation of H.264/AVC Integer Motion Estimation Algorithm on Coarsegrained Reconfigurable omputing System”, Journal of computers, Vol 8, No 3, March 2013 M Zhu, L Liu, S Yin, et al.: "A Cycle-Accurate Simulator for a Reconfigurable Multi-Media System," IEICE Transactions on Information and Systems, vol 93, pp 3202-3210, 2010 Hartej Singh, Ming-Hau Lee, Guangming Lu, Fadi J Kurdahi, Nader Bagherzadeh and Eliseu M Filho: “MorphoSys: Reconfigurable rchitecture for Multimedia pplications”, Proceedings XI Brazilian Symposium on Integrated Circuit Design, 1998 Frank Bouwens, Mladen Berekovic, Andreas Kanstein, and Georgi Gaydadjiev: “ rchitectural Exploration of the ADRES, Coarse-Grained Reconfigurable rray”, ARC 2007, LNCS 4419, pp 1–13, 2007 Frank Bouwens, Mladen Berekovic, Bjorn De Sutter, and Georgi Gaydadjiev: “ rchitecture Enhancements for the DRES oarse-Grained Reconfigurable rray” HiPE 2008, LNCS 4917, pp 66–81, 2008 Andy Lambrechts, Praveen Raghavan, Murali Jayapala, Francky Catthoor, and Diederik Verkest: “Energy-Aware Interconnect Optimization for a Coarse Grained Reconfigurable Processor”, 21st International onference on VLSI Design, 2008, Hyderabad, India Andy Lambrechts, Praveen Raghavan, Murali Jayapala, Bingfeng Mei, Francky atthoor, and Diederik Verkest: “Interconnect Exploration for Energy Versus Performance Tradeoffs for oarse Grained Reconfigurable rchitectures”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol 17, No 1, 2009, rbelo, Kanstein, S López: ”Mapping ontrol-Intensive Video Kernels onto a Coarse-Grain Reconfigurable rchitecture: the H.264/ V Deblocking Filter” Design, Automation & Test in Europe Conference & Exhibition, 2007 DATE '07 Zion Kwok, Steven J E Wilton: ”Register File rchitecture Optimization in a Coarse-Grained Reconfigurable rchitecture”, 13th nnual IEEE Symposium on Field-Programmable Custom Computing Machines, 2005 FCCM 2005 Min Zhu, Leibo Liu, Shouyi Yin, Yansheng Wang, Wenjie Wang, Shaojun Wei: “ Reconfigurable Multi-Processor So for Media pplications”, Proceedings of 2010 IEEE International Symposium on Circuits and Systems (ISCAS) “Introduction to GR 4541.755 Topics on ompilers, Spring 2011”, download website http://aces.snu.ac.kr/~bernhard/teaching/4541.775/ 50 P Ụ Ụ BẢ M M TẢ T SỐ V U EP Ụ Ủ R Á PL1.1 Module MUX_N_1 Bảng 12: Thông số giao diện module MUX_N_1 TT Tham số/Giao diện Vào/ra Mô tả Tham số ộ rộng đường liệu 1.1 DATA_WIDTH Số bit lựa chọn k nh đầu vào 1.2 NUM_OF_BIT_SEL Tổng số k nh đầu vào: 2NUM_OF_BIT_SEL Giao diện 2.1 sel_I Vào Tín hiệu lựa chọn kênh Sel:=n : lựa chọn kênh n 2.2 DATA_I Vào Tập hợp k nh đầu vào ộ rộng bus: DATA_WIDTH x 2NUM_OF_BIT_SEL Kênh thứ n ứng với cụm bit DATA_I[(K+1) x DATA_WIDTH : K x DATA_WIDTH] 2.3 DATA_O Ra ầu PL1.2 Module MUX_2_1 Bảng 13: Thông số giao diện module MUX_2_1 TT Tham số/Giao diện Vào/ra Tham số ộ rộng đường liệu 1.1 DATA_WIDTH Mô tả Giao diện 2.1 sel_I Vào Tín hiệu lựa chọn kênh 0: lựa chọn kênh #0 1: lựa chọn kênh #1 2.2 DATA_0_I Vào ầu vào kênh #0 2.3 DATA_1_I Vào ầu vào kênh #1 2.4 DATA_O Ra ầu ghép kênh 51 PL1.3 Module BIN_DECODER Bảng 14: Thông số giao diện module BIN_DECODER TT Tham số/Giao diện Vào/ra Mô tả Tham số Số lượng bit đầu vào 1.1 NUM_OF_BIT 2.1 Giao diện 2.2 I Vào Dữ liệu đầu vào 2.3 O Ra Dữ liệu đầu 52 P Ụ Ụ Ỗ TRỢ M P Ỏ TRÊ M Script dịch mô thiết kế RCA phần mềm ModelSIM #compilation vcom -93 -work work "./HDL/user_pkg.vhd" vcom -93 -work work "./HDL/RCA_pkg.vhd" vcom -93 -work work "./HDL/user_tb_pkg.vhd" vcom -93 -work work "./HDL/CLK_GEN.vhd" vcom -93 -work work "./HDL/REG.vhd" vcom -93 -work work "./HDL/BIN_DECODER_1bit.vhd" vcom -93 -work work "./HDL/BIN_DECODER.vhd" vcom -93 -work work "./HDL/MUX_2_1.vhd" vcom -93 -work work "./HDL/MUX_N_1.vhd" vcom -93 -work work "./HDL/PE_router.vhd" vcom -93 -work work "./HDL/DATAPATH.vhd" vcom -93 -work work "./HDL/ACC.vhd" vcom -93 -work work "./HDL/PE.vhd" vcom -93 -work work "./HDL/RCA_row.vhd" vcom -93 -work work "./HDL/RCA_REG_FILE.vhd" vcom -93 -work work "./HDL/RCA.vhd" vcom -93 -work work "./HDL/RCA_TB.vhd" #simulation vsim -t 1ps -L work -voptargs="+acc" RCA_TB E SM [...]... do vẫn đang trong giai đoạn nghiên cứu hoàn thiện Xuất phát từ thực tế nêu trên, luận văn tập trung nghiên cứu với đề tài Nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA ứng dụng cho kỹ thuật điều khiển Mục tiêu đề tài Tr n cơ sở nghiên cứu phương pháp tính song song, cùng với các mô hình kiến trúc thực thi GR khác nhau, đề tài tập trung vào việc xây dựng một mô hình RCA (Reconfigurabel Cell... quá trình điều khiển Với mục đích tập trung vào một số phép toán vector thường dùng trong kỹ thuật điều khiển, hướng thiết kế mảng tái cấu hình trong luận văn n y sẽ sử dụng cấu trúc tuần tự theo hàng (row-by-row) Kiến trúc này kém mềm dẻo hơn, tuy nhi n việc định tuyến lại đơn giản Thiết kế chi tiết được trình bày ở - chương 2 của luận văn Khả năng điều khiển, tái cấu hình của mảng: do mảng CGRA phải... nhau Việc định tuyến dữ liệu vào các toán tử sẽ được điều khiển bởi các bộ định tuyến (router), các bộ định tuyến này có nhiệm vụ lựa chọn đầu vào cho các toán tử 2.2 Kiến trúc tổng thể của mảng tái cấu hình kiến trúc thô CGRA Tr n cơ sở tiếp cận phương án thiết kế CGRA trình bày ở mục 2.1, kiến trúc tổng thể của một mảng tái cấu hình kiến trúc thô GR cơ bản bao gồm 02 phần: - Phần lõi tính toán RCA... nghiên cứu khác nhau về CGRA Mỗi nghiên cứu đưa ra một kiến trúc đặc trưng ri ng với các ưu nhược điểm khác nhau, hướng tới một số ứng dụng cụ thể Dưới đây l một số mô hình tiêu biểu 1.2.1 Kiến trúc MorPhoSys ây l một trong những kiến trúc được phát triển trong những năm của giai đoạn đầu của CGRA (khoảng năm 1998) với mục đích ứng dụng cho truyền thông đa phương tiện Nó kết hợp giữa tái cấu hình kiến. .. xuyên cấu hình lại trong quá trình làm việc, cho nên cần phải đưa ra giải pháp rút ngắn thời gian cấu hình (bằng cách sử dụng bộ nhớ cấu hình theo ngữ cảnh, kỹ thuật cấu hình đồng thời với quá trình thực thi) Với mục tiêu thiết kế một CGRA dùng cho kỹ thuật điều khiển, chương 2 tiếp theo của luận văn sẽ trình bày chi tiết một thiết kế của CGRA có khả năng hướng tới việc tích hợp vào một hệ thống điều. .. nhớ cấu hình Việc tách biệt 2 bộ nhớ cấu hình và dữ liệu là kỹ thuật chung của thiết kế tái cấu hình dạng mảng Các phần tử xử lý liên kết với nhau thông qua hệ định tuyến (bằng dây nối, bus hoặc các bộ ghép kênh) Kiến trúc định tuyến, các thức xử lý được cấu hình bằng cách sử dụng các tệp thanh ghi 1.3 Vấn đề cần giải quyết Tr n cơ sở tìm hiểu các mô hình trình bày ở mục 1.2, khi thiết kế mảng CGRA. .. pháp nghi n cứu được sử dụng gồm: Phương pháp nghiên cứu lý thuyết: Tìm hiểu một số hướng nghiên cứu về CGRA trên thế giới; Tr n cơ sở phân tích các phép toán với đầu vào kiểu vector (tích chập, phép toán vector, ) thường dùng trong kỹ thuật điều khiển kết hợp với phương pháp tính song song đưa ra mô hình thực hiện mảng tính toán có khả năng tái cấu hình CGRA Phương pháp thiết kế: Thiết kế theo dạng... thành phần điều khiển ontroller, FIFO, ontext register, … có nhiệm vụ điều khiển, cấu hình, truyền nhận dữ liệu giữa mảng RCA hệ thống bên ngoài RPU Phần tử xử lý cơ bản RC có kiến trúc như mô tả trong Hình 11 Hình 10: Cấu trúc của một RPU trong bộ xử lý REMUS [3] Hình 11: Cấu trúc của phần tử RC trong REMUS [3] Việc thiết kế GR dưới dạng IP-core tạo ra việc thuận tiện cho việc sử dụng lại thiết kế trong... vi mạch FPGA Nội dung nghiên cứu Nghiên cứu lý thuyết - Phân tích các phép toán cơ bản trong kỹ thuật điều khiển; đưa ra mô hình tính toán thực hiện trên lõi xử lý RCA của CGRA - Xây dựng mô hình kiến trúc RCA có khả năng mở rộng - Khai thác công cụ hỗ trợ thiết kế: mô phỏng ModelSim, phần mềm thiết kế Quartus II của Altera Thiết kế hệ thống - Thiết kế các module thành phần của CGRA bằng ngôn ngữ VHDL:... năng mở rộng, tái sử dụng thiết kế trong các phương án khác nhau Các module thiết kế được tham số hóa Trong đó lõi RCA của CGRA được thiết kế ở mức RTL, các phần còn lại thiết kế ở mức mô hình hành vi (behavioural) 10 Phương pháp mô phỏng: Mô phỏng các thiết kế CGRA trên phần mềm ModelSIM với một số phép toán thường dùng trong kỹ thuật điều khiển Phương pháp kiểm thực: Kiểm nghiệm thiết kế trên nền ... nghiên cứu với đề tài Nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA ứng dụng cho kỹ thuật điều khiển Mục tiêu đề tài Tr n sở nghiên cứu phương pháp tính song song, với mô hình kiến trúc. .. cho toán tử 2.2 Kiến trúc tổng thể mảng tái cấu hình kiến trúc thô CGRA Tr n sở tiếp cận phương án thiết kế CGRA trình bày mục 2.1, kiến trúc tổng thể mảng tái cấu hình kiến trúc thô GR bao gồm... TRƢ GI H N I Ọ ỨC NAM NGUYỄ NGHIÊN CỨU THIẾT KẾ MẢNG TÁI CẤU HÌNH KIẾN TRÚC THÔ CGRA ỨNG DỤNG CHO KỸ THUẬT ỀU KHIỂN Ng nh: Công nghệ iện tử - Viễn thông huy n ng nh: Kỹ thuật điện tử Mã số: 60520203