1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Thiết kế vi mạch số HCMUT

41 385 11
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo Thiết kế vi mạch số HCMUT
Tác giả Nguyễn Viết Việt
Người hướng dẫn Bùi Lê Quốc Doanh
Trường học Trường Đại Học Bách Khoa, Đại Học Quốc Gia TP.Hồ Chí Minh
Chuyên ngành Kỹ thuật Điện Tử
Thể loại Báo cáo thí nghiệm
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 41
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo thí nghiệm thiết kế vi mạch số TP HỒ CHÍ MINH, THÁNG 4 NĂM 2022 BÁO CÁO THÍ NGHIỆM THIẾT KẾ VI MẠCH SỐ GVHD Bùi Lê Quốc Doanh SVTH Nguyễn Viết Việt MSSV 1835044 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH.

Trang 1

BÁO CÁO THÍ NGHIỆM THIẾT KẾ VI MẠCH SỐ

GVHD: Bùi Lê Quốc Doanh SVTH: Nguyễn Viết Việt MSSV: 1835044

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

Trang 2

MỤC LỤC

PHẦN I: THIẾT KẾ VÀ ĐO ĐẠC CÁC CỔNG LOGIC 2

1 CỔNG NOT 2

1.1 Thiết kế sơ đồ nguyên lý cho cổng NOT 2

1.2 Thực hiện mô phỏng đáp ứng DC 3

1.3 Thực hiện mô phỏng đáp ứng TRANSIENT 4

2 CỔNG NAND2 6

2.1 Thiết kế sơ đồ nguyên lý cho cổng NAND2 6

2.2 Thực hiện mô phỏng đáp ứng DC cho cổng NAND2 8

2.3 Thực hiện mô phỏng đáp ứng Transient cho cổng NAND2 9

3 CỔNG NOR2 10

3.1 Thiết kế sơ đồ nguyên lý cho cổng NOR2 10

3.2 Thực hiện mô phỏng đáp ứng DC cho cổng NOR2 11

3.3 Thực hiện mô phỏng đáp ứng Transient cho cổng NOR2 13

4 CỔNG FLIP FLOP 14

4.1 Thiết kế sơ đồ nguyên lý Flip Flop 14

4.2 Kiểm tra đáp ứng Transient 16

PHẦN II: THIẾT KẾ VÀ ĐO ĐẠC SRAM 17

1 LÝ THUYẾT 17

1.1 Hoạt động của chức năng Wringting 18

1.2 Hoạt động của chức năng Reading 19

1.3 Thiết kế sơ đồ nguyên lý cho SRAM cell 20

2 THỰC HIỆN MÔ PHỎNG SRAM CELL 21

2.1 Thực hiện mô phỏng chế độ writing của SRAM cell 21

2.2 Thực hiện mô phỏng chế độ reading của SRAM cell (không dùng SA) 24

PHẦN III: QUY TRÌNH THIẾT KẾ VÀ SẢN XUẤT VI MẠCH 27

Trang 3

1 SPECIFICATION 27

2 FRONT END 28

3 BACK END 32

4 SẢN XUẤT CHIP 35

PHẦN I: THIẾT KẾ VÀ ĐO ĐẠC CÁC CỔNG LOGIC

1 CỔNG NOT

1.1 Thiết kế sơ đồ nguyên lý cho cổng NOT

Bảng 1.1.1 Bảng sự thật cổng NOT

Sơ đồ nguyên lý và ký hiệu cổng:

Hình 1.1.1 Sơ đồ nguyên lý cổng NOT

Hình 1.1.2 Ký hiệu cổng NOT

Trang 5

Hình 1.2.2 Đáp ứng DC của cổng NOT

Nhận xét: Ta thấy 0.45 0.5

2

dd inv

1.3 Thực hiện mô phỏng đáp ứng TRANSIENT

Sử dụng ADE L thực hiện mô phỏng theo thời gian (mô phỏng transient) để kiểm tra hoạt động theo bảng sự thật của cổng NOT, kết quả sẽ thu được dạng sóng như hình bên dưới, cùng với các thiết lập cho mạch testbench ở bảng 3-2 Tương tự cho các trường hợp kiểm tra hoạt động cho các cổng khác có nhiều chân ngõ vào hơn thì ta chỉ việc thêm các nguồn xung vào với các thông số thiết lập giống như trong trường hợp này và chỉ khác giá trị chu kỳ và độ rộng xung

Trang 6

Bảng 1.3.1 Thiết lập thông số cho đáp ứng transient

Hình 1.3.1 Sơ đồ mạch dùng để mô phỏng Transient

Hình 1.3.2 Đáp ứng Transient của ngõ ra cổng NOT

Nhận xét: Khi ngõ vào IN chuyển từ 0 sang 1 thì ngõ ra OUT chuyển từ 1 sang 0 và

ngược lại Do đó, cổng NOT hoạt động chính xác Mỗi khi tín hiệu ngõ vào chuyển từ 0 sang 1 (hoặc 1 sang 0) sẽ xảy ra undershoot (hoặc overshoot) ở ngõ ra Undershoot (hoặc

Trang 7

overshoot) nói trên chính là do hiệu ứng bootstrapping gây ra Ở hiệu ứng này, ta xét tới

tụ coupling Cgd

Hình 1.3.3 Sơ đồ CMOS có xét tụ C gd

• Khi Vin tăng từ 0 đến 1V trong ∆t (Vout đang ở 1V) thì tụ Cgd được nạp nhưng không bù lại được lượng tăng áp 1V của Vin nên làm tăng áp Vout (Vgd = Vin - Vout)

• Tương tự với Vin giảm

Thực hiện đo những giá trị sau của đáp ứng ngõ ra: từ 1V về 0V

Tpdr - Rising propagation delay (90% - 50%) 12.4E-12

Tpdf - Falling propagation delay (10% - 50%) 7.81E-12

Tpd - Propagation delay (50% - 50%) 10.1E-12

Trang 8

Ln 50 nm

Bảng 2.1.2 Bảng giá trị kích thước của NMOS và PMOS

Sơ đồ nguyên lý & ký hiệu cổng:

Hình 2.1.1 Sơ đồ nguyên lý cổng NAND2

Hình 2.1.2: Ký hiệu cổng NAND2

Trang 9

2.2 Thực hiện mô phỏng đáp ứng DC cho cổng NAND2

Sử dụng ADEL để thực hiện mô phỏng đáp ứng DC của cổng NAND2, thực hiện cấp tín hiệu input dạng xung RAMP tầm điện áp thay đổi từ 0 đến 1V và khảo sát đáp ứng ngõ ra

Trang 11

Hình 2.3.2 Đáp ứng Transient của ngõ ra cổng NAND2

Nhận xét: Nhận thấy tín hiệu ở ngõ ra hoạt động đúng với nguyên lý của cổng

NAND2 Ta thấy mỗi khi tín hiệu ngõ vào chuyển từ 0 sang 1 (hoặc 1 sang 0) sẽ xảy ra undershoot (hoặc overshoot) ở ngõ ra

Trang 12

Hình 3.1.1 Sơ đồ nguyên lý cổng NOR2

Hình 3.1.2 Ký hiệu cổng NAND2

3.2 Thực hiện mô phỏng đáp ứng DC cho cổng NOR2

Sử dụng ADEL để thực hiện mô phỏng đáp ứng DC của cổng NOR2, thực hiện cấp tín hiệu input dạng xung RAMP tầm điện áp thay đổi từ 0 đến 1V và khảo sát đáp ứng ngõ ra

Trang 14

3.3 Thực hiện mô phỏng đáp ứng Transient cho cổng NOR2

Sử dụng ADE L để kiểm tra hoạt động của cổng NOR2 với các thiết lập cho mạch testbench như sau:

Trang 15

Hình 3.3.2 Đáp ứng Transient của ngõ ra cổng NOR2

Nhận xét: Tín hiệu ở ngõ ra hoạt động đúng với chức năng của cổng NOR2 Ta thấy

mỗi khi tín hiệu ngõ vào chuyển từ 0 sang 1 (hoặc 1 sang 0) sẽ xảy ra undershoot (hoặc overshoot) ở ngõ ra

Trang 17

4.2 Kiểm tra đáp ứng Transient

Sử dụng ADE L để kiểm tra hoạt động của cổng DFF với các thiết lập cho mạch testbench như sau:

Trang 18

Thực hiện vẽ lại dạng sóng Vout:

PHẦN II: THIẾT KẾ VÀ ĐO ĐẠC SRAM

1 LÝ THUYẾT

Hình 2.1 Cấu trúc một SRAM cell

Trang 19

Hai cổng NOT được nối đuôi nhau tạo thành một mạch ổn định kép (bi-stable), sử dụng để lưu trữ dữ liệu trong một cell

Hai transistors được sử dụng để kết nối cell ở trên với BL và BLX cho quá trình đọc/ghi Chúng được gọi là pass-gate transistors và chỉ ON khi tín hiệu chân WL ở mức cao

1.1 Hoạt động của chức năng Wringting

Khi bắt đầu ghi, ta set tín hiệu ở chân WL lên 1, và đồng thời chân BL sẽ giữ tín hiệu cần ghi và chân BLX sẽ giữ tín hiệu bù của tín hiệu đó

Thí dụ, để ghi bit 1 vào SRAM cell, chân BL sẽ giữ bit 1, chân BLX sẽ giữ bù của tín hiệu ở chân BL, tức là bit 0 Sau đó, ta set tín hiệu ở chân WL lên 1 để ghi Sau một khoảng thời gian nhất định, để dừng ghi, ta reset tín hiệu ở chân WL về 0

Hình 2.2 Chức năng writing của SRAM

Trang 20

1.2 Hoạt động của chức năng Reading

Hình 2.3 Chức năng reading của SRAM

Đầu tiên ta nạp đầy 2 tụ CBL và CBLX, điều này cũng có nghĩa là set tín hiệu ở cả 2 chân BL, BLX lên mức 1

Sau đó, ta set tín hiệu ở chân WL lên mức 1 để bắt đầu đọc Giả sử cell đang chứa

giá trị là 1 (tức là NMOS phía BLX đang tích cực và PMOS phía BL đang tích cực) Lúc này tụ CBLX sẽ xả dòng điện xuống GND theo từ chân D về chân S của NMOS đang mở (chế độ saturation) Đồng thời tụ CBL giữ nguyên giá trị VDD nhờ vào PMOS đang hoạt đông ở chế độ linearity (VDS = 0)

Sau khi tụ CBLX xả hết, ta có được mức tín hiệu ở BL là 1 và ở BLX là 0

Tuy nhiên, tụ BL/BLX thường đươc sử dụng với giá trị lớn, đồng nghĩa với thời gian nạp/xả lâu, nên thời gian đọc cell cũng rất lâu Để giải quyết vấn đề này, tức là làm

tăng tốc độ đọc của bộ nhớ, ta sử dụng mạch Sense Amplifier

Trang 21

Hình 2.4 Hoạt động mạch Sense Amplifier

Khi tụ CBLX xả được một lượng ∆V, tín hiệu ở chân SAENX reset từ 1 về 0, khiến tín hiệu ở COLX set từ 0 lên 1 và tích cực 2 PMOS để nạp tụ CRBL và CRBLX Cùng lúc đó chân SAEN set từ 0 lên 1 khiến NMOS dưới cùng tích cực Lúc này, do tín hiệu tại RBL

và RBLX đều là 1, khiến cho cả 2 NMOS bên trong cùng tích cực Khi đó, cả 2 tụ CRBL và

CRBLX cùng xả Tuy nhiên, tụ CRBLX với áp là Vp - ∆V xả nhanh hơn tụ CRBL với áp là Vp nên đã khiến NMOS phía RBL cut-off và PMOS cùng phía tích cực, nạp đầy lại tụ CRBL

Do tụ CRBL và CRBLX có giá trị nhỏ nên tốc độ nạp/xả nhanh, giảm thời gian chuyển tiếp, làm tăng tốc độ đọc của SRAM cell

1.3 Thiết kế sơ đồ nguyên lý cho SRAM cell

Trang 22

Hình 2.5 Sơ đồ nguyên lý SRAM cell

Hình 2.6 Ký hiệu cổng SRAM cell

2 THỰC HIỆN MÔ PHỎNG SRAM CELL

2.1 Thực hiện mô phỏng chế độ writing của SRAM cell

Sử dụng ADEL để thực hiện mô phỏng chế độ writing của SRAM cell

Trang 24

Hình 2.8 Dạng sóng khi mô phỏng chức năng writing của SRAM cell

Nhận xét: Khi WL = 1 (bắt đầu ghi), DATA = BL và khi WL = 0 (ngừng ghi) thì tín hiệu

trong MEM giữ nguyên giá trị

Trang 25

2.2 Thực hiện mô phỏng chế độ reading của SRAM cell (không dùng SA)

Sử dụng ADEL để thực hiện mô phỏng chế độ reading của SRAM cell (không dùng bộ

Sense Amplifier) khi CBL, BLX = 1 fF, 10 fF

Hình 2.9 Sơ đồ mạch reading cho SRAM cell

− Đối với tụ có giá trị C = 1 fF

Giá trị lưu trong SRAM là bit 1

Hình 2.10 Kết quả mô phỏng đọc SRAM cell với C = 1 fF

Nhận xét:

Trang 26

Ngay khi đường world_line được kích lên 1 thì đường bit_line_x được xả từ mức điện áp 1V xuống mức điện áp 100 mV trong vòng 0.032 ns và thiết lập giá trị bit 0 Hoàn tất quá trình đọc

− Đối với tụ có giá trị C = 100 fF

Hình 2.11 Kết quả mô phỏng đọc SRAM cell với C = 10 fF

Nhận xét:

Đối với tụ điện có điện dung lớn hơn thì đường bit_line_x xả điện áp chậm hơn rất

nhiều,cần đến 2ns để từ mức điện áp 1V xuống mức điện áp 100 mV và thiết lập giá trị bit 0

Trang 27

− Đối với tụ có giá trị C = 100 fF và tiến hành mắc thêm Sense Amplifier

Hình 2.12 Kết quả mô phỏng đọc SRAM cell với tụ có giá trị C = 100 fF và mắc thêm

Lúc này RBLX tại 5.3ns có điện áp là 886.91 mV và RBL là 969.6 mV, trùng với điện áp của BL và BLX

Sau đó xung SAEN kích dẫn 1, mở con NMOS và bắt đầu gây sụt áp trên RBLX và RBL

Sau đó tại 5.5ns, RBLX có điện áp là 484.56 mV đủ để kích dẫn con PMOS bên phía còn lại Đồng thời RBL đang có điện áp là 813.1 mV bắt đầu tăng điện áp trở lại do PMOS dẫn

RBL đạt 900mV thiết lập bit 1 tại 5.636 ns

RBLX tiếp tục giảm điện áp xuống 100mV tại 5.746ns, tổng cộng quá trình đọc mất 0.746ns Trong khi đọc SRAM theo cách thông thường mất 2ns thì mạch Sense Amplifiers tăng tốc quá trình đọc lên đáng kể

Trang 28

PHẦN III: QUY TRÌNH THIẾT KẾ VÀ SẢN XUẤT VI MẠCH

Quy trình thiết kế chip tích hợp được bắt đầu bằng cách thông số kỹ thuật củakhách hàng Sau đó tiến hành các bước để thực hiện thiết kế chip Một chu kỳ thiết kế điển hình

có thể được thể hiện bằng biểu đồ thể hiện trong hình

Hình 3.1 Các bước trong quy trình thiết kế vi mạch

Để thiết kế vi mạch chúng ta cần nhận được yêu cầu kỹ thuật của người đặt hàng (Specification) Sau đó quy trình thiết kế vi mạch gồm nhiều khâu, nhiều bước phức tạp nhưng được chia làm hai công đoạn lớn là Front End và Back End Sau khi thực hiện thiết

kế xong chúng ta sẽ tiến hàng sản xuất chip (Manufacturing)

1 SPECIFICATION

Bước đầu tiên của bất kỳ quá trình thiết kế nào là xác định yêu cầu kỹ thuật của hệ thống Yêu cầu kỹ thuật hệ thống là yêu cầu của khách hàng về sản phẩm được thiết kế Các yếu tố được xem xét trong quá trình nay bao gồm hiệu xuất, chức năng và kích thước vật lý Công nghệ chế tạo cũng như kỹ thuật thiết kế cũng được xem xét tới Yêu cầu kỹ thuật của một hệ thống phải đạt được yêu cầu của thị trường, công nghệ và lợi nhuận Kết quả cuối cùng của giai đoạn này là các thông số về kích thước, tốc độ, công suất và chức năng của hệ thống VLSI

Ta sẽ lên ý tưởng và cụ thể hóa, chi tiết yêu cầu thiết kế dưới dạng cái tài liệu (Specification), sao cho người khác nhìn vào có thể hiểu được bản chất, mục đích của vi

Trang 29

mạch để tiến hành thiết kế các bước tiếp theo Các specification này có thể ở bất kì dạng định dạng nào, có thể là file văn bản, bài thuyết trình hay thậm chỉ là bản mô tả trên giấy miễn sao nó đạt được mục đích thể hiện rõ ràng, cụ thể vi mạch cần tạo và dễ hiểu, dễ tiếp cần với người đọc specification

Một ví dụ đơn giản là về bộ Ripple Carry Adder (4-bit) Với bộ này ta cần đầu vào là

A, B mỗi đầu vào 4 bit và đưa ra kết quả tổng ở đầu ra Trong ví dụ này thông số kỹ thuật của hệ thống là đầu vào A, B và đầu ra là tổng, chức năng thực hiện tổng hai số, độ trễ để thực hiện thuật toán, mức tiêu thụ điện năng, tần số hoạt động và công nghệ chế tạo (45mnm, 60nm, 90nm,vv) Thông số kỹ thuật của bộ Ripple Carry Adder được hiển thị bên dưới:

Hình 3.2 Thông số kỹ thuật thiết kế của Ripper Carry Adder

2 FRONT END

Front end chịu trách nghiệm nhận yêu cầu từ khách hàng sau đó tìm giải pháp thực hiện và biến đổi yêu cầu đó thành RTL để mô ta mạch Người hoạt động ở công đoạn này cần thiết phải nắm được vi mạch ở mức độ hành vi, tức hoạt động của vi mạch trong các tình huống cụ thể về mặt chức năng

a) Sys-tem Level Design (Thiết kế ở cấp độ hệ thống)

Dựa vào mô tả của specification, người ta sẽ tiến hành bước Sys-tem Level Design (Thiết kế ở cấp độ hệ thống) Bước này thường chỉ diễn ra ở những thiết kế có quy mô lớn,

mà ở đó các khối con tạo thành vi mạch có quy mô lớn Ở quy mô lớn như vậy, các mô hình mô phỏng sử dụng ngôn ngữ lập trình cấp cao như C++, SystemC, Python, Matlab

Trang 30

được sử dụng Chung là những ngôn ngữ lập trình dựa trên nền tảng các thư viện viện đồ

sộ, phù hợp cho việc kiểm tra hành vi của vi mạch ở mức độ hệ thống Từng khối con trong

vi mạch sẽ được xây dựng dựa trên các ngôn ngữ cấp cao và kết nối với nhau trong một model hay platform để kiểm chứng các khối của vi mạch tổng

Hình 3.3 Ví dụ mô hình cấp hệ thống trong Matlab

b) RTL(Register Transfer level) Design

Bước tiếp theo trong việc thiết kế vi mạch là RTL Design (thiết kế ở cấp độ chuyển thanh ghi) Những mô tả của bước trước đó sẽ được thực hiện bằng ngôn ngữ lập trình phần cứng (Verilog, System Verilog, HDL, VHDL, VHSIC-HDL) để mô tả cấu trúc (structure)

và hành vi (behavior) của thiết kế Ở đó, các khối trong vi mạch được thể hiện dưới dạng module; trong các module lại có thể chứa các khối module nhỏ hơn (tương tự việc phân bậc các khối trong bước Sys-tem Level Design) và các module có thể hiện nhỏ nhất ở mức

độ cổng RTL Design được đánh là bước quan trọng trong thiết kế vi mạch bởi vì nó mô tả vừa đủ chi tiết, cụ thể của vi mạch, nhưng cũng đủ bao quát để việc kiểm tra vi mạch diễn

ra thuận tiện và không quá phức tạp

Bước này chúng ta sẽ dùng các biểu thức Boolean (sử dụng cổng và thanh ghi) và thông tin thời gian Các biểu thức Boolean được tối ưu để đạt được thiết kế logic nhỏ nhất

để giúp chạy đúng với chức năng thiết kế

Trang 31

Hình 3.4 Ví dụ thiết kế file Verilog cho thiết kế một bộ cộng

c) RTL Verification

Để kiểm tra hoạt động đúng của code trong bước RTL Design, người ta thực hiện bước RTL Verification (Kiểm định RTL) Bước này, các công cụ kiểm định (Synopsys, Mentor, Cadence) sẽ được sử dụng để nhằm tìm ra lỗi hay sai sót của RTL để sửa lại cho phù hợp Các testbench (môi trường dùng cho việc kiểm tra RTL) được xây dựng từ quy

mô tổng quát đến cục bộ, vừa nhằm tìm ra sai sót trong RTL vừa phải đảm bảo mọi tình huống có thể xay ra trên vi mạch được thiết kế, thông qua các file report hay waveform (dạng sóng) thể hiện hành vi, hoạt động của vi mạch mô tả trong RTL

Hình 3.5 Waveform của một vi mạch trên DVE

d) Synthesis

Sau khi đảm bảo code không bị lỗi về chức năng, các file RTL này sẽ được đưa đi Synthesis(tổng hợp) Là bước chuyển từ RTL sang Gate-level-Netlist Thực hiện đồng thời optimization, mapping, translation Bước này cơ bản được thực hiện thông qua các công

cụ hỗ trợ Nhiệm vụ các công cụ hỗ trợ là chuyển các module trong TRL Design thành các

Trang 32

module cùng chức năng mà được hỗ trợ bởi các thư viện phần cứng(thư viện của nhà sản xuất) Tối ưu lại các kết nối và logic của RTL nhưng không ảnh hưởng tới chức năng ban đầu của mạch Kết quả bước này là các file RTL đã chuyển tương tự cùng với các file report về hiệu năng và thời gian Nếu quan sát các cổng RTL sau khi tổng hợp, ta có thể thấy được các cổng của RTL ban đầu đã được thay thế bởi có module trong thư viện đồng thời số lượng cổng logic cũng được giảm xuống Ngoài ra, ta có thể xem report để quan sát các báo cáo khác liên quan đến diện tích, timing, chất lượng của RTL và đảm bảo không

có vi phạm nào xảy ra

Hình 3.6 Ví dụ cho bước Synthesis trong thiết kế vi mạch

Hình 3.7 File sau khi Synthesis

Ngày đăng: 17/12/2022, 15:32

TỪ KHÓA LIÊN QUAN

w