Chương 1.GIỚI THIEU DE TALI. Lý do chọn dé ti coeccecceccesceccessessessessessessessessessessessessessesusssesseaesssansseesseaeaees 13 1. Mục tiêu nghiÊH CứỨU.Ă cv TH gen 14 1. Phạm vi nghiÊH CỨI.ccĂSc SE ren 14 1.
Phương pháp nghiÊH CỨU. Cấu trúc khóa luận.---:-©-c++25+c2c+tvEEtrSExrerrtrsrxrerrrrerrrree 15 Chương 2.CƠ SỞ LÝ THUYET cesessessssssssessessesssssesssssesssssessessessesssssessessesesseseesssseeseess 16 2. Giao thức APB. TH TK tk tk ng key 16 2.
CAC thuật toán nhân MQ trẬN. _ Thuật toán nhân MQ tr Gn veccccccccccccccccccccccccccsccscsseccssssccecessssssecessssseeeees 17 2. Quy trình công nghỆ. Các công CU EDA.
cọ TH ng ng tr, 19 VN.QUI TRÌNH THIET K É,. Phân tích và lên kế hoạch thiết k. Phân tích lý do sử dụng phương pháp APB. _ Đặc tả kỹ thuật cho phần Front-end (Specification of Front-end).
Đặc ta kỹ thuật cho phân Back-end (Specification of Back-end). Thực hiện ở phan [22. Xây dựng khối nhân ma trận (Matrix_ mulfiply). Xây dựng khối tOp_ACC .e-cc 5c ESEE SE EEEEEE11111212111 xe.
Xây dựng khối dpD_dCC. Xây dựng bộ test cho thiẾt Ke. Thực hiện ở phân Back-end eecceccesssssssssessesssessesssessessssssessesssessessesssessessssseess 29 3. IC C2 — Physicdl D@signicc.cccccccccccccccsssceessecesssessseeeessesessesessessssesensaes 35 Chương 4.KET QUA vosscssescsssessessessessessessessessessessesssssessesssesessessssusaseassssessassseseseseess 42 4.
Kết quả của đặc tả thiết kế (result of specification). Kết quả mô phỏng trEN VIVA. Mô phỏng APB khi ghi dữ lIỆU. Mô phỏng APB khi đọc đữ lIỆU.
Kết quả từ khi nhân hai ma trận trên VivddÌO. Kết quả mô phỏng từ VCS. Kế quả từ Synthesis & FOTHNQÏIIV. SCHEMATIC VỈ@WU.
Chất lượng thiết kế. c5 cEEEE SE EEEEEEkrrkrrrerkee 54 4. Kết quả Formality CheCĂ. Kết quả mafching.
Ket quả Verify. Kết quả Physical Design. KẾI quả tng QUAM ececcescesceccescessessessessessessessessessessessesssssesseasesesssseeseeses 60 4. Kết quả từng bước trong thiết kế vật Vf ccecceccscsessssssssssesseesvsseeseeseeseeees 61 4.
Physical Ve€rijfiC@fiOH. SE vn key 67 Chương 5.KÉT LUẬN VA HUONG PHAT TRIỂN. Tóm tắt các kết L00128212182/710/SR SE. Đánh giá thiết kế và hiệu nĂng.
Hướng Phát TriỂn.-cc St EEEEEEEEEEEEEEEE tre 69 5.òccSS nh ưệu 70 TÀI LIEU THAM KHẢ.- 5: St+E+EtSE+E‡EEE+EEEEEEEEEEESEEEEEEEEEEEEEEEEEEEEEEEEEEErrrkerrree 72 DANH MỤC HÌNH Hình 2. Flow của một thiết kế ASIC đơn giản .---:---+©-s+©cs+©5++c5+c5sze: 19 Hình 3.1 Hệ thong SoC Pulpino gom lõi RISC-V và DUS APB. Sơ đồ khối Ong QUAM. Khối chức năng nhân ma trận ⁄x44.-----c©ce+cc+ctectesrerkerreersees 25 Hình 3.
Khối top dCC€Ï@FfOF.- - 5t SESE‡SE‡EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErrrrree 26 Hình 3. Khối APB qcC.ccàà SH re 26 Hình 3. Quy trình của bước Synthesis — ngudn sÿWOJDSVS. Quy trình của bước FOrmality.
Quy trình thiết kế của bước Physical Design.-- - 2©52©s+cs+ssc5e: 36 Hình 3. Die core sau khi AUWOC td. Sau khi hoàn thành power DÏẠH.- c5 5+ + £*+E+E+e+eeEee+eereekss 38 Hình 3. Cấu trúc của MOt SCCNATIOS ceccececcscesesvssssvssssvevsseeveresveecssveresesversaveeseaene 39 Hình 3.
Các scenarios được kích NOt .«-ẶScccS+ + k+skkEsseeesssexss 39 Hình 3. Kết quả sau bước placement. Cấu trúc clock tree trong thiết kế.----- ++ce+ce+ce+E+E+tcztrrerreres 41 Hình 4. APB trạng thái Setup CUA WILE.
APB trạng thái Access ghi dit liỆM CUA WIiItE. APB trạng thái [dle CUQ Wiite. APB trạng thái Setup CÚA reAd .c cv SSvEksseeseeeersseeere 45 Hình 4. APB trạng thái của ACCESS F€đÏ.
APB trạng thái Idle CUA F€@QÏ. So sánh Ket quả, Leeccecsesscecsessesssessesssessesssssessesssessessusssetsesssessessesssessesseseseess 48 Hình 4. So sánh kết QUA 2. 5-55 St‡SEEEEEEEEEEEEEE2E121121121121121121121121 1 xe.
So Sánh kẾt quả 4 veccscecsesssesssesssesssesssesssesssecssesssessssssusssessssssecssecssessseessecs 50 Hình 4. So sánh kết quả của DVE và Vivado phan I. So sánh kết quả của DVE và Vivado phan2 ¬—. Kết quả schematic của design c.
Kết quả schematic bên trong của design veecceccescescessessessessesessesseeseeseesees 53 Hình 4. Report constraint của quá trình SYNth@Sis. Report AREA của quá trình sVHfÏ€SÌS. s-cẶSĂS se sseksseseeeeeee 55 Hình 4.
Report power của quá trinh $yHfÏ€S1S. c5 5< SE +ssseseeeeee 56 Hình 4. Biểu đồ report timing của tool DC.-- 2 s©s+ss+s£+££+xe+eezxezeezee+es 57 Hình 4. Kết quả matching từ tool ƒorimÏity.-- 5-55 s5e+se+ce+£e+£ezeczeereres 58 Hình 4.
Két qua verify thành công tại bước ƒOrIndÏIFy. Két quả timming SUMMALY ooecseesscssscessesssesssesssesssesssesssesssesssessssssssseesseeees 60 Hình 4. Diện tích tong thể của thiết kế coeecceccesccscsessesssessesseessessesssessecsesssessecsseesen 60 Hình 4. 23 Report power của thiết kế ở bước physical design.
24 Tổng quan qua các quá fFÌHHh.- :- +5 S£+S£+Et+E+E2E£EzEzErEerrerxee 62 Hình 4. Kết quả timing tổng quan tại bud'c DÌAC€IHHÍ. Map congestion của thiẾt kế.- 2-2 2©5eS£+S£+EE+E+EE+E£E+EzEzEzrersee 64 Hình 4. Map density của thiẾt Ké.
Clock tree của thiết Ké. Kết quả check gor của thiết tại bước CTS veesceccsscssscessessssseseesessseseeseeseeses 65 Hình 4. Một phan của thiết kế sau DUC TOME€.- 5-52-5225 E‡EE+EE+EeE+EerEereei Hình 4. Report timming ở bước route.
Kiém tra DRC va LVS cho thiét ké DANH MỤC BANG Bang 3. Bang thể hiện đặc tả kỹ thuật cho phần ƒront-end. Các yêu câu ở bước bac-ehid.- - 5s 5e cs+E+E+E+EtEEzErEerrrrrerreee 24 Bảng 3. Dia chỉ và các bit được biểu diễn của ma trận inpuf.
Địa chỉ và các bit duoc biểu diễn của ma trận OIHÍIDHÍ,. Khả năng đáp ứng của các yêu câu đặt rd.--- 2 c+ce+ce+csecscsceei 42 DANH MỤC TU VIET TAT EDA: Exploratory Data Analysis RISC-V: Reduced Instruction Set Computer APB: Advanced Peripheral Bus RTL: Register-Transfer Level GDS: Graphic Data System ASIC: Application-Specific Integrated Circuit DRC: Design Rule Check LVS: Layout Versus Schematic DC: Design Compiler FM: Formal Verification ICC2: Innovus Implementation System DC: Design Compiler AXI: Advanced eXtensible Interface IP: Intellectual Property PV: Physical Verification (Xac minh vat ly) SDC: Synopsys Design Constraints (Các rang buộc thiết kế cua Synopsys) VCS: Verilog Compiler Simulator (Trinh m6 phong trinh bién dich Verilog) PVT: Process, Voltage, Temperature CTS: Clock Tree Synthesis NDR: Non-Default Rule TÓM TẮT KHÓA LUẬN Với khả năng phát triển của công nghệ, tốc độ ngày càng cao nên từ đó với mong muốn phát triển những ứng dụng phần mềm trên phần cứng đề tốc độ hoạt động được cải thiện. Cùng với tinh thần tìm hiểu và thực hiện full-flow một quy trình của việc sản xuất chip ASIC. Dé tai hướng đến việc thiết kế một bộ nhân ma trận 4x4 đơn giản được tích hợp với APB.
Từ đó có thê tùy biến và kết hợp với một số lõi như RISC-V dé đánh giá hiệu suất trên phần cứng và phần mềm. Qua thực hiện và kiểm tra dé tài đã thực hiện thành công với một IP nhân ma trận đơn giản từ RTL đến GDS. GIỚI THIỆU ĐÈ TÀI Ngày nay cùng với sự phát triển mạnh mẽ của công nghệ, các yêu cầu về mặt truyền nhận, tốc độ ngày càng được đề cao. Nhu cầu xử lý dữ liệu nhanh chóng và hiệu quả dần trở nên cấp thiết.
Trong các hệ thống tính toán hiện đại và tiên tiến, việc sử dụng bộ tăng tốc phần cứng (Accelerator) trong các tính toán phức tạp như nhân ma trận đang trở nên phổ biến. Với kiến trúc RISC-V, tính linh hoạt và khả năng mở rộng của nó đã gây ra sự quan tâm đáng kể trong cộng đồng những người nghiên cứu, học thuật. Bộ nhân ma trận là một thành phần quan trọng trong nhiều ứng dụng tính toán, từ xử lý tín hiệu số, thị giác máy tính cho đến trí tuệ nhân tạo. Việc thiết kế và tích hợp một bộ nhân ma trận hiệu quả với giao điện APB, từ đó có khả năng tùy biến và thích hợp với các lõi xử lý như RISC-V hay bất kỳ CPU nào.
Điều này không chỉ giúp mở ra nhiều hướng phát triển mới trong việc đưa phần mềm xuống phần cứng dé thực hiện tác vụ song song, tăng tốc độ xử lý mà còn nâng cao hiệu suất. Tăng tính học thuật cho nghiên cứu, tạo sự tiền đề cho sự phát triển lớn hơn vi mô hơn. Lý do chọn đề tài Với ý tưởng hiện thực hóa khả năng của phần mềm trên phần cứng dé giúp tối ưu hóa chương trình và tốc độ của phần mềm, từ đó có thê tối ưu hóa tốc độ xử lý của hệ thống, việc phát triển các bộ tăng tốc phần cứng ngày càng trở nên quan trọng. Ttong các ứng dụng tính toán hiệu năng cao, như trí tuệ nhân tao, xử lý hình ảnh va video, và các hệ thống nhúng tốc độ xử lý và hiệu quả năng lượng là yếu tố then chốt.
Việc tối ưu hóa những tác vụ này phần cứng có thé mang lại nhiều lợi ích, bao gồm giảm thiểu thời gian xử lý, tiết kiệm năng lượng và nâng cao hiệu suất tông thể. Một trong những tác vụ tính toán cơ bản được sử dụng nhiều đó là phép nhân ma trận. Phép nhân ma trận là một thành phần quan trọng trong các thuật toán về xử lý đồ họa, hay xử lý các tín hiệu số. Do đó, với tiêu chí hướng đến việc phát triển một bộ nhân ma trận hiệu quả trên phần cứng sẽ góp phần cho việc cải thiện hiệu suất hiện thống trong các tác vụ kể trên.
Mục tiêu nghiên cứu Mục tiêu nghiên cứu của đề tài này là thực hiện một bộ nhân ma trận được tích hợp với bus APB từ đó tạo tiền đề cho việc phát triển và tích hợp lớn hơn trên các lõi CPU như RISC-V. Bộ nhân ma trận sẽ biểu diễn diễn được tập số nhân và kết quả khi tích hợp với APB. Sau khi được kiểm tra và đánh giá đúng ở bước front-end, sẽ được tiếp tục thực hiện layout bằng các phần mềm EDA chuyên dụng và phải đảm bảo về mặt timming, DRC, LVS. Pham vi nghiên cứu Phạm vi nghiên cứu của đề tài này chỉ giới hạn ở bộ nhân với kích thước 4x4 và chỉ hỗ trợ với số nguyên dương.
Ngoài ra, bộ nhân sẽ chỉ được tích hợp với APB mà không tiếp tục tích hợp với RISC-V bởi vì tính phức tạp và thời gian giới hạn của đề tài. Tuy nhiên, sau khi thực hiện xong bộ nhân ở mức RTL và kiểm thử bộ nhân đúng về mặt logic thì sẽ tiếp tục thực hiện ở back-end trong đó có tổng hợp netlist phải được đảm bảo đúng về mặt logic giữa trước và sau tổng hợp. Sau đó dé tài sẽ được layout bằng các công cụ EDA như ICC2. Ở bước layout, tần số hoạt động tối đa của đề tài không quá 200Mhz và một số ràng buộc (constraint) cơ bản sẽ khác được áp dụng.
Tất nhiên phải đảm bảo về mặt timing, DRC, LVS,. Những yếu tố cơ bản của bước back-end. Phương pháp nghiên cứu Phương pháp nghiên cứu đặt ra gồm có bốn giai đoạn. Giai đoạn thứ nhất, nhóm sẽ tìm hiéu sâu về mặt lý thuyết của APB, các thuật toán nhân ma trận từ đó tìm ra thuật toán thuận tiện và tối ưu nhất cả trong việc tích với hợp APB và cả trong việc tích hợp với RISC-V về sau.
Sau giai đoạn tìm hiểu nhóm sẽ tiễn hành trién khai và thiết kế - thiết kế RTL bằng các công cụ như Vivado hay VCS với ngôn ngữ Sverilog. Giai đoạn thứ ba sau khi thiết kế nhóm sẽ tiến hành mô phỏng và kiểm tra dé đảm bảo thiết kế hoạt động đúng mong doi ít nhất là về mặt luận lý phải chính xác. Sau khi kiểm thử thành công, thiết kế sẽ tiến hành thiết kế vật 14 lý dé thiết kế được thực hiện thực trên thực tế. Sau các giai đoạn trên đề tài sẽ được nhóm tiễn hành đánh giá các hiệu năng mà dé tài mang lại cũng như xác minh thiết kế đảm bảo hoàn thành các chỉ tiêu về quy tắc thiết kế cũng như khả năng tối ưu, khả năng tích hợp về sau của thiết kế.