Bài giảng Thiết kế logic số: Lecture 4.4 cung cấp cho người học các kiến thức: Giải mã địa chỉ cho bộ nhớ, First In First Out, khối thiết kế UART, giao thức UART. Mời các bạn cùng tham khảo.
Trang 1Chương 4: Thiết kế các mạch số thông dụng
TS Hoàng Văn Phúc
Bộ môn KT Xung, số, Vi xử lý
https://sites.google.com/site/phucvlsi/teaching
Thiết kế logic số (Digital logic design)
Trang 2Nội dung : Thiết kế các khối nhớ
Thời lượng : 3 tiết bài giảng
Yêu cầu : Sinh viên có sự chuẩn bị sơ bộ
trước nội dụng bài học
Mục đích, nội dung
Trang 3ROM
ADDR_deco
der
CS
ADDRESS
DATA_OUT
CLK
OE
Mảng nhớ
Trang 4RAM
Thành phần gây trễ chủ yếu ? Decoder
Mảng nhớ
Trang 5Giải mã địa chỉ cho bộ nhớ
Đặc điểm: Tốc độ tỷ lệ nghịch với dung lượng
Decoder cấu trúc RAM 1D
M*N
ADDR DECODER
Nhiệm vụ: trỏ đúng địa chỉ ô nhớ cần truy cập
Trang 6Decoder của RAM 2D kích thước 8*8?
2N-1
M*N-1
ADDR DECODER
ADDR DECODER
Giải mã địa chỉ cho bộ nhớ (tiếp)
Trang 7First In First Out (FIFO)
Ứng dụng
Ưu điểm so với RAM thông thường:
- Đơn giản khi sử dụng (không có cổng địa chỉ)
Nhược điểm:
- Khó thiết kế
- Không truy cập được dữ liệu ngẫu nhiên
- Khối đệm truyền nhận
- Đồng bộ hóa các miền làm việc với clock
khác nhau
Trang 8FIFO (Based on Dual Port RAM)
FIFO_STATE (DataCNT)
WRITE
DATA_IN
READ
DATA_OUT
FIFO_WRITE (WP counter)
FIFO_READ (RP counter)
WP
RP
CHANEL A
CHANEL B
Trang 9FIFO OPERATON
Reset: RP = 0, WP = 0, dataCNT = 0
WRITE: RP = RP, WP = WP + 1,
dataCNT = dataCNT + 1
Trang 10READ: RP = RP+1, WP = WP,
dataCNT = dataCNT -1
FIFO OPERATON
Trang 11READ, WRITE: RP = RP+1, WP = WP +1,
dataCNT = dataCNT
FIFO OPERATON
Trang 12READ: RP = RP+1, WP = WP
dataCNT = dataCNT - 1
FIFO OPERATON
Trang 13LIFO – Last In First Out (LIFO)
Ứng dụng
- Stack memory
3 2 1 0
8
TOP POINTER
7 6 5 4
Trang 14FSM-UART
Giao thức UART
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 15
14 13
SAMPLE RX
RX
Sample
counter
Bit
counter
ONE BIT RECEIVING
Tbraud
Trang 15FSM-UART (simple)
Mạch dãy = FSM
IDLE
START FRAME DETECTOR
RECEIVE DATA
CNT16 = 8 and RX = 1
RX = 0, Rx_Reg = 1
CNT16 = 8 and RX = 0 CNT_BIT = 8
Trang 16UART structure
Khối thiết kế UART
SAMPLE COUNTER (CNT)
FSM (FINITE STATE MACHINE)
RECEIVE_REG
CLOCK DIVIDER
BIT COUNTER (CNT_BIT)
DATA REG
RX_REG
RX_REG
LOAD SHIFT_ENABLE
CNT RESET ENABLE
CNT_BIT RESET ENABLE
CLK
Rx
CLK16
RESET