- Trang Chủ
- Điện - Điện tử
- 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
Xem mẫu
- 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)
+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
-
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ê 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 trong hình 1. Một bộ cộng được sử dụng để kết hợp hai phần
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ử này để tính toán xấp xỉ phần cứng cho hàm F(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à D(x)
hiện thực hóa trên các nền tảng FPGA và ASIC cũng được trình F(x)
bày và thảo luận trong bài báo này. x +
Từ khóa- DSP; phương pháp chênh lệch; FPGA; ASIC.
F(x) - D(x)
(LUT)
I. GIỚI THIỆU
Nhiều ứng dụng xử lý tín hiệu số (DSP) (như nhận dạng Hình 1. Sơ đồ khối tổng quát của phương pháp chênh lệch.
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 Như vậy, việc thiết kế phần cứng tính toán hàm F(x) bao
nữa, trong các hệ thống DSP thời gian thực, việc thực hiện các 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
hàm này trực tiếp bằng phần cứng có ý nghĩa hết sức quan về phương diện thực thi trên phần cứng và thiết kế (cũng như là
trọng nhằm đảm bảo tốc độ xử lý cao, đáp ứng yêu cầu xử lý tối ưu) một bảng tra (LUT) hiệu quả nhất. Các thuật toán tối ưu
thời gian thực. Tuy nhiên, việc hiện thực hóa trực tiếp trên thiết kế thường được đưa ra để đạt được sự dung hòa tốt nhất
phần cứng lại thường làm cho độ phức tạp về phần cứng của hệ về mức độ phức tạp (và tốc độ xử lý) giữa khối tính hàm D(x)
thống tăng lên đáng kể so với phương pháp xử lý bằng phần và phần LUT. D(x) có thể là một hàm (hay tổng của nhiều
mềm. Vì vậy, việc nghiên cứu, phát triển các phương pháp thực hàm) bậc nhất (gọi là phương pháp chênh lệch tuyến tính), hay
thi các hàm toán học này rất có ý nghĩa nhằm đáp ứng yêu cầu là một hàm bậc cao hơn (gọi là phương pháp chênh lệch bậc
ngày càng cao của các hệ thống DSP. cao).
Bài báo này trình bày phương pháp chênh lệch (difference Trong phương pháp chênh lệch tuyến tính, hàm D(x) là một
method) để hiện thực hóa các hàm toán học trong các hệ thống hàm hoặc là kết hợp của nhiều đường tuyến tính phân đoạn.
DSP nhằm đáp ứng yêu cầu về hiệu quả sử dụng tài nguyên Đây là phương pháp hay được sử dụng nhiều trong các nghiên
phần cứng và tốc độ xử lý. Hơn nữa, bài báo cũng chỉ ra những 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
hướng phát triển tiếp theo đối với chủ đề này. 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
Phần còn lại của bài báo được bố cục như sau. Phần II sẽ hàm này cho phép thực hiện xấp xỉ với sai số thấp hơn (khi đó
giới thiệu sơ lược về phương pháp chênh lệch trong xấp xỉ các giá trị hàm chênh lệch nhỏ hơn, dẫn tới kích thước bảng LUT
hàm toán học trong DSP. Phần III mô tả chi tiết hơn về việc cũng nhỏ theo) nhưng lại làm tăng độ phức tạp phần cứng cho
ứng dụng phương pháp này trong xấp xỉ một số hàm cụ thể bao 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
gồm hàm logarithm, hàm mũ và hàm sine. Trong phần IV, thuộc vào yêu cầu của ứng dụng DSP cụ thể.
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. 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
II. 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ương pháp chênh lệch sử dụng một hàm xấp xỉ đơn giản pháp xấp xỉ hóa các hàm logarithm (cùng với hàm mũ) và hàm
ban đầu D(x) nhằm giảm độ phức tạp phần cứng và một bảng sine (ứng dụng trong các tổ hợp tần số trực tiếp) sử dụng
tra (LUT: Look-up Table) thể hiện độ chênh lệch (Difference) phương pháp chênh lệch tuyến tính. Tuy nhiên, phương pháp
giữa hàm cần tính toán F(x) với hàm D(x), như được mô tả 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 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)
DSP. Hơn nữa, việc thực thi trên phần cứng đòi hỏi người EL ( x) log 2 1 x
- x (4)
thiết kế phải xem xét các vấn đề về hiệu quả sử dụng tài
Tương tự như vậy, việc xấp xỉ hàm mũ được thực hiện bởi
nguyên phần cứng, tốc độ và sai số của phép xấp xỉ.
phép xấp xỉ sau:
A. Tính toán hàm logarithm và hàm mũ bằng phương pháp
2x 1 | x (5)
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à Và hàm lỗi của nó được xác định như sau:
hàm mũ là đặc biệt quan trọng và cần thiết đối với các ứng E A ( x) x 2 x 1
- (6)
dụng như nhận dạng tiếng nói, nâng cao chất lượng tiếng nói Hình 3 mô tả hàm lỗi Mitchel (Mitchel error) cho hàm
và đặc biệt là trong các bộ xử lý sử dụng hệ cơ số lai (HNS: logarithm (EL) và hàm mũ (EA). Có thể thấy rằng đồ thị của hai
hybrid number system) để khai thác ưu điểm của cả hai loại cơ hàm lỗi này có dạng giống nhau. Vì thế, trong bài báo này,
số đếm tuyến tính thông thường và hệ cơ số logarithm [1]. Các nhóm tác giả tập trung vào trình bày phương pháp xấp xỉ cho
bộ xử lý HNS này đã cho thấy hiệu quả về xử lý, đặc biệt là về hàm logarithm và phương pháp đó cũng được áp dụng tương
công suất tiêu thụ, trong các ứng dụng xử lý tín hiệu số, xử lý tự cho hàm mũ.
ảnh và video [2]. Hình 2 cho thấy phân bố tài nguyên tiêu tốn Từ đó, sơ đồ khối của mạch tính toán logarithm có thể được
cho một bộ xử lý HNS điển hình [1] trong đó các khối tính tổ chức như trong hình 4 trong đó khối LODE (Leading one
toán logarithm (LOGC: logarithmic converter) và hàm ngược detector and encoder) thực hiện chức năng phát hiện bit 1 có
của logarithm (ALOGC: anti-logarithmic converter) hay hàm trọng số cao nhất của N và mã hoá nhị phân để tính n, khối
mũ chiếm tới 64% tổng lượng tài nguyên sử dụng của toàn bộ INV và bộ dịch nối tiếp (Barrel shifter) có nhiệm vụ tính phần
xử lý. Vì vậy, việc nâng cao hiệu quả thực thi các bộ biến đổi thập phân (x) cho phần tính hàm xấp xỉ (để tính log2(1+x)).
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. 0.1
E
A
0.08 E
Mitchell error
L
0.06
0.04
0.02
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
Hình 3. Hàm lỗi Mitchell khi xấp xỉ hàm logarithm và hàm mũ.
z
Hình 2. Phân bố tài nguyên phần cứng cho bộ xử lý HNS. W k k
N LODE n
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: INV
N 2n 1 x
- (1) k
l l
với 0 ≤ x < 1 Barrel Shifter log2(1+x) F
x
Vì vậy, hàm log2(.) có thể được tính như sau:
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
log 2 N n log 2 1 x
- (2)
logarithm.
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í Hình 5 mô tả một phương pháp xấp xỉ hàm EL điển hình sử
bit 1 có trọng số cao nhất của N (ví dụ nếu vị trí bit này bằng dụng bốn đường gấp khúc như được đề xuất trong bài báo [6].
13 thì n = 1101). 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ới phương pháp xấp xỉ đơn giản (theo Mitchell), phần và hàm mũ bằng cách thay cho việc xấp xỉ trực tiếp hàm lỗi (EL
thập phân log2(1+x) được xấp xỉ bậc nhất: hay EA) thì chúng ta có thể xấp xỉ hàm trung bình EM theo công
log 2 1 x
- | x (3) 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
Để tăng độ chính xác người ta có thể dùng một bảng tra phần cứng của mạch tính xấp xỉ hàm logarithm.
(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ị EL x
- EL 1 x
- (7)
EM ( x)
xấp xỉ: 2
268
- 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, 0.09
trong bài báo [7], một thuật toán tối ưu tham số cho mạch tính 0.08
0.07
xấp xỉ hàm logarithm và hàm mũ đã được đề xuất trong đó các 0.06
E (x)
hệ số góc (slope trong công thức tổng quát (8) của một đường 0.05
0.04
L
E (1-x)
bậc nhất tổng quát) được chọn theo giá trị dạng 2i để phép nhân
L
0.03 E (x)
M
này được thực thi bởi một phép dịch đơn giản. 0.02 (E -E )(x)
M L
0.01
0
y = slope * x + offset (8) -0.01
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Hình 7 mô tả thuật toán tối ưu này cho xấp xỉ cận đối xứng x
hai đoạn cho một nửa dải giá trị của x, bao gồm hai bước. Tại Hình 6. Phương pháp cận đối xứng đề xuất trong xấp xỉ hàm EL
bước 1 (step 1), thuật toán này sẽ quét một dải các giá trị hệ số cho tính toán hàm logarithm trên phần cứng.
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 Peak_pointH
của độ dịch (offset trong công thức (8)). Giá trị độ dịch được 0.09 0.09
0.08
xác định tương ứng với mỗi giá trị peak_point (hình 7) chính là
0.08
0.07 0.07
tọa độ trục tung của điểm x = 0,5. Ứng với một cặp giá trị tham 0.06
Peak_pointL
0.06
số tìm được, ta có một hàm xấp xỉ tiềm năng (candidate, như kí 0.05 0.05
Candidate
hiệu trong hình 7). Bảng I thể hiện kết quả của thuật toán tối ưu 0.04 0.04
Candidate
hóa này, áp dụng cho cả trường hợp hàm logarithm (LOGC) và 0.03 0.03
hàm mũ (ALOGC) trong đó MaxDiff thể hiện giá trị cực đại 0.02
Offset1H
0.02
của hàm chênh lệch và giá trị này sẽ quyết định kích thước của 0.01 0.01
bảng LUT. Bảng II trình bày kết quả hiện thực hóa của phương 0 0
pháp này, có so sánh với phương pháp không có tối ưu tham số -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.01
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
trong [6]. Kết quả cho thấy, việc áp dụng thuật toán tối ưu tham x
Step 1
x
Step 2
số ở trên giúp giảm lượng tài nguyên sử dụng (thể hiện thông Hình 7. Thuật toán tối ưu hóa tham số phần cứng xấp xỉ hàm
qua diện tích chip ASIC sử dụng) đi 19% so với phương pháp logarithm.
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%. BẢNG I. KẾT QUẢ TỐI ƯU THEO THUẬT TOÁN HAI BƯỚC.
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à Hàm Bước Slope1 Offset1 Slope2 Offset2 MaxDiff
0,0089
2,3×10-4 và lỗi cực đại là 8,0×10-4, tương đương với phương 1 0,2332 0,008 0,728 0,0341
(1/112)
pháp trong [6]. LOGC
0,0101
2 0,25 0,004 0,0625 0,0518
(1/99)
Hình 9 trình bày qui trình kiểm chứng (verification) các lõi 0,0072
IP thực hiện tính toán hàm phức tạp ứng dụng trong DSP. Các 1 0,2617 0,006 0,0891 0,0495
(1/139)
mẫu hình (pattern) đầu vào được tạo ra trên FPGA, đưa tới ALOC
0,0075
2 0,25 0,003 0,125 0,0305
mạch kiểm tra của chip ASIC. Kết quả thực hiện trên lõi IP sẽ (1/133)
đượ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ộ BẢNG II. KẾT QUẢ THỰC HIỆN BỘ TÍNH LOGARITHM 16-BIT TRÊN
phân tích logic (logic analyzer) để kiểm tra chức năng, có thể THƯ VIỆN ASIC CÔNG NGHỆ CMOS 0,18μM.
kết hợp với phần mềm Matlab trên máy tính thông qua file đầu
Diện tích Độ trễ
ra dạng .csv của bộ phân tích logic. Phương pháp
(×103 μm2 ) (ns)
ADP (×103)
Bảng LUT trực tiếp 32,6 12,2 397,7
Phương pháp MTM 23,4 13,0 304,2
0.08 Trong [6] 9,4 10,3 96,8
Phương pháp có tối ưu tham số 7,6 8,0 60,8
0.06
B. Tính toán hàm sine ứng dụng trong các bộ tổ hợp tần số
EL
0.04
Hàm xấp xỉ
trực tiếp dạng số (DDFS)
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 toán (xấp xỉ) hàm sine
0 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.
0 0.2 0.4 0.6 0.8 1 Như được chỉ ra trong hình 10, khối tính toán hàm sine được
x
sử dụng trong bộ biến đổi pha-biên độ của DDFS và có nhiệm
Hình 5. Hàm xấp xỉ EL theo [6]. vụ là tính giá trị hàm sine ứng với mỗi giá trị pha đầu vào.
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
N N-2
logarithm EL(x) dùng phương pháp cận đối xứng.
Tích lũy Bù Biến đổi Bù
M biên độ
pha pha pha-biên độ Tới DAC
Kết quả về MSB2
Oscilloscope MSB1
định thời
Hình 10. Khối tính hàm sine trong bộ DDFS.
Bảng mạch Bộ phân tích BẢNG III. THAM SỐ THIẾT KẾ MẠCH XẤP XỈ THEO PHƯƠNG PHÁP
Chip logic CHÊNH LỆCH TUYẾN TÍNH VỚI SỐ LƯỢNG ĐOẠN KHÁC NHAU.
.csv file Số đoạn Max (Sine-f(D)) Số bit giảm được trong LUT
2 0.0490 (1/20) 4
Bộ tạo đầu vào Matlab 3 0.0220 (1/45) 5
dạng số (FPGA) (PC)
4 0.0120 (1/83) 6
5 0.0080 (1/125) 6
6 0.0058 (1/172) 7
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
Đường 4 đoạn
trong DSP. Đường 3 đoạn
Giá trị hàm chênh lệch
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 Pha chuẩn hóa cho góc ¼ thứ nhất
giảm độ phức tạp phần cứng. Ở đây, số đoạn được lựa chọn là
Hình 11. Hàm chênh lệch khi xấp xỉ bằng các đường tuyến tính.
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- Shift-Add
f(D)), của phương pháp đề xuất trong [10] của nhóm tác giả, So sánh và Logic
với 4 đoạn tuyến tính, so sánh với phương pháp dùng 3 đoạn lựa chọn Sine
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).
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 LUT
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
Hình 12. Sơ đồ khối chi tiết mạch tính hàm sine sử dụng phương
với tham số đã chọn sử dụng các mạch dịch (shift) và cộ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ử IV. QUI TRÌNH THIẾT KẾ CÁC HÀM PHỨC TẠP
dụng khối tính toán hàm sine áp dụng phương pháp chênh lệch TRONG DSP
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ả Hình 14 mô tả đề xuất một qui trình thiết kế tổng quát thực
hiện thực hóa thiết kế DDFS này trong đó công suất tiêu thụ hiện xấp xỉ hóa các hàm phức tạp trong DSP sử dụng thư viện
ước lượng của bộ DDFS chỉ khoảng 40μW, cho phép ứng lõi IP cứng tính toán các hàm phức tạp cho các hệ thống DSP
dụng trong các hệ thống DSP và hệ thống viễn thông thế hệ theo phương pháp chênh lệch và thuật toán tối ưu tham số
mới cũng như các thiết bị IoT (Internet of things) đòi hỏi hiệu thiết kế như đã trình bày ở trên. Bằng việc sử dụng một thư
quả sử dụng năng lượng cao. 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
BẢNG IV. KẾT QUẢ THỰC THI BỘ DDFS TRÊN FPGA THEO CÁC 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ƯƠNG PHÁP KHÁC NHAU. phần cứng phát sinh là tối thiểu. Một công cụ phần mềm hỗ
Chênh lệch Chênh lệch trợ thiết kế tự động được phát triển để tạo ra mô tả HDL của
Chênh lệch 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
Phương pháp tuyến tính 3 tuyến tính 4
Sine-phase chỉ tiêu kỹ thuật của hệ thống cho phép xuất ra mô tả HDL
đoạn [9] đoạn [10]
cho toàn hệ thống. Từ mô tả HDL này, lõi IP có thể được sử
Kích thước bảng LUT
3854 2560 1536 dụng để cấu hình cho thiết bị khả trình FPGA hay hiện thực
LUT (bit)
hóa trên thư viện chuẩn ASIC.
Tỉ số nén 50:1 70:1 117,3:1
Số lượng slices FPGA Chỉ tiêu kỹ
146 176 136 Lõi IP
sử dụng thuật của hệ (dạng thư viện
thống 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. Công cụ tự động
thiết kế
Thiết kế DDFS
Công nghệ CMOS 65nm
Điện áp nguồn cấp 0,5V
Diện tích mạch (Area) của phần cell chuẩn 72,7×103 μm2 Mô tả HDL
Tần số clock tối đa 107,8 MHz
Công suất tiêu thụ 40 μW
(ước lượng tại tần số clock 100 MHz)
Cấu hình trên Thực thi trên
FPGA 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 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
(b)
thiết kế VLSI (VDEC) thuộc Đại học Tokyo, Nhật Bản, cùng
Hình 13. Netlist sau khi tổng hợp trên công cụ Synopsys Design với các hãng Synopsys Inc. và ROHM CO. LTD, đã hỗ trợ các
Compiler (a) và layout của vi mạch sử dụng công cụ Synopsys IC công cụ hỗ trợ thiết kế, chế tạo vi mạch cho nội dung nghiên
Compiler (b) cho thiết kế bộ DDFS với thư viện ASIC công nghệ cứu trong bài báo này.
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,”
[1] Byeong-Gyu Nam, Hyejung Kim and Hoi-Jun Yoo, “A low-power Proc. VDE-IEEE 8th Conference on Ph.D. Research in Microelectronics
unified arithmetic unit for programmable handheld 3-D graphics & Electronics (PRIME2012), pp.111-114, Jun. 2012.
systems,” IEEE J. Solid-State Circuits, vol. 42, no. 8, pp.1767-1778,
Aug. 2007. [8] M.B. Sullivan and E.E. Swartzlander, “Truncated Logarithmic
Approximation,” Proc. 2013 21st IEEE Symposium on Computer
[2] Tsung-Ching Lin, Shin-Kai Chen, Chih-Wei Liu, “A low-error and Arithmetic (ARITH), pp.191-198, Apr. 2013.
Rom-free logarithmic arithmetic unit for embedded 3D graphics
applications,” Proc. 2013 International Symposium on VLSI Design, [9] Li-Wen Hsu and Dah-Chung Chang, “Design of Direct Digital
Automation, and Test (VLSI-DAT), pp.1-4, Apr. 2013. Frequency Synthesizer with high ROM Compression Ratio,” Proc. 12th
IEEE International Conference on Electronics, Circuits and Systems
[3] Jérémie Detrey and Florent de Dinechin, “A VHDL library of LNS (ICECS2005), pp.1-4, Dec. 2015.
operators,” in Proc. 37th Asilomar Conference on Signals, Systems &
Computers, vol. 2, pp. 2227-2231, Nov. 2003. [10] Van-Phuc Hoang and Cong-Kha Pham, “An Improved Linear Difference
Method with High ROM Compression Ratio in Direct Digital Frequency
[4] Florent de Dinechin and Arnaud Tisserand, “Multipartite table Synthesizer,” IEICE Trans. Fundamentals of Electronics,
methods,” IEEE Trans. Comput., vol. 54, no. 3, pp. 319-330, Mar. 2005. Communications and Computer Sciences, vol. E94.A, no. 3, pp. 995-
[5] J. N. Mitchell, “Computer multiplication and division using binary 998, Mar. 2011.
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
nguon tai.lieu . vn