So sánh kết quả mô phỏng CGRA trên modelSim với một số nền tảng xử lý

Một phần của tài liệu 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 (Trang 50 - 56)

xử lý thông dụng

Các kết quả mô phỏng trong mục 3.3 được thực hiện với GR có kích thước 8x8, độ rộng dữ liệu l 32 bit đầu vào, thời gian thực thi bằng tổng thời gian nạp dữ liệu v o/đọc kết quả ra và thời gian thực thi phép toán.

ể đánh giá hoạt động của một GR đầy đủ (đã bao gồm RCA và khối điều khiển GR _ TRL); các bước mô phỏng được thực hiện như sau:

- Giống như thực hiện với RCA, dữ liệu đầu vào của CGRA là các block dữ liệu có độ dài lần lượt là 1024, 2048 và 4096 phần tử, mỗi phần tử dữ liệu đầu vào có độ rộng là 32 bit. Tất cả các dữ liệu đầu v o đều được tạo ngẫu nhiên bằng M TL B. ối với trường hợp thực hiện bộ lọc FIR thì bậc của bộ lọc là 8. - Kết quả thực hiện được kiểm tra bằng cách so sánh dữ liệu mô phỏng đầu ra

trên ModelSim với các thực hiện bằng hàm trên MATLAB.

Thời gian xử lý dữ liệu của CGRA (bao gồm Thời gian ghi, đọc dữ liệu và thời gian thực thi phép toán) trong Bảng 11 được thực hiện bằng cách đo trực tiếp trên giản đồ sóng (trong của sổ wave của ModelSim). òn đối với vi xử lý Nios v DSP được thực hiện đo số lượng xung nhịp bằng các công cụ lập trình của hãng sản xuất chip.

ể so sánh với các cách thực hiện tính toán thông thường trên vi xử lý, và DSP, các phép toán được viết bằng chương trình v chạy trên các nền tảng khác nhau:

- Trường hợp 1: Với vi xử lý Nios II (cấu hình fast) được thực hiện trên kit phát triển DE4 của Terasic với tảng FPGA Stratix IV của Altera.

- Trường hợp 2: được thực hiện với DSP C6678 (loại 8 lõi DSP) của Texas Instrument trên kit phát triển TMS320C6678.

Tất cả các phép đo đều được tính theo số lượng xung nhịp cần thực hiện của cả quá trình cần xử lý.

Bảng 11: So sánh tốc độ thực hiện của CGRA với các giải pháp khác nhau

Vòng lặp Kích thƣớc dữ liệu Lõi NIOS (Altera) DSP (dùng code C thông thƣờng) DSP (dùng thƣ viện riêng) CGRA (ModelSim) Phép tổng SUM N=1024 29 148 24 117 X 1045 N=2048 58 142 48 181 X 2096 N=4096 116 128 96 301 X 4117 Tích vô hướng N=1024 64 622 30 827 555 2096 N=2048 128 864 61 827 1 067 4117 N=4096 257 344 122 987 2 083 8213 FIR (8 tap) N=1024 407 765 X 7 216 1043 N=2048 816 384 X 14 384 2067 N=4096 1 641 778 X 29 736 4115

Kích thước dữ liệu N trong Bảng 11 ứng với các phép toán như sau:

- Phép tổng SUM: N là chiều dài của một dãy {x1, x2, …, xN} cần tính tổng - Phép tích vô hướng <X,Y>: N là số chiều của hai vector X= {x1, x2, …, xN} và

Y= {y1, y2, …, yN}

- Phép tính FIR được thực hiện với bộ lọc có hệ số{h7, h6, …, h0}: N l độ dài dãy dữ liệu đầu vào X={x1, x2, …, xN}

Theo kết quả ở Bảng 11, vi xử lý mềm NIOS của Altera hay DSP (dòng cao cấp Keystone của TI) khi thực hiện trên lệnh lặp FOR thông thường mất một lượng xung nhịp đáng kể. Qua quá trình phân tích lệnh ASSEMBLY trên NIOS cho thấy: trong mỗi thời gian thực hiện một vòng lặp, bên cạnh việc thực hiện phép toán (chiếm ít xung nhịp) thì vi xử lý phải thực hiện tối thiểu các thao tác khởi tạo các địa chỉ dữ liệu cho việc nạp dữ liệu, kiểm tra vòng lặp chiếm rất nhiều thời gian. Do đó hiệu suất tính toán của NIOS khá thấp. DSP khi thực hiện bằng lệnh FOR thông thường cũng gặp vấn đề tương tự. DSP khi thực hiện với thư viện tối ưu của hãng cho thấy tốc độ được cải thiện rất nhiều so với việc sử dụng vòng FOR truyền thống.

Kết quả mô phỏng CGRA trên Model cho thấy tốc độ thực hiện tương đương với DSP, ở một số kết quả thực hiện có thể tốt hơn. Tốc độ tính toán của GR được cải thiện do thực hiện song song quá trình nạp dữ liệu và tính toán cùng lúc.

ẾT UẬ

Trong thời gian tìm hiểu và nghiên cứu dưới sự giúp đỡ tận tình của thầy hướng dẫn PGS.TS Trần Quang Vinh và TS.Nguyễn Ki m Hùng, đến nay toàn bộ nội dung của luận văn đã được ho n th nh đáp ứng đầy đủ các yêu cầu đã đặt ra. Qua quá trình tìm hiểu thực hiện đề t i, tôi đã thu được những kết quả chính như sau:

- Tìm hiểu xu hướng nghiên cứu CGRA trên thế giới, tr n cơ sở phân tích một số kiến trúc GR đã được thực hiện trên thế giới, đưa ra phương án thiết kế CGRA có thể sử dụng trong kỹ thuật điều khiển.

- Thiết kế đã được mô hình hóa bằng ngôn ngữ VHDL (trong đó RCA của CGR được mô hình hóa ở mức RTL) và tiến hành mô phỏng, so sánh với các phương thức thực hiện khác. Các kết quả thực nghiệm chỉ ra rằng thiết kế đáp ứng được yêu cầu cơ bản đặt ra ban đầu: như tăng tốc độ tính toán cho các vòng lặp; khả năng tái hình linh hoạt để thực hiện các vòng lặp khác nhau sử dụng cho một số phép toán thường dùng trong kỹ thuật điều khiển.

- ác module được tham số hóa, dễ dàng mở rộng thiết kế theo các phương án kết nối khác nhau, trong đó lõi RCA của CGRA được thiết kế với khả năng có thể mở rộng kích thước theo cả 2 chiều.

Kết quả thu được của luận văn ho n th nh ở mức xây dựng một kiến trúc CGRA hoàn chỉnh, trong đó phần lõi R được thiết kế ở mức RTL. Kiến trúc thiết kế trong luận văn l cơ sở để nghiên cứu phát triển th m các hướng phát triển tiếp theo. Trong tương lai, chúng tôi sẽ tiếp tục tối ưu hóa kiến trúc được đề xuất, đồng thời đánh giá kiến trúc với các ứng dụng điều khiển phức tạp hơn với một số hướng nghiên cứu tiếp theo như sau:

- ưa th m hệ thống quản lý lỗi trong quá trình tính toán các 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 các vòng lặp có điều kiện.

- Phát triển một hệ thống phần mềm hỗ trợ GR , do đây l một 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.

T U T M Ả

[1] 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, p89- 149.

[2] 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.

[3] Kiem-Hung Nguyen, Peng Cao and Xue-Xiang Wang: “ n Efficient Implementation of H.264/AVC Integer Motion Estimation Algorithm on Coarse- grained Reconfigurable omputing System”, Journal of computers, Vol. 8, No. 3, March 2013. (adsbygoogle = window.adsbygoogle || []).push({});

[4] 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

[5] 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

[6] 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

[7] 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..

[8] 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.

[9] 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,

[10] . 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. [11] 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

[12] 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).

[13] “Introduction to GR 4541.755 Topics on ompilers, Spring 2011”, download tại website http://aces.snu.ac.kr/~bernhard/teaching/4541.775/

P Ụ Ụ 1 BẢ M TẢ T SỐ V Á M U E P Ụ Ủ R

PL1.1 Module MUX_N_1

Bảng 12: Thông số và giao diện của module MUX_N_1

TT Tham số/Giao diện Vào/ra Mô tả

1 Tham số

1.1 DATA_WIDTH ộ rộng đường dữ liệu

1.2 NUM_OF_BIT_SEL Số bit lựa chọn k nh đầu vào

Tổng số k nh đầu vào: 2NUM_OF_BIT_SEL

2 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 - 1 : K x DATA_WIDTH]

2.3 DATA_O Ra ầu ra

PL1.2 Module MUX_2_1

Bảng 13: Thông số và giao diện của module MUX_2_1

TT Tham số/Giao diện Vào/ra Mô tả

1 Tham số (adsbygoogle = window.adsbygoogle || []).push({});

1.1 DATA_WIDTH ộ rộng đường dữ liệu

2 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

PL1.3 Module BIN_DECODER

Bảng 14: Thông số và giao diện của module BIN_DECODER

TT Tham số/Giao diện Vào/ra Mô tả

1 Tham số

1.1 NUM_OF_BIT Số lượng bit đầu vào

2.1 Giao diện

2.2 I Vào Dữ liệu đầu vào

P Ụ Ụ 2 Ỗ TRỢ M P Ỏ TRÊ M E S M

Script dịch và mô phỏng thiết kế RCA trên 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

Một phần của tài liệu 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 (Trang 50 - 56)