Professional Documents
Culture Documents
Project Assignment:
Synchronous FIFO with RAM,
from RTL to GDS
For VLSI Course, 2023.1, Dr. Nguyen Vu Thang, HUST
CoAsia SEMI VN
Project Assignment, VLSI 2023.1
REVISION HISTORY
Revision Author Date Description of changes
0.1 ducpm 05.10.2023 Initial draft
ducpm, Added section 1; 2.3
0.2 06.10.2023
support team Modified section 2.1; 2.2 for clarity
hoangph,
0.3 25.10.2023 Added section 3 for guiding HDL coding
ducpm
tientq, Curent Version
0.4 15.11.2023
ducpm Added section 4 for guiding Design Verification
CONFIDENTIAL 1
Project Assignment, VLSI 2023.1
TABLE OF CONTENTS
CONFIDENTIAL 2
Project Assignment, VLSI 2023.1
CONFIDENTIAL 3
Project Assignment, VLSI 2023.1
CONFIDENTIAL 4
Project Assignment, VLSI 2023.1
CONFIDENTIAL 5
Project Assignment, VLSI 2023.1
Tham số Mô tả
WIDTH (W) Độ rộng dữ liệu đưa vào sFIFO (word width)
DEPTH (D) Độ sâu của RAM module – số lượng word có thể lưu trữ trong RAM
CONFIDENTIAL 6
Project Assignment, VLSI 2023.1
1. Dữ liệu tới sFIFO được lưu vào trong RAM module. Dữ liệu được đọc ra từ RAM module.
Quá trình viết/đọc hoạt động theo cơ chế First-In-First-Out (FIFO).
2. sFIFO hoạt động đồng bộ, theo xung clock (clk)
3. Tín hiệu reset không đồng bộ, tích cực ở mức thấp (resetn)
4. Tín hiệu i_wreq thông báo có dữ liệu mới đến sFIFO & yêu cầu viết. Chỉ khi tín hiệu i_wreq
& tín hiệu o_wready cùng ở mức 1 (yêu cầu ghi & sFIFO sẵn sàng nhận dữ liệu mới), dữ
liệu mới được ghi vào trong sFIFO.
5. Tín hiệu i_rreq thể hiện yêu cầu đọc dữ liệu ra từ sFIFO. Chỉ khi tín hiệu i_rreq & tín hiệu
o_rready cùng ở mức 1 (yêu cầu đọc & sFIFO sẵn sàng đọc ra dữ liệu), dữ liệu mới được
đọc ra từ sFIFO.
6. Thông báo trạng thái của sFIFO:
- fifo_isfull: Đưa lên 1 nếu bộ nhớ (RAM) trong FIFO đã đầy, không nhận thêm dữ liệu
mới cho đến khi được đọc ra
- fifo_isempty: Đưa lên 1 nếu bộ nhớ (RAM) trong FIFO đã rỗng, không thể đọc dữ liệu
ra cho đến khi dữ liệu mới được ghi vào.
Ghi chú:
- Các tham số WIDTH, DEPTH được sử dụng để quy định loại RAM module sẽ được sử dụng
trong thiết kế.
- RAM module được cung cấp sẵn, không yêu cầu lập trình & tạo layout trong quá trình sử
dụng.
2.2.3. Tổng hợp logic & Phân tích thời gian tĩnh - Logic Synthesize & Static Timing Analysis
Dựa trên kết quả lập trình đúng về mặt logic, đảm bảo tính khả thi khi tổng hợp logic (logic
synthesizable), tiến hành:
1. Tổng hợp logic cho thiết kế (logic synthesize).
Chuyển thiết kế dưới dạng RTL sang Gate-level netlist
CONFIDENTIAL 7
Project Assignment, VLSI 2023.1
2. Gán kết quả Gate-level netlist sang các thiết bị (gate) trong thư viện công nghệ
(PDK, SKY130nm)
3. Đọc hiểu lý thuyết về phân tích thời gian tĩnh (Static Timing Analysis).
Áp dụng các ràng buộc/giới hạn thiết kế về thời gian (timing constraints) cho thiết kế.
Truy cập tới các học liệu được cung cấp tại đây:
Table 3: File tổng hợp dự án
CONFIDENTIAL 8
Project Assignment, VLSI 2023.1
3. Các kiến trúc trong Verilog: Module; Port; Cách khởi tạo & sử dụng Module; Các
toán tử (operators); Lệnh gán (assign); khối always & thiết kế mạch tổ hợp, mạch
tuần tự; …
CONFIDENTIAL 9
Project Assignment, VLSI 2023.1
Verilog module (chipverify.com) & các mục phía dưới phần Building Blocks.
CONFIDENTIAL 10
Project Assignment, VLSI 2023.1
File Mô tả
csv_sfifo_ram.v Biểu mẫu để code bộ sFIFOwRAM, bao gồm các khai
báo & khối chức năng cần hoàn thiện
sky130_sram_1r1w_8x16_8.v File Verilog, thiết kế của bộ SRAM mẫu
WIDTH = 8, DEPTH = 16
CONFIDENTIAL 11
Project Assignment, VLSI 2023.1
CONFIDENTIAL 12
Project Assignment, VLSI 2023.1
2. Khai báo/Khởi tạo các phần tử sử dụng bên trong khối csv_sfifo_ram. Cần hoàn thiện
các thông số tại đây.
3. Biểu mẫu lập trình điều khiển read_pointer (con trỏ đọc) & write_pointer (con trỏ
ghi), liên quan đến SRAM được sử dụng. Cần hoàn thiện thiết kế logic cho các con trỏ trên.
4. Biểu mẫu lập trình bộ đếm, liên quan đến hoạt động của RAM. Cần hoàn thiện thiết kế
logic cho bộ này.
CONFIDENTIAL 13
Project Assignment, VLSI 2023.1
5. Biểu mẫu lập trình cho các tín hiệu ra (fifo_isfull; fifo_isempty; o_wready; o_rready). Cần
hoàn thiện thiết kế logic cho các tín hiệu trên.
Khi hoàn thiện được nội dung của các mục nói trên, cơ bản, các bạn đã nhận được 01 thiết kế
sFIFOwRAM, có thể sử dụng để kiểm thử chức năng hoạt động (Verify), hoặc tiến hành tổng hợp
logic (Logic Synthesis).
CONFIDENTIAL 14
Project Assignment, VLSI 2023.1
Figure 12: Ảnh minh họa về Test case & Test plan
File Mô tả
tb.sv File testbench chính, sử dụng trong quá trình mô
phỏng/verify. Đã được xây dựng sẵn cấu trúc, cần
điền logic theo test case để kiểm thử
CONFIDENTIAL 16