Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 1
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
LỜI NÓI ĐẦU
Mạch tích hợp đã và đang được sử dụng trong hầu hết các thiết bị điện tử
được sử dụng ngày nay và đã tạo nên cuộc cách mạng trong lĩnh vực điện tử. Sự
phát triển của nó được thể hiện thông mức độ phức tạp, độ tích hợp. Cho đến ngày
nay, công nghệ này được biết đến từ giai đoạn SSI (Small-Scale Integration) có khả
năng tích hợp vài transistor cho đến ULSI (Ultra-Large Scale Integration) với khả
năng tích hợp hơn 1 triệu transistor.
Bộ nhớ bán dẫn cũng như các hệ thống trên chip (SoC) đều là những mạch
tích hợp sử dụng công nghệ này. Tài liệu này nhằm giới thiệu tổng quan vể hai loại
mạch tích hợp khá phổ biến và thông dụng này. Cả hai đều có ứng dụng rất nhiều
trong thực tế, đặc biệt là trong máy tính.
Tài liệu được xây dựng dựa trên sự hướng dẫn của công ty SDS Việt Nam.
Em xin gửi lời cám ơn chân thành đến Khoa Điện tử - Viễn thông, công ty SDS nói
chung và anh Phạm Lê Phương Duy nói riêng đã tạo điều cho em được thực tập
thực tế và có cơ hội học hỏi nhiều.
Sinh viên thực tập
Trần Bảo Đồng
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 2
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
MỤC LỤC
LỜI NÓI ĐẦU _________________________________________________________ 1
PHẦN 1: BỘ NHỚ BÁN DẪN ____________________________________________ 4
CHƯƠNG 1 ____________________________________________________________ 5
TỔNG QUAN VỀ BỘ NHỚ BÁN DẪN _____________________________________ 5
1.1. Giới thiệu chung: ______________________________________________________ 5
1.2. Cấu trúc bộ nhớ phân cấp: ______________________________________________ 6
1.3. Phân loại bộ nhớ: ______________________________________________________ 7
CHƯƠNG 2 ____________________________________________________________ 9
TẾ BÀO LƯU TRỮ BỘ NHỚ _____________________________________________ 9
2.1. Tế bào bộ nhớ không bay hơi (Non – volatile Memory): ______________________ 9
2.1.1. ROM: ____________________________________________________________________ 9
2.1.2. EPROM và FLASH Memory: ________________________________________________ 10
2.2. Tế bào bộ nhớ bay hơi (Volatile Memory): ________________________________ 11
2.2.1. Tế bào dùng FlipFlop: ______________________________________________________ 11
2.2.2. Tế bào dùng cổng đảo: ______________________________________________________ 11
2.2.3. Tế bào dùng cổng NAND: ___________________________________________________ 13
CHƯƠNG 3 ___________________________________________________________ 14
BỘ GIẢI MÃ ĐỊA CHỈ _________________________________________________ 14
3.1. Giải mã hàng: ________________________________________________________ 14
3.2. Giải mã cột: _________________________________________________________ 17
3.2.1. Bộ giải mã cột dựa trên transistor dẫn 4 ngõ vào: _________________________________ 17
3.2.2. Bộ giải mã cột dựa trên cây 4 1: ____________________________________________ 18
Chương 4 ____________________________________________________________ 19
BỘ KHUẾCH ĐẠI CẢM BIẾN (SENSE AMPLIFIER) _______________________ 19
4.1. Nguyên nhân sử dụng bộ khuếch đại cảm biến: ____________________________ 19
4.2. Một số loại khuếch đại cảm biến: ________________________________________ 20
PHẦN 2: QUI TRÌNH THIẾT KẾ SoC ____________________________________ 22
Chương 5 ____________________________________________________________ 23
GIỚI THIỆU VỀ ASIC _________________________________________________ 23
5.1. Giới thiệu chung: _____________________________________________________ 23
5.2. Các lựa chọn thực thi thiết kế: __________________________________________ 24
5.2.1. ASIC đặc chế hoàn toàn (Full custom ASIC): ____________________________________ 24
5.2.2. ASIC dựa trên các tế bào, các phần tử logic chuẩn (Celled-based ASIC): ______________ 24
5.2.3. ASIC dựa trên mảng logic (Array – based ASIC): ________________________________ 25
Chương 6 ____________________________________________________________ 26
TỔNG QUAN VỀ SYSTEM on CHIP (SoC) _________________________________ 26
6.1. Tổng quan về SoC: ___________________________________________________ 26
6.2. Lợi ích - thách thức và ứng dụng của SoC trong thực tế: ____________________ 27
Một số lợi ích của SoC: ____________________________________________________________ 27
Một số ứng dụng: _________________________________________________________________ 27
Thách thức:______________________________________________________________________ 27
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 3
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
Chương 7 ____________________________________________________________ 28
QUI TRÌNH THIẾT KẾ SoC ____________________________________________ 28
7.1. Thiết kế luận lý (front-end): ____________________________________________ 29
7.2. Thiết kế vật lý (Back-end): _____________________________________________ 33
TÀI LIỆU THAM KHẢO _______________________________________________ 35
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 4
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
PHẦN 1: BỘ NHỚ BÁN DẪN
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 5
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
CHƯƠNG 1
TỔNG QUAN VỀ BỘ NHỚ BÁN DẪN
1.1. Giới thiệu chung:
Bộ nhớ bán dẫn được sử dụng làm bộ nhớ chính trong các máy tính nhờ vào
khả năng đáp ứng tốc độ truy xuất dữ liệu của bộ xử lý trung tâm (CPU). Với tiến
bộ của công nghệ chế tạo LSI và VLSI, những bộ nhớ bán dẫn với công nghệ chế
tạo transistor lưỡng cực và MOS đã trở thành những bộ nhớ nhanh nhất hiện nay,
đồng thời giá thành của nó ngày càng giảm.
Về cấu tạo chung, bộ nhớ bán dẫn được cấu thành từ các tế bào nhớ (memory
cell). Mỗi cell được gọi là một bit. Một nhóm các bit tạo thành một từ nhớ (word)
dùng để biểu diễn các lệnh hay dữ liệu dưới dạng nhị phân. Như vậy bộ nhớ bán
dẫn là mảng các word. Dung lượng tổng cộng của bộ nhớ bằng với số word nhân
với số bit trên word.
Mỗi word trong bộ nhớ bán dẫn đều được định một địa chỉ khác nhau nhằm
vào mục đích truy cập đến nội dung của từng word. Tuy nhiên, do số lượng word
trong một bộ nhớ bán dẫn là quá lớn nên người ta sẽ dùng nhiều phương pháp khác
nhau để giảm thiểu số lượng đường tín hiệu trong thiết kế. Cụ thể, các khối giải mã
địa chỉ (decoder) sẽ được sử dụng.
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 6
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
Hình 1: Cấu trúc chung của bộ nhớ bán dẫn
1.2. Cấu trúc bộ nhớ phân cấp:
Theo cách hiểu thông thường, bộ nhớ sẽ có cấu trúc gồm nhiều hàng. Mỗi
hàng là một word. Trên mỗi word sẽ có nhiều bit. Như vậy, khi dung lượng bộ nhớ
tăng lên thì chỉ có một chiều kích thước bộ nhớ được tăng vì chỉ có số word được
tăng trong khi số bit trên mỗi word là cố định. Điều này gây ra khó khăn cho việc
tích hợp bộ nhớ. Một bộ nhớ có hình dạng càng vuông sẽ càng tốt cho việc tích hợp
bộ nhớ. Để giải quyết vấn đề này, một giải pháp được đưa ra là ghép khối và giải
mã địa chỉ theo cả hàng và cột.
Trong mỗi block như vậy sẽ có các đường local bitline. Các đường local của
các block sẽ được nối ra global bitline. Với cách làm như vậy dây nối đi trong mỗi
khối sẽ ngắn hơn (điều này giúp tránh được việc quá tải trên đường bitline). Thêm
vào đó sẽ tiết kiệm được năng lượng do bởi mỗi lần giải mã địa chỉ, ta chỉ thao tác
lên một block.
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 7
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
Global
amplifier/ driver
Control
circuitry
Global data bus
Block selector
Block 0
Row
address
Column
address
Block
address
Block i Block P 2 1
I/ O
Hình 2: Cấu trúc bộ nhớ phân cấp
1.3. Phân loại bộ nhớ:
Volatile memory là bộ nhớ đòi hỏi phải có nguồn cấp để duy trì dữ liệu
được lưu trong khi non-volatile memory thì không.
SRAM (Static Random Access Memory): SRAM là bộ nhớ truy xuất ngẫu
nhiên tĩnh, nó là một loại bộ nhớ bán dẫn. Từ “Static” (tĩnh) chỉ ra rằng bộ nhớ vẫn
lưu giữ nội dung của nó khi nguồn vẫn còn hoạt động.
DRAM (Dynamic Random Access Memory): là một loại bộ nhớ truy cập
ngẫu nhiên lưu mỗi bit dữ liệu trong một tụ điện riêng biệt trên một mạch tích hợp.
Vì các tụ điện bị rò điện tích nên thông tin sẽ bị mất dần trừ khi dữ liệu được nạp lại
đều đặn. Đây là điểm khác biệt so với RAM tĩnh. Ưu điểm của DRAM là có cấu
trúc đơn giản: chỉ cần một transistor và một tụ điện cho mỗi bit trong khi cần sáu
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 8
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
transistor đối với SRAM.
CAM (Content-addressable memory): là một loại bộ nhớ đặc biệt được sử
dụng cho các ứng dụng tìm kiếm có tốc độ cao. Nó còn được biết đến với các tên
gọi như associative memory, associative storage, hay associative array. Không
giống các bộ nhớ thông thường khác. Bộ nhớ CAM so sánh dữ liệu cần tìm ở ngõ
vào với bảng dữ liệu được lưu trữ và trả về địa chỉ có dữ liệu khớp. Loại bộ nhớ này
được dùng trong các ứng dụng yêu cầu tốc độ tìm kiếm cao.
Mask Programmed ROM: đây là loại ROM được chế tạo để thực hiện một
công việc cụ thể như bảng tính, bảng lượng giác, bảng logarit, … ngay sau khi xuất
xưởng. Nói cách khác, các tế bào nhớ trong ma trận nhớ đã được tạo ra theo một
chương trình xác định trước bằng phương pháp mặt nạ (đưa vào các linh kiện điện
tử như diode, BJT hay MOSFET để nối từ đường từ qua đường bit nhằm tạo ra một
giá trị bit và để trống cho giá trị bit còn lại).
PROM (Programmable Read-only memory): bộ nhớ chỉ đọc lập trình
được". PROM là vi mạch lập trình đầu tiên và đơn giản nhất trong nhóm các vi
mạch bán dẫn lập trình được (programmable logic device, hay PLD). PROM chỉ lập
trình được một lần duy nhất bằng phương pháp hàn cứng. PROM có số đầu vào hạn
chế, thông thường đến 16 đầu vào, vì vậy chỉ thực hiện được những hàm đơn giản.
EPROM (Erasable Programmable Read-only memory): là một loại chip
nhớ có khả năng giữ lại dữ liệu của nó khi tắt nguồn (không bị bay hơi). Là một
mảng các transitor cổng nổi được lập trình riêng biệt bằng thiết bị điện tử cấp điện
thế cao hơn điện thế thường dùng trong mạch số. Một khi được lập trình, một
EPROM chỉ có thể xoá bằng tia UV.
EEPROM (Electrically Erasable Programmable Read-Only Memory):
có khả năng xoá được bằng phương pháp lập trình mà chúng không cần đến các
thiết bị chuyên dụng như các thế hệ trước của nó.
FLASH: Bộ nhớ flash là một loại bộ nhớ máy tính không khả biến có thể
xóa và ghi lại bằng điện. Đây là công nghệ đã được sử dụng trong các thẻ nhớ, ổ
USB flash để lưu trữ và truyền dữ liệu giữa các máy tính và các thiết bị kĩ thuật số
khác. Không như EEPROM, nó được xóa và ghi lại theo khối gồm nhiều vị trí (ban
đầu bộ nhớ flash chỉ có thể xóa toàn bộ). Bộ nhớ flash rẻ hơn nhiều so với
EEPROM.
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 9
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
CHƯƠNG 2
TẾ BÀO LƯU TRỮ BỘ NHỚ
2.1. Tế bào bộ nhớ không bay hơi (Non – volatile Memory):
2.1.1. ROM:
Hình 3: Tế bào bộ nhớ chỉ đọc (ROM)
Bộ nhớ chỉ đọc, ROM, có thể lưu trữ dữ liệu bằng nhiều device khác nhau:
diode, NMOS hoặc PMOS. Mỗi bit lưu trữ được đại diện bởi một device. Do đó, bộ
nhớ ROM không cho phép ghi vào.
Như hình vẽ ta thấy:
Đối với tế bào lưu trữ dùng một diode : Khi điện thế đươc cấp vào đường
Wordline (WL) hay cho phép truy cập thì diode dẫn, điện thế tại đường Bitline lúc
này gần bằng với WL và có mức logic được hiểu là 1. Nói cách khác, dữ liệu được
đọc ra tại BL là 1. Vậy muốn lưu trữ một bit 1 tại một cell bộ nhớ, ta cần 1 diode.
Tương tự đối với tế bào ko có diode thì mưc logic của đương BL luôn là 0, nên khi
WL mở (cho phép đọc dữ liệu từ cell) thì dữ liệu đọc được luôn là 0.
Đối với tế bào lưu trữ dùng NMOS có cực thoát (Drain) nối VDD: tế bào lưu
trữ mức logic 1 chứa một NMOS device. Cực nguồn của NMOS được nối với
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 10
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
đường BL. Khi WL = 1, NMOS dẫn. Điện thế tại cực nguồn và cổng gần như nhau
và đều biểu diễn mức logic 1. Do đó, dữ liệu đọc ra từ đường BL là mức logic 1.
Đối với tế bào ko chứa NMOS device, dữ liệu đọc ra là mức logic 0.
Tương tự đối với tế bào bộ nhớ được lưu trữ bằng NMOS có cực nguồn nối
GND.
2.1.2. EPROM và FLASH Memory:
Tế bào trong loại bộ nhớ này sử dụng transistor cổng nổi để lưu trữ dữ liệu
do bởi tính năng có thể đọc và ghi của nó.
Hình 4: Mặt cắt và ký hiệu transistor cổng nổi.
Ở chế độ lập trình (program) hay hoạt động ghi, cổng điều khiển (control
gate) được phân cực ở 12V và cực thoát được phân cực ở 5V, cực nguồn được nối
GND. Dưới những điều kiện đó, một điện trường rất mạnh được tạo ra làm cho
electron chuyển từ kênh lên cực cổng nổi. Các electron bị bẫy này gây ra sự tăng
điện thế ngưỡng của tế bào. Do đó, khi một hoạt động READ được diễn ra, tế bào
này sẽ hoạt động ở trạng thái off, vì nó không thể dẫn dòng với điện thế ngưỡng cao
như vậy. Nói cách khác, hoạt động WRITE dữ liệu tại một địa chỉ cho sẵn đem các
tế bào từ trạng thái trung lập (trạng thái logic 1) sang trạng thái logic 0 (điện tích
được bẫy vào cổng nổi). Hoạt động này tốn khoảng vài micro giây.
Ở chế dộ xóa (erase): Đối với bộ nhớ FLASH, dữ liệu có thể được xóa bằng
điện. Trong bộ nhớ EPROM, vùng trống của cổng nổi được tạo ra bằng cách phơi
bộ nhớ dưới tia UV. Hoạt động này đòi hỏi sự xóa từ một thiết bị trên bo chủ.
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 11
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
2.2. Tế bào bộ nhớ bay hơi (Volatile Memory):
Có ba dạng tế bào lưu trữ bộ nhớ: tế bào dùng Flip Flop; tế bào dùng cổng
đảo và tế bào dùng cổng NAND.
2.2.1. Tế bào dùng FlipFlop:
Đây là một cách lưu trữ dễ hiểu nhất, nguyên tắc hoạt động khá đơn giản
nhưng lại tốn kém nhất do bởi mỗi flipflop (tế bào) có cấu tạo phức tạp và chiếm
diện tích khá lớn trong thiết kế. Do đó, trong thực tế người ta không dùng flip flop
làm tế bào trong bộ nhớ bán dẫn.
2.2.2. Tế bào dùng cổng đảo:
Bộ nhớ bán dẫn thường chọn mô hình này làm khối keeper. Khối này bao
gồm 2 inverter để lưu hai giá trị đảo của nhau.
Hình 5: Tế bào lưu trữ dùng cổng đảo
Tùy theo bộ nhớ bán dẫn có cấu tạo cell và các cách đọc ghi khác nhau. Ở
đây ta chỉ xét cách đọc ghi của bộ nhớ SRAM:
Tế bào SRAM được cấu thành từ 6 transistor. Trong đó, 4 transistor được
dùng để tạo thành một cặp cổng đảo nối với nhau và làm nhiệm vụ lưu trữ 2 bit 0 và
1 (tương ứng sẽ có hai đường bitline). Hai transistor tại hai ngõ ra của các cổng đảo
làm nhiệm vụ cho phép truy xuất dữ liệu hai không (được kiểm soát bởi đường
wordline nỗi chung). Dưới đây là thiết kế cụ thể cho tế bào SRAM:
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 12
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
Hình 6: Mạch chi tiết của tế bào lưu trữ dùng cổng đảo.
Quá trình đọc:
Hình 7: Mô tả hoạt động đọc trong bộ nhớ SRAM
Ban đầu, tế bào lưu trữ có dữ liệu (giả sử a =
0). Ở trạng thái bình thường, hai đường bitline
được giữ ở mức cao nhờ vào tụ. Khi wl (wordline)
đưa vào mức 1, mos M3 và M4 dẫn. Do
a
= 1 nên
M1 dẫn. điện thế trên bitline b được xả. Nút tại a
được đảm bảo điện thế không vượt quá điện thế
ngưỡng của M2. Như vậy, ta được điện thế ngõ ra tại bitline b = 0 (tương ứng với
dữ liệu lưu trữ trong nút a) và tại bitline
b
= 1 (tương ứng với điện thế lưu tại nút
a
).
Quá trình ghi vào tế bào SRAM:
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 13
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
Hình 8: Mô tả hoạt động ghi trong bộ nhớ SRAM.
– Giả sử ban đầu dữ liệu lưu trữ là 0 tại a và 1 tại a .
– Ta cần ghi dữ liệu ngược lại vào tế bào lưu trữ này.
– Đưa dữ liệu vào hai đường bitline như hình vẽ (
b
được đưa vào giá trị 0).
– Khi wordline đưa vào giá trị 1, hai mos M3 và M4 dẫn. M4 đủ mạnh để kéo nút a
xuống 0.
– Sau đó, M1 ngưng dẫn, M5 dẫn và kéo nút a lên mức 1.
– Như vậy dữ liệu đã được ghi vào tế bào bộ nhớ.
2.2.3. Tế bào dùng cổng NAND:
Hình 9: Tế bào lưu trữ dùng cổng NAND.
Khi word line và bit line không mở, dữ liệu đưa đến chân bit và bitz sẽ ở
logic 1. Do đó, hai cổng NAND phụ thuộc vào chân còn lại. Điều này có nghĩa dữ
liệu được lưu trong khối keeper trước đó. Khi word line và bit line được chọn thì sẽ
có dữ liệu 0 hoặc 1 đưa đến hai chân bit và bitz để đọc dữ liệu ra ngoài hoặc dữ liệu
được đưa vào để ghi vào khối keeper.
Tổng Quan Về Bộ Nhớ Bán Dẫn và Qui Trình Thiết Kế SoC Trang 14
Người hướng dẫn: Phạm Lê Phương Duy SVTH: Trần Bảo Đồng
CHƯƠNG 3
BỘ GIẢI MÃ ĐỊA CHỈ
3.1. Giải mã hàng:
Hình 10: Mô hình bộ giải mã địa chỉ dòng.
Thực hiện một phép so sánh đơn giản như sau: Một bộ nhớ có 1024 word.
Để có thể truy xuất đến từng word trong bộ nhớ, ta cần 1024 đường tín hiệu. Nhưng
khi dùng bộ giải mã địa chỉ để truy xuất bộ nhớ, số đường tín hiệu cần dùng để có
thể truy xuất toàn bộ là
2
log 1024 10 đường địa chỉ. Như vậy nhiệm vụ chính của
khối giải mã địa chỉ là để tiết kiệm đáng kể số đường tín hiệu trong thiết kế.
Có hai cách để thực hiện giải mã địa chỉ: Xét trường hợp cụ thể. Để giải mã
cho 4 địa chỉ WL
0
đến WL
4
, ta cần dùng 2 bit A
0
và A
1
. Cách giải mã như sau:
– WL
0
được chọn khi A
1
= 0 và A
0
= 0. Hay
0 1 0 1 0
WL .A A A A
– WL
1
được chọn khi A
1
= 0 và A
0
= 1. Hay
1 1 0 1 0
WL .A A A A