Đồ án SEM 3 tích hợp Macro SRAM 256×32 vào PicoRV32 của sinh viên FPT Jetking

Các thành viên nhóm bảo về đồ án Tích hợp Macro tùy chỉnh(SRAM 256x32) vào lõi picorv32

Sinh viên FPT Jetking thực hiện đồ án tích hợp Macro SRAM 256×32 vào lõi PicoRV32, triển khai RTL Design, Physical Design và Timing Closure trên công nghệ Sky130 theo quy trình thiết kế ASIC hiện đại.

Tích hợp Macro SRAM 256×32 vào PicoRV32: Sinh viên FPT Jetking chinh phục bài toán thiết kế SoC hiện đại

Trong thiết kế chip hiện đại, bộ nhớ không đơn thuần là nơi lưu trữ dữ liệu mà còn đóng vai trò quyết định đến hiệu năng của toàn bộ hệ thống. Việc tích hợp các IP bộ nhớ (Memory IP) với bộ xử lý là một trong những bài toán quan trọng khi phát triển các hệ thống System-on-Chip (SoC), đòi hỏi kỹ sư thiết kế phải làm chủ cả kiến trúc hệ thống, giao tiếp phần cứng lẫn quy trình Physical Design.

Xuất phát từ bài toán thực tế đó, nhóm sinh viên ngành Thiết kế vi mạch bán dẫn FPT Jetking đã thực hiện đồ án “Tích hợp Macro tùy chỉnh (SRAM 256×32) vào lõi PicoRV32” trong học kỳ 3 với mục tiêu xây dựng một hệ thống bộ nhớ nhúng hiệu năng cao theo quy trình thiết kế ASIC hiện đại.

Đồ án được thực hiện bởi nhóm sinh viên lớp C1.2503.E1 gồm:

  • Đặng Hồng Hải
  • Nguyễn Minh Thuận
  • Vòng Kháng Hữu
  • Lê Ngọc Phát
Các thành viên nhóm bảo về đồ án Tích hợp Macro tùy chỉnh(SRAM 256x32) vào lõi picorv32
Các thành viên nhóm bảo về đồ án Tích hợp Macro tùy chỉnh(SRAM 256×32) vào lõi picorv32

Dự án tập trung vào việc tích hợp Macro SRAM 256×32 tùy chỉnh vào lõi xử lý PicoRV32, đồng thời triển khai đầy đủ các bước từ thiết kế RTL, xây dựng bộ điều hợp truy cập bộ nhớ (SRAM Adapter), kiểm chứng chức năng cho đến Physical Design bằng OpenLane và OpenROAD trên công nghệ Sky130.

Vì sao nhóm lựa chọn đề tài này?

Trong các hệ thống SoC hiện đại, SRAM là thành phần quan trọng quyết định khả năng lưu trữ và tốc độ truy cập dữ liệu của bộ xử lý. Tuy nhiên, việc tích hợp một Hard Macro SRAM vào CPU không đơn thuần chỉ là kết nối các tín hiệu đầu vào và đầu ra, mà còn đòi hỏi phải giải quyết những khác biệt về giao thức truy cập bộ nhớ, timing cũng như tối ưu thiết kế vật lý.

Nhóm sinh viên lựa chọn đề tài này với mong muốn tiếp cận quy trình tích hợp IP bộ nhớ vào bộ xử lý RISC-V theo định hướng mà các doanh nghiệp bán dẫn đang triển khai hiện nay.

Thông qua dự án, sinh viên có cơ hội trải nghiệm toàn bộ quy trình thiết kế ASIC hiện đại, từ RTL Design, xây dựng bộ điều hợp giao tiếp, kiểm chứng chức năng cho đến Physical Design và phân tích Timing. Đây cũng là cơ hội để nhóm làm quen với việc phát triển các hệ thống SoC thay vì chỉ dừng lại ở việc thiết kế các module phần cứng đơn lẻ.

Xây dựng hệ thống bộ nhớ nhúng cho PicoRV32

Mục tiêu của dự án là tích hợp thành công Macro SRAM 256×32 vào lõi PicoRV32 và xây dựng một hệ thống có khả năng truy cập bộ nhớ ổn định thông qua bộ điều hợp do chính nhóm thiết kế.

Để hiện thực hóa mục tiêu này, nhóm đã xây dựng Macro SRAM trên công nghệ Sky130 cùng các tệp LEF, Liberty và Verilog Blackbox phục vụ cho quá trình tích hợp vào hệ thống số. Song song đó, việc nghiên cứu kiến trúc PicoRV32 và cơ chế giao tiếp bộ nhớ cũng được thực hiện nhằm đảm bảo khả năng tương thích giữa CPU và Macro SRAM.

Điểm quan trọng của dự án nằm ở việc thiết kế SRAM Adapter có nhiệm vụ chuyển đổi giao thức truy cập giữa bộ xử lý và bộ nhớ. Đây được xem là “cầu nối” giúp CPU có thể thực hiện các thao tác đọc và ghi dữ liệu một cách chính xác và hiệu quả.

Sau khi hoàn thiện Top-Level Design, toàn bộ hệ thống bao gồm PicoRV32, SRAM Adapter và Macro SRAM được tích hợp thành một Memory Subsystem hoàn chỉnh.

Hoàn thiện quy trình Physical Design

Bên cạnh việc xây dựng kiến trúc hệ thống, nhóm còn triển khai đầy đủ quy trình Physical Design theo tiêu chuẩn thiết kế ASIC hiện đại.

Sau giai đoạn mô phỏng và kiểm chứng chức năng bằng Testbench, hệ thống tiếp tục được thực hiện Logic Synthesis, Floorplan, Placement, Clock Tree Synthesis, Routing và Static Timing Analysis thông qua OpenLane và OpenROAD.

Việc xuất thành công các tệp DEF và GDSII đánh dấu một trong những cột mốc quan trọng của dự án, cho thấy hệ thống đã đáp ứng được các yêu cầu cần thiết trong quy trình thiết kế vật lý của vi mạch.

Đặc biệt, quá trình phân tích Timing đóng vai trò quan trọng nhằm đảm bảo hệ thống có thể hoạt động ổn định tại tần số mục tiêu. Nhóm đã nhiều lần tối ưu fanout, điều chỉnh floorplan và các tham số trong OpenLane để đạt được Timing Closure theo yêu cầu thiết kế.

Hành trình giải quyết những bài toán kỹ thuật

Một trong những thách thức lớn nhất của đồ án nằm ở sự khác biệt giữa giao thức truy cập bộ nhớ của PicoRV32 và Macro SRAM. Việc đồng bộ các tín hiệu điều khiển và đảm bảo khả năng giao tiếp giữa CPU với bộ nhớ đòi hỏi nhóm phải thiết kế SRAM Adapter phù hợp với kiến trúc của toàn hệ thống.

Không chỉ dừng lại ở bài toán giao tiếp phần cứng, quá trình Physical Design cũng đặt ra nhiều thách thức liên quan đến các vi phạm Timing trong các bước Floorplan, Placement và Routing.

Để giải quyết những vấn đề này, nhóm đã thực hiện phân tích chi tiết các báo cáo Timing thông qua OpenSTA, tối ưu fanout, điều chỉnh các tham số thiết kế cũng như kiểm tra log của từng bước trong OpenLane nhằm từng bước hoàn thiện toàn bộ Flow thiết kế.

Có thời điểm, cả nhóm phải điều chỉnh nhiều lần các tín hiệu điều khiển trong SRAM Adapter trước khi CPU có thể truy cập bộ nhớ thành công. Khoảnh khắc báo cáo Static Timing Analysis lần đầu tiên cho kết quả không còn vi phạm Setup và Hold Timing đã trở thành một cột mốc đáng nhớ đối với các thành viên trong nhóm.

Làm chủ quy trình tích hợp IP trong thiết kế chip

Thông qua đồ án, sinh viên không chỉ hiểu rõ hơn về kiến trúc PicoRV32 và cơ chế truy cập bộ nhớ của bộ xử lý RISC-V mà còn từng bước làm chủ quy trình tích hợp Hard Macro SRAM vào hệ thống số.

Quá trình thực hiện dự án giúp nhóm nâng cao kỹ năng sử dụng các công cụ EDA mã nguồn mở như OpenLane, OpenROAD và OpenSTA trong Physical Design, đồng thời rèn luyện khả năng phân tích Timing, tối ưu thiết kế và làm việc nhóm trong môi trường phát triển sản phẩm thực tế.

Chia sẻ về hành trình thực hiện dự án, đại diện nhóm cho biết:

“Thông qua dự án tích hợp Macro SRAM 256×32 vào PicoRV32, chúng em đã có cơ hội trải nghiệm quy trình phát triển một hệ thống vi mạch từ thiết kế RTL, tích hợp IP bộ nhớ đến Physical Design và tối ưu Timing. Đây là nền tảng quan trọng để chúng em tiếp cận các dự án SoC quy mô lớn trong tương lai.”

Theo đánh giá của giảng viên, đây là một đồ án có tính thực tiễn cao khi bám sát quy trình phát triển SoC trong ngành công nghiệp bán dẫn hiện nay. Nhóm đã triển khai đầy đủ các bước tích hợp Macro SRAM với lõi PicoRV32, thực hiện kiểm chứng hệ thống hoàn chỉnh cũng như vận dụng hiệu quả các công cụ EDA mã nguồn mở trong quá trình Physical Design.

Trong tương lai, dự án có thể được mở rộng bằng việc nâng cấp dung lượng SRAM, hỗ trợ nhiều Macro bộ nhớ khác nhau hoặc tiếp tục tối ưu về diện tích, công suất tiêu thụ và hiệu năng nhằm đáp ứng các yêu cầu của các dự án ASIC thương mại.

Học thiết kế chip bằng những dự án thực tế

Mỗi đồ án tại FPT Jetking không chỉ là bài tập học kỳ mà còn là cơ hội để sinh viên tiếp cận những bài toán đang hiện hữu trong ngành công nghiệp bán dẫn. Việc tích hợp Macro SRAM vào bộ xử lý RISC-V là một ví dụ điển hình cho cách sinh viên được học thông qua dự án, làm quen với quy trình thiết kế chip hiện đại và từng bước phát triển tư duy thiết kế hệ thống.

Dự án “Tích hợp Macro tùy chỉnh (SRAM 256×32) vào lõi PicoRV32” đã cho thấy khả năng vận dụng kiến thức về thiết kế số, tích hợp IP phần cứng, Physical Design và phân tích Timing của sinh viên FPT Jetking. Đây cũng chính là nền tảng quan trọng để người học tiếp tục chinh phục những hệ thống SoC phức tạp hơn trong tương lai.

Giảng viên Trương Huy Hoàng