Đồ án học kỳ 3 ngành Thiết kế vi mạch bán dẫn FPT Jetking: thiết kế SRAM 4×8 Full-Custom, tích hợp PicoRV32 RISC-V và Caravel SoC theo quy trình ASIC hiện đại.
Mục lục
Sinh viên FPT Jetking thiết kế SRAM 4×8 tích hợp PicoRV32 trên Caravel SoC theo quy trình ASIC hiện đại
Trong thiết kế vi mạch hiện đại, bộ nhớ SRAM được xem là một trong những thành phần quan trọng nhất của các bộ vi xử lý và hệ thống System-on-Chip (SoC). Từ điện thoại thông minh, thiết bị IoT cho đến những bộ xử lý hiệu năng cao, SRAM luôn đóng vai trò lưu trữ dữ liệu tạm thời với tốc độ truy xuất nhanh, ảnh hưởng trực tiếp đến hiệu năng hoạt động của toàn hệ thống.
Việc thiết kế một khối SRAM hoàn chỉnh vốn là bài toán có độ phức tạp cao khi đòi hỏi người học phải làm chủ đồng thời kiến thức về thiết kế số (Digital IC Design), thiết kế vi mạch Full-Custom, Physical Design và tích hợp hệ thống SoC.
Minh chứng cho năng lực thực hành và nghiên cứu của sinh viên ngành Thiết kế vi mạch bán dẫn tại FPT Jetking là đồ án học kỳ 3 mang tên “Thiết kế SRAM 4×8 tích hợp PicoRV32 trên Caravel SoC” do nhóm sinh viên Trần Xuân Bách, Trương Nguyễn Hoàng Long, Lê Hồ An Khương, Nguyễn Hà Khôi và Phan Trần Anh Quân (lớp C1.2503.E1) thực hiện.

Dự án được xây dựng theo quy trình thiết kế ASIC mã nguồn mở hiện đại, sử dụng bộ công cụ SKY130, Yosys và OpenROAD nhằm thiết kế SRAM 4×8 theo phương pháp Full-Custom, đóng gói thành Hard Macro và tích hợp với bộ xử lý PicoRV32 RISC-V trên nền tảng Caravel SoC.
Khi một khối SRAM trở thành bài toán thiết kế chip hoàn chỉnh
Không lựa chọn những bài thực hành RTL đơn lẻ, nhóm sinh viên mong muốn thực hiện một đề tài có tính tổng hợp cao, cho phép tiếp cận đầy đủ quy trình phát triển vi mạch từ mức transistor cho đến hệ thống SoC hoàn chỉnh.
SRAM là một trong những khối chức năng quan trọng nhất của mọi bộ vi xử lý hiện đại, đòi hỏi kỹ sư thiết kế phải hiểu sâu về cả Digital IC Design và Custom IC Design. Vì vậy, việc lựa chọn đề tài này không chỉ giúp sinh viên tiếp cận quy trình thiết kế bộ nhớ trong thực tế, mà còn tạo cơ hội trải nghiệm toàn bộ quy trình phát triển ASIC theo chuẩn công nghiệp.
Đặc biệt, việc tích hợp SRAM với bộ xử lý PicoRV32 RISC-V và Caravel SoC đã mở rộng phạm vi của đồ án từ một khối bộ nhớ đơn lẻ trở thành một hệ thống số hoàn chỉnh. Đây cũng là hướng tiếp cận đang được nhiều trường đại học và doanh nghiệp trên thế giới áp dụng trong lĩnh vực thiết kế chip mã nguồn mở.

Thiết kế SRAM Full-Custom từ mức transistor
Mục tiêu lớn nhất của dự án là xây dựng thành công bộ nhớ SRAM 4×8 sử dụng kiến trúc bitcell 6T theo phương pháp Full-Custom, đồng thời tích hợp hệ thống với PicoRV32 và Caravel SoC thông qua quy trình thiết kế ASIC hoàn chỉnh.
Khởi đầu từ thiết kế transistor-level, nhóm tiến hành xây dựng schematic cho bitcell SRAM 6T bằng Xschem trước khi triển khai layout bằng Magic. Các bước kiểm tra DRC, LVS và PEX được thực hiện xuyên suốt nhằm đảm bảo tính chính xác giữa schematic và layout vật lý.
Sau khi hoàn thiện bitcell cơ bản, nhóm tiếp tục xây dựng các khối ngoại vi như Precharge Circuit, Write Driver, Sense Amplifier và Data Out trước khi ghép thành SRAM Array 4×8 hoàn chỉnh.
Không dừng lại ở việc thiết kế bộ nhớ, SRAM sau đó được đóng gói thành Hard Macro với đầy đủ các thành phần phục vụ Physical Design như LEF, GDS, SPICE và Verilog Blackbox. Đây là bước quan trọng để SRAM có thể trở thành một thành phần độc lập và sẵn sàng tích hợp vào các hệ thống số quy mô lớn.

Tích hợp bộ nhớ SRAM với PicoRV32 và Caravel SoC
Điểm nổi bật của đồ án nằm ở việc nhóm sinh viên đã đưa bộ nhớ SRAM do chính mình thiết kế trở thành một phần của hệ thống SoC hoàn chỉnh.
Để thực hiện điều đó, nhóm tiến hành thiết kế các khối điều khiển bằng Verilog như Row Decoder, SRAM Controller và Top SRAM Tile. Song song đó là việc xây dựng bộ chuyển đổi bus nhằm giải quyết bài toán giao tiếp giữa CPU PicoRV32 sử dụng bus dữ liệu 32-bit và SRAM chỉ có bus dữ liệu 8-bit.

Sau khi hoàn thiện Memory Subsystem, hệ thống tiếp tục được tổng hợp thiết kế bằng Yosys, thực hiện Floorplan, Placement, Clock Tree Synthesis và Routing trên OpenROAD trước khi tiến hành phân tích Setup/Hold Timing và kiểm tra DRC sau Layout.
Cuối cùng, toàn bộ subsystem được tích hợp thành công vào Caravel User Project Wrapper và kiểm chứng hoạt động thông qua quá trình mô phỏng hậu Layout và Signoff.
Thông qua quy trình này, sinh viên đã có cơ hội trải nghiệm gần như toàn bộ vòng đời phát triển của một thiết kế ASIC hiện đại.
Chinh phục những thử thách trong thiết kế bộ nhớ và tích hợp hệ thống
Thiết kế SRAM ở mức transistor luôn là một trong những bài toán có độ khó cao trong lĩnh vực thiết kế vi mạch. Chỉ một sai sót nhỏ trong quá trình xây dựng layout hoặc không đồng nhất tên chân tín hiệu cũng có thể khiến quá trình kiểm tra LVS thất bại.
Trong quá trình thực hiện đồ án, nhóm đã nhiều lần phải sửa lỗi LVS chỉ vì nhầm thứ tự pin hoặc chưa thống nhất tên tín hiệu giữa các file SPICE, LEF, GDS và Verilog Blackbox. Chính những thử thách đó đã giúp sinh viên hiểu rõ hơn tầm quan trọng của việc chuẩn hóa thiết kế trong quy trình phát triển ASIC.
Một khó khăn khác đến từ việc đồng bộ giao tiếp giữa CPU PicoRV32 32-bit với SRAM chỉ hỗ trợ bus dữ liệu 8-bit. Để giải quyết bài toán này, nhóm đã thiết kế FSM Bridge cho phép chuyển đổi giao tiếp 32-bit thành nhiều lần truy cập dữ liệu 8-bit, đảm bảo hệ thống hoạt động ổn định khi tích hợp.

Nhằm hạn chế lỗi phát sinh trong quá trình phát triển, từng module được kiểm thử độc lập trước khi tích hợp vào hệ thống tổng thể. Đồng thời, các bước DRC, LVS và PEX cũng được thực hiện sau mỗi giai đoạn thiết kế nhằm phát hiện và khắc phục lỗi từ sớm.
Khoảnh khắc đáng nhớ khi một khối SRAM xuất hiện trên Floorplan
Đối với các thành viên trong nhóm, một trong những khoảnh khắc đáng nhớ nhất chính là khi Hard Macro SRAM lần đầu tiên được đặt thành công vào OpenROAD và xuất hiện đúng vị trí trên Floorplan của hệ thống.
Sau nhiều tuần làm việc liên tục, việc chứng kiến bộ nhớ SRAM do chính mình thiết kế có thể trở thành một thành phần của SoC mang lại rất nhiều cảm xúc cho cả nhóm.
Đặc biệt hơn cả là thời điểm PicoRV32 có thể đọc và ghi dữ liệu thành công vào SRAM Macro. Đó không chỉ là thành quả của quá trình nghiên cứu và kiểm thử, mà còn là minh chứng cho việc sinh viên đã từng bước làm chủ quy trình thiết kế vi mạch hiện đại.

Chia sẻ về dự án, nhóm sinh viên cho biết: “Thông qua dự án Thiết kế SRAM 4×8 tích hợp PicoRV32 trên Caravel SoC, chúng em đã có cơ hội trải nghiệm gần như toàn bộ quy trình phát triển một vi mạch từ thiết kế transistor, layout, kiểm chứng vật lý đến tích hợp hệ thống SoC. Đây là trải nghiệm thực tế giúp chúng em hiểu rõ hơn về công việc của một kỹ sư thiết kế chip trong môi trường công nghiệp.”
Bước đệm để chinh phục những dự án thiết kế chip quy mô lớn
Theo đánh giá của giảng viên hướng dẫn, đây là một đồ án có chất lượng rất tốt khi bao phủ đầy đủ các bước trong quy trình thiết kế ASIC hiện đại. Sinh viên đã chủ động nghiên cứu và triển khai nhiều công cụ chuyên dụng trong thiết kế vi mạch mã nguồn mở, đồng thời thể hiện được tư duy thiết kế hệ thống khi tích hợp thành công Custom Macro với Digital Flow.
Trong tương lai, dự án có thể được mở rộng theo hướng nâng cao dung lượng SRAM, hỗ trợ các chuẩn giao tiếp phổ biến như Wishbone hoặc AXI-Lite, cũng như tiếp tục tối ưu Timing, diện tích và công suất tiêu thụ để tiến gần hơn đến yêu cầu của các dự án ASIC thương mại.

Thông qua những đồ án mang tính thực chiến như vậy, sinh viên ngành Thiết kế vi mạch bán dẫn tại FPT Jetking không chỉ được học cách thiết kế một khối chức năng số, mà còn được tiếp cận toàn diện với quy trình phát triển chip từ transistor-level đến System-on-Chip. Đây chính là nền tảng quan trọng giúp sinh viên sẵn sàng bước vào lĩnh vực bán dẫn với tư duy của một kỹ sư thiết kế vi mạch trong tương lai.
Giảng viên Trương Huy Hoàng

