← Quay lại Trang Chủ Blog
Thiết Kế Vi Mạch Số & FPGA

Thiết Kế Vi Mạch Số & FPGA — RTL to Silicon

6 tháng 7, 2026 · Lộ trình 14 bài học

Từ mô tả RTL đến thiết kế vi mạch thực

Sau khi nắm vững cổng logic và mạch tuần tự (Series 10), bước tiếp theo là học cách mô tả phần cứng bằng ngôn ngữ HDL (Hardware Description Language) và hiểu quy trình thiết kế vi mạch số thực tế: từ RTL synthesis, verification, FPGA implementation, cho đến ASIC flow và tài tape-out.

Series này sẽ dạy SystemVerilog (chuẩn công nghiệp hiện hành), kèm các bộ giả lập tương tác (RTL Playground, STA Workbench, LUT Explorer) để bạn thấy rõ mối liên hệ giữa code HDL và netlist phần cứng thực tế. Mỗi bài đi từ lý thuyết → mã code chạy được → xem kết quả mô phỏng trực quan.

⚙️

Về Series này

Mỗi bài học tích hợp một bộ giả lập RTL chuyên dụng: soạn thảo code SystemVerilog → thấy ngay netlist (sơ đồ cổng logic) được vẽ → xem waveform tín hiệu theo thời gian. Các khái niệm trừu tượng (block diagram, timing constraints) được cụ thể hóa bằng công cụ mô phỏng trực quan.

3 lộ trình chuyên môn

📚 Điều kiện tiên quyết
Bắt buộc: Series 10 bài 12–14 (cổng logic, mạch tuần tự, SRAM). Nên có: Series CC++ (biểu diễn số, con trỏ & bộ nhớ) — nền tảng đọc hiểu cú pháp gần C của SystemVerilog. Tài nguyên ngoài: HDLBits, ChipVerify, EDA Playground, Yosys docs.

Bảng thuật ngữ nền tảng (Glossary)

Thuật ngữ Dịch nghĩa Định nghĩa ngắn gọn
RTL (Register-Transfer Level) Mức mô tả tín hiệu đăng ký Cách mô tả phần cứng bằng các thanh ghi (register) và logic tổ hợp (combinational logic) chuyển tiếp dữ liệu từ đầu vào sang đầu ra.
SystemVerilog Ngôn ngữ mô tả phần cứng Superset của Verilog, chuẩn IEEE 1800, hỗ trợ tính năng verification (SVA, testbench) mạnh mẽ hơn Verilog cũ.
Synthesis Tổng hợp Quá trình chuyển đổi code RTL thành netlist cổng logic (gate-level) và dây nối bằng công cụ như Yosys, Vivado, DC.
Netlist Danh sách liên kết Biểu diễn sơ đồ mạch dưới dạng danh sách các cổng logic (AND, OR, XOR, FF) và các dây nối giữa chúng.
P&R (Place & Route) Đặt chỉ và dây nối Quá trình quy trình vật lý: đặt các cổng logic trên chip theo quy tắc, sau đó nối các dây tín hiệu tối ưu hóa trễ và diện tích.
STA (Static Timing Analysis) Phân tích thời gian tĩnh Phương pháp tính toán critical path và xác nhận tần số hoạt động tối đa $f_{max}$ của mạch mà không cần mô phỏng động.
FPGA Mảng cổng lập trình được Chip có thể lập trình lại sau sản xuất, dùng để xác minh thiết kế nhanh; gồm LUT, BRAM, DSP slice, và routing fabric.
ASIC Vi mạch tích hợp ứng dụng cụ thể Vi mạch được thiết kế cố định cho một ứng dụng cụ thể, sản xuất hàng loạt; thông qua ASIC flow: synthesis → P&R → GDS → fab.
Tape-out Nộp phim Quá trình chuyển tập tin GDSII (bản vẽ chip cuối cùng) gửi tới nhà máy (fab) để sản xuất chip thực tế.

Danh sách 14 bài học trong lộ trình

01

Từ cổng logic đến RTL: Tư duy mô tả phần cứng

Bốn mức trừu tượng thiết kế (transistor → gate → RTL → behavioral). HDL khác lập trình như thế nào. Design flow tổng quan RTL→GDSII. Verilog vs SystemVerilog vs VHDL.

02

SystemVerilog tổ hợp (Combinational Logic)

Module, port, kiểu logic, assign, toán tử số học & bitwise, vector, always_comb. Cạm bẫy latch inference.

03

SystemVerilog tuần tự (Sequential) & Thanh ghi

always_ff @(posedge clk), blocking vs non-blocking, reset đồng bộ/bất đồng bộ, counter, shift register, PWM số.

04

Máy trạng thái hữu hạn (FSM)

Moore vs Mealy, typedef enum, sơ đồ trạng thái, mã hoá one-hot, trạng thái treo, recovery.

05

Testbench & Verification cơ bản

Stimulus, $display/$monitor, self-checking testbench, SVA assertions cơ bản, coverage, debug waveform.

06

Số học phần cứng (Hardware Arithmetic)

Ripple-carry vs carry-lookahead adder. Nhân shift-add vs array multiplier. Fixed-point, bão hoà, tràn số.

07

Bộ nhớ, FIFO & Clock Domain Crossing

RAM/ROM inference, register file, FIFO đồng bộ/bất đồng bộ, metastability, 2-FF synchronizer, Gray code.

08

Timing & Phân tích thời gian tĩnh (STA)

Setup/hold time, clock-to-Q, propagation delay, critical path, $f_{max}$ = 1/(clk2q + comb + setup). Pipeline.

09

Kiến trúc FPGA: LUT, CLB, BRAM, DSP

LUT-k bảng chân lý, CLB/slice, carry chain, BRAM, DSP slice, routing fabric. So sánh FPGA vs ASIC vs MCU.

10

FPGA Flow: Synthesis → Place & Route → Bitstream

Yosys synthesis, Vivado, nextpnr. Technology mapping, placement, routing, timing report, SDC constraints.

11

SystemC & Mô hình hoá mức hệ thống (TLM)

Mô hình RTL vs hệ thống. SC_MODULE, SC_METHOD/SC_THREAD, kênh, port. Virtual prototyping trước RTL.

12

ASIC Flow: Standard Cell → GDSII

Liberty timing, floorplan, placement, CTS (clock tree), routing, DRC/LVS, GDSII. OpenLane + SkyWater 130nm.

13

Dự án CPU RISC-V RV32I — Phần 1: Datapath

ISA RV32I, PC, instruction memory, register file, immediate generator, ALU, control unit. Single-cycle decoder.

14

Dự án CPU RISC-V RV32I — Phần 2: Chạy chương trình thật

Control unit hoàn chỉnh, load/store, data memory, memory-mapped I/O. Nạp & chạy Fibonacci, debug waveform.

Bình luận