Hiện thực bộ nhân số phức dấu chấm động cho tính toán FFT dựa trên thuật toán CORDIC xoay góc thích nghi

10 92 0
Hiện thực bộ nhân số phức dấu chấm động cho tính toán FFT dựa trên thuật toán CORDIC xoay góc thích nghi

Đang tải... (xem toàn văn)

Thông tin tài liệu

Trong bài báo này, bộ nhân số phức chuyển đổi nhanh Fourier dấu chấm động độ chính xác đơn được đề xuất. Kiến trúc bộ nhân được thiết kế dựa trên thuật toán CORDIC góc xoay thích nghi. Chip FPGA Stratix IV của Altera và tổng hợp SOTB công nghệ 65 nm được sử dụng để xây dựng và kiểm tra thiết kế.

TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 20, SỐ T4- 2017 Hiện thực nhân số phức dấu chấm động cho tính tốn FFT dựa thuật tốn CORDIC xoay góc thích nghi • • • • Võ Thị Phương Thảo Trương Thị Như Quỳnh Hoàng Trọng Thức Lê Đức Hùng Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM (Bài nhận ngày 26 tháng 12 năm 2016, nhận đăng ngày 30 tháng 10 năm 2017) TÓM TẮT Trong báo này, nhân số phức chuyển đổi nhanh Fourier dấu chấm động độ xác đơn đề xuất Kiến trúc nhân thiết kế dựa thuật toán CORDIC góc xoay thích nghi Chip FPGA Stratix IV Altera tổng hợp SOTB công nghệ 65 nm sử dụng để xây dựng kiểm tra thiết kế Trên chip FPGA, tần số hoạt động nhân 103,9 MHz, tốc độ thực thi hệ thống 16.966 triệu mẫu giây (Mega-Sample per second – MSps) tài nguyên sử dụng 7,747 ALUTs 625 ghi Mặt khác, tổng hợp ASIC sử dụng 16,858 standard cells 86,718µm2 diện tích chip, đạt tần số 166 MHz tốc độ hệ thống 27,107 MSps Độ xác kết đạt với sai số bình phương tối thiểu (Mean-SquareError – MSE) 1.133E-10 khoảng 26 phần triệu (part-per-million – ppm) tỉ lệ lỗi tối đa Từ khóa: nhân số phức dấu chấm động, FFT, CORDIC xoay góc thích nghi MỞ ĐẦU Biến đổi Fourier nhanh (Fast Fourier Transform–FFT) thuật toán biến đổi nhanh biến đổi Fourier rời rạc (Discrete Fourier Transform–DFT) Năm 1965, đồ thị tín hiệu (Signal Flow Graph–SFG) FFT phổ biến rộng rãi Cooley Tukey [1] Từ đó, FFT sử dụng hầu hết ứng dụng khác xử lý tín hiệu số truyền thơng Thuật tốn FFT biến đổi ngược (Inverse Fast Fourier Transform – IFFT) thành phần cốt lõi quan trọng hệ thống truyền thông đại, đặc biệt mạng không dây ứng dụng đa phương tiện WiMAX [2], 3GPP-LTE [3], MIMO [4] CDMA [5] Hơn nữa, FFT đơn vị xử lý trung tâm thiết kế hệ thống chia tần số trực giao (Orthogonal Frequency Division Multiplexing – OFDM) [6] Điểm mạnh kiến trúc FFT dấu chấm tĩnh tốc độ nhanh tài nguyên tối ưu Tuy nhiên, việc bỏ bit thấp (Least Significant Bits – LSBs) dẫn đến lỗi toán học dấu chấm tĩnh (Fixed-point Arithmetic Error – FAE) [7], lỗi hệ thống dấu chấm tĩnh hệ thống dấu chấm động Trong số hệ thống khơng cần tính tốn có độ xác cao FAE khơng quan trọng Thí dụ, triển khai mạch FFT dấu chấm tĩnh hệ thống âm thanh, phương pháp nén lossy, hệ thống truyền thông DVB-T/DVB-H [8] WLAN [9] Tuy nhiên, ngày nhiều ứng dụng FFT yêu cầu độ xác cao mà cần miền liệu hoạt động lớn Vì vậy, thiết kế FFT dấu chấm tĩnh gặp khó khăn việc khắc phục vấn đề Vì thế, ngày thiết kế FFT dấu chấm động có xu hướng phát triển phổ biến hơn, thí dụ, hệ thống ra-đa ra-đa Trang 187 Science & Technology Development, Vol 20, No.T4-2017 độ mặt đất (Synthetic Aperture Radar – SAR) [10] xử lý ảnh y khoa hệ thống chụp cắt lớp quang Fourier (Fourier – Domain Optical Coherence Tomography – FDOCT) [11] Bên cạnh đó, dấu chấm động trở thành yêu cầu thiếu cho việc tính tốn FFT số điểm lớn [12] Thiết kế FFT dấu chấm động chia thành hai kiến trúc chính: FFT phân luồng liên tục (Continuous Flow FFT – CF-FFT) [6], [13] vi xử lý dựa nhớ (MemoryBased Processor – Mem-FFT) [14, 15] Các thiết kế CF-FFT có ưu tốc độ nên triển khai phổ biến Mem-FFT Tuy nhiên, chúng có nhược điểm tốn nhiều tài nguyên, đặc biệt triển khai mạch CF-FFT với số điểm lớn dẫn đến khó thực thiết kế VLSI Ngược lại, mẫu thiết kế Mem-FFT chủ yếu dựa việc sử dụng nhớ nên cần nguồn tài nguyên logic Do đó, thiết kế Mem-FFT có lợi thiết kế VLSI dễ tương thích với hệ thống có tích hợp sẵn CPU Tuy nhiên, nhược điểm Mem-FFT độ trễ lớn dẫn đến tốc độ xử lý hệ thống chậm Một hệ thống Mem-FFT điển hình gồm cộng trừ nhân chéo (Butterfly – BF) đơn vị, đơn vị tạo địa chỉ, điều khiển đơn vị vài khối nhớ Thiết kế CF-FFT điển hình N điểm có log2(N) tầng pipeline với tầng gồm có BF đơn vị số ghi dịch Mặc dù kiến trúc khác hạn chế tốc độ thiết kế BF nhân (Twiddle Factor – TF) TF nhân tố dẫn đến xác hệ thống FFT Kiến trúc TF chia thành thiết kế chính: thiết kế bảng tra (Look Up Table – LUT) tính tốn trực tiếp Trong thiết kế TF dựa bảng tra LUT, số lượng giác tính tốn trước lưu trữ nhớ đọc (Read Only Memory – ROM), chúng truy xuất để sử dụng thích hợp Một vài thí dụ bảng tra LUT thực [16], Trang 188 [17] [18] Ưu lớn kiến trúc LUT tốc độ cao độ trễ thấp yêu cầu nguồn tài nguyên tương đối nhỏ Tuy nhiên, việc triển khai FFT số điểm lớn thiết kế LUT cần ROM có dung lượng lớn dẫn đến việc thiết kế mạch tích hợp lớn (Very-LargeScale Integration – VLSI) trở nên khó khăn Để khắc phục vấn đề trên, nhiều cơng trình nghiên cứu đề xuất Thí dụ, H Y Lee I C Park [19] đề xuất thuật toán phân hủy nhị phân để giảm thiểu số lượng nhân lưu trữ ROM R Radhouane cộng [13] đưa phương pháp để tối ưu nhớ cho CF-FFT Một ‘bộ nhớ truy cập tối ưu hóa’ mơ tả X Xiao cộng [20] để đọc liệu nhân sử dụng kiến trúc nhớ bank S Mou X Yang [17] phân tích tối ưu độ trễ đọc sau viết (Read-After-Write – RAW) hệ thống vi xử lý FFT Tuy nhiên, kĩ thuật không đưa giải pháp cuối mà đánh đổi dung lượng ROM độ xác tốc độ thực thi Vì khó khăn đó, kiến trúc LUT phù hợp với ứng dụng FFT điểm Còn ứng dụng cần tính FFT nhiều điểm giải pháp tính tốn nhân trực tiếp Trong phương pháp tính tốn nhân trực tiếp, thuật toán xoay tọa độ véc-tơ hệ thống tính tốn số (Coordinate Rotation DIgital Computer – CORDIC) sớm đề xuất Cho đến nay, vi xử lý FFT dựa CORDIC nghiên cứu phát triển [14, 15] Thuật tốn CORDIC truyền thống có tác dụng lớn việc thực thi nhân dấu chấm tĩnh làm giảm độ phức tạp phép nhân thành phép dịch phép cộng Tuy nhiên, phương pháp khơng thích hợp cho thiết kế nhân dấu chấm động phép cộng dấu chấm động không đơn giản Mạch nhân dựa CORDIC truyền thống FFT dấu chấm động tốn nhiều tài nguyên tốc độ thấp Để khắc phục tình trạng trên, phương pháp CORDIC có độ xác TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 20, SỐ T4- 2017 tương đương có độ hội tụ nhanh đề xuất Hạn chế phương pháp CORDIC truyền thống số bước lặp Có nhiều phương pháp đề xuất với mục đích giảm số vòng lặp mà giữ độ xác Y H Hu cộng [21] đề xuất phương pháp hiệu gọi ‘Angle Recoding CORDIC’ (ARC) Thuật toán ARC cắt giảm tối thiểu 50 % tổng số vòng lặp Ý tưởng ARC chọn vài góc để xoay thay xoay tất góc Vì hệ thống thực nhanh chí có độ xác cao Nhiều ứng dụng triển khai thuật tốn ARC trình bày [22, 23] Hơn nữa, viết Hong-Thu Nguyen cộng đề xuất phương pháp thích nghi ARC (Adaptive method of ARC – AARC) [24] dựa liệu dấu chấm động có độ xác đơn Thuật tốn AARC chứng minh thực nghiệm tốn tài nguyên, độ trễ thấp xác cao [24] Dựa thuật tốn AARC, thiết kế nhân ROMfree đề xuất báo Bộ nhân dựa AARC xây dựng chứng minh chip FPGA Stratix IV Altera tổng hợp SOTB công nghệ 65 nm Kết thực nghiệm cho thấy kiến trúc đề xuất có tần số chạy chip FPGA 103,9 MHz phân tích ASIC 166 MHz Kết diện tích chip 7.747 ALUTs 625 ghi chip FPGA 16,858 standard cells 86,718 µm2 diện tích chip SOTB Độ xác mạch kiểm tra cách triển khai thuật toán sai số bình phương tối thiểu phần triệu tỉ lệ lỗi tối đa Kết độ xác 1.133E−10 MSE khoảng 26 phần triệu tỉ lệ lỗi tối đa Tốc độ thực thi tương ứng chip FPGA tổng hợp ASIC 16,966 MSps 27,107 MSps THUẬT TỐN CORDIC THÍCH NGHI (AARC) XOAY 𝑥𝑖+1 = 𝑥𝑖 − 𝑠𝑖𝑔𝑛(𝑧𝑖 )𝑦𝑖 (1) 𝑧𝑖+1 = 𝑧𝑖 − 𝑠𝑖𝑔𝑛(𝑧𝑖 )α𝑖 Trong đó, 𝑥𝑖+1 𝑦𝑖+1 giá trị tọa độ véc-tơ véc-tơ xoay quanh góc 𝑧𝑖+1 Giá trị α𝑖 phương trình gọi góc dư tính theo công thức α𝑖 = 𝑡𝑎𝑛−1 (2−𝑖 ) (2) Sau vài bước lặp, kết cuối bị tăng lên thêm số K gọi hệ số chiều dài Vì vậy, ngõ X Y cần phải loại bỏ hệ số K kết Trong thuật tốn CORDIC truyền thống, góc dư số góc 𝑧𝑖 giảm gần nửa giá trị sau lần lặp Mặt khác, góc dư AARC khơng cố định chúng chọn dựa trạng thái trước 𝑧𝑖 Như vậy, thuật tốn AARC cắt giảm số lần lặp kết ngõ có độ xác tương đương Hình cho thấy mã giả phương pháp AARC Góc θi chọn lần lặp dựa vào góc dư 𝑧𝑖 nhanh chóng hội tụ Trong bước lặp, thuật tốn sử dụng khái niệm C, tích tham số ci Mỗi giá trị ci thể phạm vi góc lại xung quanh góc khơng đổi nhìn thấy công thức 𝜃𝑖 +𝜃𝑖+1 𝑐𝑖 = {𝜃 𝑖 , ≤ 𝑖 ≤ (𝑁 − 2) , 𝑖 < 𝑣à 𝑖 > (𝑁 − 2) (3) GĨC Tính tốn CORDIC dựa vòng lặp ba tham số X, Y, Z công thức lặp −𝑖 𝑦𝑖+1 = 𝑦𝑖 + 𝑠𝑖𝑔𝑛(𝑧𝑖 )𝑥𝑖 2−𝑖 Hình Mã giả kiến trúc AARC Do góc dư 𝑧𝑖 thay đổi nên K thay đổi số phương Trang 189 Science & Technology Development, Vol 20, No.T4-2017 pháp truyền thống Hệ số tích 𝑘𝑖 cơng thức Giá trị 𝑘𝑖 tính theo cơng thức 𝐾 = ∏𝑖∈𝜃 𝑘𝑖 (4) 𝑘𝑖 = cos(𝜃𝑖 ) (5) Lưu ý mã giả tính cho góc từ 00 đến 45 Những góc khác vòng tròn lượng giác phải chuẩn hóa khoảng giá trị Hình Hình Các góc chuẩn hóa vòng tròn lượng giác HIỆN THỰC BỘ NHÂN Tổng quan kiến trúc nhân Hình Tổng quan nhân Tổng quan nhân TF thể Hình Kiến trúc TF gồm mơ-đun: Mơ-đun chọn góc xoay θi (RotSel), Mơ-đun tính tổng X Y (FAdd_XY), Mơ-đun tính tích ki (FMul_ki) Mơ-đun tính hệ số K chuẩn hóa ngõ (FMulK_andNorm) Mơ-đun RotSel nhận giá trị góc iZ từ bên ngồi để tính góc dư θ cần xoay Tất góc chuyển vào Mơ-đun FAdd_XY FMul_ki theo clock Sau đó, nhờ q trình lặp, Mơ-đun FAdd_XY FMul_ki Trang 190 tính giá trị X, Y K tương ứng Mô-đun FAdd_XY nhận giá trị khởi tạo ban đầu X, Y tương ứng iX, iY từ bên ngồi Sau đó, giá trị X Y tính Mơ-đun Add_XY clock có góc dư θi truyền vào Cùng lúc đó, hệ số chiều dài K nhân với ki Mô-đun FMul_ki có góc θi Q trình lặp kết thúc Mơ-đun RotSel hồn thành việc tính chuyển tồn góc θ ngồi mơ-đun, lúc hai Mơ-đun FAdd_XY FMul_ki hồn thành q trình lặp Đó lúc Mơ-đun FMulK_andNorm hoạt động Mô-đun FMulK_andNorm tiến hành nhân hai giá trị X Y giá trị K đến từ FMul_ki kết cuối Giá trị cuối X Y phải chuẩn hóa theo định dạng IEEE-754 trước truyền tương ứng oX oY ngõ cuối Như đề cập trên, thuật toán AARC phải quy đổi tất góc ngõ vào vòng tròn lượng giác đoạn 00 đến 450 trước q trình tính tốn Mơ-đun RotSel đảm nhiệm việc chuyển đổi Tuy nhiên, tín hiệu ngõ vào ngõ phải hoán đổi với việc chuyển đổi góc Về đặc điểm kĩ thuật, liệu ngõ vào ngõ phải hốn đổi với đổi dấu tín hiệu X Y ngõ để có kết xác cuối Việc chuyển đổi giá trị ngõ vào ngõ thực dựa Bảng Bảng Bảng tra phục hồi liệu dựa vào thơng tin góc Z Phân đoạn Chuyển đổi góc Z π/2 − Z Z − π/2 π−Z Z−π 3π/2 − Z Z− 3π/2 2π − Z Chuyển đổi liệu X-Y Ngõ Ngõ vào Khơng khơng Có Khơng Khơng Có Có Có Khơng Khơng Có khơng Đảo tín hiệu ngõ X Y Khơng Có Có Có Có Khơng Khơng Khơng Khơng Có Có Có Khơng Có Khơng Có Có Có Khơng Khơng TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 20, SỐ T4- 2017 Mơ-đun chọn góc xoay θi (RotSel) Hình Sơ đồ khối Mơ-đun RotSel Hình mơ tả sơ đồ khối Mơ-đun RotSel Trong đó, Mơ-đun Z_Normalizer chuyển đổi góc ngõ vào iZ dạng góc chuẩn hóa NormZ có giá trị đoạn từ 00 đến 450 Tín hiệu oRec_info có 3-bit chứa thông tin miền giá trị mà iZ phụ thuộc vào Tín hiệu oRec_info giúp phục hồi lại liệu sau dựa vào Bảng Lúc bắt đầu trình lặp, mạch đa hợp (multiplexer – Mux) đưa giá trị NormZ cất vào ghi Còn trình lặp, kết cộng trừ (ALU) Mux chọn để cất vào ghi Trong ALU, giá trị góc Z tính cách cộng trừ giá trị Z với góc dư θ chọn từ bảng tra Mà góc θ tính lần xoay trước thơng qua LUT thấy Hình Kết ALU lặp lại lưu trữ ghi lần lặp dấu đưa thẳng ngõ tín hiệu oSignZ Mơ-đun SetRot Mơ-đun định lựa chọn góc cho lần lặp Dựa giá trị góc Z mà nhận được, Mơ-đun SetRot chọn góc để xoay Khi bắt đầu q trình lặp, Mơ-đun SetRot nhận giá trị góc Z Mơ-đun Z_Normalizer thơng qua tín hiệu NormZ Ngồi nhận giá trị tuyệt đối góc Z từ ALU trình lặp Tồn q trình lặp kết thúc tín hiệu cho biết Z khơng (Ze0) bật lên Và cuối cùng, Mô-đun Controller điều khiển hoạt động lặp RotSel quản lý tín hiệu điều khiển khác oValid, oStart, oEnd oWait Giả sử góc Z cần xoay nhiều lần để tính tốn Khi đó, tín hiệu oWait Mơ-đun RotSel bật lên để u cầu bên ngồi chờ, hai tín hiệu ngõ vào iValid iZ giữ nguyên trạng thái Tín hiệu oValid bật lên để đánh dấu phiên làm việc nhân TF Tín hiệu oStart oEnd bật lên clock đánh dấu bắt đầu kết thúc phiên tính tốn Tín hiệu oWait mức Mơđun kết thúc q trình chuyển đổi góc xoay Sau đó, chu kỳ kế tiếp, tín hiệu ngõ vào iValid iZ tắt chúng thấy tín hiệu oWait tắt phiên tính Z hồn tất Có trường hợp đặc biệt ngoại lệ góc ngõ vào Trong trường hợp này, giá trị oX oY ngõ giá trị X Y ngõ vào Vì thế, phiên tính tốn Z kéo dài clock Mơ-đun tính tổng X Y (FAdd_XY) Mơ-đun FAdd_XY cộng tích lũy hai số dấu chấm động X Y Số dấu chấm động 32-bit theo chuẩn IEEE-754 bao gồm thành phần: thành phần dấu (signed) 1-bit, thành phần số mũ (exponent) 8-bit thành phần giá trị (mantissa) 23-bit Có bước để thực thi cộng hai số dấu chấm động: cân số mũ, cộng trừ hai phần mantissa, chuẩn hóa kết ngõ Đầu tiên, số mũ hai số hạng phải so sánh với Số có số mũ nhỏ dịch phải để có số mũ giống với số mũ số lại Từ dẫn đến hai phần mantissa hai số hạng cộng trực tiếp với bước thứ hai Trong bước cuối cùng, kết cộng chuẩn hóa định dạng dấu chấm động IEEE-754 Trong kiến trúc này, Mô-đun FAdd_XY bỏ qua ước chuẩn hóa cuối Lý Mơ-đun FAdd_XY cần tính cộng tích lũy liệu Do đó, việc chuẩn hóa giải chuẩn hóa liệu liên tục khơng hợp lý Vì thế, phần chuẩn hóa ngõ bỏ qua Mơ-đun FAdd_XY để đơn giản hóa cho việc thiết kế Trang 191 Science & Technology Development, Vol 20, No.T4-2017 Xi, Yi2−i, Yi Xi2−i Hình Theo cơng thức cặp Xi, Yi2−i cặp Yi, Xi2−i cộng trừ với Việc cộng hay trừ phụ thuộc vào phần dấu sX sY , với dấu Z đến từ ngõ vào thơng qua tín hiệu iSignZ Kết phép tính qua Mơ-đun 2’s complement để lấy trị tuyệt đối Các cờ tràn Cout ALU với phần dấu đưa đến Mô-đun Control Sign để sinh dấu kết Phần exponent kết giá trị EMax Hai kết cuối X Y lưu trữ ghi cho lần lặp đưa bên ngồi thơng qua hai tín hiệu oX oY Ngoài ra, trường hợp đặc biệt, góc vào biết tín hiệu iStart iEnd bật lên đồng thời clock Khi đó, oX oY lấy trực tiếp liệu từ tín hiệu ngõ vào thay lấy từ hai ghi kết Mơ-đun tính tích ki (FMul_ki) Hình Sơ đồ khối Mơ-đun FAdd_XY Sơ đồ khối Mô-đun FAdd_XY thể Hình Thơng tin iRec_info cho biết góc góc phần tám vòng tròn lượng giác Hình Giá trị vào iX iY hốn đổi dựa vào giá trị iRec_info theo Bảng Sau đó, Mux chọn liệu từ ngõ vào liệu tương ứng từ ghi Dữ liệu chọn chia thành phần độc lập: phần dấu (sX sY), phần exponent (eX eY) phần mantissa (mX mY) mơ tả hình Phần exponent so sánh với để chọn số có exponent lớn EMax MMax giá trị exponent manissa số có số mũ lớn Tương tự, EMin MMin tương ứng exponent mantissa số có số mũ nhỏ Giá trị Edif hiệu EMax EMin Chức Mô-đun Right_Shifter dịch phải phần mantissa để cần giá trị số mũ hai số Mô-đun Right_Shifter cần thông tin Edif, iRot Edif +iRot với hai mantissa MMax MMin để tính giá trị Trang 192 Hình Sơ đồ khối Mơ-đun FMul_ki Kết ngõ Mô-đun RotSel, iRot truyền vào Mô-đun FMul_ki để tính giá trị K Mơ-đun FMul_ki thực việc nhân tích lũy giá trị K theo cơng thức thực thi song song với Mơ-đun FAdd_XY Hình mơ tả sơ đồ khối Mơ-đun FMul_ki Khi nhận 4-bit iRot, giá trị ki chọn từ bảng tra LUT để đưa vào nhân Khi đó, giá trị ki nhân với giá trị K để tạo hệ số K Hệ số K lưu trữ ghi truyền ngõ tín hiệu oK thấy Hình Khi bắt đầu, ghi lưu hệ số K khởi tạo với giá trị Bởi giá trị ki số dương nên sử dụng thiết kế nhân không dấu tốc độ cao kế thừa từ cơng trình trước [25] Hệ số K có giá trị từ 0,60725 đến Hệ TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 20, SỐ T4- 2017 số đạt giá trị nhỏ 0,60725 tất 16 giá trị nhân với Và trường hợp đặc biệt Z vào 00 Bởi giá trị hệ số K dao động khoảng cố định biết trước, nên Mô-đun FMul_ki xử lý phần giá trị K mà bỏ qua phần dấu phần mũ Mơ-đun tính hệ số K chuẩn hóa ngõ (FMulK_andNorm) Mơ-đun Left_Shifter dịch kết sang bên trái nhằm bỏ tất bit ‘0’ vô nghĩa đằng trước chuỗi bit Đồng thời, phần số mũ kết giảm lượng bit mà dịch trái Cuối cùng, phần exponent phần mantissa kết hoán đổi cho tương ứng Bảng dựa vào tín hiệu iRec_info, với iRec_info cho biết vị trí góc Z thuộc góc phần tám vòng tròn lượng giác Và cuối cùng, Mơ-đun Sign Recovery vào dấu hai tín hiệu ngõ vào với thông tin đến từ iRec_info để định dấu cho ngõ KẾT QUẢ THỰC NGHIỆM Hình Sơ đồ khối Mơ-đun FMulK_andNorm Mục đích Mô-đun FMulK_andNorm để nhân hai giá trị X Y đến từ Mô-đun FAdd_XY với hệ số K đến từ Mơ-đun FMul_ki, sau chuẩn hóa kết ngõ dạng 32-bit dấu chấm động IEEE-754 Hình cho thấy sơ đồ khối Mô-đun Bởi phép nhân khơng cần quy đồng hệ số mũ nên giá trị mantissa K nhân trực tiếp với phần mantissa hai giá trị vào X Y Việc thực thi nhân dựa vào nhân không dấu tốc độ cao kế thừa từ cơng trình trước nhóm [25] Kết nhân chuyển đến Mô-đun phát số đầu (Lead-One-Detector – LOD) để tìm vị trí bit ‘1’ nằm vị trí chuỗi số Dựa thơng tin từ Mô-đun LOD, Thiết kế nhân xây dựng kiểm tra chip FPGA Stratix IV Altera phân tích ASIC cơng nghệ SOTB 65nm Tài ngun sử dụng FPGA 7747 LUTs 625 ghi Tần số đạt FPGA 103,9 MHz Kết thực nghiệm phân tích ASIC so sánh với thiết kế khác trình bày Bảng Dựa Bảng 2, thiết kế AARCTF sử dụng 16.858 standard cells chiếm diện tích 86,718 µm2 Rõ ràng, thấy thiết kế đề xuất có thời gian trễ 6,024 ns, tức tương đương với tần số tối đa đạt 166 MHz so sánh với thiết kế khác sử dụng diện tích tương đương Tuy nhiên, lưu ý thiết kế AARC-TF kiến trúc dựa tảng CORDIC, AARC-TF tính trực tiếp nhân thiết kế khác sử dụng kiến trúc bảng tra LUT làm sở Mà kiến trúc bảng tra LUT tiêu tốn thêm tài nguyên nhớ để lưu trữ giá trị phép tính lượng giác trước đó, dẫn đến vấn đề bất lợi tính tốn FFT với số điểm lớn Vì vậy, kiến trúc AARC-TF hồn tồn thay cho phương pháp truyền thống giải tối ưu nhớ cho tính tốn hệ thống FFT có số điểm lớn Trang 193 Science & Technology Development, Vol 20, No.T4-2017 Bảng So sánh kết thực thi ASIC với thiết kế khác Công nghệ Kiến trúc TF 65 nm SOTB 45 nm 45 nm 45 nm AARC – TF Fused Butterfly với nhân Wallace [18] Fused Butterfly với MCM [18] Fused Butterfly với MMCM [18] Bảng cho biết thời gian độ xác nhân số phức thể qua hai thiết kế FPGA phân tích ASIC Bởi độ trễ kiến trúc dựa giá trị góc ngõ vào, nên để kiểm tra tốc độ thiết kế, 3600 góc ngõ vào khoảng từ 00 đến 359,90, với 0,10 bước nhảy sử dụng để kiểm nghiệm Kết thực nghiệm cho thấy kiến trúc cần 22.046 clock để tính cho tất 3.600 góc Vì vậy, trung bình 6.124 clock cho góc Như vậy, ứng với tần số tối đa thiết kế chip CORDIC-based Độ trễ (ns) 6,024 Standard cells 16.858 Diện tích (µm2) 86.718 Bulk LUT-based Bulk LUT- based Bulk LUT- based 4,65 4,08 4,34 N/A N/A N/A 116.886 97.302 101.312 FPGA tổng hợp ASIC 103,9 MHz 166 MHz, ta có tốc độ tương ứng 16,966 MSps 27,107 MSps Về độ xác, giá trị MSE thông số luôn cần thiết cho hệ thống xử lý tín hiệu số Tuy nhiên, thực thi dấu chấm động, tỉ lệ lỗi lớn cần thiết bên cạnh giá trị MSE Thiết kế đề xuất có độ xác 1,133E-10 MSE 25,894 ppm tỉ lệ lỗi tối đa thấy Bảng Bảng Độ xác thời gian trễ Độ trễ trung bình Stratix IV SOTB 65nm 6,124 Tốc độ trung bình (MSps) 16,966 27,107 Độ xác Tỉ lệ lỗi tối đa (ppm) 1,133E – 10 25,894 KẾT LUẬN Bài báo đề xuất kiến trúc tính trực tiếp nhân số phức dấu chấm động sử dụng thuật toán AARC Thiết kế thực thi chip FPGA Stratix IV Altera tổng hợp ASIC công nghệ SOTB 65 nm với liệu dấu chấm động có độ xác đơn Kết thực nghiệm cho thấy, nhân có độ xác cao với 1,133E-10 MSE 25,894 ppm tỉ lệ lỗi tối đa Tần số đạt 103,9 MHz chip FPGA 166 MHz tổng hợp ASIC Với độ trễ trung bình 6.124 clock góc xoay, tốc độ thực thi đạt chip FPGA tổng hợp ASIC 16,966 MSps 27,107 MSps Tài nguyên sử dụng thiết kế tương đối nhỏ Cụ thể, chip FPGA sử dụng 7.747 LUTs 625 ghi tổng hợp ASIC sử dụng 16.858 Trang 194 standard cells diện tích 86,718 µm2 Kết luận, thiết kế nhân trực tiếp sử dụng kiến trúc AARC-TF khắc phục vấn đề nhớ hệ thống FFT có số điểm lớn Vì thế, đề xuất TF sử dụng cho thực thi FFT số điểm lớn dấu chấm động tốc độ cao Lời cảm ơn: Bài báo kết hợp tác nghiên cứu Phòng Thí Nghiệm DESLAB, Khoa Điện tử–Viễn thông, Trường Đại học Khoa học Tự nhiên–ĐHQG-HCM Phòng Thí Nghiệm VLSI, Trường Đại Học Điện tử - Truyền thông (University of Electro-Communications - UEC), Tokyo, Nhật Bản Nghiên cứu tài trợ Đại học Quốc gia Thành phố Hồ Chí Minh (ĐHQG - HCM) khn khổ Đề tài mã số B2017-18-05 TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 20, SỐ T4- 2017 An efficient floating-point FFT twiddle factor implementation based on adaptive angle recoding CORDIC algorithm • • • • Vo Thi Phuong Thao Truong Thi Nhu Quynh Hoang Trong Thuc Le Duc Hung University of Science, VNU-HCM ABSTRACT In this paper, a single-precision floatingpoint FFT twiddle factor (TF) implementation is proposed The architecture is based on the Adaptive Angle Recoding CORDIC (AARC) algorithm The TF design was built and verified on Altera Stratix IV FPGA chip and 65nm SOTB synthesis The FPGA implementation had 103.9 MHz maximum frequency, throughput result of 16.966 Mega-Sample per second (MSps), and resources utilization of 7.747 ALUTs and 625 registers On the other hand, the SOTB synthesis has 16.858 standard cells on an area of 298x291 µm2, 166 MHz maximum frequency, and the speed of 27.107 MSps The accuracy results were 1.133E-10 Mean-Square-Error (MSE) and about 26 part-per-million (ppm) maximum error Keywords: floating-point FFT Twiddle Factor , FFT, AARC CORDIC TÀI LIỆU THAM KHẢO [1] J.W Cooley, J.W Tukey, An algorithm for the machine calculation of complex Fourier series, Mathematics of Computation, 19, 297–301 (1965) [2] J.G Andrews, A Ghosh, R Muhamed, Fundamentals of WiMAX: Understanding Broadband Wireless Networking, Prentice Hall Communications Engineering and Emerging Technologies Series (2007) [3] E Dahlman, 3G Evolution: HSPA and LTE for Mobile Broadband, Academic Press (2008) [4] A.F Molisch, X Zhang, FFT-based hybrid antenna selection schemes for spatially correlated MIMO channels, IEEE Communications Letters, 8, 1, 36–38 (2004) [5] Y Tang, B Vucetic, The FFT-based multiuser detection for DSCDMA ultra wideband communication systems, in Ultra Wideband Systems Joint with Conf on [6] [7] [8] [9] Ultrawideband Systems and Technologies, Kyoto, Japan, 111–115 (2004) V Arunachalam, A.N.J Raj, Efficient VLSI Implementation of FFT for orthogonal frequency division multiplexing applications, IET Circuits, Devices & Systems, 8, 6, 526 – 531 (2014) C.F Gerald, P.O Wheatley, Applied Numerical Analysis, 7th ed Addison Wesley (2003) A Cortes, I Velez, I Zalbide, A Irizar, J Sevillano, An FFT Core for DVB-T/DVB-H Receivers, in IEEE 13th Int Conf on Electronics, Circuits and Systems, Nice, France, 102–105 (2006) C Lin, Y Yu, L Van, A Low-power 64point FFT/IFFT Design for IEEE 802.11g WLAN Application, in Proc of Int Symp on Circuits and Systems, 4523–4526 (2006) Trang 195 Science & Technology Development, Vol 20, No.T4-2017 [10] C Le, S Chan, F Cheng, W Fang, M Frischman, S Hensley, R Johnson, M Jourdan, M Marina, B Parham, F Rogez, P Rosen, B Shah, S Taft, Onboard FPGA-based SAR Processing for Future Spaceborne Systems, in Proc of the IEEE Radar Conf., 15–20 (2004) [11] J Li, M.V Sarunic, L Shannon, Scalable, High Performance Fourier Domain Optical Coherence Tomography: Why FPGAs and not GPGPUs, in IEEE 19th Annual Int Symp on Field-Programmable Custom Computing Machines (FCCM), 49–56 (2011) [12] E.E Swartzlander, Systolic FFT Processor: Past, Present and Future, in Proc of 2006 Int Conf on Application Specific Systems, Steamboat Springs, 153–158 (2006) [13] R Radhouane, P Liu, C Modlin, Minimizing the Memory Requirement for Continuous Flow FFT Implementation: Continuous Flow Mixed Mode FFT (CFMM – FFT), in IEEE Int Symp on Circuits and Systems (ISCAS 2000), I–116 I–119 (2000) [14] J Zhou, Y Dong, Y Dou, Y Lei, Dynamic Configurable FloatingPoint FFT Pipelines and Hybrid-Mode CORDIC on FPGA, in 2008 Int Conf on Embedded Software and Systems (ICESS’08), 616–620 (2008) [15] E Oruklu, X Xiao, J Saniie, Reduced memory and low power architecture for CORDIC-based FFT processors, Journal of Signal Processing Systems, 2, 66, 129–134 (2011) [16] V Montano, M Jiménez, Design and Implementation of a Scalable ˜ Floatingpoint FFT IP Core for Xilinx FPGAs, in 53rd IEEE Int Midwest Symp on Circuits and Systems, 533–536 (2010) [17] S Mou, X Yang, Research on the RAW Dependency in Floatingpoint FFT Processors, in 8th ACIS Int Conf on Software Engineering, Artificial Intelligence, Trang 196 Networking, and Parallel Distributed Computing, Qingdao, China, pp 88 – 92 (2007) [18] J.H Min, S.W Kim, E.E Swartzlander Jr., A FloatingPoint Fused FFT Butterfly Arithmetic Unit with Merged MultipleConstant Multipliers, in 2011 Conf Record of the 45th Asilomar Conf on Signals, Systems and Computers (ASILOMAR), 520 – 524 (2011) [19] H.Y Lee, I.C Park, Balanced binary-tree decomposition for areaefficient pipelined FFT Processing, IEEE Trans on Circuits and Systems I: Regular Papers, 54, 4, 889 – 900 (2007) [20] X Xiao, E Oruklu, J Saniie, An Efficient FFT Engine with Reduced Addressing Logic, IEEE Trans on Circuits and Systems II: Express Briefs, 55, 11, 1149–1153 (2008) [21] Y.H Hu, S Naganathan, An angle recoding method for CORDIC algorithm implementation, IEEE Trans on Computer, 42, 1, 99–102 (1993) [22] P.K Meher, S.Y Park, CORDIC designs for fixed angle of rotation, IEEE Trans on VLSI System, 21, 2, 217–228 (2013) [23] S Aggarwal, P.K Meher, K Khare, Scale free hyperbolic CORDIC processor and its application to waveform generation, IEEE Trans on Circuits and Systems-I: Regular Papers, 60, 2, 314–326 (2013) [24] N.H Thu, N.X Thuan, H.T Thuc, L.Đ Hung, P.C Kha, A low-resource low-latency hybrid adaptive CORDIC with floating-point precision, IEICE Electronics Express (ELEX), 12, 9, 20150258 (2015) [25] L.X Vy, H.T Thuc, B.T Tu, D.D.A Vu, A High-speed Unsigned 32-bit Multiplier Based on Booth-encoder and Wallace-tree Modifications, in The 2014 IEEE Int Conf on Advanced Technologies for Communications (ATC’14), 739–744 (2011) ... thích hợp cho thiết kế nhân dấu chấm động phép cộng dấu chấm động khơng đơn giản Mạch nhân dựa CORDIC truyền thống FFT dấu chấm động tốn nhiều tài nguyên tốc độ thấp Để khắc phục tình trạng trên, ... [24] dựa liệu dấu chấm động có độ xác đơn Thuật toán AARC chứng minh thực nghi m tốn tài nguyên, độ trễ thấp xác cao [24] Dựa thuật toán AARC, thiết kế nhân ROMfree đề xuất báo Bộ nhân dựa AARC... trúc tính trực tiếp nhân số phức dấu chấm động sử dụng thuật toán AARC Thiết kế thực thi chip FPGA Stratix IV Altera tổng hợp ASIC công nghệ SOTB 65 nm với liệu dấu chấm động có độ xác đơn Kết thực

Ngày đăng: 11/02/2020, 16:37

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan