hdl chuong7 nhom2

50
Thiết kế mạch số dùng HDL Thực hiện: Nhóm Hột Mít Lùi Tro Nguyễn Minh Trí - 51204060 Nguyễn Thanh Vinh – 51204547 Ngô Đức Minh – 51202143 Phạm Hồng Bảo Trân - 51203999 Chương 7: Thiết kế và tổng hợp bộ điều khiển dòng dữ liệu

Upload: tri-minh-nguyen

Post on 11-Apr-2016

23 views

Category:

Documents


0 download

DESCRIPTION

hdl

TRANSCRIPT

Page 1: HDL Chuong7 Nhom2

Thi t k m ch s dùng HDLế ế ạ ố

Thực hiện: Nhóm Hột Mít Lùi TroNguyễn Minh Trí - 51204060

Nguyễn Thanh Vinh – 51204547Ngô Đức Minh – 51202143

Phạm Hồng Bảo Trân - 51203999

Ch ng 7ươ : Thi t k và t ng h p ế ế ổ ợb đi u khi n dòng d li uộ ề ể ữ ệ

Page 2: HDL Chuong7 Nhom2

Máy tuần tự phân hoạch • Ví dụ thiết kế Binary counterRISC Stored-Program Machine• Ví dụ thiết kế UART

Nội dung chính:

Page 3: HDL Chuong7 Nhom2

Control-dominated• Là hệ thống đáp ứng đáp lại tác động bên

ngoài.

Data-dominated• Yêu cầu tính toán và truyền nhận dữ liệu với

hiệu suất cao• Hệ thống thông tin liên lạc, xử lý tín hiệu,…

Phân loại hệ thống số:

►Máy tuần tự được phân loại và phân hoạch thành bộ dòng dữ liệu và bộ điều khiển

Page 4: HDL Chuong7 Nhom2

Bộ dòng dữ liệu – datapaths unit

• Bộ số học luận lý (arithmetic logic unit -ALU)

• Bộ cộng

• Bộ nhân

• Bộ xử lý tín hiệu số

• Quản lý tài nguyên (registers)

Page 5: HDL Chuong7 Nhom2

Mô hình điều khiển cho dòng dữ liệu

Page 6: HDL Chuong7 Nhom2

Các bước thiết kế:

• Application-driven• Lựa chọn cấu trúc hỗ trợ cho tập lệnh trong ứng dụng• Định nghĩa các trạng thái điều khiển hỗ trợ tập lệnh• Xây dựng FSM sinh ra tín hiệu điều khiển

Page 7: HDL Chuong7 Nhom2

• Máy trạng thái không tường minh:• count <= count + 1

• Phân hoạch thành bộ điều khiển và bộ dòng dữ liệu (Binary_Counter_Arch)

• Máy trạng thái tường minh • (Binary_Counter_STG)

• ASM

• RTL

Ví dụ Binary Counter:

Page 8: HDL Chuong7 Nhom2

Binary_Counter_Arch:

Page 9: HDL Chuong7 Nhom2

Binary_Counter_STG:

Page 10: HDL Chuong7 Nhom2

ASM:

Page 11: HDL Chuong7 Nhom2

Binary_Counter_Part_RTL:

Page 12: HDL Chuong7 Nhom2

Tổng hợp mạch Binary_Counter_Part_RTL:

Page 13: HDL Chuong7 Nhom2

Tổng hợp mạch Binary_Counter_Part_RTL

Page 14: HDL Chuong7 Nhom2

RISC: Reduced instruction-set computers

• Tập lệnh đơn giản• Số chu kỳ clock cho mỗi lệnh là nhỏ• clock cycle ngắn• RISC SPM được tối ưu hóa để thực hiện

các lệnh theo cơ chế đường ống 1 cách hiệu quả

Thiết kế máy RISC:

Page 15: HDL Chuong7 Nhom2

Vai trò của HDLs:

• Mô hình hóa hệ thống• Hoạt động như 1 phương tiện mô tả

có thể được sử dụng bới 1 công cụ tổng hợp.

Page 16: HDL Chuong7 Nhom2

Kiến trúc của RISC_SPM:

Page 17: HDL Chuong7 Nhom2

Lấy lệnh từ bộ nhớ• Các tác vụ trên bộ ALU• Cập nhật giá trị thanh ghi lưu trữ• Cập nhật bộ đếm chương trình (PC)• Cập nhật thanh ghi lệnh (IR)• Cập nhật thanh ghi địa chỉ (ADD_R)• Cập nhật bộ nhớ• Điều khiển dòng dữ liệuGiải mã lệnh và lấy toán hạng

Thực thi lệnh

Trình tự thực thi:

Page 18: HDL Chuong7 Nhom2

Chức năng bộ điều khiển

• Định thời tất cả các hoạt động• Lựa chọn đường dữ liệu từ các bộ

multiplexer• Giám sát trạng thái của bộ xử lý

(ProcessingUnit) và quyết định giá trị tín hiệu điều khiển

• Điều khiển các bus 3 trạng thái

Bộ điều khiển – Controller:

Page 19: HDL Chuong7 Nhom2

Tín hiệuLoad_Add_RegLoad _PCLoad_IRInc_PCSel_Bus_1_Mux

Sel_Bus_2_Mux

Load_R0Load_R1Load_R2Load_R3Load_Reg_YLoad Reg_Zwrite

Chức năngLoads the address registerLoads Bus_2 to the program counterLoads Bus_2 to the instruction registerIncrements the program counterSelects among the Program_Counter,R0, R1, R2, and R3 to drive Bus_1Selects among Alu_out, Bus_1, andmemory to drive Bus_2Loads general purpose register R0Loads general purpose register R1Loads general purpose register R2Loads general purpose register R3Loads Bus_2 to the register Reg_YStores output of ALU in register Reg_ZLoads Bus_1 into the SRAM memory

Page 20: HDL Chuong7 Nhom2

Thiết kế controller phụ thuộc vào tập lệnh

• Lệnh ngắn • Lệnh dài

Có hai dạng thứ lệnh

RISC_SPM: Tập lệnh

Page 21: HDL Chuong7 Nhom2

RISC có 3 pha xử lý: fetch, decode và execute

• fetch: lấy 1 lệnh từ bộ nhớ (2 chu kỳ clock)• decode: giải mã lệnh, tính toán dòng dữ liệu và load giá trị vào thanh ghi (1 chu kỳ

clock)• execute: sinh ra kết quả câu lệnh (0, 1, 2 chu kỳ clock)

Thiết kế bộ controller

Page 22: HDL Chuong7 Nhom2

Các trạng thái của controller:S_idle State entered after reset is asserted. No action.S_fet1 Load the Add_R with the contents of the PC S_fet2 Load the IR with the word addressed by the Add_R, Increment the PCS_dec Decode the IR,

Assert signals to control datapaths and register transfers.S_ex1 Execute the ALU operation for a single-byte instruction,

Conditionally assert the zero flag,Load the destination register

S_rd1 Load Add_R with the second byte of an RD instructionIncrement the PC.

S_rd2 Load the destination register with memory[Add_R]S_wr1 Load Add_R with the second byte of a WR instruction,

Increment the PC.S_wr2 Write memory[Add_R] with the source registerS_br1 Load Add_R with the second byte of a BR instruction

Increment the PC.S_br2 Load the PC with the memory[Add_R]S_halt Default state to trap failure to decode a valid instruction

Page 23: HDL Chuong7 Nhom2

Controller ASM: NOP/ADD/SUB/AND

Page 24: HDL Chuong7 Nhom2

Controller ASM: NOT

Page 25: HDL Chuong7 Nhom2

Controller ASM: RD

Page 26: HDL Chuong7 Nhom2

Controller ASM: WR

Page 27: HDL Chuong7 Nhom2

Controller ASM: BR/BRZ

Page 28: HDL Chuong7 Nhom2

RISC_SPM

Page 29: HDL Chuong7 Nhom2

UART Block Diagram

Page 30: HDL Chuong7 Nhom2

UART_Transmitter_Arch

Page 31: HDL Chuong7 Nhom2

XStateMachine Controller for UART Transmitt

Page 32: HDL Chuong7 Nhom2

Input Signals

Byte_ready: Máy chủ (host) cho biết Data_Bus có dữ liệu hợp lệ.

Load_XMT_datareg: Cho biết chuyển Data_Bus đến XMT_datareg (transmiter data storage register)

T_byte: Xác nhận khởi tạo sự truyền 1 byte dữ liệu gồm stop, start và parity bit.

Bit_count: Đếm số bit của word trong quá trình truyền.Load_XMT_shftreg: cho biết việc chuyển dữ liệu từ

XMT_datareg vào XMT_shftregStart: Tín hiệu bắt đầu quá trình truyền.Shift: dịch từ bit của vào XMT_shftreg về phía LSB và

điền stop bit vào cuối.Clear: xóa thanh ghi bit_count.

Page 33: HDL Chuong7 Nhom2

ASMD Chart

Page 34: HDL Chuong7 Nhom2

ASMD Chart

XMT_shftreg [8:0] Serial output sequence

Page 35: HDL Chuong7 Nhom2

UART CODE

Page 36: HDL Chuong7 Nhom2

UART CODE

Page 37: HDL Chuong7 Nhom2

UART CODE

Page 38: HDL Chuong7 Nhom2

UART Simulate

Page 39: HDL Chuong7 Nhom2

UART Simulate

Page 40: HDL Chuong7 Nhom2

UART_Receive

Page 41: HDL Chuong7 Nhom2

UART Receiver

Page 42: HDL Chuong7 Nhom2

UART Receiver

Page 43: HDL Chuong7 Nhom2

UART Receiver

Page 44: HDL Chuong7 Nhom2

UART Receiver

Page 45: HDL Chuong7 Nhom2

UART Receiver

Page 46: HDL Chuong7 Nhom2

UART Receiver

Page 47: HDL Chuong7 Nhom2

UART Receiver

Page 48: HDL Chuong7 Nhom2

UART Receiver

Page 49: HDL Chuong7 Nhom2

Câu hỏi thảo luận:

Page 50: HDL Chuong7 Nhom2

Thanks for your listening!

The End!