intTypePromotion=1
ADSENSE

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

Chia sẻ: Wang Ziyi | Ngày: | Loại File: PDF | Số trang:6

11
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

Nội dung Text: 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

  1. 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
  2. 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 
  3. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  4. 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
  5.  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. (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
  7. (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
  8. (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
  9. | 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
  10.  EL 1  x
  11. (7) EM ( x) xấp xỉ: 2 268 
  12. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  13. 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 
  14. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  15. 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 
  16. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  17. 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 
  18. Hội +ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  19. 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 
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2