Tải bản đầy đủ (.pdf) (6 trang)

Phươ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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (972.08 KB, 6 trang )

+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Hội Thảo
Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)

Phươ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ê Q Đơn
Số 236 Hồng Quốc Việt, Hà Nội, Việt Nam.
Email: , ,
trong hình 1. Một bộ cộng được sử dụng để kết hợp hai phần
này để tính tốn xấp xỉ phần cứng cho hàm F(x).

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.

D(x)

x

Từ khóa- DSP; phương pháp chênh lệch; FPGA; ASIC.

I.


GIỚI THIỆU

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 tố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ể.

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 tố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 tố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 qt để thiết kế các hàm
tố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.

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

PHƯƠNG PHÁP CHÊNH LỆCH TRONG XẤP XỈ
HÀM TOÁN HỌC PHỨC TẠP

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

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 tốn F(x) với hàm D(x), như được mô tả

ISBN: 978-604-67-0635-9

F(x)


F(x) - D(x)
(LUT)

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 tố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.

II.

+

267



Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
(4)

EL ( x) log 2 1  x
 x
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:

DSP. 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 tố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 tố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
tố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 tồ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.

(5)

2x  1 | x


Và hàm lỗi của nó được xác định như sau:
E A ( x)

x  2 x  1


(6)

Hình 3 mơ tả hàm lỗi Mitchel (Mitchel error) cho hàm
logarithm (EL) và hàm mũ (EA). 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 tố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ã hố 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)).

Mitchell error

0.1

E

0.08


E

A
L

0.06
0.04
0.02
0

0

0.1

0.2

0.3

0.4

0.5

x

0.6

0.7

0.8


0.9

1

Hình 3. Hàm lỗi Mitchell khi xấp xỉ hàm logarithm và hàm mũ.

Hình 2. Phân bố tài nguyên phần cứng cho bộ xử lý HNS.

N

W

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 ln có thể được biểu diễn dưới dạng:
N

2n 1  x


LODE

k

k

(1)

Barrel Shifter

Vì vậy, hàm log2(.) có thể được tính như sau:

n  log 2 1  x


n

INV

với 0 ≤ x < 1
log 2 N

z

k

l

x

log2(1+x)

l

F

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.

(2)

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).

Hình 5 mơ tả một phương pháp xấp xỉ hàm EL đ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 (EL
hay EA) thì chúng ta có thể xấp xỉ hàm trung bình EM theo cơng
thức (7). Do EM 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.

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:
(3)
log 2 1  x
| x
Để 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ỉ:

EM ( x)

268



EL x
 EL 1  x

2

(7)


Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Để 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 tố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 qt (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.
y = slope * x + offset

0.09
0.08
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
-0.01

0

(8)

Hình 7 mơ tả thuật tố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 tố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 tố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].


E (x)
L

E (1-x)
L

E (x)
M

(E -E )(x)
M

0.1

0.2

0.3

0.4

L

0.5

0.6

x

0.7


0.8

0.9

1

Hình 6. Phương pháp cận đối xứng đề xuất trong xấp xỉ hàm EL
cho tính toán hàm logarithm trên phần cứng.

Peak_pointH

0.09
0.08

0.09
0.08

0.07

Peak_pointL

0.06

0.07
0.06

0.05

0.05


Candidate

0.04

Candidate

0.04

0.03

0.03

0.02

0.02

0.01

0.01

Offset1H

0

0

-0.01

-0.01


Offset1L

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Step 1

Step 2

x

x

Hình 7. Thuật tố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
LOGC

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 tố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 tố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.


ALOC

Bước

Slope1

Offset1

Slope2

Offset2

1

0,2332

0,008

0,728

0,0341

2

0,25

0,004

0,0625


0,0518

1

0,2617

0,006

0,0891

0,0495

2

0,25

0,003

0,125

0,0305

MaxDiff
0,0089
(1/112)
0,0101
(1/99)
0,0072
(1/139)
0,0075

(1/133)

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
Bảng LUT trực tiếp
Phương pháp MTM
Trong [6]
Phương pháp có tối ưu tham số

0.08

Diện tích
(×103 μm2 )
32,6
23,4
9,4
7,6

Độ trễ
(ns)
12,2
13,0
10,3
8,0

ADP (×103)
397,7
304,2
96,8

60,8

0.06

B. Tính tố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)

EL

0.04

Hàm xấp xỉ
Giá trị chênh lệch

0.02

Trong các bộ tổ hợp tần số trực tiếp (DDFS: direct digital
frequency synthesizer) [10], việc tính tố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 tố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.

0
0

0.2

0.4


x

0.6

0.8

1

Hình 5. Hàm xấp xỉ EL theo [6].

269



Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
(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.
Hình 8. Kết quả mô phỏng trên Matlab giá trị lỗi khi xấp xỉ hàm
logarithm EL(x) dùng phương pháp cận đối xứng.

Oscilloscope

N
Tích lũy
pha

M

N-2
Biến đổi
pha-biên độ


pha

Kết quả về
định thời


biên độ

MSB2

Tới DAC

MSB1


Hình 10. Khối tính hàm sine trong bộ DDFS.
Bảng mạch
Chip

Bộ phân tích
logic

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.

.csv file
Bộ tạo đầu vào
dạng số (FPGA)

Số đoạn

Matlab
(PC)
Kết quả kiểm tra

Hình 9. Qui trình kiểm chứng các lõi IP tính tốn hàm phức tạp
trong DSP.

Max (Sine-f(D))

Số bit giảm được trong LUT

2
3


0.0490 (1/20)
0.0220 (1/45)

4
5

4
5
6

0.0120 (1/83)
0.0080 (1/125)
0.0058 (1/172)

6
6
7

Giá trị hàm chênh lệch

Đường 4 đoạn
Đường 3 đoạn

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 tố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 (Sinef(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 tố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 tố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

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.

P

So sánh và
lựa chọn

Shift-Add
Logic

+


Sine

LUT

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.

270



Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Cơng Nghệ Thơng Tin (ECIT 2015)
Hình 13 thể hiện netlist và layout của thiết kế bộ DDFS sử
dụng khối tính tố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.

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 qt 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 tố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 tố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 tố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 tồ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.

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
LUT (bit)


3854

2560

1536

Tỉ số nén

50:1

70:1

117,3:1

Số lượng slices FPGA
sử dụng

146

176

136

Chỉ tiêu kỹ
thuật của hệ
thống

Lõi IP
(dạng thư viện
thiết kế)


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.
Thiết kế
Cơng nghệ
Điện áp nguồn cấp
Diện tích mạch (Area) của phần cell chuẩn
Tần số clock tối đa
Công suất tiêu thụ
(ước lượng tại tần số clock 100 MHz)

Công cụ tự động
thiết kế

DDFS
CMOS 65nm
0,5V
72,7×103 μm2
107,8 MHz
40 μW

Mơ tả HDL

Cấu hình trên
FPGA

Thực thi trên
ASIC

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.
(a)

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 tốn hàm tố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.

(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.

271



Hội +ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7

Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
TÀI LIỆU THAM KHẢO

[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. 995998, Mar. 2011.

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

272




×