Để xuất cau trúc bộ lọc FIR và khối chức năng của bộ lọc FIRNghiên cứu, thiết kế sơ đồ nguyên lý và tính toán thông số lý thuyết của khốichức năng trong bộ lọc FIR Mô phỏng toàn bộ hệ th
Trang 1KHOA ĐIỆN - ĐIỆN TUBỘ MÔN ĐIỆN TỬ
CHHOEUNG YEAN
THIET KE ASIC CHO BO LOC FIR
CONG SUAT THAP
Chuyên ngành: Kỹ thuật điện tửMã ngành: 60520203
LUẬN VĂN THẠC SĨ
Trang 2Cán bộ hướng dẫn khoa học: TS Trương Quang VinhCán bộ chấm nhận xét 1: TS Bùi Trọng Tú
Cán bộ cham nhận xét 2: TS Nguyễn Minh SơnLuận văn thạc sĩ được bảo vệ tại Trường Dai học Bach Khoa, ĐHQG Tp HCMngày 05 tháng 07 năm 2019
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:(Ghi rõ họ, tên, học hàm, học vi của Hội đồng cham bảo vệ luận văn thạc sĩ)1 PGS TS Hoang Trang
2 TS Bui Trong Tu3 TS Nguyén Minh Son4 TS Tran Hoang Linh5 TS Nguyén Ly Thién TruongXác nhận của Chủ tịch Hội đồng đánh giá LV va Trưởng Khoa quan ly chuyênngành sau khi luận văn đã được sửa chữa (nêu có).
CHỦ TỊCH HỘI ĐÔNG TRƯỞNG KHOA
Trang 3We m teNHIEM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: CHHOEUNG YEAN MSSV: 1678001Ngày, tháng, năm sinh: 12/11/1987 Nơi sinh: CampuchiaChuyên ngành: Kỹ thuật Điện tử Mã số: 60520203I TÊN DE TÀI: Thiết kế ASIC cho bộ loc FIR công suất thấp
Il NHIỆM VU VA NỘI DUNG:
Nghiên cứu các phương pháp tối ưu công suất dành cho bộ loc FIR Từ đó chonđược một bộ giảm công suất phù hợp với điều kiện công nghệ CMOS tại ViệtNam.
Khao sát cau hình của bộ loc FIR công suất và độ trễ thấp Để xuất cau trúc bộ
lọc FIR và khối chức năng của bộ lọc FIRNghiên cứu, thiết kế sơ đồ nguyên lý và tính toán thông số lý thuyết của khốichức năng trong bộ lọc FIR
Mô phỏng toàn bộ hệ thống băng Matlab Simulink và ModelSimThiết kế ASIC cho bộ lọc FIR bang Synopsys tool sử dụng công nghệ CMOS90NM
Ill NGÀY GIAO NHIEN VU: 20/08/2019Iv NGAY HOAN THANH NHIEM VU: 02/06/2019v CAN BO HUONG DAN: TS Truong Quang Vinh
Tp.HCM, ngày tháng năm 2019
CHỦ NHIỆM BỘ MÔNCÁN BỘ HƯỚNG DÂN
TRƯỞNG KHOA
Trang 4LOI CÁM ONĐược sự phân công cua nha trường, khoa điện — điện tu va su đồng ý của giáo viênhướng dẫn TS Trương Quang Vinh, em đã thực hiện luận văn thạc sĩ chuyên ngành kỹthuật điện tử với dé tài “Thiết kế ASIC cho bộ lọc FIR công suất thấp” trên công nghệCMOS 90nm Qua trang viết này em xin gửi lời cảm ơn tới những người đã giúp đỡ emtrong thời gian học tập, nghiên cứu luận văn thời gian qua.
Trước hết, em xin gửi lời cảm ơn chân thành đến TS Trương Quang Vinh Thaylà người đã trực tiếp hướng dẫn và tận tình chỉ bảo trong công việc nghiên cứu tìm kiếmtài liệu, xử ly và phân tích van đề của luận văn Nhờ thay mà em có thé hoàn thành luậnvăn cao học.
Ngoài ra, em cũng xin chân thành cảm ơn quý đồng nghiệp, gia đình và bạn bècùng khóa đã luôn động viên và hỗ trợ em trong suốt quá trình nghiên cứu và hoàn thànhluận văn này.
TÁC GIÁ
Chhoeung Yean
Trang 5TOM TAT LUAN VANNgày nay các thiết bị di động như điện thoại di động, máy tinh xách tay, hay cácthiết bị y sinh cầm tay, máy chụp ảnh, video, tiếng nói càng phổ biến và một phan tatyếu trong cuộc sống Bộ lọc đáp ứng xung hữu hạn, hay bộ lọc kỹ thuật số hữu hạn(Finite Impulse Regulator Filter) được sử dụng rat rộng rãi trong các bộ lọc tin hiệu củathiết bị y sinh, video, máy chụp ảnh, lọc các tín hiệu rời rac hoặc tín hiệu số thành điệnnăng Không chi ồn định về điện áp và kích thước và tộc độ xử lý còn có hiệu suất nặnglượng cao Sự xử lý tín hiệu từ các bộ lọc đáp ứng xung hữu hạn cho một thiết bị hoạtđộng với công suất thấp hơn thông qua các nguồn điện của tín hiệu vào, hệ thống lọc,đầu ra Nguồn tín hiệu vào là tín hiệu rời rạc hoặc số thông qua hệ thống lọc đáp ứngxung hữu hạn với bài toán của bộ lọc FIR đưa ra tín hiệu có mức độ công suất thấp hơnso với đầu vảo.
Luặn văn này trình bày các vấn đề liên quan đến bộ lọc FIR công suất thấp bằngquy trình thiết kế vi mạch số sử dụng công nghệ CMOS 90NM, và CMOS 65NM ápdụng thuật toán Multiple Constant Multiplication (MCM), Shift Bit Adder/Multiplier(SBAM) và bộ nhân vedic kết hợp với cộng ripple carry adder (Vedic and RCA) Trongbáo cáo nay, Chương 3 được trình bày tổng quan lý thuyết bộ loc FIR và một số thuậttoán dé áp dụng trong quá trình thiết kế ASIC dé tối được công suất cho bộ lọc FIR.Chương 4, trình bày về thiết kế RTL băng ngôn ngữ Verilog Chương 5, trình bay vềquy trình thiết kế Synthensic Chương 6, trình bày về kiểm tra RTL code trước khi môphỏng Design Complier, chương 7 là mô phỏng Design Compiler và kết báo cáo cell,diện tích mach, thời gian trễ, và công suất hoạt động của mạch Chương 8, là chươngcuối cùng dé kết luận và hướng phát triển lương lai của bài luận văn nay
Luan van đã thực hiện thành công mô phỏng bộ lọc FIR với tín hiệu vào là rờirac đã được kiểm tra trên ModelSim, Matlab và mô phỏng vi mạch số bằng phần mémSynopsys tool sử dụng bộ cộng ripple carry adder và bộ nhân vedic kết hop với D Flip— Flip dé tạo trễ và tiêu thụ năng lượng thấp Mô phỏng thực hiện trên thư viện vi machsố 90NM CMOS TSMC 1P6M cho hiệu suất 96% có khả năng lọc tín rơi rac, tín hiệu
Trang 6Today mobile devices such as mobile phones, laptops, or portable biomedicaldevices, cameras, video, and voice are more popular and an inevitable part of life Finiteimpulse filter, or Finite Impulse Regulator Filter, is widely used in signal filters ofbiomedical devices, videos, cameras, and filter signals Discrete or digital signals intoelectricity Steady readings of voltage and size and treatment density also have highweight performance Signal processing from finite impulse response filters for a devicethat operates with lower power through the input source of the input signal, filteringsystem, and output The input signal source is a discrete or digital signal through a finiteimpulse response system with the problem of the FIR filter giving a signal with a lowerpower level than the input.
This paper presents issues related to low-power FIR filters using digital IC designprocess using CMOS 90NM technology, and CMOS 65NM applying Multiple ConstantMultiplication algorithm (MCM), Shift Bit Adder / Multiplier (SBAM) and vedicpersonalities combined with plus add ripple carry (Vedic and RCA) In this report,Chapter 3 presents an overview of FIR filter theory and some algorithms to apply in theASIC design process to maximize the power for FIR filters Chapter 4, presenting RTLdesign in Verilog language Chapter 5, about Synthensic design process Chapter 6,about RTL code testing before Simulation Design Complier, Chapter 7 is a DesignCompiler simulation and a cell report, circuit area, delay time, and circuit capacity.Chapter 8, is the final chapter for conclusions and the future development direction ofthis essay.
The thesis has successfully simulated the FIR filter with discrete input signaltested on ModelSim, Matlab and digital IC simulation with Synopsys tool using adderAdder Ripple Carry and vedic multiplier with D Flip - Flip to create delay and lowenergy consumption The simulation is performed on the 9ONM CMOS TSMC 1P6Mdigital IC library for 96% performance with the ability to filter falling signal, chainsignal, and very good array vector signal by this FIR filter, to set voltage the design is1.6V and the ASIC design frequency for the filter is 1OOMHz with the clock period
Trang 7MUC LUC
LOI CAM 0 ITOM TAT LUẬN VĂN TT HH HT TT TT TT TT HH TH ng ng ng nưện iat0/90/92 IVDANH SÁCH HÌNH MINH HỌA - 2 tt 3S E+EE+EE+EE+EEEEEEEEeEEeEEeereeeesereees VIIDANH SÁCH BANG SO LIEU icccccccsscsssssssceccesesccsecsscsscescescescesceccsscsscsscssesaesasaeeaeens IXDANH TU VIET TAT nccccccccccccccccccsesccessecsscecsecessecssccsssessesssscssscssssssscsasesssessusessesssees XCHUONG 1 MỞ DAU ciecccccccccccscccscssssssccsssesssssscssssessseesscessessssssssssstessssssssesssesssessseesses 1
1.1 LÝ DO CHON DE TAL , - co ta SE E28 E58 153153158153 E53 153151151155 151 E551 1e Eeere 11.2 MỤC DICH NGHIÊN CUU cccccccccccccccccscsscsccsccsscsecsecsecsecsecsecsecsscsecseeseseaseaees 21.3 ĐÓI TƯỢNG VA PHAM VINGHIEN CỨU - 2+2 +22 + E+eE+Eeeresresrss 21.3.1 Đối tượng nghiên CỨU - G1 1x1 TT HT TT dc nh rkg 21.3.2 Phạm vi nghiÊn CỨU - c2 313101 101301311111 80110 111111111113 1111 xà 21.4 Ý NGHĨA KHOA HỌC VÀ Y NGHĨA THỰC TIEN - +2 +e++ecszssc+: 31.4.1 Y nghĩa khoa hoc G-< ES SE 1S 1T ng ng ng ng 31.4.2 Y nghĩa thực tiễn G G1 HT TT HT TH TH ng ng ng 3CHƯƠNG 2 TONG QUAN NGHIÊN CỨU - (c5 SE E28 E28 ESESEESESEEEEEEsersees 42.1 TINH HINH NGHIÊN CỨU NGOÀI NƯỚC - 2k + +e skS E2 E cv cse2 42.2_ TINH HÌNH NGHIÊN CUU TRƠNG NƯỚC - + +s s2 SE SE Se E2 css2 52.3 NGHIỆM VU CUA LUẬN VĂN - Set San S1 S23 S23 151151113 13113 83 tre rreed 62.3.1 Mục tiêu luận văn - -c CC n1 S S1 SH SH ng nh cv, 62.3.2_ Nhiệm vụ luận văn - cccc cE SnS 1S SH nh cv, 6CHƯƠNG 3 TONG QUAN LY THUYET VÀ THIẾT KE CONG SUAT THAP CHOBO LOC 0/1 10
3.1 TONG QUAN LY THUYET CUA BO LOC FIR uu cccesececcsseececeeseseeceesecenvees 10
Trang 83.1.1.2 Sơ đỗ khối lọc FR -¿ ¿5+ E2 2E 2E*EEEE2EEEEEEEEEEEEEEEEEEEErxrrree, 113.1.1.3 Kiến trúc của bộ lọc FTR - - +2 2£ £2EE#E£EeE£EEEEErErkrkrkrsreee 123.1.2 Ưu điểm và nhược điỂm - - ¿5 E261 1 SE E2 3E 5251151111111 ce 123.1.2.1 U điỂm E5 S151 111111111111 111515171 1011111010111 01 01T 1x6 123.1.2.2 Nhược điểm -:- kẻ +11 111111111111 11 151515071111 111 110101011 x0 133.2 THIẾT KE CÔNG SUAT THAP CHO BỘ LOC FIR - -5555scscsesed 133.2.1 Công suất của CMOS woe cecccescssecececsscsscesscscecscessscseesvassseevsceesacscesaven 133.2.2 Công suất kỹ thuật số của bộ lọc EIR ¿6 s k+x+sE+k+xEeEseceEsesxei 153.2.2.1 Kỹ thuật đường ống (Pipelining) -:scskcx te sgk eeree 153.2.3 Thiết kế công suất thấp cho bộ lọc FIR c.ccccccscesscecessesssessceseecseeseesen 173.2.3.1 Clock ØatIng c- G0111 1 111 ng n1 TT ng re 173.2.3.2 Phép toán của bộ lọc FÍIR + + +5 << S311 1 1153331111 11111155 5x2 153.2.3.3 Bộ nhân Vedic và bộ cộng RCA -SSsS SA 3 s*2 203.2.3.4 Thông số thiết kế RTL cho bộ lọc FIR ¿5 5s +s++s£+xzecsz 22CHUONG 4 THIẾT KE RTL CHO BO LOC FIR BANG VERILOG 244.1 MÔ TẢ KIÊN TRUC woicceccccccccccccccscescscsescecscscscscscsescsesessssessssstssscststssseseseseeees 244.1.1 Khối RTL của bộ loc FIR bang thuật toán thông thường 244.1.2 Khối RTL cho bộ loc FIR bang dịch bit bang bài toán MCM 254.1.3 Khối RTL cho bộ lọc FIR bang Vedic va RCA của MCM 264.1.3.1 Khối bộ nhân Vedic cccccceecesescscesscsescsescssssssssescssscssssseseeseeseen 274.1.3.2 Khối mã bù 2 ¿<< + 21915115113 1 1 52111151515 5111111111111 T1 T1 ce 0 284.1.3.3 Bộ cộng Ripple Carry Adder - Scc s3 s13 *ssssssesss 29AVA 0n 0o e “d4 30
4.2 KIEM TRA CS ST TH TT HT 111111111111 1101111101171 1 1110111111100 y0 30
4.2.1 Thuật toán kiỂm tra - ¿5c E213 133 1 E5 1E 5151111111111 Xe 304.2.2 Mã nguồn testbench - - -:-c- x31 E111 1g TH ng ru 31CHƯƠNG 5 QUY TRINH THIET KE ASIC e.cccceccccsceccssesesceccececssceecscevaceevsceeeaees 325.1 TONG QUAN VE ASIC - SG C11215 1115151 111 H11 1101111 1111 1g ru 325.2_ THIẾT KE SYNTHENSIS [ 13] - ¿E6 2E SE SE SE SE SE EeEsEEsEseesesersees 33
Trang 9CHUONG 6 KIEM TRA TRƯỚC DESIGN COMPILER ccccccccecccecsecccecscesscesecesceees 376.1 KIEM TRA KIÊN TRUGC ooeccccccccccssecccsscccsscsessscssscssesessecssssssessesssssessesseesseeees 376.2 KIEM TRA BANG MODE LSIM Qoeccecccscscscscscscsssesscessccessscsecesscssesessesssessseesees 376.2.1 Kiểm tra RTL của bộ loc FIR bằng thuật toán thông thương 376.2.2_ Kiểm tra RTL với thuật toán dich bit của bộ nhân với hăng số H 396.2.3 Kiểm tra RTL với thuật toán nhân Vedic và cộng RCA với hang số H 4]6.3 KIÊM TRA BANG VCS oun iccccccccsccessecsscsscesscessccsecssccsscessessecssecssesssesssesscesecsees 436.3.1 Kiểm tra với thuật toán thông thuOng oo eceeeeccesseseecessceseecsceesenee 436.3.2 Kiểm tra với thuật toán dịch bit nhân của hăng số H -.cccccecsecsez 476.3.3 Kiểm tra với thuật toán Vedic và RCA v.ccccccccsccsscscescescescescesceseeseeseeseeseens 49CHUONG 7 MO PHONG DESIGN COMPIL,ER 2< St S2 E E23 E E2 E2 EEzzEcszkcszse 527.1 THU VIỆN ĐỀ MÔ PHONG DESIGN COMPILER 2 c5 se ss£ss£ss2 52T.2 MO PHONG ceiecccccccscccsesscesscecsscesscssseesscesssssscssssessessscssssssssesssesssesessesssesssessses 547.2.1 Báo cáo mô phỏng của thư viện CMOS 9Ônm -<<<< <2 547.2.2 Bao cáo mô phỏng của thư viện CMOS 65nm -<<<<<<< 52 607.3 KET QUÁ MÔ PHỞNG óc 1t 11111 11T 1n HT Hung reg 67CHUONG 8 KET LUẬN VA HƯỚNG PHAT TRIEN - 22c ccs s22 se se: 70
8.2 HUGNG PHAT TRIEN 12 daaaddadaa 70TAI LIEU THAM KHAO \Q cccccccccccescsccsscsscssessesecscessesseseeseeseesseseesscsscscsscsscsscsscsaceaes 7200002 :(‹(O 74A PHU LUC CODE MATLAB ca E San S328 1 98 9818118813 S355 551551511 74B PHU LUC MODELSIM CODE - con SE S1 S SE se ren: 74C PHỤ LỤC CODE SYNOPSYS TOOL cc.cccssssssssessessescsseseeseesecseseeseesesscseesees 86
Trang 10DANH SACH HINH MINH HOA
Hình 1.1 So đồ của hệ thông bộ loc FIR v.ccecccscsscsscesssesescscessscseceveceseevsceccavscevevsceeees |Hình 2.1 Khối của bộ loc FIR sau khi thiết kế bang ASIC công nghệ CMOS 90nm 6Hình 2.2 Qui trình thiết kế vi mạch $6 [7] ¿6 s62 ESEESESEEE£EEeESEEsEseEskseesersrd 8Hình 3.1 Sơ đồ khối quá trình xử lý của bộ lọc SỐ ¿- ¿2 2+ x+s+££+E+E+ezerersrred 11Hình 3.2 Sơ đồ khối của bộ lọc đáp ứng xung hữu han (FIR Filter) eee 11Hình 3.3 Kiến trúc của bộ lọc đáp ứng xung hữu han (Structure of FIR Filter) 12Hình 3.4 Dạng trực tiếp của bộ lọc FR - << + << 2+ s11 c3 eress 16Hình 3.5 Bộ loc FIR Pipelined [9] - - << 311311111111 11 1111111335111 1111 11111553 xx4 17Hình 3.6 Clock gate của Latch thiết kế cơ bản - 2 se ++x+E+E+#EsEeEeEetrerersrred 18Hình 3.7 Sơ đồ thiết kế bộ loc FIR 5 tap cccsccccscsccssesssescsceseecsceesevscevevscesvecseesvaven 19Hình 3.8 Thuật toán MCM (Multiple Constant Multipliclicatlon) 19Hình 3.9 Dạng 8x8 của bộ nhân VedIc - - c c5 c2 2 1111111111111 1 11111111111 xe 20Hình 3.10 Bộ nhan Vedic 8x8 trong quy trình tính toán bộ lọc FIR - - 20Hình 3.11: Dạng của bộ cộng Ripple Carry Adder (RCA) <<<<<<<<<<2 21Hình 3.12 So đỗ thiết kế Flip Flop ¿-¿- < -Ek+S x32 SE SE vo 21Hình 5.1 Quy trình thiết kế ASIC - Sẻ + E23 SESE 3 E111 8E 5151111111111 rrrkd 32Hinh 5.2 Luu d6 thuat 0 33Hình 5.3 Các van dé cần quan tâm trong bước tong hợp xuống lớp công 34Hình 5.4 Các file đầu vào và đầu ra thông qua phần mềm DC - 2 5555 5¿ 35Hình 6.1 Error viewer của ModelSim -c- c5 c <1 11 vs 37Hình 6.2 Kết simulator testbench với thuật toán thông thường - 5 5555 5+ 38Hình 6.3a Dataflow của bộ lọc FIR trước khi tong 1X0) 0 ee 38Hình 6.3b Dataflow đầu vào của bộ loc FIR trước khi tong 1X0) oe 38Hình 6.3c Dataflow đầu ra của bộ loc FIR trước khi tong hợp < - 39Hình 6.4 Kết quả kiểm tra RTL của thuật toán dich bit của bộ nhân - - 39Hình 6.5 Kết simulator testbench đối với dich bit bộ nhân +: 40Hình 6.6a Dataflow của bộ lọc FIR trước khi tổng hợp - - sex se cevsesxes 40Hình 6.6b Dataflow đầu vào của bộ lọc FIR trước khi tong hop voi thuat toan dich bitTAN eee //// AA an 40
Trang 11Hình 6.6c Dataflow đầu ra của bộ loc FIR trước khi tong hop voi thuat toan dich bitTAN eee //// AA an 41Hình 6.7 Kết qua RTL bằng thuật tốn nhân Vedic và cộng RCA eens 41Hình 6.8 Kết quả testbench với thuật tốn nhân Vedic và cộng RCA - 42Hình 6.9a Dataflow bộ loc FIR trước khi tổng hợp với Vedic và RCA 42Hình 6.9b Dataflow bộ lọc FIR trước khi tong hop với Vedic và RCA 43Hình 6.10 Kiểm tra VCS tool vơi thuạt tốn thơng thường - 5c sex 44Hình 6.11 Kết qua mơ phỏng testbench bang VCS synopsys †ool s5: 44Hình 6.12 Schematic của testbenchh - - c9 99999999 9 1 1v vn 45Hình 6.13a Schematic tất cả các khối của bộ lọc EIR - -¿- 5 +s + se se se £+s£szs2 45Hình 6.13b Schematic của khối vảo - +2 <4 SE 5E E111 12121 1 111 E1 46Hình 6.13c Schematic của khối ra - - + +22 +EEEEEEE#E#EEEEEEEEEEE E21 E111 2E 46Hình 6.14 Kiểm tra với thuật tốn dich bit nhân với hang số H 555 5¿ 47Hình 6.15 kết testbench của bài tốn dich bit nhân 2 2 2 E2 E2 SE E+E se Eze£szs2 48Hình 6.16a Schematic với bài tốn dịch bit nhân -. << cc <5 << << << << <<: 48Hình 6.16b Schematic đầu vào với bài tốn dich bit nhân - 2: 2e sec se se se s2 48Hình 6.16c Schematic đầu ra với bài tốn dịch bit nhân - 2 22+ +e se se se £sz£2 49Hình 6.17 Kết quả kiểm tra với Vedic và RCA - 5c ce tt xxx rererrkg 50Hình 6.18 kết quả testbench với Vedic và RCA - 5 set SEsEekekrrerererrkd 50Hình 6.19 Schematic với Vedic và ĐẤ - HH HH vn 51Hình 7.1 Symbol của bộ lọc FÌR - - << << 3133110111131 1111111113331 1 11111115552 xx2 65Hình 7.2 Tổng hợp logic với bài tốn thơng thường ¿+ xxx sex 65Hình 7.3 Tổng hợp logic của thuật tốn dich bit nhân 22 2 2 +s+s+s£e£+zzed 66Hình 7.4 Tổng hợp logic của bài tốn Vedic va RCA ceececcssesescsssssseseseecscseeseseeees 66
Trang 12DANH SACH BANG SO LIEU
Bang 2.1 kết quả nghiên cứu về thiết kế “Low Power FIR filter design for Image
Bảng 3.1: Thiết lập bảng LUT cho bộ lọc ER 5 5+ 6S SE EeEsEce£seexe 19Bảng 7.1: Kết quả mô phỏng DC compiler (CMOS 90nm) 2 5-5 5s sex: 67Bang 7.2: Kết quả mô phỏng DC compiler (CMOS 65nm) 2 5-5 se sex: 67
Trang 13ASICTSMCCMOSMCM
RTL
DCICC
IIR
MACCTSDRCLVSVCSDA
LUT
ROMSRAMFRAMRCASBM
DANH TU VIET TAT
Finite Impulse ResponseApplication Specific Integrated CircuitTaiwan Semiconductor Manufacturing Company
Complementary Metal — Oxide - Semiconductor
Multiple Constant MultiplicationRegister Transfer Level
Design CompilerIC CompilerInfinite Impulse Response
Multiply and AccumulateClock Tree Synthesis
Design Rule ChecksLayout Versus SchematicVerilog Compiler Simulator
Digital AnalogLookup TableRead only MemoryStatic Random Access MemoryFerroelectric Random Access Memory
Ripple Carry AdderShift Bit adder/Multiplier
Trang 14CHƯƠNG 1 MỞ ĐẦU
1.1 LÝ DO CHỌN DE TÀI
Ngày nay các thiết bị di động như điện thoại di động, máy tính xách tay, haycác thiết bị y sinh cầm tay, máy chụp ảnh, máy quay phim ngày càng trở nên pho biếnvà một phan tất yếu trong cuộc sống Bộ lọc đáp ứng xung hữu han (FIR Filter hay làFinite Impulse Response filter) trở thành một bộ phận rất quan trọng chuyển hóa nănglượng xử lý tín hiệu cho bộ lọc để lọc các tín hiệu cho các thiết bị trên Bên cạnh đó,các tín hiệu và bộ lọc sử dụng các nguồn năng lượng để thực hiện các quá trình chuyểnđôi tín hiệu và cũng như lọc các tín hiệu.
Tín hiệu ra saukhi lọc xongTín hiệu vào là tín
hiệu rời rạc
Hình 1.1 Sơ đồ của hệ thống bộ lọc FIRViệc sử dụng bộ lọc FIR nhằm tạo ra nhiều mức xử lý khác nhau phục vụ cho
các mạch module chức năng, thiết bị và các ứng dụng trong cùng một hệ thống Bộ
lọc FIR có các đặc tính pha tuyến tính đảm bảo tính 6n định và dễ thực hiện với cácsố nhân, bộ cộng và phan tử trễ, vì vậy bô loc FIR được sử dung rộng rãi Số lượngtap trong bộ lọc kỹ thuật số khác nhau tùy theo ứng dụng Trong các chip lọc thươngmại có số lượng tap cô định, các hệ số bằng không được tải vào các thanh ghi cho cácvòi không sử dụng và các phép tính không can thiết phải được thực hiện Dé giảmbớt vẫn dé nay, các chip loc FIR cung cấp các tap có độ dài thay đối có thé được sửdụng rộng rãi trong nhiều lĩnh vực ứng dụng Tuy nhiên, các chip lọc FIR nảy sửdụng bộ nhớ, đơn vi tao địa chi và đơn vi module để truy cập bộ nhớ một cách hiệuquả Do kiến trúc được đề xuất chỉ yêu cầu một số Nhân thanh chi và bộ cộng, nênsố lượng công có thể giảm đáng kế so với các chip hiện tai Nói chung, lọc FIR đượcmô tả băng một phép toán chập đơn giản như được thể hiện trong phương trình [1]:
Trang 15y(k) = » h(k).x(n — k) (1.1)
k=0
Trong bai nay ta sử dung Verilog code thiết kế vi mạch số dé tối ưu hăng sốnhiễu va cũng như MCM (Mutiple Constants Multiplications) với quy trình thiết kếvi mach so dé tạo thành các công logic cua mach.
O Viét Nam, su phat trién công nghệ vi mach số đang triển mach trong lĩnhvực gia công và thiết kế chip, bên cạnh các dé tài nghiên cứu về thiết kế chip xử lýâm thanh, hình ảnh Nhu cầu thiết kế bộ lọc kỹ thuật số dạng vi mach số tích hợptrong các chip xử lý nhăm cung cấp năng lượng cho các hoạt động của vi mach sốtrên chip Xuất phát từ nhu cầu cấp thiết đó, tôn xin chọn đề tài: “Thiết kế ASIC chobộ lọc FIR công suất thấp” sử dụng công nghệ vi mạch số TSMC 90nm và TSMC65nm.
1.2 MỤC DICH NGHIÊN CỨU
Thực hiện thành công thiết kế bộ lọc FIR trên nên công nghệ vi mạch số với90nm và 65nm sử dụng tap cố định và tần số thiết kế để tối ưu công suất và độ trễcủa mạch từ (80.69uW, 198.2 UW) và (0.25 ns, 7.26 ns) thành (76.56 uW, 193 uW)và (8.19 ns, 8.84 ns) với thiết kế là điện áp 1.6V, 1.32V va tần số thiết kế là 100MHz
1.3 DOI TƯỢNG VA PHAM VI NGHIÊN CỨU1.3.1 Đối tượng nghiên cứu
— Mô hình CMOS 90nm va CMOS 65nm với các tham số sử dụng dé thiết kế.— Phần mềm Matlab: Hệ thống FIR filter trên nên Matlab/Simulink
— Bộ lọc đáp ứng xung hữu han dạng vi mach: Khối tín hiệu vào dạng số, hồitiếp, bộ nhân, bộ cộng, khối tín hiệu ra
— Các phương pháp cải tiễn hoặc khối chức năng nhằm cải tiễn hiệu suất.1.3.2 Pham vi nghiên cứu
Trang 16— Các tham số co ban proccess CMOS 90nm dùng trong thiết kế— Thiết kế và mô phỏng trên phần mềm Synopsys tool
1.4 Ý NGHĨA KHOA HỌC VÀ Ý NGHĨA THUC TIEN1.4.1 Y nghĩa khoa học
— Ý nghĩa khoa học Từ kết qua nghiên cứu của dé tài góp phần phong phú thưviện vi mạch su dụng công nghệ 90nm và 65nm tại các nước Ngoài cũng nhưở Việt Nam
— Là cơ sở dé ứng dung, cải tiễn và hoàn chỉnh hệ thống trong các hệ thống vimạch thực tế, góp phần làm phong phú thư viện vi mạch trong nước Viêt Nam1.4.2 Ý nghĩa thực tiễn
Với công suất hoạt động được tính toán trong quá trình thiết kế ASIC cho bộlọc FIR với bài toán thông thường là 80.691 W Thực tiễn trong quá trình thiết kế củaluận văn này khi áp dung bài toán nhân Vedic kết hợp với cộng RCA có kết quả thiếtkế đạt được công suất là 76.56ILW
Trang 17CHUONG 2 TONG QUAN NGHIEN CUU
2.1 TINH HÌNH NGHIÊN CỨU NGOÀI NƯỚC
Trước đây, bài nghiên cứu cua “JUN MO JUNG va JONG WHA CHONG”ngày 3 thang 8 năm 2000 đã thiết kế bộ loc FIR công suất thấp cho xử ly anh“A LowPower FIR filter DESIGN for Imange Processing” bang bai toán lọc thông thấp détạo các thanh ghi tap va Clock Gating, bởi vi công nghệ CMOS với Synopsys toolnhững bon điêu kiện khác nhau đã đo được kêt của công suât như bảng sau:
TABLEI Experimental results
Lenna Couple2 Girl Lenna Couple2 Girl reduction (%)Filter 1 4.2 3.63 4.15 3.48 (-17%) 2.69(-25%) 3.49 (-16%) 19.3Filter 2 5.42 4.57 5.2 4.69 (—13%) 3.62(-—20%) 4.23 (—18%) 17Filter 3 2.1 1.89 2.3 1.78(-15%) 1.45(-—23%) 1.91 (—17%) 18.4
Filter 4 2.4 1.93 2.5 1.99(-17%) 1.44(-—25%) 2.17 (— 13%) 18.3
Bảng 2.1 kết quả nghiên cứu về thiết kế “Low Power FIR filter design for
Image Processing” [2|Dự vào bai báo của “G.VIRANYA và G.SRIDEVI” hai người này đã nghiêncứu về thiết kế bộ lọc FIR công suất thấp và tốc độ nhanh bang bài toán KoggestoneCSLA“ Design of Low Power and High speed FIR Filter using Koggestone CSLA”.Kết quả nghiên cứu của ho là trước khi thiết kế băng bai toán Koggestone CSLA chobiết là công suat.850mW và trễ 260.2ns nhưng sau khi sử dụng bai toán KoggestoneCSLA là công suất 0.830mW và trễ 155.9ns Vậy, kết quả nghiên cứu của hai nghiêncứu viên đã tối ưu duoc công suất và trễ khi sử dung bài toán Koggestone CSLA vớiquá trình thiết kế bộ loc FIR dé thiết kế ASIC [3]
Ngày 10 tháng 4 năm 2015, “T.Radha và Velmurugan” đã nghiên cứu thiết kếbộ lọc kỹ thuật số đáp ứng xung hữu hạn bằng phương pháp tối ưu bộ cộng và bộnhân để thu được công suất thấp “Low Power Digital FIR Filter Design UsingOptimized Adder and Multiplier” tại An độ Hai nghiên cứu viên này, đã chứng minhđược công suất và trễ trước khi sử dung bài toán tối ưu Adder va Multiplier là 193mW
Trang 18Cuối cùng, dự vào bài báo của “Soumee Sharmmeela Pattnaik, Ritisnigdha
Das, và Siba Kumar Panha” thiết kế “Low Power Transversal FIR Fitler for VLSISingal Processing Applications” Bài báo này, cho biết bài toán Transversal của hệthống bộ lọc FIR được triển khai nhanh chóng đối với việc thiết kế kỹ thuật vi mạchsố để đạt được công suất thấp với bài toán CSLA và MRP bằng Xilinx tool [1].2.2 TINH HÌNH NGHIÊN CUU TRONG NƯỚC
Hiện tại Việt Nam đang phát triển về vi mạch rất nhiều, và công nghệ thiết kếcũng là quan trọng cho xã hội cũng như người dùng Do, sự phát triển đó Việt Namthiết kế tại công ty vi mạch của nước ngoài đặt tại Viet Nam sử dụng rất nhiều toolscủa công ty vi mạch để thiết kế ASIC cho thời điểm này, cũng như tương lai Cáccông ty vi mach đó sử dụng thư viện khác nhau như: TSMC 180nm, TSMC 90nm,TSMC 65nm, TSMC 45nm và cũng có một công ty tạo thư viện riêng cho họ.Ngôn ngữ thiết kế ASIC thông thường người thiết kế RTL toàn thiết kế bang ngônngữ Verilog code, va VHDL dé thiết kế synthensis cũng như thiết kế ASIC Bai củatác giả Phan Thi Minh là thiết kế “Mô hình hóa mức RTL và thực thi mang phần cứngcó thé tái cau hình cấu trúc thô cho các ứng dụng xử lý đa phương tiện” trong đó phanvề thiết kế bộ lọc FIR cho quá trình xử lý tín hiệu video, hình ảnh và tiếng nói trongbộ đa phương tiện [5] Gần đây, hai học viên của trường đại học Bách Khoa Ha nộitại Trung tâm nghiên cứu triển khai công nghệ cao đã nghiên cứu về “Thiết bị logiclập trình được trong ứng dụng xử lý tín hiệu số” cũng nêu như sau: Họ các thiết bịlập trình được bao gồm SPPD, CPLD, FPGA, GPU, CPU, ASIC , là một công nghệchế tạo PLD, và cũng như ASIC đã tiễn tới công nghệ nao (90nm/cell) điều này khôngnhững làm tối giản về kích thước mà còn giảm thiểu công suất tiêu thụ, tăng khả năngtích hợp cũng như độ tin cậy của linh kiện, các thế hệ sau [6]
Trang 192.3 NGHIỆM VU CUA LUẬN VAN
Xin
Hình 2.1 Khối của bộ loc FIR sau khi thiết kế bang ASIC công nghệ CMOS
90nmBộ loc FIR có công suất cao thành bộ lọc FIR công suất thấp được ứng dụngrất nhiều trong các khối vi mach, là một thành phan quan trọng khối xử lý hình anh,âm thanh, của các thiết bị di động y sinh Bộ lọc FIR được sử dụng nhằm cải thiệnhiệu suất giảm áp, tiết kiệm năng lượng cho người sử dụng Bên cạnh đó vơi sự phátvề công nghệ thiết kế vi mạch số nên bài luận văn nhằm thiết kế bộ lọc FIR có côngsuất và tốc độ xử lý nhanh dựa vào bài toán của bộ lọc ở hình 2.1 để mô phỏng choquá trình thiết kế
2.3.2 Nhiệm vụ luận văn
Nhiệm vụ của luận văn được xây dựng trên qui trình thiết kế vi mạch số đượcmô tả bởi hình 2.2 Một quy trình cơ bản để tạo ra một vi mạch số bao gồm các bướcchính là phân tích thiết kế, kiểm tra và sửa lỗi, thiết kế vật lý, chế tạo/sản xuất
Phân tích thiết kế bao gồm hai công đoạn chính là phân tích cau trúc và mô ta
Trang 20nguyên ly, giản đồ định thời, dựa trên các yêu cau thiết kế Các thông tin này đượcthé hiện băng các hình vẽ hoặc mô ta Mô tả mã nguồn thường gọi là mô tả RTL code,là sử dụng ngôn ngữ mô tả phần cứng để mô tả thiết kế dựa trên các phân tích cautrúc đã thực hiện Hai ngôn ngữ mô tả phần cứng thông dụng là Verilog và VHDL.Phần mềm có thé dụng 1a các trình soạn thảo có sẵn trong các phan mềm thiết kế hoặcNotepad++, Emeditor, VI, VIM, Xemacs, conTEXT Sau khi đã hoàn thành RTLcode, người thiết kế cần thực hiện kiểm tra các quy trình về chu pháp (syntax), luậtthiết kế (design rule) hoặc các luật riêng của phần mềm thiết kế.
Kiểm tra và sửa lỗi là công đoạn thực hiện mô phỏng thiết kế các phần mềmchuyên dung Có hai cấp độ mô phỏng là mô phỏng mã nguồn, hay mô phỏng mứcRTL code, và mô phỏng mức công Mô phỏng mức RTL code là thực hiện mô phỏngthiết kế với RTL code Công việc chính của bước nảy là mô phỏng chức năng màkhông tính đến định thời và độ trễ vật ly của tín hiệu Mô phỏng mức công là thựchiện mô phỏng thiết kế chức năng có tính đến định thời và độ trễ của các tín hiệu
Thiết kế vật lý thực hiện công đoạn chính là tong hop logic va layout Tổnghợp và thực hiện dich RTL code trên một thư viện công nghệ xác định để tạo ra tậpin netlist Layout là sử dung netlist để b6 trí vị trí các thành phan logic trên một diệntích dé tạo thành bản thiết kế của lõi chip
Trang 21“ x
( Baton | Phân tích cấu trúc Mô tả RTL code
‡ ra n always @(posedge clk)By begin
‡ Chế tạo wafer Đóng gói
[ Kếthúc Ì
Hình 2.2 Qui trình thiết kế vi mạch số [7]Theo qui trình trên thì nhiệm vụ của luận văn sẽ bao gôm có các phan sau:— Thiết kế cơ sở lý thuyết và các thông số kỹ thuật tuần theo quy trình mô
phỏng vi mạch số có công suất thấp của bộ lọc FIR.— Thiết kế sơ đồ khối, sơ đồ tín hiệu giao tiếp mạch nguyên lý, giản đỗ định
thời dựa vào bộ lọc FIR và thiết kế các tập tin mã nguồn (RTL code).— Kiểm tra và sửa lỗi: Môi trường mô phỏng của thiết kế, RTL code đã được
sửa lỗi và đảm bảo thực dùng chức năng sau khi thực hiện mô phỏng mứcRTL code, các file tổng hop và layout đã được sửa lỗi và đảm bảo thực thìđúng chức năng thiết kế và định thời sau khi thực thì mô phỏng mức cổng
Trang 22— Thié kế vật ly (Physical Design): Thiết kế Design Compiler bang côngnghé CMOS 90nm dé tối ưu công suất và độ trễ của bộ lọc FIR dựa trênphân mềm synopsys.
Trang 23CHUONG 3 TONG QUAN LY THUYET VA THIET KE CONG SUAT
THAP CHO BO LOC FIR
3.1 TONG QUAN LY THUYET CUA BO LOC FIR
Lọc là hệ thống điền hình và thường được sử dung nhất trong hệ thống rời racthời gian Lọc thay đôi đạc tính biên độ tần số, hoặc pha tần số của tín hiệu ra theocách mà ta muốn Một ứng dụng điền hình của lọc tách tín hiệu mong muốn ra khởinền nhiễu Lọc số là những thuật toán tính toán được tiễn hành bằng phân cứng hoặc
phan mém, ngược lai loc tương tự là tong trung bình của tín hiệu vào tai một vai thời
khác nhau— Chúng ít nhạy với sự thay đối môi trường (nhiễu, nhiệt độ, nguồn công
suất)Tuy nhiên lọc số cũng có một số điểm bất lợi như chúng có thể bị ảnh hưởngtừ hiệu ứng chiều dài từ vô hữu hạn
Lọc số được phân loại như đáp ứng xung hữu hạn (FIR), nó cũng là lọc khôngđệ qui, và đáp ứng xung vô han (IIR), loc đệ qui Chương nay trình bày về bô lọc đápứng xung hữu han (FIR)
3.1.1 Bộ lọc đáp ứng xung hữu han (FIR Filter)3.1.1.1 Khái niệm
Lọc số đáp ứng xung hữu hạn (FIR filter) là một bộ lọc kỹ thuật số không đệqui có đáp ứng xung hữu hạn vì sau một thời gian hữu hạn đáp ứng của bộ lọc đápứng xung hữu hạn ôn định bằng không Phương trình tín hiệu vào ra của lọc FIR là:
Trang 243.1.1.2 So đồ khối loc FIR
Sơ đồ khối của bộ lọc đáp đứng xung hữu hạn được liệt kê ở hình
OutputInput
Trang 253.1.1.3 Kiến trúc của bộ loc FIR
Trang 26— Các bộ loc FIR nhận ra không đệ quy vốn đã ôn định và không có dao độngchu kỳ giới hạn khi thực hiện trên một hệ thống kỹ thuật số có độ dài từ hữuhạn
— Phương pháp thiết kế tuyệt vời có sẵn cho các loại bộ lọc FIR với thông số kỹthuật tùy ý
— Các vẫn đề về thiết kế và nhiễu ít phức tạp hơn bộ lọc HR3.1.2.2 Nhược điểm
— Lọc FIR yêu cầu nhiều hệ số để đạt tới cùng chất lượng của đáp ứng tân số, vìvậy đòi hỏi nhiều thời gian tính toán và cất dữ hơn
— Lọc FIR không giống lọc tương tự, vì vậy ta không thiết kế nó bằng kỹ thuật
Ptotai = (ACL Vgafp) + (IscVaa) + (Heakage Vaa) (3.6)
Đầu tiền là công suất động tạo bởi vi switch của tham số công suất là, C, 1a tụđiện của tải, Vjq là điện áp nguồn, fy là tan số chuyển mach, và ø là xác suất của tiêuthụ chuyền đổi điện (yêu tố hoạt động) Thư hai là đại diện của công suất tiêu tan dodòng ngăn mạch Tcc tạo ra ca hai loại transistor NMOS và PMOS đồng thời hoạt độnglay dòng trực tiếp từ nguồn cùng cấp tới mặt đất Đại diện cuối cùng là dòng điện tĩnhhzaxage phát sinh từ các hiệu ứng phun nên và các hiệu ứng ngưỡng, và chủ yếu đượcxác định bởi các cân nhắc công nghệ chế tạo
Thống trị phương trình công suất này là đại diện đầu tiên, đó là do hoạt độngchuyển mạch Trong hầu hết các mạch CMOS được thiết kế tốt, trong môi trườnghoạt động thường xuyên, thành phần động chiếm khoảng 90% tổng công suất tiêután Điều nay cho thay ba mức độ tự do giàu có trong không gian thiết kế công suất
Trang 27thap: điện ap, điện dung vat lý và hoạt động Tôi uu hóa cho sức mạnh do đó luônluôn liên quan đền một nô lực dé giảm một hoặc nhiêu các yêu tô nay (gia sử rănggiảm hiệu suất là không cho phép).
Với sự giới thiệu ấn tượng về công nghệ thiết kế điện năng thấp, thường đượcthiết kế kỹ thuật số đòi hỏi tối ưu hóa ở mọi cấp độ của hệ thong phân cấp thiết ké,tức là công nghệ, thiết bị, vi mạch số, kiến trúc (cầu trúc), thuật toán (hành vi) và hệthống cấp độ Để giải quyết thách thức để giảm điện năng, phương pháp tiếp cậnnhiều mặt phải được áp dụng dé tan cong van dé ở nhiều mặt khác nhau, một số đượcchỉ ra dưới đây: Giảm dung lượng chip và gói: Điều này có thể đạt được thông quaquá trình phát triển như SOI với các giếng đã cạn kiệt hoàn toàn, quy mô mở rộngthành các kích thước thiết bị phụ micron và các chất kết nói tiên tiến như Mô-đun dachip (MCM).
Cách tiếp cận này có thể rất hiệu quả nhưng rất tốn kém Cân băng điện áp:Cách tiếp cận này là chìa khóa hứa hẹn nhất để đạt được mức giảm năng lượng lớnhơn, nhưng thường đòi hỏi các kỹ thuật để bù cho hiệu năng hệ thống giảm, các kiếntrúc song song, pipelining hoặc nhân bản phần cứng cung cấp cơ chế cho giao dịchnày bang cach duy trì thong lượng mức su dung tốc độ thiết bi chậm hơn và do đócho phép vận hành điện áp thấp Sử dụng các chiến lược quản lý năng lượng: Tiếtkiệm năng lượng có thé đạt được băng các kỹ thuật quản lý điện năng tĩnh và độngkhác nhau phụ thuộc rất nhiều vào ứng dụng, nhưng có thé đáng kế Điều này baogôm các kiến trúc mạch tự điều chỉnh và thích nghỉ có thé phan ứng hiệu quả với thayđôi môi trường cũng như các sô liệu thông kê dữ liệu khác nhau.
Đề sử dụng một phương pháp thiết kế tích hợp: Điều này đòi hỏi sự phát triểncủa các kỹ thuật và công cụ có thể quyền lực cho tổng hợp hành vi, tổng hợp logic vàtối ưu hóa bố cực Yêu câu chính cho điều này là ước tính chính xác và hiệu qua chỉphí điện năng của việc thực hiện thay thế và khả năng giảm thiểu sự tiêu hao nănglượng tùy thuộc vào các hạn chê về hiệu năng.
Trang 283.2.2 Công suất kỹ thuật số của bộ loc FIR3.2.2.1 Kỹ thuật đường ống (Pipelining)
Việc chuyển đôi đường ống dẫn đến giảm đường đi tới hạn, có thé được khaithác dé tăng tốc độ đồng hỗ hoặc tốc độ lay mẫu hoặc giảm mức tiêu thụ điện ở cùngtốc độ Có hai ưu điểm chính khi sử dụng pipelining tốc độ cao hơn và công suất thấphơn.
Độ tré lan truyện 7, được kêt hợp với việc sạc và xả các công khác nhau và
điện dung đi lạc trong đường dan tới hạn Đôi với các mach CMOS, độ trê lan truyéncó thê được viết là:
_ CchargeYo
pd k(wa-V,)? (3.7)Trong đó Ccnarge biểu thị điện dung được sạc / xả trong một chu kỳ xung nhịpđơn, tức là điện dung doc theo đường tới hạn, Ứạ là điện áp nguén và V, là điện ápngưỡng Tham số k là ham của tham số công nghệu, W/L, C,,.Tiéu thụ điện năngcủa một mạch CMOS có thé được ước tinh bang cách sử dụng phương trình sau:
, trong đó T;¿z là khoảng thời gian của bộ lọc tham chiếu
Bây giờ hãy xem xét một hệ thống đường ống cấp M, nơi đường dẫn tới hạn
°9 K ` 1 oA xe À 2 L4 ` on 2
được giảm xuông còn „ chiêu dai ban đâu của nó và điện dung được sạc / xả trong
Trang 29Ầ A AR Ccharge ros A aN ^một chu kỳ đông hô đơn được giảm xuông ee Luu ý rang tong điện dung không
thay đôi Nếu duy tri tốc độ đồng hồ tương tu, tức là tần số đồng hỗ f được duy trì,
Ccharged › ` ^
————— đang được sạc / xả trong cùng một
chỉ một phan của điện dung ban dau,khoảng thời gian cần thiết dé sac / xa điện dung, Ccharge: Điều nay ngụ ý sau đó,rang điện áp cung cấp có thé được giảm xuống BVp, trong đó Ø là một hằng số dươngnhỏ hơn 1 Do đó mức tiêu thụ điện năng của bộ loc pipelined sẽ là:
Prive — C;otaiBVồ Pref (3.1 1)
Do đó, mức tiêu thụ điện năng cua hệ thông đường ông đã được giảm xuôngbăng hệ số B so với hệ thống tham chiếu
Y(rT)
Hệ sô giảm tiêu thụ điện năng, B, có thê được xác định băng cách kiêm tra môiquan hệ giữa độ trê truyền của bộ lọc ban đâu và bộ lọc pipelined Độ tré lan truyêncủa bộ lọc ban dau được cho bởi:
_ Ccharge Vo
ref — k(Vạ—V¿)2 (3.12)Su cham tré lan truyén của bộ loc pipelined được đưa ra bởi:
CchargeVo
— M
Tref = T r0, —v.2 (3.13)
Trang 30Can lưu ý răng thời gian, T,„,, thường được thiết lập bằng độ trễ truyền lớn
nhất, Ta , trong một mạch Vì tốc độ trễ tương tự được duy trì cho cả hai bộ lọc,
phương trình bậc hai sau đây có thé thu được dé giải quyết B,
CchargeVo
M _ CchargeVo _ 2 _ 2
KBVyaV0® = k@a-vo2” M(BVo — Vi)" = Wo — VỤ) (3.14)Khi 6 đạt được mực tiêu thu giảm điện năng cua bộ loc Pipeline có thé tinhtoán băng phương trình số (5)
3.2.3 Thiết kế công suất thấp cho bộ lọc FIR3.2.3.1 Clock gating
Clock gating là một trong kỹ thuật công suất thấp phố biển nhất, rất hiệu quảtrong việc giảm tiêu thụ năng lượng trong các kỹ thuật số Kỹ thuật nảy là vô hiệuhóa hoặc triệt tiêu các chuyển đổi từ việc truyền sang các phần đường dẫn của clockgating (clock gating có lẽ là Flip Flop, mang clok, hoặc logic) trong một điều kiện
Trang 31nhất định dé tính toán các mach đo xung nhịp Khi sử dung clock gating mach ségiảm điện dung để chuyển mạch và hoạt động chuyển mạch của công logic được cungcấp bởi các thành phan lưu trữ vì các chuyển đối không cân thiết [10].
Phép toán FIR cơ bản bao gồm một loạt các phép nhân và phép cộng, điềuquan trọng là xem xét các van dé phức tap tính toán va sức mạnh của các hoạt độngsố học cơ bản này dé giải quyết các khả năng giảm năng lượng trong tính toán FIR.Những vấn đề này có thé được coi là tối ưu Dé tối ưu công suất cho bộ lọc, bài nàyáp dụng bộ nhân Vedic và bộ cộng Ripple Carry Adder (RCA) [11] và dich bit củabộ nhân và bộ cộng [12], đối với hệ thống là một hang số Dựa vào bào toán này déthiết kế systhensis cho bộ lọc FIR dé có thé tối ưu công suất của mạch
3.2.3.2 Phép toán cua bộ lọc FIR
Clock gate của thiết kế co ban là D Flip Flop (DFF), đối với DFF có thé kếthợp giữa hai Latch, và mỗi clock là độc lập của tín hiệu [10]
Trang 32Xin DFFI DFF2 DEF3 DFF4VVvVv
n m0 |0 |112|13 14 5 6 7 8 9 | 10 | 11 | 12 | 13 | 14] 15 | m>ẻlãxịn] 0 |0 {01010 3 | 0 | 2 1 | 4 | 5 |6 |0 10 {1010 0hịn] 0 |5 |4|1312 |
h[0J*x[n| | 0 |o |olo| 0 | -15s | 5 0 | -10 | +5 | 20 | -25 | 30 | 0 | o | o | 0 0h[1]*x[n-
' 0 |o|ololo lo A2 [4| 0 | 8 | 4 | 16] 20} 24} 0 |o0 | 9
xà 0 Jo|ololololöð || 3 |ðo |s |2 |2, |6|9 o } oxà 0ø |olololo | o 0 |ol 6 | 2 | o |a42 |2 |s |aolla|o l0xà 0o |ol|ololo lo | öð ]ofo |3 | i |0 |2 |äa|^42|3s|s| 09
y[n] o |ofofo}o |} as} 27 |3 | A3 | 14] 1 | -t6] is | 16 | 12} 74] 6 | 9
Bảng 3.1: Thiết lập bang LUT cho bộ loc FIRDựa vào bảng thiết kế LUT dé thiết kế RTL cho bộ loc FIR bang thuật toánMCM (Multiple Constant Multipliclication) hình 3.8.
Trang 333.2.3.3 Bộ nhân Vedic và bộ cộng RCA
Bộ nhân Vedic là một bộ nhân xử ly tính toán nhanh hon bộ nhân thông thườngbởi vì, số trễ khi tính toán ít hơn bộ nhân khác Bộ nhân Vedic cho phép kiểu nhân là2x2, 4x4, 8x8, và 16x16 vẫn Nhung trong bài luận văn này chỉ lay bộ nhân Vedic8x8 thực phép nhân không dấu dé tối công suất chô bộ loc FIR Bộ nhân Vedic dạng8x8 được mình họa trong hình 3.6 [10], [4].
Step 1 Step 2 Step 3o 1 0 1 Oo
Trang 34Thông thường bộ nhân Vedic toàn sử dung bộ cộng RCA dé có thé xử lý kếtquả của bộ nhân này Đây là sở đồ minh họa về bộ cộng RCA:
a[7]bƑ] a|8jbjlj aj5]bi3 ‘ bid] O13 f bị2] 1 b[l] si) iFA7 FA6 FA5 FA 4 FA3 FA2 FA 1 FA 1
7 cũ côi [| lel [ lel c2 ct] |
Ripple Carry Adder Bởi bộ cộng Ripple Carry Adder có trễ xử lý tính toán hơn các
bài toán Sau khi thực hiện tính toán xong tôi lay D Flip Flop dé tạo các clock chodau ra cua bộ lọc.
Trang 353.2.3.4 Thông số thiết kế RTL cho bộ loc FIR
Dựa vào hình 3.7 thiết kê thông số của RTL băng thuật toán thông thường,dich bit bộ nhân, và nhân Vedic kết hợp bộ cộng RCA như sau:
nhân)
e Thiết lập bộ nhân MCM băng thuật toán thông thường:MCMO = Xin*H0;
MCMI = Xin*HI;MCM2 = Xin*H2;MCM3 = Xin*H3;MCM4 = Xin*H4;e Thiết lập bộ nhân MCM bang dich bit:MCM0 = (Xin<<2) + Xin;
MCM 1 = (Xin<<2);MCM2 = (Xin<<1) + XinMCM3 = (Xin<<1)
MCM4 = XinThiết lập bộ cộng thông thường với D Flip Flop:Add_outI = Q1 + MCM3
Add_out2 = Q2 + MCM2Add_out3 = Q3 + MCMIAdd_out4 = Q4 + MCMOThiết lập D Flip Flop (sử dung cả bộ nhân thông thường va dich bit của bộDFF dffl (.RST(RST),.CLK(CLK) D(MCM4),.Q(QT)):
DFF dff2 (RST(RST),.CLK(CLK),.D(add_out1),.Q(Q2));DFF dff3 (.RST(RST),.CLK(CLK),.D(add_out2),.Q(Q3));DFF dff4 (.RST(RST),.CLK(CLK),.D(add_out3),.Q(Q4));e Thiết lập bộ nhân Vedic với bai toán MCM:
Eight vedic mul 4(.a(Xin tmp),.b(H4),.c(MCM4));Eight vedic mul_3(.a(Xin tmp),.b(H3),.c(MCMS)):
Trang 36Eight vedic mul _1(.a(Xin_tmp),.b(H1),.c(MCM1));Eight vedic mul_0(.a(Xin tmp) b(H0),.c(MCM0)):Đối với Vedic chỉ áp dung với số không có dau, vay phải chuyển từ số có dausang số không dấu.
ca2 #(.N(16))cal(in(MCM4) out(MCM4 ca));ca2 #(.N(16))ca2(.in(MCM3) out(MCM3 ca));ca2 #(.N(16))ca3(.in(MCM2),.out(MCM2 ca));ca2 #(.N(16))ca4(in(MCMI) out(MCMI ca));ca2 #(.N(16))ca5(.in(MCM0) out(MCMO ca));MCM4 tmp = Xin[7|?MCM4_ca:MCM4;MCM3_ tmp = Xin[7|?MCM3_ca:MCM3;MCM2 tmp = Xin[7]?MCM2_ ca:MCM2;MCM1 tmp = Xin[7]?MCM1_ ca:MCM1;MCMO tmp = Xin[7]?MCM0O_ca:MCMO;Cong RCA cua Vedic:
adder _n_ bit #(.N(16)) add_1(.a(Q1), bMCM3 tmp), cin(O), sum(add_out1), cout());
adder_n_bit #(.N(16)) add _2(.a(Q2), b(MCM2 tmp), cin(O), sum(add_out2), cout();
adder_n_bit #(.N(16)) add_3(.a(Q3), b(MCM1_ tmp), cin(O), sum(add_out3), cout());
adder_n_bit #(.N(16)) add 4(a(Q4), bMCMO tmp), cin(O), sum(add_out4), cout();
Flip Flop của bộ nhân Vedic và cộng RCA
DFF dffl (RST(RST),.CLK(CLK),.D(MCM4 tmp),.Q(Q1)):
DFF dff2 (.RST(RST),.CLK(CLK),.D(add_out1),.Q(Q2));
DFF dff3 (.RST(RST),.CLK(CLK),.D(add_out2),.Q(Q3));
DFF dff4 (.RST(RST),.CLK(CLK),.D(add_out3),.Q(Q4));
Trang 37CHUONG 4 THIET KE RTL CHO BO LOC FIR BANG VERILOG
4.1 MO TẢ KIÊN TRÚC4.1.1 Khối RTL của bộ loc FIR bằng thuật toán thông thường
// +//111111/ - Thesis ¡1N// +//Name : Chhoeung Yean ID:1678001 +// +//IIIIIIII Advisor: Truong Quang Vinh [|[IIIIIIIIIII+///ASIC Design of low power fir filter +//(We use algorithms MCM for convolution of FIR filters)// +
module fir filter( CLK, RST, Xin,Yout) ;
// Parameter
parameter COEF WIDTH = °;parameter DATA WIDTH = 16;
//// Ports//
output reg signed [DATA WIDTH-1:0] Yout;input wire signed [COEF _WIDTH-1:0] Xin;input wire CLK, RST;
//Internal variables.
wire signed [COEF WIDTH-1:0] H0,H1,H2,H3,H4;wire signed [DATA WIDTH-' :)] MCM0,MCM1,MCM2 ,MCM3, MCM4,add outi,add out2,add out3, add_out4;wire signed [DATA_WIDTH-1:0] Q1,02,Q3,04;
//Assign H = [5 4 3 2 1]
assign HO = 5;assign Hi = 4;assign H2 = 3;assign H3 = 2;assign H4 = |;
//Multiplier
assign MCM0 = H0*Xin;assign MCM1 = Hl*Xin;assign MCM2 = H2*Xin;assign MCM3 = H3*Xin;assign MCM4 = H4*Xin;//adders
assign add_outi = Qi + MCM3;assign add_out2 = Q2 + MCM2;assign add_out3 = Q3 + MCM1;assign add_out4 = Q4 + MCM0;
//flipflop instantiations (for introducing a delay).
DFF dffi (.RST(RST),.CLK(CLK),.D(MCM4),.Q(Q1));DFF dff2 (.RST(RST),.CLK(CLK) ,.D(add_outi) ,.Q(02)) ;DFF dff3 (.RST(RST),.CLK(CLK) ,.D(add_out2) ,.Q(03)) ;DFF dff4 (.RST(RST),.CLK(CLK) ,.D(add_out3) ,.Q(04)) ;
//Assign the last adder output to final output.
always@ (posedge CLK or negedge RST)begin
if (RST==0) beginYout <= {DATA _WIDTH{16'd0}};end
else beginYout <= add_out4;end
Trang 384.1.2 Khối RTL cho bộ loc FIR bang dich bit bằng bai toán MCM
// +IIITITTTTT Thesis Na// ¬//Name : Chhoeung Yean ID:1678001 ‡
// /////////Advisor: Truong Quang Vinh\\\\\\\\\\\\\\\\ +///ASIC Design of low power fir filter +//(We use algorithms convolution and FIR filters) +// +
-module fir filter( CLK, RST, Xin, Yout) ;// Parameter
parameter COEF WIDTH = :;parameter DATA WIDTH = 16;
//// Ports//
output reg signed [DATA WIDTH-1:0] Yout;
input wire signed [COEF WIDTH-1:0] Xin;
input wire CLK, RST;
//Internal variables.wire signed [COEF WIDTH-1:0] HO,H1,H2,H3,H4;
wire signed [DATA WIDTH-1:0] MCMÔ,MCM1,MCM2,MCM3, MCM4,add_outl,add_out2,add_out3, add_out4;wire signed [DATA WIDTH-1:0] Q1,02,03,04;
//adders
assign add_outl = 01 + MCM3;assign add_out2 = Q2 + MCM2;assign add_out3 = 03 + MCMI1;assign add_out4 = Q4 + MCM0;
//flipflop instantiations (for introducing a delay).
DFF dffi (.RST(RST) ,.CLK(CLK) ,.D(MCM4) ,.Q(Q1));
DFF dff3 (.RST(RST),.CLK(CLX) ,.D(add_out2) ,.0(03) ) ;DFF dff4 (.RST(RST),.CLK(CLX) ,.D(add_out3) ,.0(04) ) ;
//shift bit multiplier of coef signalassign MCMÔ = (Xin << 2) + Xin;assign MCMl = (Xin << 2);assign MCM2 = (Xin << ') + Xin;assign MCM3 = (Xin << 1);assign MCM4 = Xin;
//Assign the last adder output to final output.
always@ (posedge CLK or negedge RST)begin
if (RST==0) beginYout <= {DATA_WIDTH{16'd0}};end
else beginYout <= add_out4;end
endendmodule
Trang 394.1.3 Khối RTL cho bộ loc FIR bang Vedic va RCA của MCM
///ASIC Design of low power fir filter
//(We use algorithms Vedic and RCA of convolution FIR filters)
// +module fir filter( CLK, RST, Xin,Yout) ;
// Parameter
parameter COEF WIDTH = 6;
parameter DATA WIDTH = 16;
//// Ports//
output reg signed [DATA WIDTH-':2] Yout;input signed [COEF_WIDTH-1:0] Xin;input CLK, RST;
//Internal variables.
wire signed [COEF _WIDTH-1:0] HO,H1,H2,H3,H4;wire signed [DATA _WIDTH-1:0] MCM0,MCMi,MCM2 ,MCM3,MCM4,add_outi,add_out2,add_out3,add_out4;wire signed [DATA _WIDTH-1:0] MCMO tmp,MCMi tmp,MCM2_ tmp,MCM3_tmp,MCM4 tmp;
wire signed [DATA _WIDTH-1:0] MCM0O ca,MCM1 ca,MCM2_ ca,MCM3 ca,MCM4 ca;wire signed [DATA_WIDTH-1:0] Oi,O2,O3,Q4;
wire signed [COEF_WIDTH-1:0] Xin tmp;wire signed [COEF_WIDTH-1:0] Xin ca2;
// convert signed to unsigned number
ca2 ca0(.in(Xin),.out(Xin_ca2));assign Xin_tmp = Xin[7]?Xin_ca2:Xin;//filter coefficient initializations.
//B = [5 4 3 2 1].
assign HO = 5;assign Hi = 4;assign H2 = 3;assign H3 = 2;assign H4 = i;
//Multiple constant multiplications.
Eight_vedic mul 4(.a(Xin tmp),.b(H4),.c (MCM4)) ;Eight vedic mul 3(.a(Xin tmp),.b(H3) ,.c (MCM3)) ;Eight vedic mul 2(.a(Xin tmp),.b(H2),.c (MCM2)) ;Eight_vedic mul i1(.a(Xin tmp),.b(H1),.c(MCM1)) ;Eight_vedic mul 0(.a(Xin tmp),.b(H0),.c (MCM0)) ;
// convert unsigned to signed number
ca2 #(.N('€)) cai (.1n (MCM4) ,.out (MCM4_ ca)) ;ca2 #(.N('€)) ca2 (.1n (MCM3) ,.out (MCM3_ ca) ) ;ca2 #(.N('€)) ca3(.1n (MCM2) ,.out (MCM2_ ca) ) ;ca2 #(.N(L6)) ca4(.1n (MCM1) ,.out (MCM1_ ca)) ;ca2 #(.N('€)) ca5(.1n (MCM0) ,.out (MCMO_ ca) ) ;assign MCM4 tmp = Xin[7]?MCM4_ca:MCM4;assign MCM3 tmp = Xin[7]?MCM3_ca:MCM3;assign MCM2_ tmp = Xin[7]?MCM2_ca:MCM2;assign MCM1_ tmp = Xin[7]?MCM1_ca:MCM1;assign MCMO tmp = Xin[7]?MCM0_ ca :MCM0 ;//adders
adder _n bit #(.N(L6)) add 1(.a(O1), b(MCM3 tmp), -cin(9), -sum(add_outi), cout());adder _n bit #(.N(L6)) add_2(.a(Q2), b(MCM2 tmp), -cin(0), -sum(add_out2), cout());adder _n bit #(.N(L6)) add_3(.a(Q3), b(MCM1 tmp), -cin(0), -sum(add_out3), cout());adder _n bit #(.N(L6)) add_4(.a(Q4), b(MCMO tmp), -cin(0), -sum(add_out4), cout());
//flipflop instantiations (for introducing a delay).
DFF dffl (.RST(RST),.CLK(CLK),.D(MCM4_ tmp) ,.Q(Q1));DFF dff2 (.RST(RST),.CLK(CLK) ,.D(add_outi),.Q(Q2));DFF dff3 (.RST(RST),.CLK(CLK) ,.D(add_out2) ,.Q(Q3));DFF dff4 (.RST(RST),.CLK(CLK) ,.D(add_out3) ,.Q(Q4));
//Assign the last adder output to final output.
always@ (posedge CLK or posedge RST)begin
if(RST == 0) beginYout <= 0;end
else beginYout <= add_out4;
Trang 404.1.3.1 Khối bộ nhân Vedic
module Two vedic(a,b,c) ;
input [1:0] a;input [1:0] b;output [3:0] c;wire [3:0] wir;assign wir[0]assign wir[1]a[8] & b[0];
(a[1]&b[@])^(a[Ø]&b[1]);
assign wir[2] = (a[9]&b[1])&(a[1]&b[@])^(a[1]&b[1]);assign wir[3] (a[Ø]&b[1])&(a[1]&b[Ø])&(a[1]&b[1]);assign c = {wir[3],wir[2],wir[1],wir[0]};
wire [5:0] resultl;wire [5:6] result2;wire [5:0] resul]3;
wire wir6;
-Two vedic v1(a[3:2],b[3:2],wir[15:12]);
Two vedic v2(a[1:0] ,b[3:2] ,wir[11:8]);
assign wir2 = {wir[15:12],2 'bô};assign wir3 = {2'b0,wir[11:8]};//six bit add addl(wir2,wir3,1'b0, resultl, co);//assign resultl = wir2 + wir3;
ripple carry n bit #(.N(6)) add 1(.a(wir2), b(wir3), cin(1'00), sum(resultl), cout());
Two vedic v3(a[3:2],b[1:0] ,wir[7:4]);Two vedic v4(a[1:0] ,b[1:0] ,wir[3:0]);//six bit add add2({2'b0,wir[7:4]},{4'bO,wir[3:2]},co, result2,wir6) ;//assign result2 = resultl +
assign wir4 = {2'b0,wir[7:4]};
assign wir5 = {4'b0,wir[3:2]};
ripple carry n bit #(.N(6)) add 2(.a(wir4), b(wir5)}, cin(1'00}, sum(result2), cout());
assign c[1:0] = wir[1:8];
assign c[7:2] = result3[5:0];endmodule
ripple carry n bit #(.M(6)) add 3(.a(resultl), b(result2), cin(1'b0), sum(result3), cout());