Bộ nhớ này đóng vai trò quan trọng trong việc lưu trữ các lệnh, dữ liệu đang xử lý và những thông tin cần thiết cho hoạt động của hệ thống, do đó, việc phát triển bộ nhớ này được chú trọ
TỔNG QUAN
GIỚI THIỆU
Hiện nay, các ngành điện tử và công nghệ thông tin phát triển cực kỳ nhanh chóng đã dẫn đến sự ra đời của các thiết bị hiện đại cùng với những sản phẩm công nghệ cao Các thiết bị và sản phẩm này đã và đang giúp ích rất nhiều cho đời sống và xã hội, góp phần hỗ trợ nâng cao chất lượng cuộc sống cho con người cũng như đem lại ý nghĩa vô cùng to lớn trong công cuộc chạy đua phát triển công nghệ giữa những nước phát triển trên thế giới Khi nói đến sự thành công của cuộc cách mạng công nghiệp hiện nay thì không thể bỏ qua sự quan trọng của lĩnh vực chế tạo vi mạch điện tử, lĩnh vực đã tạo ra những con chip khá nhỏ bé nhưng mang một ý nghĩa to lớn và là một thành phần không thể thiếu trong các mạch điện tử Sự phát triển của lĩnh vực sản xuất vi mạch điện tử đã dẫn đến sự phát triển mạnh mẽ của ngành nhúng và IoT, điều này giúp tạo ra các hệ thống đáp ứng các ứng dụng đòi hỏi sự phức tạp, nhanh chóng, hiệu quả, hiện đại và từ đó khiến các lĩnh vực đời sống của con người được cải thiện một cách đáng kể Để có thể hoạt động được một cách chính xác và hiệu quả thì các hệ thống phải được lập trình các chức năng bằng những câu lệnh và sau đó lưu các chức năng này vào bên trong bộ nhớ
Bộ nhớ đã có được sự phát triển đáng kể so với giai đoạn những năm trước đây và hiện nay đã rất nhiều xu hướng phát triển trong lĩnh vực này Dung lượng của bộ nhớ càng ngày càng tăng cao, các bộ nhớ được trang bị bên trong máy tính và các thiết bị di động có thể có dung lương lên đến hàng trăm gigabyte hay thậm chí là terabyte và điều này mang lại một hiệu suất cực kỳ mạnh mẽ trong việc dùng những ứng dụng đòi hỏi khả năng xử lý đa nhiệm cao Ngoài dung lượng thì tốc độ truy cập và khả năng truy cập dữ liệu của bộ nhớ đã được nâng cao rất nhiều, điều này giúp nâng cao hiệu suất của các thiết bị Có 2 loại bộ nhớ chính bộ nhớ ROM (bộ nhớ chỉ đọc) và bộ nhớ RAM (bộ nhớ truy cập ngẫu nhiên) Bộ nhớ ROM có nhiệm vụ giúp hệ thống lưu trạng thái hoạt động, các bit được lưu trữ trong bộ nhớ ROM luôn được giữ cố định và chỉ thay đổi khi bộ nhớ ROM được nạp lại Bộ nhớ RAM là nơi dùng để lưu những dữ liệu và ứng dụng đang được sử dụng để giúp cho thiết bị có thể truy cập một cách nhanh chóng, dữ liệu lưu trong bộ nhớ RAM sẽ không được lưu khi bộ nhớ không được cấp điện Có hai loại bộ nhớ RAM là DRAM và SRAM Đối với bộ nhớ DRAM, các bit dữ liệu được lưu trữ trong một tụ điện riêng bên trong mạch tích hợp Tụ điện có thể được nạp hoặc xả, hai trạng thái này đại diện cho hai trạng thái “0” và “1” Bộ nhớ DRAM cần được nạp điện sau một khoảng thời gian là vài mili giây để giúp bù đắp cho sự rò rỉ điện từ tụ điện Nếu DRAM không được nạp điện thì tụ điện sẽ bị rò điện và các bit được lưu trữ sẽ mất dần Bộ nhớ SRAM khác với DRAM vì bộ nhớ SRAM dùng các bóng bán dẫn liên kết tạo thành một công tắc để có thể lưu các bit “0” và “1” Bộ nhớ SRAM giúp tiêu thụ ít năng lượng hơn đồng thời nhanh hơn bộ nhớ DRAM khi đọc và ghi dữ liệu nên bộ nhớ SRAM liên tục được cải tiến theo phương hướng giúp giảm tiêu thụ năng lượng hơn và có khả năng giảm được nhiễu trong quá trình bộ nhớ hoạt động [1]
Cùng với sự phát triển mạnh mẽ của lĩnh vực chế tạo vi mạch điện tử, CMOS đã có nhiều cải tiến vượt bậc Sự thu nhỏ những thành phần của CMOS, tiêu biểu là các quy trình sản xuất 5nm, 7nm đã giúp tăng được mật độ linh kiện, tăng hiệu suất hoạt động và giảm được chi phí sản xuất Ngoài ra, hiệu suất năng lượng cũng được tối ưu hóa giúp năng lượng tiêu thụ giảm bớt mà vẫn có khả năng duy trì được hiệu suất cao và điều này đặc biệt quan trọng trong thời đại phát triển của các thiết bị di động như hiện nay Khả năng tích hợp được nhiều chức năng và thành phần hơn trên một chip cũng là một đặc điểm rất quan trọng giúp đem lại được sự tiện ích và tăng sự linh hoạt trong thiết kế vi mạch
Rất nhiều nghiên cứu đã được tiến hành nhằm đánh giá kiểm tra về chức năng và các yếu tố quan trọng trong một bộ nhớ SRAM Tạp chí “Phân tích hiệu năng của các thiết kế SRAM trên công nghệ TSMC 90nm CMOS” của tác giả Phạm Văn Khoa và Nguyễn Duy Thông đã xây dựng 2 thiết kế ô nhớ là 6T và 8T với công nghệ 90nm nhằm đánh giá sự nổi trội của cấu trúc ô nhớ 8T với cấu trúc ô nhớ 6T trong thiết kế bộ nhớ SRAM [2] Ngoài ra, công suất tiêu thụ và độ trễ tín hiệu cũng được các tác giả đưa ra phân tích và so sánh trong từng điều kiện môi trường khác nhau đối với mỗi thiết kế Tuy nhiên, tác giả vẫn chưa phân tích rõ phương thức hoạt động của ô nhớ trong thiết kế SRAM và chưa thực hiện quá trình kết nối các khối để tạo được một bộ nhớ SRAM đầy đủ Trong “Thiết kế bộ nhớ
SRAM 32KB kết hợp kỹ thuật dự trữ hàng và cột” của tác giả Võ Thanh Trí đã trình bày một thiết kế bộ nhớ SRAM đồng bộ có dung lượng 32 KB sử dụng kiến trúc ô nhớ 6T và công nghệ CMOS UMC 90 nm [3] Do sự kết hợp các kỹ thuật khác nhau như tự căn chỉnh thời gian, giải mã đa tầng, dữ trữ hàng và cột và cơ chế đa hợp nên thiết kế đã giúp công suất tiêu thụ và độ ổn định được tối ưu và đạt được hiệu suất cao về tốc độ Đồng thời, nghiên cứu còn đưa ra sự so sánh hiệu năng với các công trình khác nhau và đạt được kết quả tích cực Tuy nghiên cứu đã có sự phân tích về tốc độ và hiệu suất nhưng tác giả vẫn có sự đề cấp đến cấu trúc chi tiết của một bộ nhớ SRAM và cũng như chưa đề cập đến độ nhiễu và độ trễ của tín hiệu Trong “Design and Analysis of 8x8 Static RAM” của tác giả Mansi
S Warde, V Chandana S., Madhushree P Wagh, Sangeeta Parshionikar, các tác giả đã thiết kế bộ nhớ SRAM 8x8 bằng cách sử dụng các thiết kế ô nhớ SRAM 6T và đồng thời còn thực hiện thiết kế layout cho bộ nhớ [4] Ngoài ra, nghiên cứu còn đề cập đến việc cải tiến bộ nhớ SRAM 8x8 bằng cách tăng thời gian truy cập và giảm độ nhiễu trong quá trình hoạt động nhưng vẫn còn hạn chế là nghiên cứu chưa mở rộng ra các thiết kế lớn hơn và cũng chưa so sánh công suất, độ dự trữ nhiễu của thiết kế ô nhớ 6T so với các thiết kế ô nhớ khác
Qua quá trình tìm hiểu các đề tài liên quan đến thiết kế vi mạch, đề tài “Thiết kế và mô phỏng bộ nhớ SRAM 32x32 theo công nghệ 90nm” đã được nhóm lựa chọn để nghiên cứu nhằm đánh giá chức năng hoạt động của một bộ nhớ SRAM 32x32 Bên cạnh đó, thông qua việc tính toán và so sánh các thông số ảnh hưởng đến hiệu suất thiết kế như công suất tiêu thụ, độ trễ tín hiệu và độ nhiễu của các thiết kế ô nhớ 4T, 6T, 7T, 8T, 9T nhóm sẽ lựa chọn thiết kế ô nhớ tối ưu nhất để tiến hành thiết kế và thực hiện quá trình mô phỏng bộ nhớ SRAM 32x32 theo công nghệ 90nm bằng phần mềm Cadence Virtuoso Đồng thời, đề tài sẽ phân tích, tính toán các thông số như độ trễ của tín hiệu, độ dự trữ nhiễu và công suất mà bộ nhớ tiêu thụ trong quá trình hoạt động.
MỤC TIÊU
So sánh các thiết kế ô nhớ 4T, 6T, 7T, 8T, 9T về các thông số như công suất tiêu thụ, độ dự trữ nhiễu và độ trễ tín hiệu để chọn ra thiết kế ô nhớ tối ưu Kiểm tra hoạt động của các thành phần kết nối như mạch nạp trước, mạch giải mã, mạch đọc và mạch ghi để đảm bảo hoạt động đúng chức năng
Thiết kế bộ nhớ SRAM 32x32 sử dụng thiết kế ô nhớ tối ưu cùng các thành phần kết nối như mạch nạp trước, mạch giải mã, mạch đọc, mạch ghi Quá trình mô phỏng bộ nhớ SRAM 32x32 sẽ được thực hiện bằng phần mềm Cadence Virtuoso nhằm tiến hành độ chính xác khi tiến hành ghi và đọc Thực hiện đo độ trễ tín hiệu trong việc truy xuất dữ liệu, độ nhiễu của tín hiệu và tính toán công suất tiêu thụ của bộ nhớ trong quá trình hoạt động.
NỘI DUNG
Đề tài nghiên cứu tập trung vào việc thiết kế và mô phỏng bộ nhớ SRAM 32x32 bằng cách sử dụng cấu trúc ô nhớ tối ưu Mục tiêu chính của đề tài là nghiên cứu và đánh giá các đặc tính hoạt động của bộ nhớ được thiết kế bao gồm độ trễ tín hiệu, độ dự trữ nhiễu và công suất tiêu thụ trong môi trường mô phỏng Trong quá trình nghiên cứu, sinh viên thực hiện sẽ tiến hành so sánh các cấu trúc ô nhớ 4T, 6T, 7T, 8T, 9T để có thể lựa chọn thiết kế tối ưu dựa trên các thông số như độ trễ tín hiệu, độ dự trữ nhiễu và công suất tiêu thụ Nhóm chỉ thực hiện so sánh các thiết kế ô nhớ đươc nêu và các thông số được so sánh cũng không bao gồm thêm các thông số khác
Quá trình thiết kế và mô phỏng bộ nhớ SRAM 32x32 được thực hiện hoàn toàn bằng công nghệ sản xuất 90nm và phần mềm Cadence Virtuoso sẽ được sử dụng để thực hiện các công đoạn thiết kế và mô phỏng trong đề tài Nghiên cứu của nhóm không bao gồm thiết kế layout, sản xuất hay vận chuyển mà toàn bộ nội dung chỉ dừng lại ở việc thiết kế và mô phỏng để đảm bảo các mục tiêu nghiên cứu được thực hiện đầy đủ và chi tiết.
BỐ CỤC ĐỀ TÀI
Giới thiệu về sự phát triển của vi mạch điện tử và bộ nhớ SRAM trong thời đại hiện nay Đưa ra được lý do thực hiện đề tài, những mục tiêu đề tài cần đạt được và một số giới hạn của đề tài.
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ BỘ NHỚ SRAM
RAM là một bộ nhớ có khả năng truy cập nhanh RAM có thể lưu dữ liệu và cho phép truy xuất đọc ghi ngẫu nhiên đến một vị trí bất kì trong bộ nhớ dựa trên địa chỉ của ô nhớ, thông tin được lưu trên RAM chỉ là tạm thời sẽ bị mất đi nếu như không có nguồn điện Có hai loại bộ nhớ truy cập ngẫu nhiên đó là SRAM và DRAM, mỗi bộ nhớ lưu trữ thông tin theo các cách khác nhau SRAM được chia làm hai loại là SRAM đồng bộ với xung clock của CPU và SRAM không đồng bộ hoạt động độc lập với xung clock CPU DRAM gồm hai bộ nhớ hoạt động đồng bộ là SDRAM và DDRAM Hai loại RAM động này giống nhau chỉ khác nhau đối với DDRAM có thể truyền nhận dữ liệu tại cả hai cạnh của xung clock
Bộ nhớ SRAM và DRAM có những đặc điểm khác biệt về cách hoạt động và hiệu suất Trong SRAM, dữ liệu được giữ mà không cần phải làm mới thường xuyên, miễn là nguồn điện vẫn ổn định Đối với DRAM, nơi dữ liệu cần được làm mới định kỳ bởi vì nó được lưu trữ trong các tụ điện và sẽ mất dữ liệu nếu không được nạp điện thường xuyên
Bộ nhớ SRAM thường có cấu trúc cơ bản bao gồm mạch nạp trước, ô nhớ SRAM, mạch ghi, mạch đọc và mạch giải mã Trong đó, mạch giải mã thường là mạch giải mã hàng
SRAM được thiết kế để giữ trạng thái của dữ liệu mà không cần phải thực hiện bất kỳ quá trình làm mới nào Điều này giúp SRAM truy cập dữ liệu một cách nhanh chóng và hiệu quả Cấu trúc ô nhớ chủ yếu của SRAM là 6T và cấu trúc này đảm bảo tính ổn định và nhanh chóng của bộ nhớ So với loại bộ nhớ khác như DRAM, SRAM có khả năng đọc và ghi dữ liệu nhanh chóng hơn Do tính năng này, SRAM thường được ưa chuộng trong các ứng dụng cần hiệu suất xử lý cao như bộ nhớ đệm của máy tính Tuy nhiên, cũng do cấu trúc và số lượng bóng bán dẫn cần thiết để tạo nên ô nhớ SRAM mà SRAM thường có chi phí cao hơn DRAM
Một trong những điểm đặc biệt quan trọng của SRAM là khả năng duy trì dữ liệu Không giống như DRAM, SRAM không cần phải thực hiện việc làm mới định kỳ mà không cần làm mới thường xuyên, miễn là nguồn cung cấp điện liên tục Điều này làm cho SRAM được ưu tiên sử dụng đối với những ứng dụng lưu trữ thông tin tạm thời hoặc những ứng dụng cần sự an toàn và ổn định cao của dữ liệu Tuy nhiên, SRAM sử dụng năng lượng cao hơn và chiếm diện tích lớn hơn so với loại bộ nhớ khác như DRAM Do đó thường sẽ dùng SRAM vào các ứng dụng cần có độ ổn định và tốc độ cao trong việc truy xuất dữ liệu
SRAM đóng vai trò quan trọng trong nhiều ứng dụng công nghệ SRAM thường được tích hợp vào bộ nhớ đệm CPU nhằm cải thiện hiệu suất bằng cách giảm thời gian truy cập dữ liệu từ bộ nhớ chính SRAM cũng làm bộ đệm trong hệ thống lưu trữ, tăng tốc truy cập dữ liệu từ các thiết bị lưu trữ Trong ứng dụng nhúng và điều khiển, SRAM đảm bảo truy cập dữ liệu một cách nhanh chóng Ngoài ra, SRAM là lựa chọn lý tưởng trong những ứng dụng FPGA và thường là nơi dùng để lưu các chương trình.
ĐỘ TRỄ VÀ CÔNG SUẤT TIÊU THỤ
Khoảng thời gian lớn nhất khi tín hiệu đầu vào đạt 50% giá trị ổn định tới lúc tín hiệu đầu ra đạt 50% giá trị ổn định được định nghĩa là độ trễ tín hiệu, điều này được thể hiện như hình 2.1 [5]
Thông qua định nghĩa, độ trễ tín hiệu có thể được tính bằng công thức:
2 (2.1) Trong đó: tpd: độ trễ tín hiệu t pdf : độ trễ từ mức áp cao xuống mức áp thấp t pdr : độ trễ từ mức áp thấp lên mức áp cao
Hình 2.1: Thời gian lan truyền trễ và tăng giảm của tín hiệu [5]
Tốc độ cạnh được tính bằng công thức: 𝑡 𝑟𝑓 = 𝑡 𝑟 + 𝑡 𝑓
2 (2.2) Trong đó: trf: tốc độ cạnh tr: thời gian tăng tf: thời gian giảm
Thời gian tăng hoặc giảm là khoảng thời gian cho dạng sóng tăng từ 20% tới 80% hoặc giảm từ 80% tới 20% giá trị ổn định Ngoài ra, độ trễ lan truyền còn có thể được hiểu theo một cách khác là sự trì hoãn [5]
Công suất tức thời p(t) được cung cấp từ thành phần của mạch điện được tính bằng tích của điện áp được đặt lên thành phần đó với dòng điện chạy qua nó được định nghĩa là công suất tiêu thụ [5]:
𝑝(𝑡) = 𝑖(𝑡) 𝑣(𝑡) (2.3) Khoảng thời gian T được cung cấp năng lượng là [5]:
𝐸 = ∫ p(t)dt 0 𝑇 (2.4) Thời gian được xét có công suất tiêu thụ trung bình là [5]:
Có hai nguyên nhân dẫn đến công suất trong mạch CMOS bị tiêu tán [5]:
Yếu tố đầu tiên là sự tiêu tán công suất động: khi cả NMOS, PMOS cùng dẫn thì dòng sẽ ngắn mạch hay sự hoạt động xả và nạp khi cổng chuyển mạch của tải điện dung
Yếu tố thứ hai là sự tiêu tán công suất tĩnh: các lớp điện môi có sự rò rỉ, các bóng bán dẫn bị tắt rò rỉ dưới ngưỡng, rò rỉ từ sự khuếch tán của cực nguồn hoặc có thể rò rỉ do sự xung đột dòng bên trong các mạch tỷ lệ
Từ hai yếu tố trên, công suất tổng của mạch có thể được tính toán theo công thức [5]:
P static = (I sub + I gate + I junct + I contention ) V DD (2.7)
THIẾT KẾ
YÊU CẦU CỦA THIẾT KẾ
Thiết kế các ô nhớ 4T, 6T, 7T, 8T, 9T đạt các thông số như công suất tiêu thụ, độ dự trữ nhiễu, độ trễ tín hiệu tối ưu nhất để tiến hành so sánh và chọn ra thiết kế ô nhớ phù hợp Các thành phần kết nối ngoại vi như mạch nạp trước, mạch giải mã, mạch đọc và mạch ghi phải đảm bảo hoạt động đúng chức năng để cấu hình nên bộ nhớ hoàn chỉnh
Thiết kế được bộ nhớ SRAM 32x32 sử dụng ô nhớ tối ưu cùng các thành phần kết nối như mạch nạp trước, mạch giải mã, mạch đọc, mạch ghi Sử dụng phần mềm Cadence Virtuoso để mô phỏng và đáp ứng được các trường hợp đọc và ghi thông tin với trạng thái “0” và “1”.
SƠ ĐỒ KHỐI
Hình 3.1: Sơ đồ khối hoạt động của bộ nhớ SRAM
❖ Chức năng của các khối
Khối mạch nạp trước: chức năng của khối này là chuẩn bị cho quá trình đọc và ghi dữ liệu bằng cách nâng mức điện áp của các đường bit khi tín hiệu PRE ở trạng thái thấp
Khối mạch đọc: khối này có nhiệm vụ khuếch đại và cải thiện tín hiệu đọc từ các ô nhớ, đảm bảo độ chính xác và tin cậy Trước khi bắt đầu đọc, các đường BL và BLB được nâng lên mức điện áp cao Khi tín hiệu RE ở mức cao, khối đọc sẽ sử dụng đường BL để lấy thông tin dữ liệu từ ô nhớ Sau đó, thông tin này được so sánh với giá trị trên đường BLB để xác định thông tin bit đã lưu trữ và kết quả được xuất ra tại ngõ ra OUT
Khối mạch ghi: khi tín hiệu WE ở mức cao, khối này nhận dữ liệu từ đầu vào DATA Dữ liệu sau đó được truyền qua các đường BL và BLB để ghi vào ô nhớ
Khối ô nhớ: đây là thành phần chính của bộ nhớ, được thiết kế để thực hiện việc lưu trữ và truy xuất dữ liệu một cách hiệu quả
Khối giải mã: Bên cạnh các khối kể trên khối giải mã dùng để truy xuất vị trí của ô nhớ cần ghi hoặc đọc thông tin có trong một bộ nhớ hoàn chỉnh.
THIẾT KẾ CÁC KHỐI
Mạch nạp trước (Pre-charge) là phần không thể thiếu để cấu tạo nên bộ nhớ SRAM nhằm mục đích để đảm bảo hoạt động đúng và ổn định của bộ nhớ Mục tiêu chính của mạch nạp trước là đưa các bit lưu trữ trong các ô nhớ SRAM về trạng thái ban đầu trước khi tiến hành các hoạt động ghi, đọc dữ liệu
Hình 3.2: Mạch nguyên lý của khối nạp trước
Mạch nạp trước trong bộ nhớ SRAM hoạt động bằng cách sử dụng bóng bán dẫn và điện trở để tạo ra một đường dẫn từ nguồn cung cấp điện đến các bitline và các điểm precharge Khi mạch nạp trước được kích hoạt (PRE = 0), các bóng bán dẫn mở ra và cho phép dòng điện chảy qua Q1 và Q2 để nạp điện vào chúng Quá trình này đẩy các BL và BLB lên mức điện áp cao, thường là mức điện áp nguồn cung cấp Đồng thời Q3 dùng để điều chỉnh nạp xả giữ mức điện áp giữa hai đường
BL và BLB được cân bằng và qua đó quá trình truy xuất bộ nhớ mới được thực hiện Quá trình trên nhằm làm đảm bảo tính chính xác và ổn định cho quá trình hoạt động của bộ nhớ SRAM
3.3.2 Khối mạch giải mã 5 sang 32
Mạch giải mã là phần thiết yếu trong việc thiết kế bộ nhớ SRAM Bộ giải mã này được thiết kế bao gồm có ‘n’ ngõ đầu vào và nhiều nhất là ‘𝑛 2 ’ ngõ đầu ra Dựa vào các chân lựa chọn ở ngõ vào để xác định và điều chỉnh ngõ ra tương ứng lên mức cao Để thiết kế mạch giải mã phục vụ cho bộ nhớ 32x32 SRAM, chúng ta cần sử dụng một bộ giải mã có đầu ra đủ để kích hoạt các ô nhớ trong 32 dòng và 32 cột của bộ nhớ Bộ giải mã này sẽ có 5 đầu vào tương ứng với 5 bit để xác định vị trí kích hoạt tại ô nhớ Nhóm thiết kế mạch giải mã được thiết kế thông qua
2 mạch giải mã 2 sang 4 và giải mã 3 sang 8
Mạch được thiết kế bao gồm 2 ngõ vào lựa chọn, 4 ngõ ra và chân EN cho phép tích cực mức cao
Bảng 3.1: Các trạng thái hoạt độngcủa mạch giải mã 2 sang 4
Dựa vào hàm ngõ ra, nhóm tiến hành thiết kế và đóng gói mạch giải mã 2-4 như hình 3.4
Hình 3.3: Cấu trúc và sơ đồ khối của mạch giải mã 2 sang 4
Mạch được thiết kế bao gồm 3 ngõ vào lựa chọn, 8 ngõ ra và chân EN cho phép tích cực mức cao
Bảng 3.2: Các trạng thái hoạt độngcủa mạch giải mã 3 sang 8
Dựa vào hàm ngõ ra để thiết kế và đóng gói mạch giải mã 3-8 như hình 3.4
Hình 3.4: Mạch nguyên lý và sơ đồ khối của mạch giải mã 3 sang 8
Sau khi hoàn thành 2 mạch giải mã trên thì tiến hành kết nối các mạch bao gồm 1 mạch giải mã 2 sang 4 và 4 mạch giải mã 3 sang 8 để tạo ra mạch giải mã
5 sang 32 như hình 3.5 và đóng gói như hình 3.6
Hình 3.5: Cấu trúc ghép nối mạch giải mã 5 sang 32
Hình 3.6: Khối mạch giải mã 5 sang 32
Bảng 3.3: Bảng trạng thái mạch giải mã 5 sang 32 có ngõ ra tích cực mức cao
Dựa vào bảng trạng thái 3.3, tất cả các ngõ ra đều ở mức thấp khi tín hiệu ngõ vào cho phép EN ở mức không tích cực (EN = 0) Ngược lại, khi tín hiệu ngõ vào cho phép EN ở mức tích cực (EN = 1) sẽ có một ngõ ra tương ứng lên mức cao ứng với mỗi tổ hợp ngõ vào (I0, I1, I2, I3, I4)
Mạch ghi (write driver) gồm 2 tín hiệu vào WE, DATA và 2 tín hiệu ra là BL, BLB Tín hiệu WE quyết định khả năng ghi vào bộ nhớ và DATA là dữ liệu cần ghi Tín hiệu BL mang thông tin ghi vào ô nhớ, trong khi BLB là trạng thái đảo ngược của BL
Hình 3.7: Cấu trúc của mạch ghi
Bảng 3.4: Bảng trạng thái của mạch ghi SRAM
Tín hiệu WE, DATA và trạng thái đảo của DATA khi qua cổng NOT được nối vào 2 cổng AND như trên hình Trong đó tính hiệu WE đóng vai trò như là tín hiệu cho phép ghi dữ liệu khi WE = 0 không quan tâm tín hiệu DATA ở ngõ vào, ngõ ra cổng AND sẽ là “0”, lúc này ngõ ra BL và BLB không thay đổi Nếu tín hiệu
WE = 1, DATA = 1 (DATA̅̅̅̅̅̅̅̅ = 0), ngõ ra cổng AND thứ nhất M n3 = 1, ngõ ra cổng AND thứ hai M n4 = 0 và BL được kéo lên mức 1 Khi đó Ô nhớ lưu trữ trạng thái
Q = 1, QB = 0 Ngược lại nếu tín hiệu DATA = 0 (DATA̅̅̅̅̅̅̅̅ = 1), ngõ ra cổng AND thứ nhất M n3 = 0, ngõ ra cổng AND thứ hai M n4 = 1 và BL được kéo lên mức 0 Khi đó Ô nhớ lưu trữ trạng thái Q = 0, QB = 1
Mạch đọc (sense amplifier) đóng vai trò đọc trạng thái bên trong ô nhớ Cấu tạo mạch đọc gồm một cặp bóng bán dẫn vi sai M1, M2 được kết nối với các đường thông tin BL và BLB của ô nhớ cùng với tải làm phản chiếu dòng điện M3 và M4 M5 được sử dụng để duy trì dòng điện không đổi trong mạch Ngõ ra OUT được lấy từ cổng của M4 sau đó thông qua một bộ inverter
Hình 3.8: Cấu trúc của mạch đọc
Mạch đọc được phép hoạt động khi RE = 1 Nếu BL = 1 và BLB = 0 thì khi đó theo hình 3.8, bóng bán dẫn M2 bật và M1 tắt dẫn đến ngõ vào inverter kéo xuống mức thấp và ngõ ra inverter lên mức cao Lúc này, mạch đọc ô nhớ lưu trữ mức “1” Ngược lại, BL = 0, BLB = 1 thì M2 tắt, M1 bật, ngõ vào inverter kéo lên mức cao và ngõ ra xuống mức thấp nên mạch đọc ô nhớ lưu trữ mức “0”
Cấu tạo của ô nhớ SRAM 4T bao gồm 4 CMOS: cặp pMOS là M3, M4 dùng để lưu trạng thái hiện tại của ô nhớ, cặp nMOS là M1 và M2 có nhiệm vụ truy xuất thông tin bên trong ô nhớ và được điều khiển bởi tín hiệu cho phép WL Các đường tín hiệu BL và BLB được dùng để ghi và đọc trạng thái trong ô nhớ
Hình 3.10: Mô tả hoạt động ghi và đọc của ô nhớ SRAM 4T a Chế độ đọc Để thực hiện quá trình đọc dữ liệu từ ô nhớ, các đường tín hiệu BL và BLB phải được sạc xuống đất Khi đường tín hiệu WL tích cực (WL = 1), mức điện áp
“1” sẽ được nạp vào nút lưu trữ thông qua hai nMOS và nút lưu trữ sẽ kéo đường tín hiệu tương ứng (BL hoặc BLB) lên mức cao, đường tín hiệu còn lại sẽ được kéo xuống đất Mạch đọc sẽ thực hiện nhiệm vụ kiểm tra sự chênh lệch mức điện áp của 2 đường tín hiệu, nếu mức điện áp của tín hiệu BL thấp hơn so với mức điện áp của tín hiệu BLB thì ô nhớ đang lưu trữ bit “0” Ngược lại, nếu mức điện áp của tín hiệu BL cao hơn so với mức điện áp của tín hiệu BLB thì ô nhớ đang lưu trữ bit “1” b Chế độ ghi Để thực hiện quá trình ghi dữ liệu, 2 đường tín hiệu BL và BLB phải được nạp mức điện áp ngược nhau Sau khi các đường tín hiệu BL và BLB được nạp, tín hiệu WL sẽ được tích cực cao (WL = 1), các nMOS M1 và M2 sẽ được bật, giá trị của các đường tín hiệu BL và BLB sẽ được ghi vào nút lưu trữ là Q và QB Nút hiện đang lưu trữ mức “1” sẽ không hoàn toàn đạt mức điện áp VDD do có sự sụt áp trên nMOS Sau quá trình ghi, đường tín hiệu WL lại được đưa xuống đất để có thể tắt các nMOS và lúc này nút đang lưu trữ mức “1” sẽ được kéo lên VDD hoàn toàn thông qua pMOS
Dựa vào hình 3.11, cấu tạo của ô nhớ SRAM 6T bao gồm 6 CMOS: 4 CMOS M3, M5, M4, M6 tạo thành hai inverter (M3 và M5, M4 và M6) nối ngược chiều với nhau về mặt logic để có thể tạo ra trạng thái phản hồi dương và giúp tự khóa lẫn nhau ở trạng thái logic hiện tại, điều này giúp lưu trữ được trạng thái của ô nhớ
KẾT QUẢ
KẾT QUẢ MÔ PHỎNG CÁC Ô NHỚ SRAM
4.1.1 Kết quả mô phỏng mạch nguyên lý ô nhớ
Dựa vào thiết kế hình 3.9, nhóm tiến hành mô phỏng ô nhớ SRAM 4T như hình 4.1 với giá trị chiều dài L và chiều rộng W được lựa chọn là: W nMOS = 120 nm và W pMOS = 360 nm và L nMOS = L pMOS = 100 nm
Dựa vào thiết kế hình 3.11, nhóm tiến hành mô phỏng ô nhớ SRAM 6T như hình 4.2 Để đáp ứng các yêu cầu liên quan đến biên độ nhiễu của tín hiệu trong động ghi, đọc dữ liệu thì kích thước của bóng bán dẫn NM0, NM1 phải lớn hơn bóng bán dẫn PM0, PM1 Qua đó, chọn giá trị độ dài L và độ rộng W là: W của NM3, NM2 là 120 nm, W của NM0, NM1 là 240 nm và của PM0, PM1 là 120 nm Chiều dài L của các bóng bán dẫn đều là 100 nm
Như hình 4.3, nhóm đã tiến hành mô phỏng ô nhớ SRAM 7T dựa vào thiết kế hình 3.12 với giá trị L và W lựa chọn giống với ô nhớ SRAM 6T Thêm vào đó, bóng bán dẫn NM4 có W = 240nm và L = 100nm có tác dụng giảm rò rỉ trong quá trình chờ
Như hình 4.4, nhóm tiến hành mô phỏng mạch ô nhớ SRAM 8T dựa vào thiết kế hình 3.13 với cấu trúc giống với ô nhớ SRAM 6T Bên cạnh đó, thêm 2 bóng bán dẫn NM4 và NM5 phục vụ cho riêng việc đọc dữ liệu
Như hình 4.5, nhóm đã tiến hành mô phỏng mạch ô nhớ SRAM 9T dựa vào thiết kế hình 3.14 giống với cấu trúc của SRAM 6T nhưng bổ sung thêm hai bóng bán dẫn PM2, PM3 để ổn định nhiễu khi đọc dữ liệu và bóng bán dẫn NM4 làm giảm áp toàn mạch
4.1.2 Phần ghi dữ liệu của ô nhớ
4.1.2.1 Phần ghi dữ liệu ô nhớ SRAM 4T a Dạng sóng
Hình 4.6: Hoạt động ghi của mạch ô nhớ SRAM 4T
Theo hình 4.6, trong khoảng thời gian từ 0ns đến 140ns và 280ns đến 420ns khi WL ở mức cao, ô nhớ xác nhận ghi dữ liệu từ BL và BLB Trường hợp BL mức thấp và BLB mức cao thì tại nút Q ở mức thấp, QB ở mức cao (ghi dữ liệu mức logic “0”) Trái ngược lại, tín hiệu BL mức cao và BLB mức thấp thì tại nút
Q ở mức cao, QB ở mức thấp (ghi dữ liệu mức logic “1”)
Ngược lại, mốc thời gian từ 140ns đến 280ns khi WL mức thấp, ô nhớ sẽ không xác nhận ghi dữ liệu và đồng thời lưu trữ trạng thái mức thấp trước đó của BL, mức cao trước đó của BLB làm cho Q ở mức thấp, QB ở mức cao Tương tự, từ 420ns đến 500ns khi tín hiệu WL mức thấp, ô nhớ không cho phép ghi dữ liệu và lưu trữ trạng thái mức cao trước đó của BL, mức thấp trước đó của BLB làm cho
Q ở mức cao, QB ở mức thấp b Độ trễ
Hình 4.7: Độ trễ từ mức áp thấp đến cao ô nhớ4T trong quá trình ghi
Hình 4.8: Độ trễ từ mức áp cao đến thấp ô nhớ4T trong quá trình ghi Độ trễ từ mức áp thấp đến cao: 𝑡𝑝𝑑r = 14.0821ps Độ trễ từ mức áp cao đến thấp: 𝑡𝑝𝑑f = 88.20513ps
Từ công thức (2.1) độ trễ lan truyền: 𝑡𝑝𝑑 = 𝑡 𝑝𝑑𝑓 + 𝑡 𝑝𝑑𝑟
2 = 51.144ps c Độ dự trữ nhiễu
Quá trình đo WSNM (độ dự trữ nhiễu hoạt động ghi) diễn ra trong hoạt động ghi thông tin của ô nhớ là khi đường WL được kích hoạt mức cao để chấp nhận cho ghi dữ liệu Bên cạnh đó, hai đường tín hiệu BL và BLB được đưa vào giá trị cần ghi (mức logic “1” hoặc “0”) Cho nên, trong trường hợp ghi thì đồ thị VTC của hai nửa ô nhớ SRAM là khác nhau vì mức điện áp của BL và BLB trái ngược nhau Từ đó, thu được biểu đồ như hình 4.9 và xác định được giá trị WSNM là độ dài cạnh vuông lớn nhất có thể chứa trong biểu đồ
Hình 4.9: Nhiễu trong phần ghi của ô nhớ SRAM 4T
Qua đó thấy được giá trị dự trữ nhiễu được xuất ra và tính toán trong quá trình ghi dữ liệu là khoảng: 841.27mV d Công suất
Hình 4.10: Công suất tiêu thụ trung bình ghi dữ liệu ô nhớ SRAM 4T
Công suất tiêu thụ trung bình của ô nhớ SRAM 4T trong hoạt động ghi khoảng thời gian 500ns như hình 4.10 được tính thông qua việc dùng hàm average trong Cadence và cho ra kết quả: 𝑃𝑎𝑣𝑔 = 0.0866uW
4.1.2.2 Phần ghi dữ liệu ô nhớ SRAM 6T a Dạng sóng
Hình 4.11: Hoạt động ghi của mạch ô nhớ SRAM 6T
Theo hình 4.11, Mốc thời gian từ 0ns đến 140ns và 280ns đến 420ns khi tín hiệu WL ở mức cao, ô nhớ được chấp nhận ghi dữ liệu từ chân BL và BLB Trường hợp tín hiệu BL mức thấp và BLB mức cao thì tại nút Q xuống mức thấp, QB lên mức cao (ghi dữ liệu mức logic “0”) Ngược lại, nếu tín hiệu BL mức cao và BLB mức thấp thì tại nút Q lên mức cao, QB mức thấp (ghi dữ liệu mức logic “1”)
Ngược lại, thời gian từ 140ns đến 280ns khi WL ở mức thấp, ô nhớ sẽ không xác nhận ghi dữ liệu và đồng thời lưu trữ trạng thái mức thấp trước đó của BL, mức cao trước đó của BLB làm cho Q ở mức thấp, QB ở mức cao Tương tự, từ 420ns đến 500ns khi WL ở mức thấp, ô nhớ không cho phép ghi dữ liệu và lưu trữ trạng thái mức cao trước đó của BL, mức thấp trước đó của BLB làm cho Q ở mức cao, QB ở mức thấp b Độ trễ
Hình 4.12: Độ trễ từ mức áp thấp đến cao ô nhớ6T trong quá trình ghi
Hình 4.13: Độ trễ từ mức áp cao đến thấp ô nhớ6T trong quá trình ghi Độ trễ từ mức áp thấp đến cao: 𝑡𝑝𝑑r = 139.9828ps Độ trễ từ mức áp cao đến thấp: 𝑡𝑝𝑑f = 117.6888ps
Từ công thức (2.1) độ trễ lan truyền: 𝑡𝑝𝑑 = 𝑡 𝑝𝑑𝑓 + 𝑡 𝑝𝑑𝑟
2 = 128.836ps c Độ dự trữ nhiễu
Quá trình đo WSNM (Độ dự trữ nhiễu hoạt động ghi) của ô nhớ SRAM 6T khi tín hiệu WL được kích hoạt lên mức cao để cho phép ghi dữ liệu Bên cạnh đó, hai đường tín hiệu BL và BLB được đưa vào giá trị cần ghi (mức logic 1 hoặc 0) cho nên trong trường hợp ghi thì đồ thị VTC của hai nửa ô nhớ SRAM thu được là biểu đồ như hình 4.14 và xác định được giá trị WSNM là độ dài cạnh vuông lớn nhất có thể chứa trong biểu đồ
Hình 4.14: Nhiễu trong phần ghi của ô nhớ SRAM 6T
Qua đó thấy được giá trị dự trữ nhiễu được xuất ra và tính toán trong quá trình ghi dữ liệu là khoảng: 476.19mV d Công suất
Hình 4.15: Công suất tiêu thụ trung bình ghi dữ liệu ô nhớ SRAM 6T
Công suất tiêu thụ trung bình của ô nhớ SRAM 6T trong hoạt động ghi khoảng thời gian 500ns như hình 4.15 được tính bằng việc sử dụng hàm average trong phần mềm Cadence và cho kết quả: 𝑃𝑎𝑣𝑔 = 0.6033uW
4.1.2.3 Phần ghi dữ liệu ô nhớ SRAM 7T a Dạng sóng
Hình 4.16: Hoạt động ghi của mạch ô nhớ SRAM 7T
SO SÁNH VÀ LỰA CHỌN Ô NHỚ SRAM CHO THIẾT KẾ
4.2.1 So sánh các cấu trúc ô nhớ khác trong hoạt động ghi
Bảng 4.1: Các thông số trong hoạt động ghi các ô nhớ của đề tài
SRAM 4T SRAM 6T SRAM 7T SRAM 8T SRAM 9T Độ trễ lan truyền
Bảng 4.2: Các thông số trong hoạt động ghi ô nhớ của thiết kế [12], [8]
SRAM 4T SRAM 6T SRAM 7T SRAM 8T SRAM 9T Độ trễ lan truyền
Vì thông số công suất còn phụ thuộc vào nhiều yếu tố như: nguồn cung cấp, tần số hoạt động và các yếu tố khác nên nhóm chỉ so sánh các thông số bao gồm độ trễ lan truyền, độ dự trữ nhiễu của các ô nhớ ở quá trình ghi dữ liệu của đề tài này với các cấu trúc ô nhớ ở nghiên cứu [12], [8] như bảng 4.1, 4.2 Ở thiết kế [12], các ô nhớ 6T, 7T, 8T, 9T ở công nghệ 90nm có thông số chiều rộng, chiều dài của bóng bán dẫn để mặc định lần lượt là W = 120nm và L = 100nm Điều này làm giảm độ dự trữ nhiễu và bên cạnh đó điện áp nguồn của nghiên cứu [12] là 1V làm cho độ trễ lớn hơn rất nhiều Mặt khác, nhóm so sánh ô nhớ 4T của đề tài với nghiên cứu [8] cho thấy thiết kế của đề tài có độ dự trữ nhiễu lớn hơn và thời gian trễ thấp hơn do thông số chiều dài, chiều rộng của bóng bán dẫn chưa được đặt trước
4.2.2 So sánh các cấu trúc ô nhớ khác trong hoạt động đọc
Bảng 4.3: Các thông số trong hoạt động đọc các ô nhớ của đề tài
SRAM 4T SRAM 6T SRAM 7T SRAM 8T SRAM 9T Độ trễ lan truyền
Bảng 4.4: Các thông số trong hoạt động đọc ô nhớ của thiết kế [12],[10]
SRAM 4T SRAM 6T SRAM 7T SRAM 8T SRAM 9T Độ trễ lan truyền
Tương tự như phần ghi dữ liệu, nhóm tiến hành so sánh các thông số bao gồm độ trễ lan truyền, độ dự trữ nhiễu của các ô nhớ ở quá trình đọc dữ liệu của đề tài này với các cấu trúc ô nhớ ở nghiên cứu [12] và [10] Nhưng vì thiết kế [10] không đề cập đến dữ liệu độ trễ của ô nhớ nên chỉ so sánh độ dự trữ nhiễu của SRAM 4T trong quá trình đọc như được thể hiện bảng 4.3, 4.4 Ở thiết kế [12], các ô nhớ 6T, 7T, 8T, 9T có thông số chiều rộng, chiều dài của bóng bán dẫn để mặc định Điều này làm cho độ dự trữ nhiễu xuống thấp và bên cạnh đó điện áp nguồn của nghiên cứu [12] là 1V làm cho độ trễ lớn hơn rất nhiều Ngoài ra, cấu trúc của ô nhớ SRAM 7T và 9T của đề tài này có phần cải thiện đáng kể về nhiễu so với cấu trúc [12] Còn phần thiết kế [10] có độ dự trữ nhiễu gần bằng so với ô nhớ SRAM 4T của đề tài vì có tỉ lệ kích thước, nguồn cấp và công nghệ là như nhau
4.2.3 So sánh các cấu trúc ô nhớ của đề tài
Thông qua hai bảng 4.1 và 4.3, việc so sánh thông số trong hoạt động ghi và đọc của các ô nhớ của đề tài cho thấy được:
Trong hoạt động ghi, xét 3 thông số thấy được ô nhớ 4T có thông số tốt nhất nhưng độ dự trữ nhiễu đọc của ô nhớ 4T cho thấy sự thiếu ổn định về khả năng đọc dữ liệu và đòi hỏi phải hoạt động ở mức điện áp thấp Còn đối với ô nhớ 6T và 8T, các thông số trong hoạt động ghi là như nhau nhưng ô nhớ 8T có phần vượt trội hơn khi mà độ trễ bé hơn so với độ trễ của ô nhớ 6T ở hoạt động đọc và cùng với đó là mức công suất tiêu thụ lớn hơn trong hoạt động đọc so với ô nhớ 6T Ô nhớ 7T tuy có cải thiện đáng kể về phần công suất nhưng độ dự trữ nhiễu phần đọc khá là thấp so với ô nhớ khác Còn ô nhớ 9T cho thấy sự ổn định về độ trễ lan truyền, công suất tiêu thụ cũng như độ dự trữ nhiễu cả hoạt động ghi và đọc Thông Ô nhớ
Thông số [10] [12] [12] [12] [12] qua quá trình so sánh các thông số mà nhóm thu thập từ các ô nhớ SRAM, nhóm quyết định chọn ô nhớ 9T dựa trên 3 tiêu chí là độ trễ tín hiệu, công suất tiêu thụ và độ dự trữ nhiễu của cả 2 hoạt động đọc và ghi.
KẾT QUẢ THIẾT KẾ CÁC THÀNH PHẦN SRAM
Dựa vào hình 4.56, mạch nạp trước được thiết kế với 3 pMOS Trong đó, hai pMOS là PM0, PM1 đóng vai trò nạp trước điện áp cho hai đường bit BL và BLB Còn pMOS PM2 được nối với ngõ vào cho phép nạp PRE Khi PRE = 0 thì cho phép nạp và duy trì ở trạng thái cân bằng cho hai đường bit BL, BLB
Hình 4.56: Mô phỏng mạch nạp trước
Sau khi thiết kế mạch nguyên lý của mạch nạp trước và đóng gói, nhóm tiến hành chuẩn bị kết nối nguồn 1.2V và dạng sóng đầu vào dùng để kiểm tra hoạt động của mạch thông qua sơ đồ kết nối hình 4.57
Hình 4.57: Đóng gói và kiểm thử mạch nạp trước
Hình 4.58: Dạng sóng mạch nạp trước
Khoảng thời gian 0ns đến 25ns, tín hiệu PRE đang ở mức cao thì hai ngõ ra
BL, BLB không được nạp trước nên giá trị điện áp hai đầu tín hiệu BL, BLB không xác định Ngược lại, khoảng thời gian 25ns đến 50ns là lúc tín hiệu PRE ở mức thấp cho phép mạch nạp vào hai đường BL, BLB lên mức VDD Quá trình nạp giúp giữ điện áp được ổn định trên cả hai đường BL, BLB để phục vụ việc ghi và đọc dữ liệu của bộ nhớ
Hình 4.59: Công suất của mạch nạp trước
Công suất tiêu thụ trung bình của mạch nạp trước trong thời gian 250ns như hình 4.59 được tính thông qua việc dùng hàm average trong phần mềm Cadence và cho ra kết quả: 𝑃𝑎𝑣𝑔 = 0.1885 pW
Dựa vào hình 4.60, mạch ghi dữ liệu được thiết kế bằng 2 cổng AND và 1 cổng NOT kết hợp với hai bóng bán dẫn nMOS cho phép kết nối với hai đường dữ
1 liệu BL, BLB Với tín hiệu ngõ vào là tín hiệu cho phép ghi WE, thông tin đầu vào DATA và dữ liệu đầu ra được đưa đến hai đường tín hiệu BL, BLB
Hình 4.60: Mô phỏng mạch ghi
Sau khi thiết kế mạch nguyên lý của mạch ghi và đóng gói, nhóm tiến hành chuẩn bị kết nối nguồn 1.2V và dạng sóng đầu vào DATA, WE dùng để kiểm tra hoạt động của mạch thông qua sơ đồ kết nối hình 4.61
Hình 4.61: Đóng gói và kiểm thử mạch ghi
Hình 4.62: Dạng sóng mạch ghi
Mốc thời gian từ 0ns đến 50ns, tín hiệu WE ở mức logic thấp không xác nhận ghi dữ liệu vào ô nhớ thông qua các đường BL, BLB Khoảng thời gian 50ns đến 75ns tín hiệu WE ở mức cao, DATA = 1 xác nhận ghi thông tin từ DATA vào ô nhớ thông qua đường tín hiệu BLB = 0 và BL bị hở mạch Khoảng thời gian 75ns đến 100ns tín hiệu WE ở mức cao, DATA = 0 xác nhận ghi thông tin từ DATA vào ô nhớ thông qua đường tín hiệu BL = 0 và BLB bị hở mạch
Hình 4.63: Công suất của mạch ghi
Công suất tiêu thụ trung bình của mạch ghi khoảng thời gian 250ns thể hiện ở như hình 4.63 được tính thông qua việc dùng hàm average trong phần mềm Cadence và cho ra kết quả: 𝑃𝑎𝑣𝑔 = 1.079 uW
Dựa vào hình 4.64, mạch đọc được thiết kế từ 3 bóng bán dẫn pMOS kết hợp với 4 nMOS khuếch đại tín hiệu từ các ngõ vào BL, BLB đưa về đúng với mức điện áp và phản ánh đúng dữ liệu đọc được từ ô nhớ
Hình 4.64: Mô phỏng mạch đọc
Sau khi thiết kế mạch đọc và đóng gói, nhóm tiến hành chuẩn bị kết nối nguồn 1.2V và dạng sóng đầu vào RE, BL, BLB dùng để kiểm tra hoạt động của mạch thông qua sơ đồ kết nối hình 4.65
Hình 4.65: Đóng gói và kiểm thử mạch đọc
Hình 4.66: Dạng sóng mạch đọc
Khoảng thời gian 0ns đến 50ns, tín hiệu RE ở mức logic thấp không cho phép đọc dữ liệu từ ô nhớ thông qua các đường BL, BLB và ngõ ra OUT không xác định Ngược lại, khoảng thời gian 50ns đến 75ns thì tín hiệu RE ở mức cao cho phép đọc dữ liệu từ BL = 1, BLB = 0 làm cho NM2 và NM4 được nối với ngõ ra OUT nối lên VDD (OUT = 1) Còn khoảng thời gian 75ns đến 100ns, tín hiệu RE ở mức cao cho phép đọc dữ liệu từ BL = 0, BLB = 1 làm cho NM4, NM1 và PM1 dẫn đến ngõ ra OUT kết nối VSS (OUT = 0)
Hình 4.67: Công suất mạch đọc
Công suất trung bình mà mạch đọc tiêu thụ trong thời gian 250ns như hình 4.67 được tính thông qua việc dùng hàm average trong phần mềm Cadence và cho ra kết quả: 𝑃𝑎𝑣𝑔 = 21.86 uW
4.3.4 Mạch giải mã 5 sang 32 Để thiết kế mạch giải mã 5 sang 32 phục vụ cho việc truy xuất vị trí ô nhớ, nhóm đã tiến hành thiết kế, đóng gói hai mạch là: mạch giải mã 2 sang 4 và mạch giải mã 3 sang 8
Dựa vào hình 4.68, mạch giải mã 2 sang 4 được thiết kế với 2 cổng NOT và 8 cổng AND Với EN là tín hiệu cho phép tích cực mức cao và hai ngõ vào nhị phân A0, A1 dùng để lựa chọn giải mã thành một trong 4 đầu ra từ B0 đến B3
Hình 4.68: Mô phỏng và đóng gói mạch giải mã 2 sang 4
KẾT QUẢ THIẾT KẾ SRAM 1 BIT
4.4.1 Sơ đồ nguyên lý của mạch
Dựa vào sơ đồ hình 3.1, nhóm tiến hành kết nối ô nhớ đã được lựa chọn với các thành phần khác của bộ nhớ SRAM là mạch đọc, mạch ghi, mạch nạp trước và sau đó tiến hành đóng gói như sơ đồ hình 4.74 để có thể kiểm tra dạng sóng của mạch trong hoạt động ghi, đọc ở 2 mức logic là “0” và “1” Qua đó, nhóm có thể thực hiện việc đánh giá được giá trị độ trễ lan truyền và công suất tiêu thụ của mạch SRAM 1 BIT.
Hình 4.74: Mô phỏng và đóng gói của mạch SRAM 1 BIT hoàn chỉnh
Hình 4.75: Dạng sóng của mạch SRAM 1 BIT hoàn chỉnh
Dựa vào hình 4.75, hoạt động ghi và đọc bit “0” và “1” được thể hiện:
Ghi và đọc bit “1”: khoảng thời gian từ 0ns đến 40ns và từ 100ns đến 160ns, tín hiệu PRE = 0 để nạp trước điện áp cho đường BL, BLB để chuẩn bị hoạt động ghi và đọc dữ liệu Từ 40ns đến 100ns PRE = 1, WL = 1 và WE = 1 để cho phép ghi giá trị DATA hiện tại là mức logic “1”, khi đó BL = 1 và BLB = 0 Từ 160ns đến 220ns, PRE = 1 dùng để cân bằng điện áp đường BL, BLB và đồng thời WL
= 1, RE = 1 để cho phép đọc giá trị lưu trữ trong ô nhớ hiện tại là mức logic “1”, khi đó cho ra tín hiệu ngõ ra OUT = 1
Ghi và đọc bit “0”: khoảng thời gian từ 220ns đến 280ns và từ 340ns đến 400ns, tín hiệu PRE = 0 để nạp trước điện áp cho đường BL, BLB để chuẩn bị hoạt động ghi và đọc dữ liệu Từ 280ns đến 340ns, tín hiệu PRE = 1, WL = 1 và WE 1 để cho phép ghi giá trị DATA hiện tại là mức logic “0”, khi đó BL = 0 và BLB
= 1 Từ 400ns đến 460ns, PRE = 1 dùng để cân bằng điện áp đường BL và BLB Đồng thời, RE = 1 để cho phép đọc giá trị lưu trữ trong ô nhớ hiện tại là mức logic
“0”, khi đó cho ra tín hiệu ngõ ra OUT = 0
Hình 4.76: Độ trễ từ mức áp thấp đến cao SRAM 1 BIT quá trình ghi
Hình 4.77: Độ trễ từ mức áp cao đến thấpSRAM 1 BIT quá trình ghi Độ trễ từ mức áp thấp đến cao: 𝑡𝑝𝑑r = 155.2683ps Độ trễ từ mức áp cao xuống thấp: 𝑡𝑝𝑑f = 11.055115ps
Từ công thức (2.1) độ trễ lan truyền: 𝑡𝑝𝑑 = tpdf + tpdr
Thời gian tăng: 𝑡 𝑟 = 21.87ps và thời gian giảm:𝑡 𝑓 = 13.73ps
Tốc độ cạnh được tính bằng công thức (2.2): 𝑡 𝑟𝑓 = 𝑡 𝑟 + 𝑡 𝑓
Hình 4.78: Độ trễ từ mức áp thấp đến caoSRAM 1 BIT quá trình đọc
Hình 4.79: Độ trễ từ mức áp cao đến thấpSRAM 1 BIT quá trình đọc Độ trễ từ mức áp thấp đến cao: 𝑡𝑝𝑑r = 177.34955ps Độ trễ từ mức áp cao xuống thấp: 𝑡𝑝𝑑f = 1.1172954ps
Dựa vào công thức (2.1) độ trễ lan truyền: 𝑡𝑝𝑑 = tpdf + tpdr
2 = 89.233ps Thời gian tăng: 𝑡 𝑟 = 133.48ps và thời gian giảm:𝑡 𝑓 = 49.33ps
Tốc độ cạnh được tính bằng công thức (2.2): 𝑡 𝑟𝑓 = 𝑡 𝑟 + 𝑡 𝑓
Hình 4.80: Công suất của SRAM 1 BIT
Công suất tiêu thụ trung bình của SRAM 1 BIT khi thực hiện quá trình ghi và đọc trong khoảng thời gian 500ns như hình 4.80 được tính thông qua việc dùng hàm average trong phần mềm Cadence và cho ra kết quả: 𝑃𝑎𝑣𝑔 = 8.858 uW.