Tải bản đầy đủ (.pdf) (35 trang)

Thiết kế hệ thống và vi mạch tích hợp Verilog HDL

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 (1.61 MB, 35 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CHẤT LƯỢNG CAO
MƠN HỌC: THIẾT KẾ HỆ THỐNG VÀ VI MẠCH TÍCH HỢP



TIỂU LUẬN
MEMORY (RAM)
GVHD:
Nhóm: 03
Mã lớp học:

Thành Phố Hồ Chí Minh, tháng 03 năm 2021


DANH SÁCH THÀNH VIÊN THAM GIA TIỂU LUẬN
HỌC KỲ I NĂM HỌC 2021 – 2022 Nhóm: 03
STT

HỌ VÀ TÊN

MÃ SƠ SINH VIÊN


NHẬN XÉT CỦA GIẢNG VIÊN

……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………


……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
……………………………………………………………
Điểm:……………….
KÝ TÊN


MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ..................................................................................... 4
1.1 Đặt vấn đề:......................................................................................................... 4
1.2 Mục tiêu:............................................................................................................ 4
1.3 Phương pháp nghiên cứu:...................................................................................4
1.4 Bố cục:................................................................................................................4
1.5 Giới hạn:............................................................................................................. 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT........................................................................... 4
2.1 Tổng quan về RAM ........................................................................................ 10
2.1.1 Khái niệm ....................................................................................................10
2.1.2 Phân loại .......................................................................................................10
2.1.3 Cấu tạo ......................................................................................................... 10
2.2. Đặc điểm và nguyên lí hoạt động .................................................................. 10
2.2.1 Đặc điểm ...................................................................................................... 10
2.2.2 Nguyên lý hoạt động.....................................................................................10
CHƯƠNG 3: THIẾT KẾ ......................................................................................... 16
3.1 Các khối ......................................................................................................... 16
3.2 Sơ đồ khối RAM 64*8....................................................................................16

3.3 Thiết kế giải thuật .......................................................................................... 16
3.3.1 Sơ đồ giải thuật ........................................................................................... 16
3.3.2 Code Verilog ............................................................................................... 16


CHƯƠNG 4: ĐÁNH GIÁ QUA TESTBENCH...................................................... 15
4.1 Mơ hình testbench tổng quát ......................................................................... 16
4.2 Mô tả các testcase........................................................................................... 16
4.3 Kết quả............................................................................................................ 16
4.4 Nhận xét và đánh giá...................................................................................... 16
CHƯƠNG 5: KẾT LUẬN, ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN ................ 16
5.1 Kết luận ......................................................................................................... 16
5.2 Ứng dụng và hướng phát triển .......................................................................16
TÀI LIỆU THAM KHẢO........................................................................................ 16
/>9549&aut=19a19f77f7b3a2b12c7a51cec2213a40
/>

CHƯƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề
Sự phát triển với tốc độ rất nhanh của công nghệ thông tin bao gồm cả phần cứng,
phần mềm và hạ tầng mạng (Internet, LAN, WAN…) đã làm thay đổi bộ mặt và hình
thức kinh doanh trên quy mơ tồn thế giới. Giờ đây hầu hết các quy trình kinh doanh
đều được tự động hóa, cơng nghệ thơng tin hóa một cách tối đa. Các hệ thống công
nghệ thông tin đang là xương sống của những tập đoàn, tổ chức kinh doanh từ nhỏ
đến lớn, và khi việc kinh doanh phát triển hơn (nhiều khách hàng hơn, nhiều lĩnh vực
hơn, tinh vi hơn) nhưng cũng nhiều cạnh tranh hơn, những công ty tổ chức này yêu
cầu xây dựng những hệ thống phần mềm ngày càng lớn và phức tạp, nhưng vẫn phải
đáp ứng những yêu cầu về hiệu năng. Để đáp ứng yêu cầu này, ngành cơng nghệ
thơng tin cũng đã có những bước phát triển nhanh chóng: phần cứng rẻ hơn, nhanh
hơn, băng thơng mạng lớn hơn, các cơng cụ lập trình tiện dụng hơn, hiệu quả

hơn,…1 Và hệ thống để xử lý và nhớ cũng đang từng bước chuyển mình phát triển
để đáp ứng nhu cầu ngày càng lớn của con người. Như Vậy chúng ta cần tìm ra
những phương pháp, hướng đi mới cho hệ thống Memory.
1.2 Mục tiêu
Bộ nhớ hệ thống RAM thường gây cản trở cho máy tính trong việc thực hiện hiệu
suất tối đa của nó. Sở dĩ như vậy là do các bộ vi xử lý (CPU) thường nhanh hơn bộ
nhớ RAM và thường phải chờ RAM phân phối dữ liệu. Trong suốt thời gian chờ đợi
này CPU hồn tồn nhàn rỗi và khơng thực hiện một nhiệm vụ nào (điều đó khơng
tuyệt đối đúng nhưng nó khớp với những giải thích của chúng tơi). Trong một máy
tính hồn hảo, bộ nhớ RAM sẽ nhanh tương đương với CPU. Dual channel chính là
cơng nghệ được sử dụng để nhân đôi tốc độ truyền thông giữa bộ điều khiển nhớ và
bộ nhớ RAM để cải thiện được hiệu suất hệ thống. Hướng dẫn này chúng tôi sẽ giới
thiệu cho các bạn về một số vấn đề của công nghệ Dual channel như: cách làm việc
ra sao, thiết lập nó như thế nào và các tính tốn tốc độ truyền tải,…2
Mục tiêu chung: Trên cơ sở lí thuyết trình bày được cấu tạo của dual ram và cách
chúng hoạt động .
Mục tiêu cụ thể: Thiết kế sơ đồ dual ram và code mẫu , dựa trên code ta sẽ simulat
để xem được các xung hoạt động của ra

o/threads/co-so-du-lieu-tren-bo-nho-in-memory-db-va-ung-dung-trong-he-thong-phanmem.57125/
1

2

/>

1.3 Phương pháp nghiên cứu
Trên cơ nghiên cứu về memory(ram) và các vấn đề cần giải quyết bộ nhớ hệ thống
RAM thường gây cản trở cho máy tính trong việc thực hiện hiệu suất tối đa của nó,
nghiên cứu đề nghị thu thập những thơng tin liên quan. Sau đó sử dụng nhiều phương

pháp như: tài liệu, phân tích, tổng hợp,…. Dựa trên dữ liệu thu thập được, nhóm
nghiên cứu sử dụng công cụ xilinx ISE để thực hiện mô phỏng, thiết kế. Cuối cùng
xác định mơ hình hồn chỉnh của ram sau khi tổng hợp.
1.4 Bố cục
CHƯƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề
1.2 Mục tiêu
1.3 Phương pháp nghiên cứu
1.4 Bố cục
1.5 Giới hạn
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về RAM
2.1.1 Khái niệm
2.1.2 Phân loại
2.1.3 Cấu tạo
2.2 Đặc điểm và nguyên lí hoạt động
2.2.1 Đặc điểm
2.2.2 Nguyên lý hoạt động
Chương 3: THIẾT KẾ
3.1 Sơ đồ khối
3.2
3.3 Thiết kế giải thuật
3.3.1 Sơ đồ giải thuật
3.3.2 code verilog
CHƯƠNG 4: ĐÁNH GIÁ QUA TESTBENCH
4.1. Mơ hình testbench tổng qt
4.2. Mơ tả các testcase
4.3. Kết quả
4.4. Nhận xét và đánh giá
CHƯƠNG 5: ỨNG DỤNG, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1 Ứng dụng
5.2 Kết luận và hướng phát triển
1.5 Giới hạn
-Công việc chủ yếu chỉ là tìm hiểu lí thuyết về RAM và đánh giá code mẫu tương
ứng qua mô phỏng (simulation).
-Chưa thực hành và đánh giá trên kit FPGA.


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về RAM:
2.1.1 Khái niệm:
RAM (bộ nhớ truy xuất ngẫu nhiên): là nơi lưu trữ hệ điều hành, các ứng dụng và
những dữ liệu đang sử dụng. 3 CPU sẽ truy xuất những dữ liệu này từ RAM với tốc
độ rất nhanh. 4
Dữ liệu được lưu trên RAM chỉ có tính tạm thời, chúng sẽ bị mất khi tắt máy tính
hoặc mất điện. RAM lưu trữ những dữ liệu và các chương trình để CPU xử lý. Nói
cách khác, RAM là bộ nhớ lưu trữ định kỳ dữ liệu được sử dụng trong q trình xử lý
nhanh bởi CPU. Máy tính càng có nhiều RAM càng có nhiều khả năng lưu giữ và xử
lý những chương trình hoặc những tập tin lớn. Số lượng và loại bộ nhớ trong hệ
thống có thể tạo nên sự khác biệt lớn ở khả năng vận hành của tồn hệ thống. Một vài
chương trình sẽ có u cầu sử dụng nhiều dung lượng RAM hơn những chương trình
khác. Cụ thể như một máy tính chạy hệ điều hành MS-Windows 95, 98, hay ME cần
khoảng 64MB RAM; đối với những hệ điều hành mới hơn, như Windows 2000, XP
sẽ cần khoảng 128MB – 256MB RAM. 6
2.1.2 Phân loại:
Single port RAM là RAM chỉ có một kênh đọc và ghi, một đường vào địa chỉ, các
động tác đọc ghi trên kênh này chỉ có thể thực hiện lần lượt.
Dual-port RAM là RAM có hai kênh đọc ghi riêng biệt tương ứng hai kênh địa chỉ,
các kênh đọc ghi này có thể dùng chung xung nhịp đồng bộ cũng có thể khơng dung
chung. Đối với Dual-port RAM có thể đọc và ghi đồng thời trên hai kênh.

Synchronous RAM - RAM đồng bộ là RAM thực hiện thao tác đọc hoặc ghi đồng bộ.
Asynchronous RAM- RAM không đồng bộ là RAM thực hiện thao tác đọc hoặc ghi
không đồng bộ, thời gian kể từ khi có các tín hiệu u cầu đọc ghi cho tới khi thao
tác thực hiện xong thuần túy là trễ tổ hợp.

4

/>
4

/>

Single-port Ram/Dual-port RAM
2.1.3 Cấu tạo
Thanh RAM được cấu tạo từ nhiều các chi tiết nhỏ khác nhau, gồm có: điện trở, là
phần bao quanh các chip nhớ (resistor); tụ điện (capacitor). Dãy điện trở và tụ điện
thường được thiết kế nằm cạnh tham RAM để cung cấp điện áp một cách ổn định và
chính xác cho các chip nhớ.
Chi tiết bản mạch in của RAM (PCB) gồm nhiều lớp đồng khác nhau, thường gồm từ
6 – 8 lớp đồng. Các lớp đồng được liên kết chặt chẽ với nhau bằng quy trình sản xuất
mạch in phức tạp.
Nếu nhìn từ trên xuống các có thể thấy được các lớp nối tiếp nhau: trên cùng là lớp
tín hiệu thứ nhất, lớp nối mát, tiếp đến lớp tín hiệu thứ hai, lớp nối mát, tương tự đến
các lớp nối mát và các lớp tín hiệu thứ ba, tư, lớp cuối cùng. Cơng dụng của lớp nối
mát chính là tạo ra các điểm có điện áp bằng 0 để hạn chế các trường hợp nhiễu trong
mạch điện.
Các chân cắm của thanh RAM thường được mạ vàng để làm giảm tối đa trường hợp
bị oxy hóa. Nhờ đó giúp thanh RAM truyền dẫn tín hiệu tốt hơn.



2.2 Đặc điểm và nguyên lý hoạt động:
2.2.1 Đặc điểm:
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ớ đó.
Dung lượng của RAM: Dung lượng của RAM được tính bằng đơn vị MB và GB. Các
RAM thông thường sẽ được thiết kế với dung lượng từ 256mb, 512mb,1gb, 2gb, 3gb,
4gb, 8gb… Dung lượng RAM lớn thì sẽ có nhiều khơng gian lưu trữ thơng tin hơn,
điều này có nhiều lợi ích khi sử dụng. Tuy nhiên không phải hệ thống phần cứng và
CPU nào cũng hỗ trợ các loại RAM với dung lượng lớn.
BUS của RAM: Có hai loại BUS cơ bản đó là BUS Speed và BUS Width.
BUS Speed (BUS tốc độ): tốc độ xử lý các dữ liệu trong vòng thời gian 1 giây.
BUS Width (BUS chiều rộng): chiều rộng của bộ nhớ. Với các loại RAM thông
thường như DDR, DDR2, DDR3, DDR4 đều có BUS Width cố định là 64.
2.2.2 Nguyên lý hoạt động:
Khi CPU chuyển các dữ liệu từ ổ cứng vào RAM để lưu trữ tại đó tạm thời, vùng
nhớ tại RAM đã bị chiếm dụng trước đó sẽ được trả lại khi người dùng tắt các ứng
dụng, tắt máy tính. Bộ nhớ của RAM đủ lớn để lưu trữ cùng lúc nhiều dữ liệu khác
nhau, tuy nhiên vẫn có giới hạn.
Theo nguyên lý hoạt động RAM được chia làm hai loại chính là: SRAM và DRAM.
SRAM (Static RAM): RAM tĩnh không bị mất các nội dung sau khi nạp trừ từ lúc
khởi động máy tính. Các nội dung được ứng dụng vào lưu trữ dữ liệu khởi động.
DRAM (Dynamic RAM): RAM động – Đây là phần lưu trữ dữ liệu tạm thời khi chạy
các ứng dụng. Khi các ứng dụng được đóng lại hay người dùng tắt máy thì các vùng
nhớ bị chiếm dữ để lưu trữ dữ liệu sẽ được trả lại.



CHƯƠNG 3:THIẾT KẾ
3.1 Các khối
CÁC KHỐI VÀ HOẠT ĐỘNG
Khối giải mã địa chỉ và dãy các thanh ghi, khối giải mã địa chỉ sẽ đọc địa chỉ và quyết
định sẽ truy cập tới vị trí thanh ghi nào để thực hiện thao tác đọc hoặc ghi. Kích thước
của khối RAM thường được ký hiệu là Mx N-bit trong đó M là số lượng thanh ghi, N
là số bit trên 1 thanh ghi. Ví dụ 128 x 8 bit là khối RAM gồm 128 thanh ghi, mỗi
thanh ghi 8 bit. Số bit cần thiết cho kênh địa chỉ là ADDR_WIDTH = [log2 M], nếu
M = 128 nên số ADDR_WIDTH = 7.

Hình 3.1.1 Cấu tạo bên trong của Ram
Mã địa chỉ nhận được từ chọn thanh ghi để đọc hoặc viết. Để đọc thanh ghi được
chọn thì đầu vào đọc ghi () phải là logic 1. Ngoài ra đầu vào chip select phải ở mức
logic 0. Sự kết hợp giữa = 1 và= 0 sẽ cho phép bộ đệm đầu ra, sao cho nội dung của
thanh ghi được chọn xuất hiện ở bốn đầu ra dữ liệu.
= 1 cũng cấm bộ đệm đầu vào nên đầu vào dữ liệu không tác động đến bộ nhớ suốt
hoạt động đọc.


Hoạt động ghi (Write Operation)
Để viết một từ 4 bit mới vào thanh ghi được chọn, khi đó cần phải có= 0 và= 0. Tổ
hợp này cho phép bộ đệm đầu vào, vì vậy từ 4 bit đã đặt vào dữ liệu sẽ được nạp vào
thanh ghi đã chọn.= 0 cũng cấm bộ đệm đầu ra. Bộ đệm đầu ra là bộ đệm 3 trạng thái
nên đầu ra dữ liệu sẽ ở trạng thái Hi-Z trong hoạt động ghi. Hoạt động ghi sẽ xóa bỏ
từ nào đã được lưu trữ tại địa chỉ đó.
Chọn chip (Chip Select)
Hầu hết các chip nhớ đều có một hay nhiều đầu vào CS dùng để cho phép tồn chip
hoặc cấm nó hồn tồn. Trong chế độ cấm, tất cả đầu vào và ra dữ liệu đều bị vơ hiệu
hóa (Hi-Z), chính vì vậy khơng hoạt động ghi đọc nào có thể xảy ra. Ngồi tên gọi
CHỌN CHIP các nhà sản xuất còn gọi là CHIP ENABLE (CE). Khi đầu vào CS hay

CE ở trạng thái tích cực thì chip nhớ đã được chọn cịn ngược lại thì khơng được chọn.
Tác dụng của chân CS hay CE là dùng để mở rộng bộ nhớ khi kết hợp nhiều chip nhớ
với nhau.
Các chân vào ra chung (Common Input Output)
Để hạn chế số chân trong một IC, các nhà sản xuất thường kết hợp các chức năng
nhập/xuất dữ liệu, dựa vào chân vào/ra (I/O). Đầu vào điều khiển các chân vào/ra này.
Trong hoạt động đọc, chân I/O đóng vai trị như đầu ra dữ liệu, tái tạo nội dung của ô
nhớ được chọn. Trong hoạt động ghi, chân I/O là đầu vào dữ liệu, dữ liệu cần ghi
được đưa vào đây.
HOẠT ĐỘNG RAM
Giả sử RAM đã được lập trình với dữ liệu ,từ dữ liệu khác nhau được ghi vào 16 địa
chỉ khác nhau dưới dạng nhị phân. Người ta còn sử dụng số thập lục phân để biểu
diễn dữ liệu đã lập trình (hình 3.4).
HOẠT ĐỘNG ĐỌC
Để đọc một từ dữ liệu từ RAM, ta phải làm như sau: áp đầu vào địa chỉ thích hợp, sau
5
đó kích hoạt đầu vào điều khiển.
Ví dụ muốn đọc dữ liệu tại địa chỉ 0111 của RAM ta phải áp A3A2A1A0 = 0111 cho
đầu vào địa chỉ, sau đó áp dụng trạng thái thấp cho.
Đầu vào địa chỉ được giải mã bên trong RAM để chọn được dữ liệu đúng là
11101101. giá trị này sẽ xuất hiện tại đầu ra D7 đến D0.
5

/>

Mảng thanh ghi (Resister array) lưu trữ dữ liệu được lập trình vào RAM. Mỗi thanh
ghi gồm một ơ nhớ bằng số kích thước từ. Trong trường hợp này mỗi thanh ghi chứa
một từ 8 bit. Các thanh ghi được sắp xếp theo ma trận vuông, các thanh ghi ở đây là
thanh ghi “ chết ”, không ghi thêm được.
Vị trí của từng thanh ghi được định rõ qua số hàng và số cột cụ thể. 8 đầu ra dữ liệu

của mỗi thanh ghi được nối vào một đường dữ liệu bên trong chạy qua tồn mạch.
Mối thang ghi có hai đầu vào cho phép. Cả hai phải ở mức cao thì dữ liệu ở thanh ghi
mới được phép đưa vào dường truyền.

Hình 3.1.2


Bộ giải mã địa chỉ
Mã địa chỉ A3A2A1A0 quyết định thanh ghi nào trong dãy được phép đặt từ dữ liệu 8
bit của nó vào đường truyền. Ở đây dùng 2 bộ giải mã: bộ giải mã chọn hàng (chọn 1
trong 4) và chọn cột. Thanh ghi giao giữa hàng và cột được chọn bởi đầu vào địa chỉ
sẽ là thanh ghi được kích hoạt (cho phép).
Ví dụ: Địa chỉ vào là 1101 thì thanh ghi nào xuất dữ liệu.
Với A3A2 = 11, bộ giải mã cột sẽ kích hoạt đường chọn cột số 3
Với A1A0 = 01, bộ giải mã hàng sẽ kích hoạt đường chọn hàng số 1
Như vậy kết quả là cả hai đầu vào cho phép thanh ghi số 13 sẽ ở mức cao và dữ liệu
của thanh ghi này sẽ được đưa vào đường truyền dữ liệu.
Bộ đệm đầu ra
Thường sử dụng mạch đệm 3 trạng thái, điều khiển bằng chân. Khi ở mức thấp, bộ
đệm đầu ra chuyển dữ liệu này ra ngoài. Khi ở mức cao, bộ đệm đầu ra sẽ ở trạng thái
trở kháng cao. D7 đến D0 thả nổi.


Hình 3.1.3 Bảng minh họa dữ liệu nhị phân tại mỗi địa chỉ

Giản đồ thời gian của SRAM
Các IC RAM thường được dùng làm bộ nhớ trong máy tính. Chip nhớ giao diện
với CPU phải đủ nhanh mới đáp ứng được các lệnh đọc và ghi của CPU. Không
phải tất cả các loại RAM đều có đặc điểm thời gian như nhau.



Hình 3.1.4(a) biểu diễn sơ đồ thời gian cho một chu kỳ đọc và chu kỳ ghi hoàn chỉnh
của một chip SRAM điển hình.

Hình 3.1.4(b) Sơ đồ thời gian tiêu biểu của SRAM
Dạng sóng ở hình 3.1.4(a) minh họa hành vi của đầu vào địa chỉ, đầu vào trong chu
kỳ đọc của bộ nhớ.
Chu kỳ đọc bắt đầu tại thời điểm t0. Trước thời điểm này, đầu vào địa chỉ có thể là bất
kỳ địa chỉ nào có sẵn trên bus địa chỉ từ hoạt động ngay trước đó. Vì đầu vào của


RAM khơng tích cực nên nó sẽ khơng đáp ứng địa chỉ cũ. Tại thời điểm t0 CPU cung
cấp địa chỉ mới cho đầu vào của RAM, đây chính là địa chỉ của vị trí
nhớ cần đọc. Sau thời gian ổn định tín hiệu địa chỉ, đường được kích hoạt. RAM đáp
ứng bằng cách thay đặt dữ liệu từ vị trí nhớ có địa chỉ xác định vào đường ra dữ liệu
tại thời điểm t1. tACC là thời gian truy cập của RAM. tCO là thời gian cần thiết để đầu
vào của RAM đi từ mức Hi-Z đến mức dữ liệu hợp lệ một khi tích cực.
Tại thời điểm t2, trở về mức cao, và đầu ra của RAM trở về trạng thái Hi-Z sau
khoảng thời gian tOD. Vậy dữ liệu của RAM sẽ ở trên bus dữ liệu trong khoảng thời
gian từ t1 đến t3.
Thời gian của một chu kỳ hoàn chỉnh là tRC, kéo dài từ t0 đến t4 khi CPU thay đổi đầu
vào địa chỉ mới cho chu kỳ đọc/ghi khác diễn ra tiếp theo.
Chu kỳ ghi6
Hình 3.1.4b biểu diễn hoạt động của tín hiệu cho một chu kỳ ghi bắt đầu khi CPU
cung cấp địa chỉ mới cho RAM tại thời điểm t1. CPU đưa
và xuống thấp sau khi
chờ qua khoảng thời gian tAS, thời gian thiết lập địa chỉ, cho phép bộ giải mã địa chỉ
của RAM có đủ thời gian để đáp ứng địa chỉ mới
.và bị giữ ở mức thấp trong
khoảng thời gian tW gọi là thời gian ghi. tDS gọi là thời gian thiết lập dữ liệu còn

tDHgọi là thời gian duy trì dữ liệu.
Trong thời gian ghi, tại thời điểm t1, CPU cung cấp dữ liệu hợp lệ cho bus dữ liệu để
ghi vào RAM. Dữ liệu này phải được duy trì tại đầu vào của RAM ít nhất một khoảng
thời gian tDH sau khi
và khơng cịn tích cực tại thời điểm t2. Tương tự, đầu vào
địa chỉ phải tiếp tục ổn định trong khoảng thời gian duy trì địa chỉ, tức sau thời điểm
t2. nếu không thỏa bất kỳ điều kiện nào về thời gian thiết lập và thời gian duy trì thì
hoạt động ghi xảy ra sẽ khơng đáng tin cậy.
Thời gian của một chu kỳ ghi hoàn chỉnh tWC kéo dài từ t0 đến t4 khi CPU đổi sang địa
chỉ mới cho chu kỳ đọc/ghi tiếp theo.

66

/>

7

Hình 3.1.5 sơ đồ khối của RAM IDT7130SA 1K X 8 DUAL-PORTSTATIC SRAM8

3.1.1 Khối I/O
Trong máy tính, đầu vào / đầu ra hoặc I / O (hoặc, khơng chính thức, io hoặc IO) là
giao tiếp giữa hệ thống xử lý thơng tin, chẳng hạn như máy tính và thế giới bên ngồi,
có thể là con người hoặc một hệ thống xử lý thơng tin khác. Đầu vào là các tín hiệu
hoặc dữ liệu mà hệ thống nhận được và đầu ra là các tín hiệu hoặc dữ liệu được gửi từ
nó. Thuật ngữ này cũng có thể được sử dụng như một phần của một hành động; để
"thực hiện I / O" là thực hiện một hoạt động đầu vào hoặc đầu ra. Thiết bị I / O được
con người (hoặc hệ thống khác) sử dụng để giao tiếp với máy tính.

7



Hình 3.1.1.1 sơ đồ I/O control
3.1.2 Address Decoder
Chức năng:
 Chức

năng đầu tiên của bộ giải mã là tạo ra tín hiệu kích hoạt Ram hay các
cổng gia tiếp cần thiết cho hoạt động tại một thời điểm của hệ thống.
 Thứ hai giải mã địa chỉ có chức năng đảm bảo rằng tại một thời điểm chỉ có
một thiết bị được cho phép trao đổi dữ liệu thông qua BUS dữ liệu,

Trường hợp 1:Khi cần xác định vị trí tầm địa chỉ hoạt động của bộ nhớ
hoặc ngoại vi =>cần có mạch giải mã địa chỉ.

Trường hợp 2: Khi bộ nhớ Ram hoặc ngoại vi có dung lượng lớn hơn
được kết hợp từ nhiều bộ nhớ hoặc ngoại vi có dung lượng nhỏ lại với nhau
=> cần có mạch giải mã địa chỉ =>nhằm xác định chính xác địa chỉ của từng
bộ nhớ hoặc của từng ngoại vi trên toàn bộ không gian nhớ.
Nguyên tắc của bộ giải mã địa chỉ:
 Tín hiệu điều khiển:IO/M dùng để phân biệt đối tượng mà CPU chọn làm việc
là bộ nhớ hay thiết bị vào ra.
 Tín hiệu địa chỉ:là các bit chỉ có quan hệ nhất định đến việc chọn vỏ ở đầu ra.
 Thông thường khi thiết kế mạch giải mã người ta thường tính dơi ra để dự
phịng ,sao cho sau này có thể tăng thêm dung lượng bộ nhớ.


3.1.3 Memory arrays
Mảng bộ nhớ n Mảng hai chiều gồm các ô bit qn Mỗi ô bit lưu một bit Một mảng có
N bit địa chỉ và M bit dữ liệu: qq 2 N hàng và M cột Chiều sâu: số hàng (số từ) Chiều
rộng: số cột (kích thước của từ) Kích thước mảng: chiều sâu × chiều rộng = 2 N × M

(hình 3.4)

Hình 3.1.3.1
Tổ chức Mảng Bộ nhớ (hình 3.1.3.1) nnn Các nút lưu trữ trong một cột được kết nối
với một dòng bit Bộ giải mã địa chỉ chỉ kích hoạt MỘT dịng chữ Nội dung của một
dịng lưu trữ có sẵn ở đầu ra

Hình 3.1.3.2


Tổ chức mảng bộ nhớ (hình 3.1.3.2) nnn Các nút lưu trữ trong một cột được kết nối
với một dòng bit Bộ giải mã địa chỉ chỉ kích hoạt MỘT dịng chữ Nội dung của một
dịng bộ nhớ có sẵn ở đầu ra Dòng chữ hiện hoạt 10 1 0 0

Hoạt động MEMORY ARRAYS (hình 3.1.3.3)

Hình 3.1.3.4


3.1.4 BUS Arbitration
Bus Arbitration đề cập đến quá trình mà bus chính hiện tại truy cập và sau đó rời
khỏi quyền điều khiển của bus và chuyển nó đến một đơn vị xử lý yêu cầu bus
khác. Bộ điều khiển có quyền truy cập vào một bus tại một cá thể được gọi là Bus
master .
Xung đột có thể phát sinh nếu số lượng bộ điều khiển DMA hoặc bộ điều khiển
hoặc bộ xử lý khác cố gắng truy cập vào bus chung cùng một lúc, nhưng quyền truy
cập chỉ có thể được cấp cho một trong số chúng. Chỉ một bộ xử lý hoặc bộ điều
khiển có thể là Bus master tại cùng một thời điểm. Để giải quyết những xung đột
này, quy trình Bus Arbitration được thực hiện để điều phối hoạt động của tất cả
các thiết bị yêu cầu chuyển bộ nhớ. Việc lựa chọn BUS phải tính đến nhu cầu của

các thiết bị khác nhau bằng cách thiết lập một hệ thống ưu tiên để đạt được quyền
truy cập vào BUS. Người điều khiển BUS quyết định ai sẽ trở thành người điều
khiển BUS hiện tại.
Các phương pháp của Trọng tài BUS tập trung
Có ba phương pháp trọng tài xe buýt:
Phương pháp Daisy Chaining
Đây là một phương pháp đơn giản và rẻ hơn trong đó tất cả các bus master
bus. Tổng thể này chặn sự lan truyền của tín hiệu cấp bus, do đó bất kỳ mơ-đun u
cầu nào khác sẽ khơng nhận được tín hiệu cấp và do đó khơng thể truy cập vào bus.
Trong bất kỳ chu kỳ bus nào, bus chính có thể là bất kỳ thiết bị nào - bộ xử lý hoặc
bất kỳ bộ điều khiển DMA nào, được kết nối với bus. (hình 3.1.4.1)
sử dụng cùng một đường để thực hiện các yêu cầu bus. Tín hiệu cấp bus truyền nối
tiếp qua từng master cho đến khi nó gặp tín hiệu đầu tiên yêu cầu quyền truy cập
vào

Hình 3.1.4.1


Phương pháp Polling hoặc Rotating Priority
Trong phương pháp này, bộ điều khiển được sử dụng để tạo địa chỉ cho cái chính
(ưu tiên duy nhất), số lượng dịng địa chỉ cần thiết tùy thuộc vào số lượng cái được
kết nối trong hệ thống. Bộ điều khiển tạo ra một chuỗi các địa chỉ chính. Khi chủ
yêu cầu nhận ra địa chỉ của nó, nó sẽ kích hoạt đường truyền bận và bắt đầu sử dụng
9
bus. (hình 3.1.4.2)

Hình 3.1.4.2
Phương pháp priority or Independent Request method
Trong phương pháp này, mỗi tổng thể có một cặp đường yêu cầu bus và đường cấp
bus riêng biệt và mỗi cặp có một mức độ ưu tiên được chỉ định cho nó.

Bộ giải mã ưu tiên tích hợp trong bộ điều khiển chọn yêu cầu ưu tiên cao nhất và
xác nhận tín hiệu cấp bus tương ứng.(3.1.4.3)

Hình 3.1.4.3
99

/>

3.2 Sơ đồ khối DUAL PORT RAM 64*8

Dual port ram có hai bộ bus địa chỉ và dữ liệu, nó có thể đọc và ghi các ơ nhớ khác
nhau đồng thời tại các địa chỉ khác nhau10.

10

(280) Verilog Tutorial 07: Dual Port Ram - YouTube


3.3 Thiết kế giải thuật
3.3.1 Sơ đồ giải thuật


×