Bài báo này trình bày phương pháp chênh lệch trong xấp xỉ và hiện thực hóa một số hàm phức tạp cho các hệ thống xử lý tín hiệu số. Việc sử dụng hàm xấp xỉ tuyến tính phân đoạn, kết hợp với phương pháp chênh lệch và tối ưu hóa tham số thiết kế cho phép hiện thực hóa phần cứng các hàm phức tạp này với hiệu quả sử dụng tài nguyên phần cứng cao. Mời các bạn cùng tham khảo!
Trang 1Phương Pháp Chênh Lệch Trong Hiện Thực Hóa Các Hàm Phức Tạp Trên ASIC Cho Các Hệ Thống DSP
Sái Văn Thuận, Hoàng Văn Phúc và Trần Văn Khẩn Khoa Vô tuyến Điện tử, Trường Đại học Kỹ thuật Lê Quý Đôn
Số 236 Hoàng Quốc Việt, Hà Nội, Việt Nam
Email: saivanthuan@gmail.com, phuchv@mta.edu.vn, khantv@mta.edu.vn
Tóm tắt—Bài báo này trình bày phương pháp chênh lệch trong
xấp xỉ và hiện thực hóa một số hàm phức tạp cho các hệ thống xử
lý tín hiệu số Việc sử dụng hàm xấp xỉ tuyến tính phân đoạn, kết
hợp với phương pháp chênh lệch và tối ưu hóa tham số thiết kế
cho phép hiện thực hóa phần cứng các hàm phức tạp này với hiệu
quả sử dụng tài nguyên phần cứng cao Các kết quả tối ưu hóa và
hiện thực hóa trên các nền tảng FPGA và ASIC cũng được trình
bày và thảo luận trong bài báo này
Từ khóa- DSP; phương pháp chênh lệch; FPGA; ASIC
I. GIỚI THIỆU Nhiều ứng dụng xử lý tín hiệu số (DSP) (như nhận dạng
tiếng nói, xử lý multimedia, xử lý ảnh dải động lớn, tổ hợp tần
số theo phương pháp số…) đòi hỏi việc tính toán các hàm toán
học phức tạp như logarithm, mũ, các hàm lượng giác Hơn
nữa, trong các hệ thống DSP thời gian thực, việc thực hiện các
hàm này trực tiếp bằng phần cứng có ý nghĩa hết sức quan
trọng nhằm đảm bảo tốc độ xử lý cao, đáp ứng yêu cầu xử lý
thời gian thực Tuy nhiên, việc hiện thực hóa trực tiếp trên
phần cứng lại thường làm cho độ phức tạp về phần cứng của hệ
thống tăng lên đáng kể so với phương pháp xử lý bằng phần
mềm Vì vậy, việc nghiên cứu, phát triển các phương pháp thực
thi các hàm toán học này rất có ý nghĩa nhằm đáp ứng yêu cầu
ngày càng cao của các hệ thống DSP
Bài báo này trình bày phương pháp chênh lệch (difference
method) để hiện thực hóa các hàm toán học trong các hệ thống
DSP nhằm đáp ứng yêu cầu về hiệu quả sử dụng tài nguyên
phần cứng và tốc độ xử lý Hơn nữa, bài báo cũng chỉ ra những
hướng phát triển tiếp theo đối với chủ đề này
Phần còn lại của bài báo được bố cục như sau Phần II sẽ
giới thiệu sơ lược về phương pháp chênh lệch trong xấp xỉ các
hàm toán học trong DSP Phần III mô tả chi tiết hơn về việc
ứng dụng phương pháp này trong xấp xỉ một số hàm cụ thể bao
gồm hàm logarithm, hàm mũ và hàm sine Trong phần IV,
nhóm tác giả đề xuất qui trình tổng quát để thiết kế các hàm
toán học ứng dụng trong các hệ thống DSP Cuối cùng, phần V
là phần kết luận của bài báo
II. PHƯƠNG PHÁP CHÊNH LỆCH TRONG XẤP XỈ
HÀM TOÁN HỌC PHỨC TẠP
Phương pháp chênh lệch sử dụng một hàm xấp xỉ đơn giản
ban đầu D(x) nhằm giảm độ phức tạp phần cứng và một bảng
tra (LUT: Look-up Table) thể hiện độ chênh lệch (Difference)
giữa hàm cần tính toán F(x) với hàm D(x), như được mô tả
trong hình 1 Một bộ cộng được sử dụng để kết hợp hai phần
này để tính toán xấp xỉ phần cứng cho hàm F(x)
F(x) - D(x)
(LUT)
D(x)
+
Hình 1 Sơ đồ khối tổng quát của phương pháp chênh lệch
Như vậy, việc thiết kế phần cứng tính toán hàm F(x) bao gồm hai phần việc là tìm ra một hàm xấp xỉ D(x) đơn giản nhất
về phương diện thực thi trên phần cứng và thiết kế (cũng như là tối ưu) một bảng tra (LUT) hiệu quả nhất Các thuật toán tối ưu thiết kế thường được đưa ra để đạt được sự dung hòa tốt nhất
về mức độ phức tạp (và tốc độ xử lý) giữa khối tính hàm D(x)
và phần LUT D(x) có thể là một hàm (hay tổng của nhiều
hàm) bậc nhất (gọi là phương pháp chênh lệch tuyến tính), hay
là một hàm bậc cao hơn (gọi là phương pháp chênh lệch bậc cao)
Trong phương pháp chênh lệch tuyến tính, hàm D(x) là một
hàm hoặc là kết hợp của nhiều đường tuyến tính phân đoạn Đây là phương pháp hay được sử dụng nhiều trong các nghiên cứu gần đây do ưu điểm của các hàm tuyến tính là việc thực thi trên phần cứng đơn giản Trong khi đó, các phương pháp chênh
lệch bậc cao sử dụng các hàm D(x) bậc hai hoặc cao hơn và các
hàm này cho phép thực hiện xấp xỉ với sai số thấp hơn (khi đó giá trị hàm chênh lệch nhỏ hơn, dẫn tới kích thước bảng LUT cũng nhỏ theo) nhưng lại làm tăng độ phức tạp phần cứng cho
việc tính các hàm bậc cao này Việc lựa chọn hàm D(x) tùy
thuộc vào yêu cầu của ứng dụng DSP cụ thể
III. ỨNG DỤNG PHƯƠNG PHÁP CHÊNH LỆCH THỰC HIỆN XẤP XỈ MỘT SỐ HÀM PHỨC TẠP TRONG DSP Trong bài báo này, chúng tôi tập trung trình bày phương pháp xấp xỉ hóa các hàm logarithm (cùng với hàm mũ) và hàm sine (ứng dụng trong các tổ hợp tần số trực tiếp) sử dụng phương pháp chênh lệch tuyến tính Tuy nhiên, phương pháp trình bày ở đây có thể được áp dụng cho các hàm khác trong
ISBN: 978-604-67-0635-9
Trang 2DSP Hơn nữa, việc thực thi trên phần cứng đòi hỏi người
thiết kế phải xem xét các vấn đề về hiệu quả sử dụng tài
nguyên phần cứng, tốc độ và sai số của phép xấp xỉ
A Tính toán hàm logarithm và hàm mũ bằng phương pháp
chênh lệch tuyến tính cận đối xứng
Việc thực thi tính toán hiệu quả cho các hàm logarithm và
hàm mũ là đặc biệt quan trọng và cần thiết đối với các ứng
dụng như nhận dạng tiếng nói, nâng cao chất lượng tiếng nói
và đặc biệt là trong các bộ xử lý sử dụng hệ cơ số lai (HNS:
hybrid number system) để khai thác ưu điểm của cả hai loại cơ
số đếm tuyến tính thông thường và hệ cơ số logarithm [1] Các
bộ xử lý HNS này đã cho thấy hiệu quả về xử lý, đặc biệt là về
công suất tiêu thụ, trong các ứng dụng xử lý tín hiệu số, xử lý
ảnh và video [2] Hình 2 cho thấy phân bố tài nguyên tiêu tốn
cho một bộ xử lý HNS điển hình [1] trong đó các khối tính
toán logarithm (LOGC: logarithmic converter) và hàm ngược
của logarithm (ALOGC: anti-logarithmic converter) hay hàm
mũ chiếm tới 64% tổng lượng tài nguyên sử dụng của toàn bộ
xử lý Vì vậy, việc nâng cao hiệu quả thực thi các bộ biến đổi
này sẽ cải thiện đáng kể hiệu năng, hiệu quả sử dụng tài
nguyên và công suất tiêu thụ của các bộ xử lý này
Hình 2 Phân bố tài nguyên phần cứng cho bộ xử lý HNS
Không mất tính tổng quát, ta xét một số nguyên không dấu
N và số này luôn có thể được biểu diễn dưới dạng:
2 1n
với 0 ≤ x < 1
Vì vậy, hàm log2(.) có thể được tính như sau:
Giá trị n là phần nguyên của kết quả (4-bit với trường hợp
N dạng 16-bit), được tính bằng cách phát hiện bit 1 có trọng số
cao nhất của N Giá trị của n là dạng mã hoá nhị phân của vị trí
bit 1 có trọng số cao nhất của N (ví dụ nếu vị trí bit này bằng
13 thì n = 1101)
Với phương pháp xấp xỉ đơn giản (theo Mitchell), phần
thập phân log2(1+x) được xấp xỉ bậc nhất:
2
log 1 x |x (3)
Để tăng độ chính xác người ta có thể dùng một bảng tra
(LUT) để bù lỗi do phép xấp xỉ đơn giản ở trên Bảng LUT này
chứa giá trị làm tròn của độ sai lệch giữa giá trị thật và giá trị
xấp xỉ:
2 ( ) log 1
L
E x x x (4) Tương tự như vậy, việc xấp xỉ hàm mũ được thực hiện bởi phép xấp xỉ sau:
Và hàm lỗi của nó được xác định như sau:
A
Hình 3 mô tả hàm lỗi Mitchel (Mitchel error) cho hàm logarithm (E L ) và hàm mũ (E A) Có thể thấy rằng đồ thị của hai hàm lỗi này có dạng giống nhau Vì thế, trong bài báo này, nhóm tác giả tập trung vào trình bày phương pháp xấp xỉ cho hàm logarithm và phương pháp đó cũng được áp dụng tương
tự cho hàm mũ
Từ đó, sơ đồ khối của mạch tính toán logarithm có thể được
tổ chức như trong hình 4 trong đó khối LODE (Leading one detector and encoder) thực hiện chức năng phát hiện bit 1 có trọng số cao nhất của N và mã hoá nhị phân để tính n, khối INV và bộ dịch nối tiếp (Barrel shifter) có nhiệm vụ tính phần thập phân (x) cho phần tính hàm xấp xỉ (để tính log2(1+x))
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0
0.02 0.04 0.06 0.08 0.1
x
Hình 3 Hàm lỗi Mitchell khi xấp xỉ hàm logarithm và hàm mũ
LODE
N
INV Barrel Shifter log 2(1+x)
k l
k
l
n
F
z
x
Hình 4 Sơ đồ khối tổng quát của mạch phần cứng thực hiện tính hàm
logarithm
Hình 5 mô tả một phương pháp xấp xỉ hàm E Lđiển hình sử dụng bốn đường gấp khúc như được đề xuất trong bài báo [6] Trong [7], nhóm tác giả đã đưa ra phương pháp cận đối xứng
(quasi-symmetrical method) để thực hiện xấp xỉ hàm logarithm
và hàm mũ bằng cách thay cho việc xấp xỉ trực tiếp hàm lỗi (E L
hay E A ) thì chúng ta có thể xấp xỉ hàm trung bình E M theo công
thức (7) Do E M có dạng đối xứng như thể hiện trên hình 6, số đoạn của hàm xấp xỉ giảm đi một nửa, giúp giảm độ phức tạp phần cứng của mạch tính xấp xỉ hàm logarithm
( )
2
M
Trang 3
Để khắc phục nhược điểm của các phương pháp trước đây,
trong bài báo [7], một thuật toán tối ưu tham số cho mạch tính
xấp xỉ hàm logarithm và hàm mũ đã được đề xuất trong đó các
hệ số góc (slope trong công thức tổng quát (8) của một đường
bậc nhất tổng quát) được chọn theo giá trị dạng 2iđể phép nhân
này được thực thi bởi một phép dịch đơn giản
Hình 7 mô tả thuật toán tối ưu này cho xấp xỉ cận đối xứng
hai đoạn cho một nửa dải giá trị của x, bao gồm hai bước Tại
bước 1 (step 1), thuật toán này sẽ quét một dải các giá trị hệ số
góc của hàm xấp xỉ bậc nhất để chọn giá trị tối ưu cho nó Sau
đó, bước 2 (step 2) sẽ gán lại giá trị hệ số góc này tới giá trị
dạng 2i lân cận và quét một dải giá trị để chọn ra giá trị tối ưu
của độ dịch (offset trong công thức (8)) Giá trị độ dịch được
xác định tương ứng với mỗi giá trị peak_point (hình 7) chính là
tọa độ trục tung của điểm x = 0,5 Ứng với một cặp giá trị tham
số tìm được, ta có một hàm xấp xỉ tiềm năng (candidate, như kí
hiệu trong hình 7) Bảng I thể hiện kết quả của thuật toán tối ưu
hóa này, áp dụng cho cả trường hợp hàm logarithm (LOGC) và
hàm mũ (ALOGC) trong đó MaxDiff thể hiện giá trị cực đại
của hàm chênh lệch và giá trị này sẽ quyết định kích thước của
bảng LUT Bảng II trình bày kết quả hiện thực hóa của phương
pháp này, có so sánh với phương pháp không có tối ưu tham số
trong [6] Kết quả cho thấy, việc áp dụng thuật toán tối ưu tham
số ở trên giúp giảm lượng tài nguyên sử dụng (thể hiện thông
qua diện tích chip ASIC sử dụng) đi 19% so với phương pháp
không có tối ưu tham số Giá trị này đối với độ trễ và ADP
(tích của lượng tài nguyên với độ trễ) lần lượt là 22% và 37%
Hình 8 mô tả kết quả tính toán lỗi xấp xỉ của phương pháp cận
đối xứng trên Matlab Kết quả cho thấy giá trị lỗi trung bình là
2,3×10-4 và lỗi cực đại là 8,0×10-4, tương đương với phương
pháp trong [6]
Hình 9 trình bày qui trình kiểm chứng (verification) các lõi
IP thực hiện tính toán hàm phức tạp ứng dụng trong DSP Các
mẫu hình (pattern) đầu vào được tạo ra trên FPGA, đưa tới
mạch kiểm tra của chip ASIC Kết quả thực hiện trên lõi IP sẽ
được đưa tới máy hiện sóng (oscilloscope) để kiểm tra một số
tham số định thời (timing) như độ trễ tính toán chẳng hạn và bộ
phân tích logic (logic analyzer) để kiểm tra chức năng, có thể
kết hợp với phần mềm Matlab trên máy tính thông qua file đầu
ra dạng csv của bộ phân tích logic
x
E L
Hàm xấp xỉ Giá trị chênh lệch 0
0.02
0.04
0.06
0.08
Hình 5 Hàm xấp xỉ E L theo [6]
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -0.01 0
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
x
E L (x)
E L (1-x)
E M (x) (E M -E L )(x)
Hình 6 Phương pháp cận đối xứng đề xuất trong xấp xỉ hàm E L
cho tính toán hàm logarithm trên phần cứng
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 -0.01
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
x
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 -0.01
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
x
Candidate Candidate
Offset1 L
Offset1 H
Peak_point L
Peak_point H
Hình 7 Thuật toán tối ưu hóa tham số phần cứng xấp xỉ hàm
logarithm
BẢNG I KẾT QUẢ TỐI ƯU THEO THUẬT TOÁN HAI BƯỚC
Hàm Bước Slope1 Offset1 Slope2 Offset2 MaxDiff
0,0089 (1/112)
0,0072 (1/139)
BẢNG II. KẾT QUẢ THỰC HIỆN BỘ TÍNH LOGARITHM 16-BIT TRÊN
THƯ VIỆN ASIC CÔNG NGHỆ CMOS 0,18μM
Phương pháp (×10 Diện tích 3 μm 2 ) Độ trễ (ns) ADP (×10 3 )
B Tính toán hàm sine ứng dụng trong các bộ tổ hợp tần số trực tiếp dạng số (DDFS)
Trong các bộ tổ hợp tần số trực tiếp (DDFS: direct digital frequency synthesizer) [10], việc tính toán (xấp xỉ) hàm sine
có vai trò hết sức quan trọng vì nó quyết định độ chính xác và chất lượng của tín hiệu được tạo ra bởi bộ tổ hợp tần số này Như được chỉ ra trong hình 10, khối tính toán hàm sine được
sử dụng trong bộ biến đổi pha-biên độ của DDFS và có nhiệm
vụ là tính giá trị hàm sine ứng với mỗi giá trị pha đầu vào
Trang 4
Hình 8 Kết quả mô phỏng trên Matlab giá trị lỗi khi xấp xỉ hàm
logarithm E L (x) dùng phương pháp cận đối xứng
Bộ tạo đầu vào
dạng số (FPGA)
Bộ phân tích logic
Bảng mạch
Chip
Matlab (PC) csv file
Kết quả về định thời Oscilloscope
Kết quả kiểm tra
Hình 9 Qui trình kiểm chứng các lõi IP tính toán hàm phức tạp
trong DSP
Trong phương pháp chệnh lệch tuyến thực hiện xấp xỉ hàm
sine, giá trị pha trong góc ¼ thứ nhất của một chu kì hình sine
(ứng với giá trị góc pha 0-π/2 rad) được chia thành một số
khoảng trên đó hàm sine được xấp xỉ bởi một đường bậc nhất
Bằng việc lựa chọn tối ưu tham số của hàm xấp xỉ bậc nhất
phân đoạn với số lượng đoạn khác nhau, thông qua thuật toán
tối ưu để cực tiểu hóa giá trị cực đại của hàm chênh lệch, Max
(Sine-f(D)) trong đó f(D) là hàm xấp xỉ bậc nhất, như mô tả
trong bảng III, kích thước LUT có thể được giảm xuống giúp
giảm độ phức tạp phần cứng Ở đây, số đoạn được lựa chọn là
4 vì khi tăng số đoạn lên 5, số lượng bit trong mỗi từ nhớ lưu
trữ trong LUT không thay đổi như thể hiện trong bảng III này
Hình 11 cho thấy giá trị tối đa của hàm chênh lệch, Max
(Sine-f(D)), của phương pháp đề xuất trong [10] của nhóm tác giả,
với 4 đoạn tuyến tính, so sánh với phương pháp dùng 3 đoạn
tuyến tính trong [9] Hình 12 thì thể hiện sơ đồ khối của mạch
tính toán hình sine trong bộ DDFS từ giá trị pha đầu vào (P)
Khối so sánh và lựa chọn sẽ thực hiện so sánh giá trị P với các
hằng số định trước để lựa chọn tham số hàm tuyến tính (ứng
với mỗi khoảng chia của giá trị P) Mạch shift-add logic thực
hiện chức năng tính toán hàm bậc tuyến tính (bậc nhất) ứng
với tham số đã chọn sử dụng các mạch dịch (shift) và cộng
(add) Bảng LUT lưu sẵn giá trị hàm chênh lệch và bộ cộng
cuối cùng sẽ tạo ra giá trị sine cần tính
Kết quả thực thi ban đầu trên FPGA [10] đã cho thấy ưu điểm của phương pháp chênh lệch khi hiện thực hóa hàm sine ứng dụng trong DDFS, như được mô tả trong bảng IV Trong bài báo này, thiết kế DDFS sử dụng phương pháp chênh lệch tuyến tính tối ưu được tổng hợp trên thư viện ASIC công suất thấp công nghệ CMOS 65nm nhằm hướng tới ứng dụng cho
các thiết bị di động và có thể mang mặc (wearable devices)
Kết quả hiện thực hóa trên ASIC, như thể hiện trong bảng V, cho thấy bộ DDFS cho phép tiết kiệm tài nguyên sử dụng (khoảng 2,1 kgate) và công suất tiêu thụ với tần số hoạt động phù hợp với những ứng dụng phổ biến
Bù pha
Tích lũy pha pha-biên độ Biến đổi biên độ Bù
N N-2
Tới DAC
M
Hình 10 Khối tính hàm sine trong bộ DDFS
BẢNG III THAM SỐ THIẾT KẾ MẠCH XẤP XỈ THEO PHƯƠNG PHÁP CHÊNH LỆCH TUYẾN TÍNH VỚI SỐ LƯỢNG ĐOẠN KHÁC NHAU
Số đoạn Max (Sine-f(D)) Số bit giảm được trong LUT
Đường 4 đoạn Đường 3 đoạn
Pha chuẩn hóa cho góc ¼ thứ nhất
Hình 11 Hàm chênh lệch khi xấp xỉ bằng các đường tuyến tính
LUT
Shift-Add Logic
P
So sánh và lựa chọn
Hình 12 Sơ đồ khối chi tiết mạch tính hàm sine sử dụng phương
pháp chênh lệch, ứng dụng cho bộ DDFS
Trang 5
Hình 13 thể hiện netlist và layout của thiết kế bộ DDFS sử
dụng khối tính toán hàm sine áp dụng phương pháp chênh lệch
tuyến tính 4 đoạn với tham số tối ưu như trên, sử dụng thư
viện ASIC công nghệ CMOS 65nm Bảng V trình bày kết quả
hiện thực hóa thiết kế DDFS này trong đó công suất tiêu thụ
ước lượng của bộ DDFS chỉ khoảng 40μW, cho phép ứng
dụng trong các hệ thống DSP và hệ thống viễn thông thế hệ
mới cũng như các thiết bị IoT (Internet of things) đòi hỏi hiệu
quả sử dụng năng lượng cao
BẢNG IV KẾT QUẢ THỰC THI BỘ DDFS TRÊN FPGA THEO CÁC
PHƯƠNG PHÁP KHÁC NHAU
Phương pháp Chênh lệch
Sine-phase
Chênh lệch tuyến tính 3 đoạn [9]
Chênh lệch tuyến tính 4 đoạn [10]
Kích thước bảng LUT
Số lượng slices FPGA
BẢNG V. KẾT QUẢ HIỆN THỰC HÓA BỘ DDFS TRÊN THƯ VIỆN
ASIC CÔNG NGHỆ CMOS 65NM
Diện tích mạch (Area) của phần cell chuẩn 72,7×10 3 μm 2
Công suất tiêu thụ
(ước lượng tại tần số clock 100 MHz) 40 μW
(a)
(b)
Hình 13 Netlist sau khi tổng hợp trên công cụ Synopsys Design
Compiler (a) và layout của vi mạch sử dụng công cụ Synopsys IC
Compiler (b) cho thiết kế bộ DDFS với thư viện ASIC công nghệ
CMOS 65nm
IV. QUI TRÌNH THIẾT KẾ CÁC HÀM PHỨC TẠP
TRONG DSP Hình 14 mô tả đề xuất một qui trình thiết kế tổng quát thực hiện xấp xỉ hóa các hàm phức tạp trong DSP sử dụng thư viện lõi IP cứng tính toán các hàm phức tạp cho các hệ thống DSP theo phương pháp chênh lệch và thuật toán tối ưu tham số thiết kế như đã trình bày ở trên Bằng việc sử dụng một thư viện tạo ra các lõi IP tối ưu cùng với công cụ tự động sinh mã nguồn mô tả phần cứng (HDL) cho các hàm này, việc thực thi các phép tính toán này sẽ được tăng tốc với lượng tài nguyên phần cứng phát sinh là tối thiểu Một công cụ phần mềm hỗ trợ thiết kế tự động được phát triển để tạo ra mô tả HDL của các khối tính toán các hàm phức tạp trên DSP, cùng với các chỉ tiêu kỹ thuật của hệ thống cho phép xuất ra mô tả HDL cho toàn hệ thống Từ mô tả HDL này, lõi IP có thể được sử dụng để cấu hình cho thiết bị khả trình FPGA hay hiện thực hóa trên thư viện chuẩn ASIC
Chỉ tiêu kỹ thuật của hệ thống
Mô tả HDL
Lõi IP (dạng thư viện thiết kế)
Cấu hình trên FPGA Thực thi trên ASIC
Công cụ tự động thiết kế
Hình 14 Qui trình thiết kế các hệ thống DSP sử dụng thư viện các lõi
IP hàm toán học trên FPGA và ASIC
V. KẾT LUẬN Trong bài báo này, chúng tôi đã trình bày phương pháp chênh lệch trong thực hiện xấp xỉ các hàm phức tạp ứng dụng trong DSP Việc sử dụng phương pháp này, kết hợp với các thuật toán tối ưu tham số thiết kế sẽ giúp tạo ra các lõi phần cứng xấp xỉ các hàm phức tạp một cách hiệu quả và độ chính xác cao Trong các nghiên cứu tiếp theo, chúng tôi sẽ áp dụng các khối tính toán hàm toán học đã được trình bày trong bài báo này vào các hệ thống DSP trong thực tế (như xử lý tiếng nói, xử lý ảnh dải động cao HDR), phát triển bộ xử lý HNS cho các ứng dụng DSP tiêu thụ điện năng thấp và xây dựng thư viện các lõi IP các hàm phức tạp cho các hệ thống DSP
LỜI CẢM ƠN Nhóm tác giả xin chân thành cảm ơn Trung tâm Đào tạo thiết kế VLSI (VDEC) thuộc Đại học Tokyo, Nhật Bản, cùng với các hãng Synopsys Inc và ROHM CO LTD, đã hỗ trợ các công cụ hỗ trợ thiết kế, chế tạo vi mạch cho nội dung nghiên cứu trong bài báo này
Trang 6
TÀI LIỆU THAM KHẢO
[1] Byeong-Gyu Nam, Hyejung Kim and Hoi-Jun Yoo, “A low-power
unified arithmetic unit for programmable handheld 3-D graphics
systems,” IEEE J Solid-State Circuits, vol 42, no 8, pp.1767-1778,
Aug 2007
[2] Tsung-Ching Lin, Shin-Kai Chen, Chih-Wei Liu, “A low-error and
Rom-free logarithmic arithmetic unit for embedded 3D graphics
applications,” Proc 2013 International Symposium on VLSI Design,
Automation, and Test (VLSI-DAT), pp.1-4, Apr 2013
[3] Jérémie Detrey and Florent de Dinechin, “A VHDL library of LNS
operators,” in Proc 37th Asilomar Conference on Signals, Systems &
Computers, vol 2, pp 2227-2231, Nov 2003
[4] Florent de Dinechin and Arnaud Tisserand, “Multipartite table
methods,” IEEE Trans Comput., vol 54, no 3, pp 319-330, Mar 2005
[5] J N Mitchell, “Computer multiplication and division using binary
logarithms,” IEEE Trans Electron Comput., vol 11, no.11, pp 512-517,
Aug 1962
[6] R Gutierrez and J Valls, “Low cost hardware implementation of
logarithm approximation,” IEEE Trans Very Large Scale Integr (VLSI)
Syst., vol 19, no 12, pp 2326-2330, Dec 2011
[7] Van-Phuc Hoang and Cong-Kha Pham, “Novel Quasi-Symmetrical Approach for Efficient Logarithmic and Anti-logarithmic Converters,”
Proc VDE-IEEE 8th Conference on Ph.D Research in Microelectronics
& Electronics (PRIME2012), pp.111-114, Jun 2012
[8] M.B Sullivan and E.E Swartzlander, “Truncated Logarithmic
Approximation,” Proc 2013 21st IEEE Symposium on Computer
Arithmetic (ARITH), pp.191-198, Apr 2013
[9] Li-Wen Hsu and Dah-Chung Chang, “Design of Direct Digital
Frequency Synthesizer with high ROM Compression Ratio,” Proc 12th
IEEE International Conference on Electronics, Circuits and Systems (ICECS2005), pp.1-4, Dec 2015
[10] Van-Phuc Hoang and Cong-Kha Pham, “An Improved Linear Difference Method with High ROM Compression Ratio in Direct Digital Frequency Synthesizer,” IEICE Trans Fundamentals of Electronics, Communications and Computer Sciences, vol E94.A, no 3, pp
995-998, Mar 2011
... qui trình thiết kế tổng quát thực xấp xỉ hóa hàm phức tạp DSP sử dụng thư viện lõi IP cứng tính tốn hàm phức tạp cho hệ thống DSP theo phương pháp chênh lệch thuật toán tối ưu tham số thiết kế... thiết kế hệ thống DSP sử dụng thư viện lõi
IP hàm toán học FPGA ASIC
V. KẾT LUẬN Trong báo này, chúng tơi trình bày phương pháp chênh lệch thực xấp xỉ hàm phức tạp ứng dụng DSP Việc...
Kết thực thi ban đầu FPGA [10] cho thấy ưu điểm phương pháp chênh lệch thực hóa hàm sine ứng dụng DDFS, mơ tả bảng IV Trong báo này, thiết kế DDFS sử dụng phương pháp chênh lệch tuyến