Tải bản đầy đủ (.docx) (89 trang)

Thiết kế khối điều khiển bộ nhớ SDR SDRAM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.46 MB, 89 trang )

LỜI CAM ĐOAN
Tôi xin cam đoan nội dung của đồ án này không phải là bản sao chép của bất
cứ đồ án hoặc công trình đã có từ trước. Nếu vi phạm tôi xin chịu mọi hình thức kỷ
luật của Khoa.
Sinh viên thực hiện

MỤC LỤC


Chương 1

Giới thiệu về đề tài

PHÂN CÔNG NHIỆM VỤ
Đỗ Tiến Thành
-

Nghiên cứu các đề tài liên quan
Đề xuất mô hình tổng quan của lõi IP điều khiển bộ nhớ SDRAM
Tìm hiểu về nội dung lý thuyết tổng quan về chuẩn giao tiếp AMBA AHB Bus.
Tìm hiểu về hoạt động của SDRAM thông qua Datasheet chip SDR-SDRAM của

hãng Micron.
- Thiết kế khối giao tiếp bộ nhớ SDR-SDRAM với bộ xử lí theo chuẩn giao tiếp
-

AHB Bus.
Vẽ specification
Viết chương trình dùng ngôn ngữ Verilog HDL
Viết testbench chạy mô phỏng để kiểm tra và sửa lỗi trong thiết kế.
Thực hiện việc dùng các tool tổng hợp thiết kế, phân tích định thời và thiết kế vật


lý lõi IP.

Trang 2


Chương 1

Giới thiệu về đề tài

Cao Thanh Đàm
-

Nghiên cứu các đề tài liên quan
Đề xuất mô hình tổng quan của lõi IP điều khiển bộ nhớ SDRAM
Tìm hiểu về nội dung lý thuyết tổng quan về tập lệnh của SDRAM
Tìm hiểu về hoạt động của SDRAM thông qua Datasheet chip SDR-SDRAM của

-

hãng Micron.
Thiết kế khối thực hiện lệnh điều khiển SDR-SDRAM
Vẽ specification
Viết chương trình dùng ngôn ngữ Verilog HDL
Viết testbench chạy mô phỏng để kiểm tra và sửa lỗi trong thiết kế.
Thực hiện việc xác minh và tối ưu hóa thiết kế.
Layout thiết kế

DANH MỤC TỪ VIẾT TẮT
SDR


Single Data Rate

RAM

Ramdom Access Memory

SRAM

Static RAM

DRAM

Dynamic RAM

SDRAM

Synchronous Dynamic RAM

DDR2 SDRAM

Double Data Rate 2 SDRAM

DDR3 SDRAM

Double Data Rate III Synchronous Dynamic RAM

SoC

System on Chip


AHB

Advanced High-performance Bus

FIFO

First In First Out

CMOS
EEPROM
EPROM
IC
PC
ROM

Complementary metal–oxide–semiconductor
Electrically Erasable Programmable Read Only Memory
Erasable Programmable Read Only Memory
Integrated Circuit
Personal Computer
Read Only Memory

ASIC

Application Specific Integrated Circuit

DC

Design Compiler


PT

Prime Time
Trang 3


Chương 1

Giới thiệu về đề tài

ICC

IC Compiler

AMBA

Advanced Microcontroller Bus Architecture

IP

Intellectual property

SDRC

SDRAM Controller

FSM

Finite State Machine


MUX

Multiplexer

FF

Flip-flop
LỜI MỞ ĐẦU

Ngày nay, trong toàn bộ các hệ thống máy tính cũng như trong các chip vi xử lí
đều sử dụng RAM làm bộ nhớ chính. RAM là bộ phận quan trọng quyết định đến
tốc độ làm việc của hệ thống và làm tăng hiệu suất của hệ thống.
SDR-SDRAM là bộ nhớ phổ biến trong các chip vi điều khiển hay chip SoC, nếu
không có phần cứng hỗ trợ điều khiển bộ nhớ này thì người sử dụng phải viết code
rất nhiều thông qua các chân điều khiển và việc làm này cũng không đơn giản.
Nếu có phần cứng hỗ trợ, như lõi IP điều khiển SDR-SDRAM tích hợp vào một
hệ thống SoC thì người sử dụng chỉ cần cấu hình theo ý muốn sau đó chỉ đọc, ghi
dữ liệu và lõi IP sẽ tự động khởi động SDRAM, phát các lệnh cần thiết của SDRSDRAM để giám sát hoạt động đảm bảo SDR-SDRAM hoạt động bình thường.
Trong nội dung đồ án tốt nghiệp, nhóm chúng tôi sẽ thực hiện việc “thiết kế lõi
IP điều khiển bộ nhớ SDR-SDRAM” với các đặc điểm chính như sau:
• Tương thích với bus AMBA AHB giao tiếp với chip vi điều khiển ARM.
• Cấu hình trước các tham số định thời (tCL, tRC, tRCD, tRP, tMRD, tRRD,
tRFC, tRAS, tWR) trước khi hoạt động.
• Hỗ trợ hầu hết các loại burst AHB (ngoại trừ WRAP16): SINGLE, INCR,
WRAP4, INCR4, WRAP8, INCR8, and INCR16.
• Nhận lệnh Load Mode Register (LMR) để lập trình lại bộ nhớ SDRAM trong
thời gian đang vận hành.
• Độ rộng bus địa chỉ (địa chỉ bank, địa chỉ hàng - row và địa chỉ cột – column)
và độ rộng bus dữ liệu DQ cấu hình được trước khi tổng hợp.
• Có các FIFO hỗ trợ việc đọc/ghi địa chỉ và dữ liệu


Trang 4


Chương 1

Giới thiệu về đề tài

Nhằm mục đích làm rõ các nội dung liên quan đến đề tài như mục tiêu của đề
tài, phạm vi đề tài, hướng phát triển, và những phần lý thuyết liên quan đến đề tài,
cùng với sơ đồ khối của thiết kế, chương trình của lõi IP, đồ án của nhóm chúng tôi
trình bày bao gồm 6 chương như sau:
Chương 1: Giới thiệu về đề tài.
Chương 2: Lý thuyết tổng quan.
Chương 3: Thiết kế và phân tích các khối chức năng.
Chương 4: Xác minh và tối ưu hóa thiết kế.
Chương 5: Tổng hợp phân tích và thiết kế vật lý.
Chương 6: Kết luận và hướng phát triển đề tài.
Xuất phát từ nhu cầu thực tế cần thiết phải xây dựng lõi IP điều khiển bộ nhớ
SDRAM có thể cấu hình các thông số trước và điều khiển các hoạt động của
SDRAM, nhóm chúng tôi đã tiến hành tìm hiểu các những lý thuyết liên quan tới đề
tài cũng như nghiên cứu Datasheet chip SDR-SDRAM 512Mb của hãng Micron,
thảo luận và thống nhất phương án thiết kế cuối cùng. Tiếp theo đó, nhóm chúng tôi
đã thiết kế sơ đồ khối tổng quát và sơ đồ khối chi tiết của lõi IP, xây dựng máy
trạng thái, viết chương trình Verilog HDL mô tả toàn bộ thiết kế. Bước cuối cùng,
nhóm chúng tôi kết nối các khối trong bộ lõi IP lại, viết testbench kiểm tra kết quả
trên phần mềm Modelsim của hãng Altera và điều khiển SDR-SDRAM thông qua
việc sử dụng Model MT48LC64M8A2 (16Meg x 8 x 4 Banks) của hãng Micron,
đối chiếu so sánh với yêu cầu đặt ra ban đầu và với các đề tài đã thực hiện trước đó,
đánh giá hoạt động của lõi IP dựa trên kết quả thu được. Sau khi kiểm tra đúng chức

năng, nhóm chúng tôi sử dụng các tool Design Compiler, Prime Time, IC compiler
của hãng Synopsys để kiểm tra, ràng buộc chặt chẽ về timing, sau đó xuất ra file
GDSII để có thể gửi đi tới nhà máy để sản xuất ra sản phẩm ứng dụng vào thực tế.
Nhờ sự hướng dẫn tận tình của thầy Võ Tuấn Minh, cũng như sự nỗ lực khắc
phục khó khăn phát sinh trong suốt quá trình thực hiện đồ án, nhóm chúng tôi đã
hoàn thành mục tiêu “thiết kế lõi IP điều khiển bộ nhớ SDR-SDRAM” thực hiện
chức năng giám sát và điều khiển hoạt động của SDR-SDRAM.

CHƯƠNG 1
1.1.

GIỚI THIỆU VỀ ĐỀ TÀI

Giới thiệu chương

Trang 5


Chương 1

Giới thiệu về đề tài

Lõi IP điều khiển bộ nhớ SDR-SDRAM giúp người sử dụng tích hợp vào các hệ
thống SoC, để giám sát và điều khiển hoạt động truy xuất đọc/ghi SDR-SDRAM.
Để thiết kế và thực hiện thành công lõi IP cần phải trải qua nhiểu giai đoạn từ việc
hình thành ý tưởng, tìm hiểu lý thuyết liên quan đến việc xây dựng sơ đồ khối, viết
code verilog, viết testbench kiểm tra chức năng, đến việc tổng hợp, phân tích timing
và chạy layout. Phần đầu của chương này sẽ trình bày ý tưởng hình thành nên đề tài.
Những ý tưởng này sẽ làm nền tảng để thiết lập mục tiêu mà đề tài cần đạt được.
Tiếp theo đó, nội dung chương sẽ lần lượt đề cập đến phạm vi của đề tài và phương

pháp nghiên cứu. Cuối cùng là phần kết luận chương.
1.2.

Đặt vấn đề

Ngày nay, trong toàn bộ các hệ thống máy tính cũng như trong các chip vi xử lí
đều sử dụng RAM làm bộ nhớ chính. RAM là bộ phận quan trọng quyết định đến
tốc độ làm việc của hệ thống và làm tăng hiệu suất của hệ thống.
SDR-SDRAM là bộ nhớ phổ biến trong các chip vi điều khiển hay chip SoC, nếu
không có phần cứng hỗ trợ điều khiển bộ nhớ này thì người sử dụng phải viết code
rất nhiều thông qua các chân điều khiển và việc làm này cũng không đơn giản.
Nếu có phần cứng hỗ trợ, như lõi IP điều khiển SDR-SDRAM tích hợp vào một
hệ thống SoC thì người sử dụng chỉ cần cấu hình theo ý muốn sau đó chỉ đọc, ghi
dữ liệu và lõi IP sẽ tự động khởi động SDRAM, phát các lệnh cần thiết của SDRSDRAM để giám sát hoạt động đảm bảo SDR-SDRAM hoạt động bình thường.
1.3. Mục tiêu của đề tài
Từ ý tưởng ban đầu, dựa vào những kiến thức đã được học, nhóm chúng tôi tiến
hành tìm hiểu những lý thuyết liên quan và sau đó bắt tay vào thiết kế và thực hiện
từng công đoạn.
Mục tiêu của đề tài là thiết kế lõi IP, thực hiện đúng chức năng giám sát và điều
khiển bộ nhớ SDR-SDRAM. Bên cạnh đó, thực hiện việc tổng hợp, kiểm tra, phân
tích định thời, sắp xếp và nối dây tự động để đưa ra bản layout cuối cùng, có thể
đưa đến nhà máy sản xuất ra sản phẩm thực tế. Tối ưu hóa về diện tích, timing cũng
như công suất của thiết kế. Lõi IP hoạt động với tần số xung clock hệ thống là 100
Mhz, quá trình tổng hợp dùng thư viện công nghệ 90 nm.
Trang 6


Chương 1

Giới thiệu về đề tài


1.4. Phạm vi của đề tài
Trong nội dung đồ án tốt nghiệp, nhóm chúng tôi sẽ lần lượt thực hiện việc thiết
kế lõi IP điều khiển bộ nhớ SDR-SDRAM, từ công đoạn phân tích, đưa ra ý tưởng,
đến việc xây dựng sơ đồ khối, viết code, viết testbench, tổng hợp và phân tích trên
các tool DC, PT và cuối cùng là chạy layout bằng tool ICC.
1.5. Phương pháp luận
Quá trình thực hiện đồ án tốt nghiệp của nhóm chúng tôi trải qua nhiều giai đoạn
khác nhau, ứng với mỗi giai đoạn cần đưa ra một phương pháp nghiên cứu phù hợp
-

để công việc được giải quyết nhanh và hiệu quả.
Trong giai đoạn đầu của đồ án, nhóm tìm hiểu những đề tài có liên quan, đưa ra

-

những ý tưởng ban đầu.
Trong giai đoạn tiếp theo, nhóm tiến hành tìm hiểu những nội dung lý thuyết liên
quan. Việc tìm hiểu các đề tài liên quan đến nội dung đồ án là khá quan trọng vì nó
giúp chúng tôi bước đầu xây dựng được sơ đồ khối tổng quát và lựa chọn được giải

-

pháp thiết kế phù hợp với đề tài.
Sau khi xây dựng thành công sơ đồ khối tổng quát, chúng tôi lần lượt đi vào thiết kế

-

từng khối trong sơ đồ.
Để đánh giá hoạt động của lõi IP, nhóm chúng tôi nhóm chúng tôi kết nối các khối

trong bộ điều khiển lại, viết testbench kiểm tra kết quả trên phần mềm Modelsim
của hãng Altera và điều khiển SDR-SDRAM thông qua việc sử dụng Model
MT48LC64M8A2 (16Meg x 8 x 4 Banks) của hãng Micron, đối chiếu so sánh với
yêu cầu đặt ra ban đầu, đánh giá hoạt động của lõi IP dựa trên kết quả thu được. Sau
khi kiểm tra đúng chức năng, nhóm chúng tôi sử dụng các tool Design Compiler,
Prime Time, IC compiler của hãng Synopsys để kiểm tra, ràng buộc chặt chẽ về
timing, sau đó xuất ra file GDSII để có thể gửi đi tới nhà máy để sản xuất ra sản
phẩm ứng dụng vào thực tế.
1.5.1. Mô hình đề xuất

Trang 7


Chương 1

Giới thiệu về đề tài

Hình 1.1 Mô hình đề xuất
Cấu trúc cơ bản của lõi IP điều khiển SDR-SDRAM gồm 2 khối chức năng
chính:
-

AHB WRAPPER: Khối xử lý các giao tiếp với AHB Bus. Khối này chứa 4 FIFO
phục vụ lưu địa chỉ và lưu dữ liệu cho quá trình ghi/đọc dữ liệu từ SDR-SDRAM:
o Write address FIFO: có độ sâu là 16 tầng (stage), để lưu địa chỉ ghi vào
SDR-SDRAM.
o Write burt control FIFO: có độ sâu 16 tầng, để lưu thông tin về burst gồm:
burst type (3 bit), first beat (1 bit), last beat (1 bit).
o Write data FIFO: có độ sâu 16 tầng, để lưu dữ liệu ghi vào SDR-SDRAM.
o Read data FIFO: có độ sâu 16 tầng, để lưu dữ liệu đọc ra từ SDR-SDRAM


-

khi mà AHB Master đang bận.
SDRC CORE CONTROLLER: Khối điều khiển giao tiếp trực tiếp với SDRSDRAM. Khối này nhận các tín hiệu từ khối AHB WRAPPER, bên trong khối này
bao gồm 3 khối nhỏ:
o INITIALZATION: thực hiện việc khởi động SDR-SDRAM.
o AUTO REFRESH: thực hiện việc làm tươi SDR-SDRAM theo chu kỳ.
o COMMAND CONTROLLER: Máy trạng thái tạo ra các lệnh điều khiển
1.6.

truy xuất đọc/ghi SDR-SDRAM.
Kết luận chương

Trang 8


Chương 1

Giới thiệu về đề tài

Từ ý tưởng thiết kế ban đầu đến khi hoàn thành thiết kế là một quá trình dài bao
gồm nhiều giai đoạn khác nhau, trong mỗi giai đoạn sẽ yêu cầu những phương pháp
nghiên cứu riêng. Nội dung chương này mang tính định hướng, làm nền tảng để các
chương sau đi sâu vào nghiên cứu các vấn đề cụ thể liên quan đến đề tài.

Trang 9


Chương 2


CHƯƠNG 2
2.1.

Lý thuyết tổng quan

LÝ THUYẾT TỔNG QUAN

Giới thiệu chương
Từ sơ đồ khối tổng quan được đề xuất, nhóm chúng tôi lần lượt tìm hiểu những

nội dung lý thuyết liên quan.
-

Tìm hiểu về bộ nhớ RAM, cách phân loại và phân biệt giữa các loại RAM.
Tìm hiểu chuẩn giao tiếp AHB Bus giao tiếp với chip vi điều khiển ARM.
Tìm hiểu về cấu trúc bên trong của SDR-SDRAM và tập lệnh hoạt động của

-

SDR-SDRAM dựa vào Datasheet của hãng Micron.
Tìm hiểu hoạt động các cồng logic sử dụng trong thiết kế.
Việc tìm hiểu những lý thuyết này rất quan trọng vì phải hiểu rõ cấu trúc cũng

như cách thức hoạt động của bộ nhớ SDR-SDRAM, từ đó mới có thể thiết kế bộ
điều khiển cho phù hợp với hoạt động của SDR-SDRAM.
2.2.
2.2.1.
2.2.1.1.


Các khái niệm liên quan đến bộ nhớ
Bộ nhớ RAM
Giới thiệu về RAM

RAM (viết tắt từ Random Access Memory) là một loại bộ nhớ chính của máy
tính. RAM được gọi là bộ nhớ truy xuất ngẫu nhiên vì nó có đặc tính: thời gian thực
hiện thao tác đọc hoặc ghi đối với mỗi ô nhớ là như nhau, cho dù đang ở bất kỳ vị
trí nào trong bộ nhớ. Mỗi ô nhớ của RAM đều có một địa chỉ. Thông thường, mỗi ô
nhớ là một byte (8 bit); tuy nhiên hệ thống lại có thể đọc ra hay ghi vào nhiều byte
(2, 4, 8 byte).
Bởi vì các chip RAM có thể đọc hay ghi dữ liệu nên thuật ngữ RAM cũng được
hiểu như là một bộ nhớ đọc-ghi (read/write memory), trái ngược với bộ nhớ chỉ đọc
ROM (read-only memory).
RAM thông thường được sử dụng cho bộ nhớ chính (main memory) trong máy
tính để lưu trữ các thông tin thay đổi, và các thông tin được sử dụng hiện hành.
Cũng có những thiết bị sử dụng một vài loại RAM như là một thiết bị lưu trữ thứ
cấp (secondary storage). Thông tin lưu trên RAM chỉ là tạm thời, chúng sẽ mất đi
khi mất nguồn điện cung cấp.

Trang 10


Chương 2

Lý thuyết tổng quan

Hình 2.1 Một số loại RAM: 1-DIP, 2-SIPP, 3- SIMM 30 chân, 4-SIMM 72 chân,
5-DIMM (168 chân), 6-DDR DIMM (184-chân) [1]
2.2.1.2.


Đặc trưng

Bộ nhớ RAM có 4 đặc trưng sau:
-

Dung lượng bộ nhớ: tổng số byte của bộ nhớ (nếu tính theo byte) hoặc là tổng số bit

-

trong bộ nhớ nếu tính theo bit.
Tổ chức bộ nhớ: số ô nhớ và số bit cho mỗi ô nhớ
Thời gian thâm nhập: thời gian từ lúc đưa ra địa chỉ của ô nhớ đến lúc đọc được nội

dung của ô nhớ đó.
- Chu kỳ bộ nhớ: thời gian giữa hai lần liên tiếp thâm nhập bộ nhớ.
2.2.1.3.
Phân loại
Tùy theo công nghệ chế tạo, người ta phân biệt thành 2 loại: SRAM (Static
RAM): RAM tĩnh và DRAM (Dynamic RAM): RAM động
2.2.1.3.1.

RAM tĩnh

RAM tĩnh là một dạng bộ nhớ bán dẫn sử sụng mạch chốt 2 trạng thái bền
(bistable latching circuit) để lưu trữ mỗi bit.

Trang 11


Chương 2


Lý thuyết tổng quan

Hình 2.2 6 transistor trong một cel ô nhớ của RAM tĩnh

[1]

SRAM là bộ nhớ nhanh, việc đọc không làm hủy nội dung của ô nhớ và thời gian
thâm nhập bằng chu kỳ của bộ nhớ. Các đặc tính trên khiến SRAM đắt hơn nhiều so
với DRAM và nó chủ yếu được dùng làm bộ nhớ đệm (cache) trong CPU.
2.2.1.3.2.

RAM động

Hình 2.3 Transistor và tụ điện trong một cel ô nhớ của RAM động [1]
RAM động dùng kỹ thuật MOS. Mỗi bit nhớ gồm một transistor và một tụ điện.
Việc ghi nhớ dữ liệu dựa vào việc duy trì điện tích nạp vào tụ điện và như vậy việc
đọc một bit nhớ làm nội dung bit này bị hủy. Do vậy sau mỗi lần đọc một ô nhớ, bộ
phận điều khiển bộ nhớ phải viết lại nội dung ô nhớ đó.
Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụ điện sẽ phóng hết điện
tích đã nạp và như vậy phải làm tươi bộ nhớ sau khoảng thời gian 2μs. Việc làm
tươi được thực hiện với tất cả các ô nhớ trong bộ nhớ. Công việc này được thực
hiện tự động bởi một vi mạch bộ nhớ.

2.2.1.4.

Các loại DRAM
Trang 12



Chương 2

Lý thuyết tổng quan

SDRAM (Viết tắt từ Synchronous Dynamic RAM) được gọi là DRAM đồng bộ.
SDRAM gồm 4 phân loại: SDR, DDR, DDR2 và DDR3.
o SDR SDRAM (Single Data Rate SDRAM), thường được gọi tắt là "SDR". Có
168 chân. Được dùng trong các máy vi tính cũ, bus speed chạy cùng vận tốc
với clock speed của memory chip.
o DDR SDRAM (Double Data Rate SDRAM), thường được gọi tắt là "DDR".
Có 184 chân. DDR SDRAM là cải tiến của bộ nhớ SDR với tốc độ truyền tải
gấp đôi SDR nhờ vào việc truyền tải hai lần trong một chu kỳ bộ nhớ. Đã
được thay thế bởi DDR2.

Hình 2.4 Hoạt động của SDR và DDR SDRAM [1]
o DDR2 SDRAM (Double Data Rate 2 SDRAM), Thường được gọi tắt là
"DDR2". Là thế hệ thứ hai của DDR với 240 chân, lợi thế lớn nhất của nó so
với DDR là có bus speed cao gấp đôi clock speed.

Trang 13


Chương 2

Lý thuyết tổng quan

Hình 2.5 So sánh tần số hoạt động của SDR, DDR và DDR2 SDRAM
Trang 14

[1]



Chương 2

Lý thuyết tổng quan

o DDR3 SDRAM (Double Data Rate III Synchronous Dynamic RAM): có tốc
độ bus 800/1066/1333/1600 Mhz, số bit dữ liệu là 64, điện thế là 1.5v, tổng số
pin là 240.

2.2.2.
2.2.3.1.

Chuẩn giao tiếp AHB Bus giao tiếp với vi điều khiển ARM
Giới thiệu cấu trúc ARM
Cấu trúc ARM (viết tắt từ Advanced RISC Machine) là một loại cấu trúc vi

xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng.
2.2.3.2.

Kiến trúc bus truyền dữ liệu cao cấp của vi điều khiển ARM

ARM giao tiếp với các khối ngoại vi bởi hệ thống bus truyền dữ liệu cao cấp
AMBA (Advanced Microcontroller Bus Architecture). Đặc điểm của AMBA là
chuẩn truyền thông trên chip dành cho thiết kế các vi điều khiển 16 và 32 bit với
hiệu suất cao, các bộ xử lý tín hiệu và các thiết bị ngoại vi phức tạp. Đặc tính kỹ
thuật AMBA: Bus băng thông rộng, tốc độ cao, Bus ngoại vi có công suất thấp, cấu
trúc đơn giản.
Kiến trúc AMBA điển hình:


Hình 2.6 Vi điều khiển dựa trên kiến trúc AMBA điển hình

[2]

Trong đó:
o Bus hệ thống hiệu suất cao (AHB - Advanced High Performace Bus): Bus
này đảm bảo tốc độ dữ liệu giữa hệ thống với các giao tiếp bus bên ngoài. Bộ
xử lý trung tâm (CPU), các bus truyền chính khác (như bộ điều khiển truy

Trang 15


Chương 2

Lý thuyết tổng quan

cập bộ nhớ trực tiếp DMA), bộ nhớ trong cũng được kết nối với bus truyền
tốc độ cao này. AHB được kết nối với APB bởi cầu nối.
o Bus truyền dữ liệu ngoại vi tối ưu (APB - Advanced Peripheral Bus): bus
truyền ngoại vi này có công suất thấp, tốc độ thấp và đơn giản.

2.2.3.3.
2.3.1.

Bộ nhớ SDR-SDRAM
Hiểu về bộ nhớ SDR-SDRAM

SDR-SDRAM (viết tắt của từ Single Data Rate Synchronous Dynamic Random
Access Memory): bộ nhớ động truy cập ngẫu nhiên đồng bộ đơn tốc độ.


Hình 2.7 Các chip SDR-SDRAM trên 1 thanh SDRAM của PC

[5]

Khi xem Datasheet hay 1 mô tả về SDR-SDRAM, dung lượng bộ nhớ thường
được biểu diễn kiểu: 32 Meg x 4 x 4 banks theo thứ tự từ trái qua phải là: số lượng
ô nhớ trong 1 bank, số bit trong 1 ô nhớ, số bank. Như ví dụ trên thì SDR-SDRAM
này có 4 bank, mỗi bank có 32Mega ô nhớ, mỗi ô nhớ có 4 bit. Vậy dung lượng của
bộ nhớ này là 32M x 4bit x 4bank = 512 Mbit.
Vị trí của 1 ô nhớ của SDR-SDRAM được xác định bởi 3 địa chỉ là: địa chỉ bank
(bank address), địa chỉ hàng (row address), địa chỉ cột (column address), và được
biểu diễn như sau:

Trang 16


Chương 2

Lý thuyết tổng quan

Hình 2.8 Bộ nhớ có dung lượng 32 Meg x 4 x 4 banks (512 Mbit) [5]
Cấu trúc bên trong của 1 chip SDR-SDRAM: ngoài các mảng ô nhớ thì còn có
các mạch số thực hiện giải mã lệnh, giải mã địa chỉ và thực thi các chức năng khác.

Hình 2.9 Cấu trúc bên trong của 1 chip SDR-SDRAM [5]
Các tín hiệu giao tiếp của chip SDR-SDRAM:
Mô tả

Tín hiệu


Chiều

CLK

IN

Clock hệ thống, hoạt động theo cạnh lên.

CKE

IN

Clock Enable: cho phép clock hoạt động

CS#

IN

Chip Select: chọn chip, tích cực mức thấp. Khi ở mức
cao, bộ giải mã sẽ bỏ qua các tín hiệu điều khiển khác.
Trang 17


Chương 2

Lý thuyết tổng quan

DQM

IN


Data Mask: khi ở mức cao, tín hiệu này cấm dữ liệu
đọc/ghi.

RAS#, CAS#,
WE#

IN

Tổ hợp 3 tín hiệu này dùng để định nghĩa lệnh điều
khiển SDRAM.

BA

IN

Bank Address: dùng để chọn bank.

IN

Bus địa chỉ: Đối với lệnh ACTIVE, nó là địa chỉ hàng,
còn đối với lệnh READ/WRITE thì nó là địa chỉ cột.
Riêng A10 dùng để chọn chức năng Auto Recharge.

A0 – A12

DQ

Bus dữ liệu, độ rộng là 4/8/16 bit tùy vào loại
SDRAM.

Bảng 2.1 Các tín hiệu giao tiếp của chip SDR-SDRAM
IN/OUT

Thanh ghi cấu hình hoạt động của SDR-SDRAM (MODE REGISTER):
trước khi truy xuất (đọc/ghi) SDRAM thì thanh ghi này phải được cấu hình các giá
trị phù hợp thông qua lệnh LOAD (SET) MODE REGISTER. Thanh ghi này có cấu
trúc như hình 2.18. Trong đó:
o WB (Write Burst Mode): 1 bit chọn kiểu burst hay single. Nếu chọn kiểu
o

burst thì phải quan tâm đến các bit BT và Burst Length.
BT (Burst Type): 1 bit chọn chế độ burst là tuần tự (sequential) hay xen kẽ
(interleaved).

Trang 18


Chương 2

Lý thuyết tổng quan

Hình 2.10 Thanh ghi cấu hình hoạt động của SDR-SDRAM [5]
o

Burst Length: 3 bit chọn độ dài burst tối đa cho một lần truy xuất (đọc/ghi)
SDRAM. Tùy theo kiểu burst đã chọn mà thứ tự địa chỉ truy xuất sẽ khác

o

nhau như bảng sau 2.2.

CAS Latency (CL): Độ trễ của dữ liệu đọc tính từ khi SDRAM nhận lệnh
đọc đến khi dữ liệu được trả trên bus dữ liệu DQ. Chỉ có 2 giá trị được phép
sử dụng là 2 hoặc 3, tương ứng sau 2 hoặc 3 xung clock CLK SDRAM sẽ

trả dữ liệu như hình 2.11.
o Op mode: Hai bit chỉ chế độ xử lí của SDRAM.

Trang 19


Chương 2

Lý thuyết tổng quan

Bảng 2.2 Thứ tự truy xuất địa chỉ của SDR-SDRAM [5]

Hình 2.11 Minh họa đối với CL = 2 và CL = 3 [5]

Trang 20


Chương 2

Lý thuyết tổng quan

Mã lệnh điều khiển SDRAM là tổ hợp giá trị của 3 tín hiệu RAS#, CAS#, WE#.
các lệnh điều khiển SDR-SDRAM được mô tả trong hình 2.20. Trong đó:
o Cột ngoài bên trái là tên lệnh, các cột còn lại là giá trị tương ứng của tín hiệu
mà lệnh đó yêu cầu. Đối với vị trí giá trị “X” thì không không quan tâm tới.
o Cột Address: bao gồm 2 nhóm địa chỉ là bank và bus địa chỉ ADDR.

o Địa chỉ A10 ở mức cao thì đây là lệnh sử dụng đặc điểm Auto-Precharge (Tự
động đóng hàng) và ngược lại.
o Nếu CKE ở mức cao thì là lệnh Auto-Refresh, còn nếu CKE ở mưc thấp thì
lệnh Self-Refresh.

Hình 2.12 Các lệnh điều khiển SDR-SDRAM [5]
2.3.2.
2.3.2.1.

Các lệnh điều khiển SDR-SDRAM
Lệnh INHIBIT

Khi CS# ở mức cao. Lệnh này ngăn không cho SDRAM thực hiện bất cứ lệnh
nào khác dù có CLK và CLKE.
2.3.2.2.

Lệnh NOP (NO OPERATION)

Khi CS# ở mức thấp, lệnh này phát trong khoảng thời gian chờ (wait) hoặc rảnh
(idle) để tránh SDRAM nhận nhầm lệnh không mong muốn.
2.3.2.3.

Lệnh LOAD MODE REGISTER

Lệnh nạp giá trị vào thanh ghi cấu hình của SDRAM thông qua bus địa chỉ. Tùy
vào datasheet của mỗi SDRAM mà gán vị trí bit thích hợp vào bus địa chỉ.
2.3.2.4.

Lệnh ACTIVE


Lệnh để mở (tích cực) một hàng trong một bank trước khi thực hiện ghi/đọc bất
kì một ô nhớ nào.

Trang 21


Chương 2

2.3.2.5.

Lý thuyết tổng quan

Lệnh PRECHARGE

Lệnh để đóng một hàng của bank.
2.3.2.6.
Lệnh BURST TERMINATE
Lệnh ngắt burst khi SDRAM đang thực hiện truy xuất đọc/ghi.
2.3.2.7.
Lệnh AUTO REFRESH
Một SDRAM phải được làm tươi (refresh) sau mỗi chu kì xác định để dữ liệu
trong SDRAM không bị mất. Lệnh này để làm tươi SDRAM, điều kiện tất cả các
hàng ở các bank đều đã đóng lại.
2.3.2.8.

Lệnh SELF REFRESH

Giống lệnh AUTO REFRESH nhưng CKE ở mức thấp. SDRAM sử dụng clock
nội để làm tươi.
2.3.2.9.


Lệnh READ

Khi hàng đã mở, lệnh này chỉ ra địa chỉ cột nào được đọc. Nếu A10 = 1 thì
READ có Auto-Precharge (sau khi đọc xong tự động đóng hàng), nếu A10 = 0 thì
sau khi đọc xong phải phát lệnh PRECHARGE để đóng hàng lại.
2.3.2.10.

Lệnh WRITE

Khi hàng đã được mở, lệnh này chỉ ra địa chỉ cột nào được ghi. A10 có ý nghĩa
giống như lệnh READ.
2.3.3.

Khởi động SDR-SDRAM
Trước khi sử dụng SDR-SDRAM, nó cần một khoảng thời gian 100us để khởi

động. Khoảng thời gian này tính từ lúc cấp nguồn cho tới khi clock ổn định. Sau
khoảng thời gian này thì cần phải thục hiện các lệnh sau trước khi bắt dầu sử dụng
SDRAM. Quá trình khởi động này chỉ cần thực hiện 1 lần duy nhất khi cấp nguồn.

Trang 22


Chương 2

Lý thuyết tổng quan

Hình 2.13 Khởi động SDR-SDRAM [5]


Trang 23


Chương 2

2.3.4.

Lý thuyết tổng quan

Định thời các lệnh cho SDR-SDRAM
Tất cả các lệnh của SDR-SDRAM đều yêu cầu một khoảng thời gian để xử lý

trước khi phát lệnh khác. Thông số về timing được mô tả chi tiết trong bảng sau dựa
vào datasheet của SDR-SDRAM:

Bảng 2.3 Thông số về timing của SDR-SDRAM [5]
2.4.
Hoạt động của các cổng Logic sử dụng trong thiết kế
2.4.1. Flip-Flop
Flip-Flop (viết tắt là FF) là mạch dao động được xây dựng trên cơ sở các cổng
Logic và hoạt động theo1 bảng trạng thái cho trước. Có nhiều loại FF khác nhau,
nhưng trong thiết kế số chủ yếu sử dụng D_Flip- Flop để thiết kế các thanh ghi, các
thành phần của bộ nhớ…

Trang 24


Chương 2

Lý thuyết tổng quan


Kí hiệu và bảng trạng thái của DFF:

Hình 2.14

(a) Kí hiệu đầy đủ
(b) Kí hiệu đơn giản, thường dùng trong vẽ spec
(c) Bảng trạng thái của DFF [6]

Trong đó: là trạng thái của ngõ DATA D ở xung clock clk thứ n
, là trạng thái ngõ ra ở xung clk thứ n và (n+1).
2.4.2. Cổng NOT (Cổng đảo)
Cổng đảo là cổng Logic có 1 ngõ vào và 1 ngõ ra, kí hiệu và bảng trạng thái hoạt
động như sau:

Hình 2.15 Kí hiệu và bảng trạng thái cổng NOT [6]
2.4.3.

Cổng AND (Cổng và)
Cổng AND là cổng Logic thực hiện phép toán nhân các tín hiệu vào với nhau.
Kí hiệu và bảng trạng thái của cổng AND có 2 ngõ vào (AND2):

Hình 2.16 Kí hiệu và bảng trạng thái cổng AND2 [6]
2.4.4.

Cổng OR (Cổng hoặc)
Cổng OR là cổng Logic thực hiện phép toán cộng các ngõ vào với nhau.
Kí hiệu và bảng trạng thái cổng OR có 2 ngõ vào (OR2):

Trang 25



×