1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu, thiết kế và thực hiện bus truyền thông tốc độ cao AMBA AHB

87 899 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 2,66 MB

Nội dung

Một SoC thường bao gồm các khối số và khối tương tự như sau [22]: - Một hoặc nhiều lõi vi xử lý CPU hoặc các khối xử lý tín hiệu số DSP; - Khối nhớ ROM, RAM, flash…; - Các giao tiếp mở r

Trang 1

ðẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ðẠI HỌC CÔNG NGHỆ

Phan Hải Phong

NGHIÊN CỨU, THIẾT KẾ VÀ THỰC HIỆN BUS TRUYỀN THÔNG TỐC ðỘ CAO AMBA AHB

LUẬN VĂN THẠC SỸ

Hà Nội - 2009

Trang 2

iii

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v

DANH MỤC CÁC BẢNG vi

DANH MỤC CÁC HÌNH VẼ, ðỒ THỊ vii

GIỚI THIỆU CHUNG 1

Chương 1 Hệ thống trên chip và vấn ñề truyền thông trên chip 2

1.1 Hệ thống trên chip - lịch sử và xu thế phát triển 2

1.2 Tổng quan về phương pháp thiết kế hệ thống trên chip 6

1.3 Vấn ñề truyền thông trên chip 10

Chương 2 Hệ thống bus AMBA AHB 13

2.1 Tổng quan về hệ thống bus tốc ñộ cao AMBA AHB 13

2.2 Mô hình và hoạt ñộng chung của bus AMBA AHB 15

2.2.1 Mô hình một hệ thống AMBA AHB 15

2.2.2 Hoạt ñộng của hệ thống AMBA AHB 17

2.3 Các chế ñộ truyền của bus AMBA AHB 18

2.3.1 Quá trình truyền cơ bản, không có trạng thái ñợi 18

2.3.2 Quá trình truyền cơ bản, có trạng thái ñợi 19

2.3.3 Quá trình truyền theo khối (burst transfer) 20

2.3.4 Thông báo về quá trình truyền của bus chủ 22

2.3.5 Phân chia một quá trình truyền 23

2.4 Hoạt ñộng phân xử bus 24

2.5 Phản hồi truyền của Slave 25

Chương 3 Xây dựng và mô hình hoá hệ thống bus AMBA AHB 28

3.1 Bài toán thiết kế và mô hình ñề xuất 28

3.1.1 Mô hình phân quyền của bộ phân xử bus 31

3.1.2 Mô hình giao tiếp giữa bus chủ và lõi IP 33

3.1.3 Mô hình giao tiếp giữa bus tớ và lõi IP 34

3.2 Bus chủ 35

3.2.1 Các tín hiệu trên bus chủ 35

3.2.2 Máy trạng thái mô tả hoạt ñộng của bus chủ 38

3.3 Bus tớ 43

3.3.1 Các tín hiệu trên bus tớ 43

3.3.2 Máy trạng thái mô tả hoạt ñộng của bus tớ 45

3.4 Bộ phân xử 51

Trang 3

iv

3.4.1 Các tắn hiệu của bộ phân xử 51

3.4.2 Máy trạng thái mô tả hoạt ựộng của bộ phân xử 52

3.5 Bộ giải mã ựịa chỉ và các bộ phân kênh 54

3.5.1 Bộ giải mã ựịa chỉ 54

3.5.2 Bộ phân kênh từ bus chủ ựến bus tớ 55

3.5.3 Bộ phân kênh từ bus tớ ựến bus chủ 55

Chương 4 Kiểm chứng, ựánh giá và thực thi mô hình hệ thống 56

4.1 Phương pháp kiểm tra ựánh giá mô hình 56

4.2 Mô phỏng và kiểm chứng mô hình bằng ModelSim 58

4.2.1 Kiểm tra hoạt ựộng truyền thông ựơn giản của mô hình 58

4.2.2 Kiểm tra hoạt ựộng truyền khối khi có các phản hồi truyền 63

4.3 đánh giá hệ thống sau khi thực thi phần cứng 71

KẾT LUẬN 77

TÀI LIỆU THAM KHẢO 79

Trang 4

v

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

ADC Analog - Digital Converter

AHB Advanced High-performance Bus

AMBA Advanced Microcontroller Bus Architecture

APB Advanced Peripheral Bus

ASB Advanced System Bus

ASIC Application-Specific Integrated Circuit

AXI Advanced eXtensible Interface

DAC Digital - Analog Converter

DSP Digital Signal Processing

FPGA Field-Programmable Gate Array

HDL Hardware Description Language

IC Integrated Circuit

IOB Input/Output Buffer

IP Intellectual Property

LCD Liquid Crystal Display

LUT Look Up Table

NoC Network on Chip

RAM Random - Access Memory

ROM Read - Only Memory

RTL Register Transfer Level

SoC System on Chip

SPI Serial Peripheral Interface

USART Universal Asynchronous Receiver/Transmitter

VHDL Very-High-Speed-Integrated-Circuit Hardware Description

Language

Trang 5

vi

DANH MỤC CÁC BẢNG

B ả ng 1 Các ki ể u truy ề n kh ố i ñượ c bus AHB h ỗ tr ợ .20

B ả ng 2 Các ki ể u truy ề n trong h ệ th ố ng bus AHB 22

B ả ng 3 Tín hi ệ u ph ả n h ồ i truy ề n t ừ bus t ớ .25

B ả ng 4 S ố l ượ ng b ộ x ử lý logic ñượ c s ử d ụ ng trong h ệ th ố ng bus 72

B ả ng 5 S ố l ượ ng tài nguyên ph ầ n c ứ ng ñ ã s ử d ụ ng 73

B ả ng 6 Tài nguyên ph ầ n c ứ ng s ử d ụ ng sau khi ñượ c t ổ ng h ợ p t ố i ư u v ề hi ệ u n ă ng v ậ lý 75

Trang 6

vii

DANH MỤC CÁC HÌNH VẼ, ðỒ THỊ

Hình 1 Ki ế n trúc c ơ b ả n c ủ a m ộ t H ệ th ống trên chip (SoC) 3

Hình 2 C ấ u trúc c ủ a m ộ t vi ñ i ề u khi ể n ARM ñượ c xây d ự ng theo ki ến trúc SoC [22] 3

Hình 3 Ki ế n trúc c ủa chip OMAP 4[24] 5

Hình 4 Quy trình thi ế t k ế chip c ơ b ản 6

Hình 5 Mô hình các ph ươ ng pháp thi ế t k ế SoC 9

Hình 6 Mô hình k ế t n ố i ñ i ể m-t ớ i- i ểm .10

Hình 7 Ki ế n trúc bus chia s ẻ , phân t ầng .11

Hình 8 Mô hình c ơ b ả n c ủ a m ộ t h ệ NoC .12

Hình 9 Mô hình vi x ử lý có s ử d ụng bus AHB [1] .14

Hình 10 Lõi PiP AMBA c ủa công ty CAST [28] .15

Hình 11 S ơ ñồ k ế t n ố i gi ữ a các thành ph ần bên trong bus AHB [1] .16

Hình 12 Quá trình truy ề n c ơ b ản trên bus AHB [1] .19

Hình 13 Quá trình truy ề n c ơ b ả n có tr ạ ng thái ñợi [1] .19

Hình 14 Ả nh h ưở ng c ủ a tr ạ ng thái ñợ i ñế n pha ñị a ch ỉ c ủ a quá trình ti ếp theo [1] 20

Hình 15 Truy ề n kh ố i t ă ng v ớ i nh ịp 4 [1] .21

Hình 16 Truy ề n kh ố i cu ộ n v ớ i nh ịp 8 [1] .22

Hình 17 Quá trình truy ề n có ph ả n h ồ i truy ền ERROR [1] .27

Hình 18 Quá trình truy ề n có ph ả n h ồi RETRY [1] .27

Hình 19 Mô hình ki ế n trúc h ệ th ống COMOSY .28

Hình 20 Mô hình c ủ a h ệ th ố ng bus AHB ñượ c ñề xu ất 31

Hình 21 Tín hi ệ u b ắ t tay gi ữ a bus ch ủ và lõi IP .33

Hình 22 Tín hi ệ u b ắ t tay gi ữ a bus t ớ và lõi IP .34

Hình 23 Các tín hi ệ u trên bus ch ủ .35

Hình 24 S ơ ñồ máy tr ạ ng thái c ủ a bus ch ủ 38

Hình 25 Gi ả n ñồ xung minh h ọ a quá trình SPLIT trên bus ch ủ .41

Hình 26 Gi ả n ñồ xung minh h ọ a quá trình RETRY trên bus ch ủ .42

Hình 27 Các tín hi ệ u trên bus t ớ .43

Hình 28 S ơ ñồ máy tr ạ ng thái c ủ a bus t ớ .46

Hình 29 Gi ả n ñồ xung minh h ọ a quá trình RETRY trên bus t ớ .49

Hình 30 Gi ả n ñồ xung minh h ọ a quá trình SPLIT trên bus t ớ .50

Hình 31.Các tín hi ệ u trên b ộ phân x ử .51

Hình 32 S ơ ñồ máy tr ạ ng thái c ủ a b ộ phân x ử .53

Hình 33 Các tín hi ệ u trên b ộ gi ả i mã ñị a ch ỉ .55

Hình 34 S ơ ñồ kh ố i c ủ a quá trình mô ph ỏ ng ki ể m tra h ệ th ống .57

Hình 35 S ử d ụ ng ModelSim và ISE Foundation Suite trong t ừ ng b ướ c thi ế t k ế .58

Hình 36 K ế t qu ả mô ph ỏ ng h ệ th ố ng bus v ớ i quá trình truy ề n kh ố i t ă ng nh ịp 4 .60

Hình 37 K ế t qu ả mô ph ỏ ng v ớ i quá trình truy ề n kh ố i cu ộ n nh ịp 8 .62

Hình 38 K ế t qu ả mô ph ỏ ng v ớ i quá trình truy ề n có ph ả n h ồi RETRY .64

Hình 39 K ế t qu ả mô ph ỏ ng v ớ i quá trình truy ề n có ph ả n h ồ i truy ền SPLIT .67

Hình 40 K ế t qu ả mô ph ỏ ng v ớ i quá trình truy ề n kh ố i có ph ả n h ồ i truy ền ERROR .70

Hình 41 T ỷ ệ s ử d ụ ng các ki ể u tài nguyên c ủ a t ừ ng kh ố i ch ứ c n ăng .74

Trang 7

1

GIỚI THIỆU CHUNG

Sự phát triển của công nghệ bán dẫn cho phép tích hợp ngày càng nhiều transistor trên một ñơn vị diện tích Theo ñịnh luật Moore, số lượng transistor trên một inch vuông sẽ tăng gấp ñôi sau mỗi chu kỳ hai năm ðiều này cho phép các nhà sản xuất phát triển các mạch tích hợp (integrated circuit) với kích thước ngày càng nhỏ và ñộ tích hợp ngày càng tăng Các hệ thống ñiện tử phức tạp và cồng kềnh nay ñã có thể thu nhỏ lên trên một chip ñơn mà vẫn giữ ñược các tính năng tương tự trong khi hiệu năng hoạt ñộng ñược nâng cao Từ ñó ra ñời khái niệm “Hệ thống trên chip” (System-on-Chip) ñể chỉ việc tích hợp các khối chức năng khác nhau trên một chip ñơn thay cho một hệ thống gồm các thành phần riêng lẻ ðiều này không chỉ ñáp ứng ñược sự phát triển của các thiết bị ñiện tử tích hợp nhỏ gọn mà còn nâng cao ñộ tin cậy trong quá trình hoạt ñộng của các thiết bị ñó Không những thế, giá thành và thời gian cần thiết ñể phát triển các thiết bị này cũng ñược giảm ñi rất nhiều, nhờ vào việc tái sử dụng các khối chức năng khác nhau ñã ñược phát triển từ trước, hoặc bởi các nhóm phát triển khác nhau

Việc tích hợp ngày càng nhiều các khối chức năng trên một hệ thống ñơn chip dẫn ñến một yêu cầu cấp thiết là việc giải quyết vấn ñề truyền thông giữa các khối chức năng ðể ñáp ứng yêu cầu này, nhiều phương thức truyền thông giữa các chip ñã ra ñời như truyền thông theo dạng kết nối ñiểm-tới-ñiểm, bus truyền thống hay các phương thức tiên tiến hơn như “Mạng trên chip” (Network-on-Chip) Tuy vậy, phương thức truyền thông bus hiện vẫn ñang là phương thức truyền thông ñược sử dụng phổ biến vì tính ñơn giản, thuận tiện của nó Hơn nữa, các thế hệ bus tiên tiến vẫn có thể ñáp ứng ñược yêu cầu truyền thông tốc ñộ cao

và hỗ trợ truyền thông giữa nhiều lõi xử lý khác nhau

Mục ñích của luận văn này là nghiên cứu, tìm hiểu một phương thức truyền thông trên chip theo kiểu bus tiên tiến ñược sử dụng rộng rãi trong rất nhiều SoC khác nhau, ñó là hệ thống bus AMBA AHB của hãng ARM; từ ñó sẽ xây dựng một hệ thống bus theo kiến trúc bus AHB ñể phục vụ cho những mục

ñích truyền thông trong các SoC ñang ñược Nhóm nghiên cứu về thiết kế vi

mạch (VSD Group) phát triển tại Phòng thí nghiệm Hệ thống tích hợp thông minh (SIS Laboratory) Luận văn ñược thực hiện trong khuôn khổ các ñề tài nghiên cứu khoa học mã số QC.09.15 và PUF.08.06

Trang 8

2

Chương 1 Hệ thống trên chip và vấn ñề truyền thông trên

chip

1.1 H ệ th ố ng trên chip - l ị ch s ử và xu th ế phát tri ể n

Kể từ khi những vi mạch tích hợp (IC) ñầu tiên ra ñời vào năm 1958 [21], công nghệ vật liệu bán dẫn ñã có nhiều bước phát triển lớn Với công nghệ sản xuất các transistor ở kích thước nano thì các vi mạch tích hợp ngày nay có thể

ñược tích hợp khoảng hơn một tỷ transistor trên một vi mạch (ví dụ: chip Xeon

7400 của Intel ñã ñạt ñộ tích hợp là 1,9 tỷ transistor [4]) ðiều này không chỉ tạo

ra các loại IC có ñộ phức hợp và hiệu năng cao, hoạt ñộng với công suất tiêu thụ thấp mà còn cho phép phát triển nhiều chức năng hoạt ñộng khác nhau trên cùng một vi mạch Các hệ thống ñiện tử với từng khối chức năng riêng biệt và ñược thực hiện bởi các loại IC khác nhau, nay ñã có thể cùng ñược thực thi lên trên một chip duy nhất Từ ñó, khái niệm “Hệ thống trên chip” ra ñời ñể chỉ việc tích hợp các thành phần của một hệ thống máy tính lên trên một chip ñơn Với sự phát triển của công nghệ, các khối chức năng (hay còn gọi là các lõi IP - Intellectual Property) ñược tích hợp lên một chip ñơn không chỉ là các khối thực hiện các chức năng số (digital) mà còn có thể thực hiện các chức năng tương tự (analog) hoặc cả hai chức năng trên (mix-signal) Thậm chí các khối có chức năng thu phát sóng vô tuyến cũng có thể ñược tích hợp chung với nhau trên một

hệ thống ñơn nhất Một SoC thường bao gồm các khối số và khối tương tự như sau [22]:

- Một hoặc nhiều lõi vi xử lý (CPU) hoặc các khối xử lý tín hiệu số (DSP);

- Khối nhớ (ROM, RAM, flash…);

- Các giao tiếp mở rộng (USB, SPI, USART, erthenet, bluetooth…);

- Các bộ mã hoá và giải mã (Viterbi, Turbo…);

- Các bộ chuyển ñổi ADC, DAC, khuếch ñại tín hiệu…;

- Hệ thống bus truyền nhận dữ liệu;

- Các khối ñiều chỉnh ñiện thế và quản lý năng lượng của nguồn;

Kiến trúc cơ bản của một hệ thống trên chip ñiển hình ñược mô tả như trong Hình 1

Trang 9

3

IP IP

High speed bus

Hình 1 Kiến trúc cơ bản của một Hệ thống trên chip (SoC)

Hình 2 mô tả cấu trúc của một vi ñiều kiển ARM với kiến trúc ñược xây dựng theo mô hình SoC Trong mô hình này, lõi vi xử lý sẽ kết nối với các lõi IP khác thông qua bus tốc ñộ cao ASB hoặc AHB Một số lõi IP ñảm nhiệm chức năng giao tiếp với các thiết bị ngoại vi sẽ ñược kết nối với bus APB và kết nối với bus chính thông qua cầu bus Việc phân tầng hệ thống bus theo kiểu này sẽ giúp tiết kiệm băng thông cho hệ thống, làm tăng hiệu suất hoạt ñộng của hệ thống lên ñáng kể

Hình 2 Cấu trúc của một vi ñiều khiển ARM ñược xây dựng theo kiến trúc SoC [22]

Trang 10

4

Từ khi SoC ñầu tiên ra ñời vào năm 1974 [29], các SoC ñã có nhiều thay

ñổi và phát triển nhanh chóng Các SoC ngày nay có thể chứa ñến hàng tỷ

transistor và số lõi IP ñược tích hợp trên mỗi chip ngày càng tăng với chức năng ngày càng phong phú Với công nghệ hiện nay, một SoC ñược sử dụng trong các thiết bị số cá nhân (PDA) hay trong các ñiện thoại di ñộng có thể thực hiện hầu hết các chức năng về ñiều khiển, quản lý thiết bị, các chức năng giao tiếp không dây, có dây, cũng như các chức năng ña phương tiện (multimedia) với chất lượng cao

Với nhu cầu của cuộc sống hiện ñại, các thiết bị di ñộng trở nên không thể thiếu ñối với mỗi cá nhân trong công việc cũng như trong giao tiếp hay giải trí

Vì vậy chiến lược hiện nay của nhiều công ty và viện nghiên cứu là nghiên cứu

và phát triển các SoC theo hướng ñáp ứng những yêu cầu thực thế này Với nhu cầu thông tin di ñộng và việc lưu trữ cũng như truyền dữ liệu với dung lượng lớn, tốc ñộ cao thì các SoC ngày nay thường ñược phát triển theo hướng tích hợp ngày càng nhiều các chuẩn giao tiếp không dây như WiMax, wi-fi 802.11b/g/n, bluetooth, 3G… cũng như hỗ trợ các chuẩn giao tiếp có dây tốc ñộ cao (USB 2.0, USB 3.0, eSATA…) Những SoC như thế ra ñời ñã làm cho các thiết bị di ñộng ngày càng có kích thước nhỏ gọn, nhưng sức mạnh xử lý và giao tiếp ngày càng

ñược nâng cao hơn

Sự phát triển của các thiết bị di ñộng cũng gắn liền với một nhu cầu quan trọng của con người ñó là nhu cầu giải trí di ñộng Những chức năng về các ứng dụng ña phương tiện trở thành một tiêu chuẩn quan trọng trong các thiết bị số cá nhân hiện nay Chính vì vậy việc phát triển các SoC có tích hợp sẵn các bộ giải

mã tín hiệu âm thanh (chuẩn MP3, WAV…) hay tín hiệu hình ảnh (chuẩn AVI, MP4, H.264, HDMI…) cũng ñang nhận ñược rất nhiều sự quan tâm và ñầu tư Ngoài ra các SoC này cũng ñược nghiên cứu và phát triển theo hướng tích hợp ngày càng nhiều các lõi vi xử lý lên trên một chip (các SoC ña lõi xử lý) [10] [19] ñể tăng tốc ñộ và hiệu năng xử lý của hệ thống ðiều này không chỉ giúp cho

hệ thống có thể thực hiện các tác vụ ña phương tiện ñược nhanh chóng hơn mà còn mang lại cho người sử dụng sức mạnh xử lý dữ liệu ngay cả khi ñang di chuyển, một yếu tố quan trọng trong cuộc sống hiện ñại

Hình 3 là mô hình cấu trúc của một trong các SoC ñược xem là mạnh nhất hiện nay ðây là chip OMAP 4 (của hãng Texas Instrucments) [24] ñược phát triển dành cho các nền tảng di ñộng thế hệ mới Nền tảng chip mới này có khả năng tích hợp nhiều lõi vi xử lý, hỗ trợ hầu hết các kết nối phổ biến cũng như các

hệ thống trình diễn ña phương tiện tiên tiến nhất

Trang 11

5

Hình 3 Kiến trúc của chip OMAP 4 [24]

Một hướng nghiên cứu cũng ñang thu hút ñược sự quan tâm của giới thiết

kế SoC hiện nay ñó là việc thiết kế, xây dựng các hệ thống truyền thông trên chip

có hiệu quả Sự phát triển của các hệ thống trên chip ñã làm cho các hệ thống bus truyền thống trở nên lạc hậu vì không thể ñáp ứng ñược các yêu cầu truyền thông phức tạp với tốc ñộ cao và dung lượng lớn Cùng với việc tích hợp ngày càng nhiều nhiều lõi IP trên một chip thì một yêu cầu quan trọng là phải xây dựng

ñược các hệ thống truyền thông có tốc ñộ truyền dữ liệu cao và hỗ trợ quản lý

một số lượng lớn các lõi IP gắn vào hệ thống

Ngày nay, các phương pháp truyền thông cũ như truyền thông chia sẻ bus vẫn ñang ñược tiếp tục cải tiến và phát triển Các hệ thống bus tiên tiến ra ñời phần nào cũng ñã ñáp ứng ñược những nhu cầu truyền thông trên chip hiện nay Bên cạnh ñó, các phương pháp truyền thông mới như “Mạng trên chip” (NoC) cũng ñang ñược nghiên cứu và ñang trong quá trình hoàn thiện NoC hiện ñược xem là một phương pháp truyền thông trên chip có tính ưu việt cao hơn các phương pháp cũ và có thể sẽ ñược ứng dụng thay thế cho các phương thức truyền bus trong các SoC thế hệ mới Tuy nhiên các nghiên cứu về NoC cũng chỉ vừa mới hoàn thành và việc ứng dụng phương thức truyền thông mới này vào thực tế vẫn còn hạn chế do ñộ phức tạp cao, chi phí thực hiện lớn và ñộ ổn ñịnh vẫn chưa

ñược ñảm bảo… Chính vì vậy, việc xây dựng và phát triển các loại bus tiên tiến

vẫn mang tính thời sự và cấp thiết của nó [3] [8] [16] Việc thiết kế, xây dựng một hệ thống bus tiên tiến có tốc ñộ cao, băng thông lớn, ñộ ổn ñịnh cao vẫn luôn

ñóng một vai trò quan trọng trong quá trình thiết kế một SoC Các kiến trúc bus

Trang 12

6

tiên tiến luôn là một sự lựa chọn tối ưu cho các thiết kế SoC cần những ứng dụng

có ñộ phức tạp vừa phải, số lượng lõi IP trên hệ thống không quá lớn

Chính vì những lý do ñã ñề cập ở trên, luận văn này tập trung vào tìm hiểu

về các ñặc tả kỹ thuật của hệ thống bus AMBA AHB - một hệ thống bus tiên tiến hiện nay - ñể từ ñó có thể thiết kế, xây dựng nên một hệ thống bus AHB nhằm

ñảm bảo ñược vấn ñề truyền thông trong các thiết kế SoC ñang ñược tiến hành

nghiên cứu tại Phòng thí nghiệm Hệ thống tích hợp thông minh (SIS Lab) thuộc trường ðại học Công nghệ

Các vấn ñề về truyền thông trên chip, cũng như các mô tả kỹ thuật chi tiết của hệ thống bus AMBA AHB sẽ tiếp tục ñược ñề cập sâu hơn trong những phần sau ñể làm cơ sở cho việc thực hiện luận văn này

1.2 T ổ ng quan v ề ph ươ ng pháp thi ế t k ế h ệ th ố ng trên chip

Hệ thống trên chip là một chip ñiện tử, vì vậy việc thiết kế một SoC phải tuân theo ñúng quy trình thiết kế một chip Một quy trình thiết kế chip thông thường bao gồm hai công ñoạn lớn ñó là: thiết kế logic (front-end) và thiết kế vật

lý (back-end) Mỗi công ñoạn lại ñược chia thành các bước khác nhau như ở Hình 4 [18]

Hình 4 Quy trình thiết kế chip cơ bản

Trang 13

7

Xuất phát từ yêu cầu thiết kế và các ñặc tả kỹ thuật, người thiết kế sẽ xây dựng kiến trúc của chip cần thiết kế Kiến trúc này sẽ ñược mô tả bằng các ngôn ngữ thiết kế phần cứng ở các mức cụ thể khác nhau: từ mức cao nhất là mức hành vi hệ thống cho ñến mức thấp nhất là kết nối giữa các khối logic Sau khi

ñược tổng hợp logic, hệ thống sẽ ñược mô phỏng ñể kiểm tra các chức năng logic

của hệ thống trước khi chuyển sang các thiết kế vật lý ñể có thể ñưa ra một chip hoàn chỉnh

Công ñoạn thiết kế logic bao gồm bốn bước cơ bản:

1 Mô tả thiết kế (Design Entry): dựa trên các yêu cầu hoạt ñộng của hệ thống ñể ñưa ra các mô tả về chức năng và kỹ thuật của hệ thống cần xây dựng, sau ñó sử dụng các ngôn ngữ mô tả phần cứng như VHDL [2] [6] [15] hay Verilog [13] [17] và các bản vẽ ñể mô tả thiết kế

2 Tổng hợp logic (Logic Synthesis): ở bước này, người thiết kế sẽ sử dụng các công cụ tổng hợp logic như, ISE (Xillinx), Leonardo Spectrum (Mentor Graphics)… kết hợp với các thư viện thiết kế ñể tạo ra một sơ ñồ hoặc một bản mô tả bao gồm các khối logic và các kết nối giữa chúng

ðây có thể xem là bước gắn kết thiết kế với các thư viện tế bào phần cứng ñược cung cấp bởi các nhà sản xuất

3 Phân chia hệ thống (System Partitioning): phân chia hệ thống thành các khối thành phần theo chức năng hoạt ñộng hoặc ñặc trưng vật lý của từng khối ñể ñưa lên các phần khác nhau của ASIC

4 Mô phỏng tiền layout (Pre-layout Simulation): mô phỏng các chức năng của hệ thống dựa trên sơ ñồ logic ñược tổng hợp ở bước 2 Nếu các chức năng ñược mô phỏng chưa hoạt ñộng ñúng thì cần phải quay lại bước tổng hợp logic Quá trình này còn ñược gọi là quá trình mô phỏng sau tổng hợp logic (post-synthesis simulation)

Thực ra, trong suốt quá trình thiết kế, việc mô phỏng và kiểm chứng sẽ

ñược tiến hành ở hầu hết các quá trình nhằm ñảm bảo thiết kế hoạt ñộng ñúng

trước khi chuyển sang công ñoạn thiết kế vật lý

Công ñoạn thiết kế vật lý ñược thực hiện trong các bước từ (5) ñến (9) bao gồm:

5 Vẽ sơ ñồ nền (Floor Planning): sắp xếp các khối con của hệ thống lên trên chip

6 ðặt chỗ (Placement): bố trí các tế bào linh kiện cơ bản (standard cells) bên

trong một khối thành phần

Trang 14

8

7 ðịnh tuyến (Routing): thiết lập các kết nối giữa các tế bào cơ bản, cũng

như giữa các khối thành phần

8 Phân tích và ước lượng các thông số mạch ñiện (circuit extraction): tính toán, kiểm tra và ñánh giá các tham số về trở kháng, dung kháng, ñiện cảm giữa các kết nối cũng như giữa các khối cơ bản

9 Mô phỏng sau khi thực hiện layout (Post-layout Simulation): mô phỏng toàn bộ hệ thống trước khi triển khai lên ASIC

Quá trình thiết kế vật lý có thể ñơn giản hơn tuỳ thuộc vào các loại ASIC khác nhau Cũng như ở công ñoạn thiết kế logic, việc mô phỏng và kiểm chứng cũng ñược tiến hành sau mỗi quá trình thiết kế nhằm ñảm bảo hệ thống ñược hoạt

ñộng ñúng ở từng quá trình

Về mặt phương pháp thiết kế, hiện nay việc thiết kế hệ thống trên chip vẫn

ñược thực hiện theo hai phương pháp chủ yếu, ñó là phương pháp thiết kế từ

trên-xuống (top-down) và phương pháp thiết kế từ dưới-lên (bottom-up) Mỗi phương pháp ñều có các ưu ñiểm và nhược ñiểm riêng của nó Việc lựa chọn phương pháp thiết kế là tuỳ thuộc vào người thiết kế và ñặc tính kỹ thuật cụ thể của hệ thống cần thiết kế

Với phương pháp thiết kế từ trên-xuống, người thiết kế sẽ dựa vào ñặc tả

kỹ thuật của SoC cần thiết kế ñể chia hệ thống thành nhiều khối nhỏ, mỗi khối sẽ

ñảm nhiệm một chức năng riêng biệt Tại mỗi khối nhỏ này, người thiết kế lại

tiếp tục chia nhỏ khối này ra thành các khối ñơn vị nhỏ hơn với các chức năng cụ thể hơn Quá trình ñược tiếp tục cho ñến khi ñạt ñược các khối chức năng cơ bản nhất như ñược mô tả trong Hình 5a Kết quả cuối cùng là ta thu ñược kiến trúc cần xây dựng dưới dạng các khối chức năng riêng biệt Ưu ñiểm của phương pháp thiết kế này là cho phép người thiết kế có thể thiết kế hệ thống ở nhiều mức trừu tượng khác nhau, từ mức hành vi hệ thống cho ñến mức RTL [14], thậm chí

có thể xuống ñến mức các cổng logic cơ bản Việc chia nhỏ hệ thống cũng giúp cho việc quản lý sự sai khác và các xung ñột có thể xảy ra khi thay ñổi kích thước thiết kế của hệ thống, các hiệu ứng ñiện ở mức micro-mét, cũng như có thể xác ñịnh ñược sơ bộ thời gian cần thiết ñể thực thi hệ thống Một thuận lợi nữa của phương pháp này là cho phép các nhóm thiết kế có thể làm việc song song và

ñộc lập với nhau trên từng phần của hệ thống ðiều này không chỉ làm giảm ñược các lỗi xảy ra khi thực hiện một hệ thống phức tạp, mà còn giảm ñược thời

gian từ lúc thiết kế hệ thống ñến khi ñưa sản phẩm ra thị trường ðây cũng là phương pháp ñược sử dụng chủ yếu trong thiết kế các SoC hiện nay

Trang 15

9

Hình 5 Mô hình các phương pháp thiết kế SoC

Phương pháp thiết kế từ dưới-lên ñược tiến hành theo phương thức hoàn toàn ngược lại với phương pháp trên Với phương pháp này, xuất phát từ các khối chức năng có sẵn ñã ñược thiết kế trước, kết hợp với các yêu cầu thiết kế như: hiệu năng hệ thống, các tham số về ñiện, công suất tiêu thụ, kích thước của

hệ thống, kỹ thuật dùng ñể sản xuất chip… người thiết kế sẽ xây dựng nên các khối chức năng cơ bản nhất của hệ thống Các khối chức năng này lại ñược kết hợp với nhau thành các khối lớn hơn, và cuối cùng là kết hợp thành hệ thống hoàn chỉnh Ưu ñiểm chính của phương pháp này là cho phép người thiết kế tận dụng ñược tối ña các khối chức năng hoặc các lõi IP từ những thiết kế trước ñó Lõi IP ñược tái sử dụng không chỉ là từ những thiết kế trước mà có thể là những lõi IP ñược phát triển bởi các nhóm thiết kế khác, hoặc từ các công ty khác ðiều này ñảm bảo ñược cho tính ổn ñịnh của lõi IP trong quá trình hoạt ñộng cũng như việc phát triển thêm tính năng ñể phù hợp với thiết kế hiện tại Chính vì vậy mà việc tái sử dụng các lõi IP không chỉ tiết kiệm ñược chi phí tài chính mà còn giảm ñược thời gian từ lúc phát triển hệ thống ñến khi ñưa sản phẩm ra thị trường

Hiện nay, khi thiết kế các SoC phức tạp thì cả hai phương pháp trên ñều cùng ñược áp dụng ñể tận dụng ñược thế mạnh của từng phương pháp, giúp cho việc nâng cao hiệu quả trong quá trình thiết kế

Luận văn này áp dụng phương pháp thiết kế từ trên-xuống ñể phân tích và xây dựng hệ thống dựa trên các ñặc tả kỹ thuật ñược cung cấp Vấn ñề thiết kế và xây dựng hệ thống bus AHB sẽ ñược trình bày cụ thể thêm ở trong Chương 3 của luận văn này

Trang 16

10

1.3 V ấ n ñề truy ề n thông trên chip

Trong các SoC hiện tại, quá trình truyền thông giữa các lõi IP chủ yếu dựa vào các kết nối ñiểm-tới-ñiểm hoặc các kiến trúc bus dùng chung [20] Khi hệ thống trở nên phức tạp với số lượng lõi IP ñược tích hợp ngày càng nhiều thì các kiểu truyền thông này bộc lộ nhiều hạn chế như: thông lượng truyền thông (throughput) bị giới hạn, công suất tiêu thụ năng lượng lớn, tính toàn vẹn của tín hiệu không ñược bảo ñảm, trễ ñáp ứng trong quá trình truyền tín hiệu, vấn ñề

ñồng bộ trên toàn hệ thống… Nếu các phương pháp truyền thông trên chip không ñược cải tiến thì những hạn chế nói trên sẽ tạo nên các nút thắt cổ chai, dẫn ñến

các hạn chế trong việc thiết kế và xây dựng các hệ thống tích hợp

Với kiểu kết nối ñiểm-tới-ñiểm, truyền thông giữa các lõi IP ñược thực hiện thông qua các liên kết vật lý trực tiếp từ IP nguồn tới IP ñích Ưu ñiểm của kiểu kết nối này là chúng ta có ñược hiệu suất truyền thông tối ña giữa các ñơn vị tham gia truyền thông (sử dụng tối ña tài nguyên băng thông) Tuy nhiên, phương pháp truyền thông này ñòi hỏi một lượng lớn liên kết trực tiếp giữa các lõi IP trong khi hiệu quả sử dụng các liên kết này không lớn (tần suất sử dụng thấp) ðồng thời, số lượng liên kết lớn sẽ làm tăng không gian thực thi phần cứng

và tăng ñộ phức tạp trong quá trình ñặt chỗ và ñịnh tuyến (place and route) Chính vì vậy, kiến trúc truyền thông kiểu này sẽ trở nên phức tạp ñối với việc thiết kế các SoC trong tương lai do số lượng các lõi IP ngày càng nhiều hơn

Hình 6 Mô hình kết nối ñiểm-tới-ñiểm

ðể khắc phục các nhược ñiểm của kiến trúc truyền thông ñiểm-tới-ñiểm,

kiến trúc truyền thông bus ñã ñược ñề xuất ñể thay thế cho kiểu kiến trúc truyền thông cũ Ngày nay, với các hệ thống trên chip phức tạp kiến trúc truyền thông bus là kiểu truyền thông ñược sử dụng phổ biến nhất trong các ứng dụng thương mại Kiến trúc bus này cung cấp giải pháp kết nối ñơn giản, hiệu quả mà qua ñó các lõi IP có thể kết nối với nhau thông qua một giao thức truyền thông ñược

ñịnh trước Nếu so sánh với kiểu kết nối ñiểm-tới-ñiểm thì kiến trúc bus tỏ ra ưu

việt hơn ở tính mềm dẻo, khả năng tái sử dụng cao và ñộ phức tạp của hệ thống

Trang 17

11

ñược giảm ñi ñáng kể Tuy nhiên, kiến trúc bus chỉ cho phép thực hiện một quá

trình truyền thông giữa các lõi IP tại một thời ñiểm nhất ñịnh Vì vậy băng thông của bus sẽ ñược chia cho các lõi IP và hiệu suất truyền thông sẽ giảm ñi ñáng kể khi số lượng lõi IP tăng lên Ngoài ra, chúng ta cần phải xây dựng cơ chế phân quyền truy cập cho các lõi IP khi xuất hiện ñồng thời nhiều yêu cầu truyền thông tại cùng một thời ñiểm Hơn nữa, vì bus dùng chung cho cả hệ thống nên các liên kết hình thành bus có ñộ dài tương ñối ñáng kể ðiều này làm tăng công suất tiêu thụ trên toàn hệ thống vì dữ liệu ñược truyền trên toàn bus cho dù truyền thông chỉ ñược thực hiện giữa vài lõi IP Bên cạnh ñó, khi chúng ta tăng số lượng lõi IP thì kích thước của bus cũng tăng lên và kết quả là trễ truyền dẫn dữ liệu sẽ vượt quá chu kỳ xung nhịp hệ thống (clock) Qua những vấn ñề trên cho thấy mô hình kết nối kiểu chia sẻ bus bộc lộ nhiều hạn chế nhất ñịnh khi triển khai các hệ thống tích hợp với một số lượng lớn các lõi IP ðến nay, các nhà nghiên cứu cũng ñã ñưa ra thêm nhiều cấu trúc bus ñể giải quyết một số vấn ñề gặp phải như trên như: cấu trúc bus phân tầng, cấu trúc bus phân chia, cấu trúc bus dạng vòng… Mô hình kiến trúc bus chia sẻ, phân tầng ñược mô tả như trong sơ ñồ ở Hình 7 Tuy nhiên các cấu trúc bus này vẫn không thể loại bỏ hoàn toàn các vấn

ñề cố hữu thuộc về bản chất của kiến trúc truyền thông dạng bus

Hình 7 Kiến trúc bus chia sẻ, phân tầng

ðể giải quyết triệt ñể các vấn ñề của kiến trúc bus truyền thống, một mô

hình truyền thông mới dựa ñã ñược ñề xuất ñó là mô hình mạng trên chip (NoC) (Hình 8) ðây ñược xem là một giải pháp ñột phá cho vấn ñề truyền thông trên chip và mạng trên chip có thể thay thế hoàn toàn các cấu trúc bus trong các thế

hệ SoC tiếp theo

Trang 18

12

Hình 8 Mô hình cơ bản của một hệ NoC

Mô hình NoC ñược xem như là một giải pháp truyền thông trên chip thay thế các mô hình truyền thông cổ ñiển trước ñây vì nó có nhiều ưu ñiểm vượt trội: tính linh hoạt trong thiết kế, khả năng mở rộng thiết kế, lưu lượng truyền thông cho phép cao, tối ưu năng lượng tiêu thụ, tính mô ñun hóa Tính mềm dẻo của

mô hình NoC thể hiện ở khả năng truyền thông ñộng nhờ kỹ thuật chuyển mạch gói Với các hệ thống có ñộ tích hợp cao, mô hình NoC cho phép mở rộng kiến trúc mạng truyền thông bằng cách thêm các nút mạng mà không làm giảm hiệu suất truyền thông của các kênh truyền thông khác trong mạng Kết nối giữa các

ñơn vị truyền thông ngắn (tối ña bằng khoảng cách giữa các nút mạng với nhau)

giúp cho truyền thông có thể ñạt ñược lưu lượng tối ña trên từng kênh cục bộ Lưu lượng truyền thông cả mạng ñược tính bằng tổng lưu lượng truyền thông của các kênh ñược thiết lập Ngoài ra, năng lượng tiêu thụ có thể giảm khi kênh truyền thông không ñược kích hoạt Với nhiều ưu ñiểm, mô hình NoC ñược xem như là một sự lựa chọn hứa hẹn cho các hệ thống SoC phức tạp trong tương lai, khi các thiết kế có thể lên tới hàng tỷ transistors

Trang 19

13

2.1 T ổ ng quan v ề h ệ th ố ng bus t ố c ñộ cao AMBA AHB

Kiến trúc bus tiên tiến dùng cho vi ñiều khiển (AMBA-Advanced Microcontroller Bus Architecture [1]) là một kiến trúc bus dành cho các hệ thống trên chip ñược công ty ARM ñưa ra lần ñầu tiên vào năm 1996 Qua thời gian phát triển, ñến nay kiến trúc bus AMBA ñã có ñến ba phiên bản, phù hợp với nhiều mục ñích truyền thông khác nhau Mỗi phiên bản là sự nâng cấp tương ứng với sự phát triển của hệ thống trên chip, cũng như yêu cầu về tốc ñộ và băng thông ngày càng cao của các hệ thống này Ba phiên bản của hệ thống bus AMBA lần lượt là:

- Bus hệ thống tiên tiến - ASB (Advanced System Bus) và bus ngoại vi tiến tiến - APB (Advanced Peripheral Bus)

- Hệ thống bus tiên tiến hiệu năng cao - AHB (Advanced High-performance Bus)

- Giao tiếp mở rộng tiên tiến - AXI (Advanced eXtensible Interface)

AHB là bus hệ thống thế hệ thứ hai của AMBA với mục ñích hướng tới các thiết kế cần hiệu năng cao ðây là một hệ thống bus hỗ trợ ña bus chủ và có khả năng cung cấp băng thông rộng với tốc ñộ truyền dữ liệu cao Mục ñích của bus AHB là ñể ñảm bảo quá trình truyền dữ liệu giữa các lõi IP cần ñộ rộng bus

dữ liệu lớn và tốc ñộ truyền cao

Một số ñặc tính của bus AMBA AHB:

• Truyền thông theo khối (burst transfers)

• Phân chia quá trình truyền (split transactions)

• Chuyển giao bus chủ trong một xung ñơn

• Thực thi tại sườn của ñơn xung

• Không dùng chuyển mức ba trạng thái

• ðộ rộng bus dữ liệu có thể thay ñổi linh hoạt (từ 8 bit lên ñến 1024 bit)

Trang 20

14

Hình 9 mô tả cấu trúc cơ bản của một vi ñiều khiển có sử dụng hệ thống bus AMBA AHB

Hình 9 Mô hình vi xử lý có sử dụng bus AHB [1]

Hiện nay, các nghiên cứu về kiến trúc bus AMBA nói chung và cấu trúc bus AHB nói riêng là ñã tương ñối hoàn chỉnh Các nghiên cứu hiện tại chủ yếu tập trung vào việc thiết kế các thuật toán phân xử bus ñể tối ưu ñược quá trình phân quyền truy cập giữa các bus chủ, từ ñó giúp tối ưu ñược thông lượng truyền thông trên bus và công suất tiêu thụ của bus Công suất tiêu thụ trên bus có thể giảm ñến 22% nếu bus AHB sử dụng một thuật toán phân xử bus hợp lý [9] Các nghiên cứu ñánh giá về hiệu suất truyền thông và công suất tiêu thụ của bus AMBA AHB cũng ñược thực hiện, chủ yếu là ñể có thể so sánh với phương thức truyền thông NoC vừa mới ra ñời Tuy những nghiên cứu này chỉ ra rằng hiệu suất của NoC vượt trội hơn bus AHB, nhưng khả năng hoạt ñộng của bus AHB là hoàn toàn ñáp ứng ñược yêu cầu truyền thông của hầu hết các SoC hiện nay [5] [7] [16] Một hướng nghiên cứu về kiến trúc bus AMBA cũng ñang ñược chú ý,

ñó là việc thiết kế các hệ thống bus AMBA có khả năng tái cấu hình Mục ñích

của các nghiên cứu này là xây dựng nên các hệ thống bus AMBA thông minh, có khả năng tự cấu hình lại ñể thích nghi với tình trạng truyền thông hiện tại của hệ thống Việc tái cấu hình thường tập trung chủ yếu vào việc thay ñổi thuật toán phân xử bus hoặc thay ñổi cấu trúc bus ñể thích ứng với thông lượng truyền thông của bus [11]

Không chỉ dừng lại ở các nghiên cứu phát triển trong phòng thí nghiệm, kiến trúc bus AMBA còn là một trong những kiến trúc bus ñược ứng dụng rộng rãi trong nhiều SoC thương mại Nhờ vào cấu trúc mở và tính linh hoạt mà kiến trúc bus này có thể ñược thay ñổi ñể phù hợp với nhiều kiểu truyền thông khác nhau trên SoC Do ñó, kiến trúc bus AMBA ñược các nhà phát triển hệ thống trên chip sử dụng khá phổ biến Các sản phẩm có sử dụng kiến trúc bus AMBA,

ñặc biệt là cấu trúc bus AHB, xuất hiện với ña dạng các thể loại: từ việc ñược

Trang 21

15

tích hợp sẵn trong các lõi IP cho ñến những hệ thống bus của các SoC hoàn chỉnh, và tồn tại cả dưới dạng các lõi IP có chức năng truyền thông Các sản phẩm này có thể là các sản phẩm phần cứng, hoặc cũng có thể là các lõi IP mềm

ñể cho phép tích hợp vào các hệ thống khác nhau Một số sản phẩm có thể kể ñến

như là: lõi IP 10-100 Ethernet – AHB và lõi IP Gigabit – AHB (Arasan) [25]; các lõi IP chứa các thành phần của bus AHB (Aurora VLSI) [27], lõi PiP-AMBA (CAST) [28]; các dòng vi xử lý ARM9E, ARM10E (sử dụng bus AHB) và ARM11, Cortex ( sử dụng bus AXI) của công ty ARM [26]

Hình 10 Lõi PiP AMBA của công ty CAST [28]

2.2 Mô hình và ho ạ t ñộ ng chung c ủ a bus AMBA AHB

2.2.1 Mô hình m  t h  th  ng AMBA AHB

Một hệ thống AMBA AHB bao gồm những thành phần chính như: bus chủ, bus tớ, bộ phân xử, bộ giải mã ñịa chỉ, các bộ phân kênh và ñược kết nối với nhau như Hình 11

Trang 22

16

Hình 11 Sơ ñồ kết nối giữa các thành phần bên trong bus AHB [1]

ñịa chỉ và thông tin ñiều khiển Tại một thời ñiểm thì chỉ có một bus chủ ñược phép hoạt ñộng

- Bus tớ (slave): một bus tớ sẽ ñáp ứng một hoạt ñộng ñọc hay ghi trong

một khoảng không gian ñịa chỉ ñược ñịnh trước Các tín hiệu của bus tớ sẽ trả về cho bus chủ biết quá trình truyền dữ liệu thành công, thất bại hay

ñang ñược tiến hành

có duy nhất một bus chủ ñược phép thực hiện quá trình truyền dữ liệu,

ñồng thời nó cũng quản lý thứ tự ưu tiên truy cập bus của các bus chủ Bộ

phân xử bus chỉ tồn tại trong hệ thống bus AHB có nhiều bus chủ

chỉ của mỗi lần truyền và cung cấp tín hiệu ñể lựa chọn bus tớ cần truyền

ñến

chỉ và tín hiệu dữ liệu trong bus, ñể chuyển các tín hiệu này ñến bus chủ

và bus tớ ñang tham gia vào quá trình truyền

Trang 23

17

hệ thống không có yêu cầu nào về truy cập bus, bộ phân xử bus sẽ cấp quyền truy cập cho một bus chủ, ñó là bus chủ mặc ñịnh Vai trò của bus chủ mặc ñịnh có thể ñược thực thi bởi một bus chủ trong hệ thống và ñược quy ñịnh bởi người thiết kế hệ thống Bus tớ mặc ñịnh là bus tớ sẽ tham gia vào quá trình truyền khi có một yêu cầu truyền ñến một ñịa chỉ không nằm trong bản ñồ ñịa chỉ Việc triển khai bus tớ mặc ñịnh là cần thiết khi

hệ thống không sử dụng hết bản ñồ ñịa chỉ Bus tớ mặc ñịnh thường ñược thực thi trong hệ thống như là một thành phần của bộ giải mã ñịa chỉ Theo như sơ ñồ ở Hình 11, tất cả các bus chủ sẽ phát quảng bá tín hiệu ñịa chỉ và tín hiệu ñiều khiển ñể thông báo quá trình truyền cần thực hiện Bộ phân

xử sẽ quyết ñịnh bus chủ nào ñược quyền truy cập bus và ñiều khiển các bộ phân kênh ñể chuyển tín hiệu của bus chủ ñó ñến tất cả các bus tớ Bộ giải mã ñịa chỉ

sẽ dựa vào tín hiệu ñịa chỉ ñể chọn ra bus tớ tham gia vào quá trình truyền

2.2.2 Ho  t ñ ng c  a h  th  ng AMBA AHB

ðể bắt ñầu một quá trình truyền, bus chủ phải gửi tín hiệu yêu cầu quyền

truy cập bus ñến bộ phân xử Bộ phân xử sẽ quan sát trạng thái truy cập hiện tại của các bus chủ và gửi tín hiệu báo hiệu khi nào bus chủ ñó ñược sử dụng bus

Một bus chủ sau khi ñược phép truy cập bus sẽ bắt ñầu một quá trình truyền bằng cách phát ñi các tín hiệu ñịa chỉ và tín hiệu ñiều khiển Những tín hiệu này sẽ cung cấp thông tin về ñịa chỉ, hướng truyền và ñộ rộng của quá trình truyền, cũng như báo hiệu nếu ñây là một quá trình truyền khối Hệ thống bus hỗ trợ hai dạng truyền khối là: quá trình truyền khối với ñịa chỉ tăng và quá trình truyền khối với ñịa chỉ bị cuộn lại khi ñến ñịa chỉ biên

Trong các quá trình truyền, một bus ghi dữ liệu sẽ ñược sử dụng ñể chuyển dữ liệu từ bus chủ ñến bus tớ và một bus ñọc dữ liệu sẽ ñược dùng ñể chuyển dữ liệu từ bus tớ ñến bus chủ Mọi quá trình truyền ñều bao gồm: một chu kỳ cho việc truyền tín hiệu ñịa chỉ, ñiều khiển và một hoặc nhiều chu kỳ cho việc truyền dữ liệu

Chu kỳ dành cho việc truyền ñịa chỉ không cần mở rộng do tất cả các bus

tớ phải lấy mẫu ñịa chỉ trong suốt thời gian truyền Tuy nhiên chu kỳ truyền dữ liệu lại có thể ñược mở rộng nhờ vào tín hiệu HREADY Khi ở mức thấp, tín hiệu này sẽ tạo ra một trạng thái chờ trong quá trình truyền và cho phép bus tớ có thêm thời gian ñể cung cấp hoặc lấy mẫu dữ liệu

Trang 24

18

Trong một quá trình truyền, bus tớ sẽ thông báo các trạng thái hiện tại của quá trình truyền bằng cách dùng tín hiệu phản hồi HRESP[1:0] Tín hiệu này gồm bốn trạng thái:

- OKAY: ñược dùng ñể báo hiệu quá trình truyền ñang diễn ra bình thường

và khi HREADY chuyển mức HIGH thì báo hiệu là quá trình truyền ñã hoàn tất

- ERROR: báo hiệu có một lỗi trong quá trình truyền ñã phát sinh và do ñó quá trình truyền không thành công

- RETRY và SPLIT: cả hai trạng thái này ñều báo hiệu quá trình truyền không thể hoàn thành ngay lập tức, nhưng bus chủ có thể tiếp tục thử truyền lại

2.3 Các ch ế ñộ truy ề n c ủ a bus AMBA AHB

Một quá trình truyền trên bus AHB bao giờ cũng gồm hai pha riêng biệt:

- Pha ñịa chỉ, chỉ trong một chu kỳ xung ñơn duy nhất

- Pha dữ liệu, có thể ñược thực hiện trong nhiều chu kỳ xung Khi pha này hoàn thành thì sẽ ñược thông báo thông tín hiệu HREADY

2.3.1 Quá trình truy  n c  b n, không có tr  ng thái i

Một quá trình truyền cơ bản, không có trạng thái ñợi (Hình 12) bao gồm 3 bước cơ bản:

- Bus chủ phát ñi tín hiệu ñịa chỉ và tín hiệu ñiều khiển lên bus tại sườn lên của xung HCLK

- Bus tớ sẽ lấy mẫu ñịa chỉ và thông tin ñiều khiển ở sườn lên của xung nhịp tiếp theo

- Sau khi bus tớ lấy mẫu tín hiệu ñịa chỉ và ñiều khiển, nó có thể bắt ñầu xử

lý và phát tín hiệu dữ liệu cũng như tín hiệu phản hồi thích hợp về cho bus chủ ðồng thời bus tớ sẽ phát tín hiệu HREADY ở mức cao ñể báo hiệu quá trình truyền thành công

Trang 25

19

Hình 12 Quá trình truyền cơ bản trên bus AHB [1]

2.3.2 Quá trình truy  n c  b n, có tr  ng thái i

Một bus tớ có thể chèn thêm các trạng thái ñợi vào trong pha dữ liệu của bất kỳ quá trình truyền nào ñể cho phép quá trình truyền có thêm thời gian hoàn thành (xem Hình 13) ðiều này ñược thực hiện như sau: ở ñầu pha dữ liệu, bus tớ

sẽ ñưa tín hiệu HREADY về mức thấp ñể báo hiệu quá trình truyền chuyển qua trạng thái ñợi Khi dữ liệu cho quá trình truyền ñã sẵn sàng, bus tớ sẽ chuyển tín hiệu HREADY quay lại mức cao tại sườn lên của xung HCLK, báo hiệu quá trình truyền thành công

Hình 13 Quá trình truyền cơ bản có trạng thái ñợi [1]

Lưu ý rằng, với quá trình ghi dữ liệu, bus chủ sẽ giữ dữ liệu ổn ñịnh trong suốt các chu kỳ mở rộng Còn với quá trình ñọc dữ liệu thì bus tớ chỉ phải cung cấp dữ liệu vào cuối chu kỳ cuối cùng

Trang 26

20

Khi một quá trình truyền ñược mở rộng như trên, nó sẽ tác ñộng ñến việc

mở rộng pha ñịa chỉ của quá trình truyền tiếp theo (Hình 14)

Hình 14 Ảnh hưởng của trạng thái ñợi ñến pha ñịa chỉ của quá trình tiếp theo [1]

Ta có thể thấy quá trình truyền ñến ñịa chỉ B có thêm một chu kỳ ñợi nên việc mở rộng pha dữ liệu của nó sẽ ảnh hưởng ñến việc mở rộng pha ñịa chỉ của quá trình truyền ñến ñịa chỉ C

2.3.3 Quá trình truy  n theo kh  i (burst transfer)

Hệ thống bus AHB hỗ trợ quá trình truyền theo khối bao gồm: truyền ñơn, truyền khối với chiều dài khối bất kỳ, truyền khối với các nhịp 4, 8 và 16 Giao thức này hỗ trợ cả hai kiểu truyền là truyền khối với ñịa chỉ tăng dần – truyền khối tăng (incrementing burst) và truyền khối với ñịa chỉ cuộn – truyền khối cuộn (wrapping burst) Quá trình truyền khối với ñịa chỉ tăng dần sẽ truy cập các vị trí

ñịa chỉ một cách tuần tự và ñịa chỉ của mỗi lần truyền trong truyền khối tăng theo ñịa chỉ của lần truyền trước ðối với quá trình truyền khối với ñịa chỉ cuộn, nếu ñịa chỉ bắt ñầu của quá trình truyền không trùng với tổng số byte trong khối (tổng

byte = kích thước*số nhịp (beats)) thì ñịa chỉ của các quá trình truyền sẽ bị quay trở lại ñến biên

Thông tin về quá trình truyền khối sẽ ñược cung cấp bởi tín hiệu HBURST[2:0] và có 8 kiểu truyền ñược ñịnh nghĩa như trong Bảng 1

Bảng 1 Các kiểu truyền khối ñược bus AHB hỗ trợ

000 SINGLE Truyền ñơn

001 INCR Truyền khối tăng với ñộ dài bất kỳ

Trang 27

21

010 WRAP4 Truyền khối cuộn với nhịp 4

011 INCR4 Truyền khối tăng với nhịp 4

100 WRAP8 Truyền khối cuộn với nhịp 8

101 INCR8 Truyền khối tăng với nhịp 8

110 WRAP16 Truyền khối cuộn với nhịp 16

111 INCR16 Truyền khối tăng với nhịp 16

Trong một số trường hợp, quá trình truyền ñơn có thể ñược thực hiện bằng cách sử dụng quá trình truyền khối tăng có chiều dài bất kỳ mà trong ñó mỗi khối truyền sẽ có chiều dài bằng một Một quá trình truyền khối tăng có thể có chiều dài bất kỳ nhưng giới hạn là không ñược quá 1 KByte ñịa chỉ biên

Một quá trình truyền khối tăng với nhịp 4 ñược minh họa bằng giản ñồ xung ở Hình 15 Trong quá trình này, khối truyền ñầu tiên ñược thực hiện ở ñịa chỉ h00000038 Các khối tiếp theo sẽ có ñịa chỉ tăng tuần tự với giá trị mỗi lần tăng là 4byte (do ñộ rộng bus ñịa chỉ là 32 bit) và kết thúc ở khối h00000044

Một quá trình truyền khối cuộn với nhịp 8 ñược minh họa bởi giản ñồ xung như ở Hình 16 Ta thấy ñịa chỉ các khối sau vẫn tăng thêm so với khối trước là 4 Byte Nhưng tại khối truyền có ñịa chỉ h0000003C thì khối tiếp theo thay vì có giá trị là h00000040 (là ñịa chỉ biên) nay sẽ bị cuộn lại ñịa chỉ h00000020 Các khối tiếp theo vẫn tiếp tục diễn ra như bình thường

Hình 15 Truyền khối tăng với nhịp 4 [1]

Trang 28

22

Hình 16 Truyền khối cuộn với nhịp 8 [1]

2.3.4 Thông báo v  quá trình truy  n c  a bus ch 

Trong khi diễn ra một quá trình truyền, bus chủ sẽ thông báo cho bộ phân

xử và bus tớ về kiểu truyền ñang ñược thực hiện Việc thông báo này giúp cho bộ phân xử và bus tớ có thể biết ñược quá trình truyền nào ñang diễn ra, cũng như kết hợp cùng với tín hiệu HBURST ñể giám sát quá trình truyền ðiều này cho phép bộ phân xử xác ñịnh ñược thời ñiểm thay ñổi các tín hiệu cấp quyền truy cập bus, ñồng thời báo cho bus tớ biết về tình trạng sẵn sàng của bus chủ ñể có thể truyền dữ liệu một cách hợp lý Các quá trình truyền trên hệ thống bus AHB

có thể ñược chia vào một trong bốn kiểu truyền: IDLE, BUSY, NONSEQ, SEQ như ñược trình bày trong Bảng 2 Việc mã hóa các kiểu truyền này sẽ ñược thực hiện thông qua tín hiệu HTRANS truyền từ bus chủ sang bus tớ

Bảng 2 Các kiểu truyền trong hệ thống bus AHB

00 IDLE Báo hiệu không có quá trình truyền dữ liệu nào ñược

thực hiện Kiểu IDLE ñược dùng khi một bus chủ mặc ñịnh ñược phép sử dụng bus

Các bus tớ phải luôn cung cấp một trạng thái ñợi với HREADY ở mức thấp và gửi phản hồi OKAY ñối với một quá trình IDLE

01 BUSY Kiểu truyền BUSY cho phép bus chủ thêm các chu

kỳ trống vào giữa quá trình truyền khối Kiểu truyền

Trang 29

23

này báo hiệu rằng bus chủ vẫn ñang tiếp tục với một quá trình truyền khối nhưng khối truyền tiếp theo sẽ chưa ñược thực hiện ngay lập tức

Các bus tớ phải luôn cung cấp một trạng thái ñợi và gửi phản hồi OKAY tương tự như ñối với một quá trình IDLE Lúc này quá trình truyền sẽ bị bus tớ bỏ qua

10 NONSEQ Báo hiệu khối truyền ñầu tiên của một quá trình

truyền khối hoặc là một quá trình truyền ñơn Tín hiệu ñiều khiển và ñịa chỉ không liên quan ñến quá trình truyền trước ñó

11 SEQ Trong chế ñộ này, ñịa chỉ khối truyền hiện tại sẽ liên

quan ñến ñịa chỉ khối truyền kế trước ñó Thông tin

ñiều khiển sẽ ñược sử dụng ñể tính ra ñịa chỉ của

khối truyền hiện tại ðịa chỉ của khối truyền sẽ bằng

ñịa chỉ của lần truyền trước cộng với kích thước

truyền (tính bằng byte)

2.3.5 Phân chia m  t quá trình truy  n

ðể sử dụng bus một cách hiệu quả, tránh tình trạng bus rỗi, AHB có thể

phân chia các quá trình truyền ñể tận dụng thời gian bus rỗi khi các bus tớ cần nhiều thời gian hơn ñể xử lý dữ liệu Có hai phương pháp ñể phân chia các quá trình truyền ñó là truyền RETRY và truyền SPLIT Hai phương pháp này ñược thực hiện tương tự như nhau Sự khác nhau giữa hai phương pháp chỉ là ở sự thay

ñổi quyền ưu tiên truy cập bus của bộ phân xử Một quá trình truyền bị phân chia

bao gồm những bước sau:

1 Bus chủ bắt ñầu quá trình truyền theo cùng một cách như các quá trình truyền thông thường khác và phát ñi các tín hiệu ñịa chỉ và ñiều khiển

2 Nếu bus tớ có thể cung cấp dữ liệu ngay lập tức thì nó sẽ thực hiện quá trình truyền Nếu bus tớ quyết ñịnh phải mất một số chu kỳ xung ñể lấy dữ liệu thì nó sẽ phát ra một phản hồi RETRY hoặc SPLIT ñể bắt ñầu thực hiện việc phân chia quá trình truyền

3 Trong suốt tất cả các quá trình truyền, bộ phân xử sẽ phát quảng bá số nhận dạng (tag number) của bus chủ hiện ñang sử dụng bus Bus tớ phải ghi nhận số này và dùng nó ñể khởi ñộng lại quá trình truyền sau này

Trang 30

6 Bộ phân xử sẽ quan sát tín hiệu HSPLITx trong mỗi chu kỳ xung và khi

có bất kỳ bit nào của HSPLITx ñược phát ra bộ phân xử sẽ lưu lại quyền

ưu tiên của bus chủ tương ứng

7 Cuối cùng, bộ phân xử sẽ cho phép bus chủ ñược thực hiện lại quá trình truyền ðiều này có thể không xảy ra ngay lập tức nếu có một bus chủ có quyền ưu tiên cao hơn ñang sử dụng bus

8 Khi quá trình truyền lại ñược thực hiện, slave sẽ kết thúc với một phản hồi OKAY Bus chủ phải xây dựng lại khối truyền phù hợp với quá trình truyền còn lại này

2.4 Ho ạ t ñộ ng phân x ử bus

Hoạt ñộng phân xử ñược thực hiện ñể ñảm bảo chỉ có một bus chủ ñược truy cập vào bus ở tại bất kỳ thời ñiểm nào Bộ phân xử thực hiện chức năng này bằng cách quan sát một số các yêu cầu sử dụng bus khác nhau và quyết ñịnh xem hiện tại bus chủ nào ñang có mức ưu tiên sử dụng bus cao nhất Bộ phân xử cũng nhận các yêu cầu từ bus tớ cần hoàn tất các quá trình truyền SPLIT ñể thay ñổi lại quyền truy cập của các bus chủ

Một quá trình yêu cầu quyền truy cập bus có thể ñược mô tả như sau: bus chủ cần truy cập bus sẽ sử dụng tín hiệu HBUSREQx ñể yêu cầu ñược truy nhập vào bus và có thể yêu cầu tại bất cứ chu kỳ xung nào Bộ phân xử sẽ lấy mẫu yêu cầu tại sườn lên của xung và dùng một thuật toán ưu tiên ñể quyết ñịnh bus chủ

kế tiếp ñược truy cập bus Thông thường, bộ phân xử sẽ chỉ chấp nhận một bus chủ khác khi một quá trình truyền khối ñã hoàn thành Tuy nhiên, nếu ñược yêu cầu, bộ phân xử có thể ngắt một quá trình truyền khối sớm ñể cho bus chủ có quyền ưu tiên cao hơn truy nhập vào bus Nếu bus chủ yêu cầu khóa truy cập thì

nó phải phát tín hiệu HLOCKx ñể báo cho bộ phân xử ngăn không cho bus chủ khác truy nhập vào bus

Bộ phân xử báo hiệu cho một bus chủ ñược phép truy nhập vào bus bằng cách phát tín hiệu HGRANTx tương ứng với bus chủ ñó Khi quá trình truyền

Trang 31

Khi một bus tớ ñược tham gia vào quá trình truyền, nó sẽ cung cấp các tín hiệu phản hồi ñể báo hiệu tình trạng hiện tại của quá trình truyền Tín hiệu HREADY ñược sử dụng ñể mở rộng một quá trình truyền và nó hoạt ñộng kết hợp với một tín hiệu phản hồi khác (HRESP[1:0]) ñể cung cấp thêm thông tin về trạng thái của quá trình truyền Có bốn loại phản hồi là OKAY, ERROR, RETRY, SPLIT và ñược quy ñịnh bởi tín hiệu HRESP[1:0] như ñược mô tả trong Bảng 3

Bảng 3 Tín hiệu phản hồi truyền từ bus tớ

00 OKAY Cùng với tín hiệu HREADY ở mức cao báo

hiệu một quá trình truyền ñã hoàn tất Ngoài ra, phản hồi này còn ñược sử dụng khi có bất kỳ chu kỳ nào ñược chèn thêm trong lúc HREADY

ở mức thấp, trước khi gửi một trong ba phản hồi

còn lại

01 ERROR Chỉ ra một lỗi ñã phát sinh ðiều kiện lỗi cần

ñược báo cho bus chủ ñể cảnh báo quá trình

truyền ñã thất bại Ta cần ít nhất hai chu kỳ ñể gửi một ñiều kiện lỗi này

10 RETRY Chỉ ra một ñịa chỉ ñã không thực hiện truyền

ñược Bus chủ cần thử gửi lại ñịa chỉ vừa truyền

lại cho ñến khi quá trình truyền hoàn tất Phản hồi này cũng cần hai chu kỳ xung

11 SPLIT Quá trình truyền chưa thể hoàn thành ngay Bus

chủ sẽ tiếp tục quá trình truyền ñang bỏ dở vào lần ñược phép truy cập bus tiếp theo Phản hồi này cũng yêu cầu hai chu kỳ xung

Trang 32

26

Một bus tớ có thể hoàn thành một quá trình truyền theo nhiều cách khác nhau:

- Hoàn tất quá trình truyền ngay lập tức

- Thêm vào một hoặc nhiều trạng thái ñợi nhằm thêm thời gian cần thiết ñể hoàn thành quá trình truyền

- Báo hiệu lỗi ñể thông báo một quá trình truyền thất bại

- Tạm hoãn sự hoàn tất của một quá trình truyền, nhưng cho phép bus chủ

và bus tớ thoát khỏi bus ñể bus có thể sẵn sàng cho những quá trình truyền khác

Như vậy chỉ có quá trình phản hồi OKAY là ñược thực hiện trong một chu

kỳ xung Còn các quá trình phản hồi còn lại ñều cần ít nhất hai chu kỳ xung Trong chu kỳ xung ñầu tiên, bus tớ ñưa tín hiệu HREADY về mức thấp, ñồng thời phát ra phản hồi thích hợp ñể thông báo cho bus chủ biết Ở chu kỳ tiếp theo, bus tớ vẫn giữ nguyên tín hiệu phản hồi HRESP nhưng ñưa tín hiệu HREADY về lại mức cao ñể thông báo quá trình phản hồi ñã hoàn tất Việc sử dụng hai chu kỳ xung ñể phát các phản hồi ERROR, RETRY, SPLIT là ñể bus chủ có ñủ thời gian hoãn quá trình truyền vừa thực hiện và thay ñổi lại quá trình truyền cho phù hợp với phản hồi ñược bus tớ gửi ñi

Nếu bus tớ cần hơn hai chu kỳ xung ñể quyết ñịnh xem nên ñưa ra loại phản hồi nào thì nó cần phát phản hồi OKAY, ñồng thời ñưa HREADY về mức thấp ñể có thêm một số chu kỳ ñợi Sau ñó bus tớ sẽ tiếp tục phát phản hồi thích hợp trong hai chu kỳ xung Một phản hồi truyền ERROR có thể ñược minh họa bằng giản ñồ xung như trong Hình 17 Ta thấy sau khi phát ñi ñịa chỉ A trong pha

ñịa chỉ thì tín hiệu HREADY chuyển xuống mức thấp và phát HRESP = OKAY

ñể yêu cầu mở rộng quá trình truyền Sau ñó bus tớ tiếp tục giữ HREADY ở mức

thấp, nhưng tín hiệu HRESP chuyển thành ERROR ñể yêu cầu hủy quá trình truyền do có lỗi phát sinh Ở chu kỳ tiếp theo, bus tớ chuyển tín hiệu HREADY lên cao nhưng vẫn giữ HRESP = ERROR ñể hoàn tất quá trình phản hồi lỗi và hủy bỏ ñịa chỉ của khối truyền ñã phát ñi

Trang 33

27

Hình 17 Quá trình truyền có phản hồi truyền ERROR [1]

Một quá trình truyền với phản hồi RETRY ñược minh họa bởi giản ñồ xung ở Hình 18 Trong quá trình truyền này, bus chủ bắt ñầu một quá trình truyền tại ñịa chỉ A Tại chu kỳ xung tiếp theo, bus chủ truyền tiếp ñịa chỉ là A+4, nhưng dữ liệu của A chưa ñược bus tớ xử lý ngay lập tức nên bus tớ phải phát phản hồi RETRY Ở chu kỳ xung T3, bus chủ phát ñi một quá trình ñợi với tín hiệu HTRANS là IDLE ñể huỷ ñịa chỉ A+4 và quay lại ñịa chỉ A trong chu kỳ xung T4 tiếp theo

Hình 18 Quá trình truyền có phản hồi RETRY [1]

Trang 34

28

AHB

3.1 Bài toán thi ế t k ế và mô hình ñề xu ấ t

ðể nghiên cứu và phát triển các ứng dụng kiểu hệ thống trên chip thì việc

xây dựng một nền tảng SoC (SoC platform) là rất cần thiết Với ñịnh hướng phát triển các ứng dụng về ña phương tiện, truyền thông và giám sát môi trường, Phòng thí nghiệm SIS ñang tiến hành xây dựng một SoC với tên gọi COMOSY (Controling Monitoring System) Luận văn này tập trung vào việc nghiên cứu, thiết kế và triển khai một hệ thống bus AHB với mục ñích ñảm bảo ñược các yêu cầu về truyền thông trên chip cho hệ COMOSY, ñồng thời cũng có thể dễ dàng phát triển, mở rộng cho những mục ñích truyền thông trên chip của các dự án tương tự

Hệ thống COMOSY là một hệ thống trên chip ñược phát triển cho các ứng dụng trong lĩnh vực ña phương tiện, giám sát môi trường và có khả năng giao tiếp với mạng máy tính chuẩn Ethernet Hệ thống COMOSY ñược xây dựng bao gồm một vi xử lý 32 bit ñóng vai trò xử lý chính và một số lõi IP thực hiện các chức năng như: khối nhớ, khối giao tiếp ethernet, khối giao tiếp LCD, khối giao tiếp vào/ra và có thể triển khai một khối mã hóa, giải mã chuẩn ảnh JPEG hoặc tín hiệu video trong tương lai Toàn bộ hệ thống ñược mô tả như trong Hình 19

Hình 19 Mô hình kiến trúc hệ thống COMOSY

Từ sơ ñồ khối hệ thống ta nhận thấy rằng số lượng bus chủ và bus tớ cần

sử dụng trong hệ thống là không nhiều Tuy nhiên, ñể ñáp ứng nhu cầu xử lý và

Trang 35

29

truyền dữ liệu với tốc ñộ cao của một hệ thống xử lý ña phương tiện thì việc truyền thông giữa các lõi IP cũng ñặt ra yêu cầu cao về tốc ñộ truyền Chính vì vậy mà hệ thống bus AHB là một sự lựa chọn phù hợp cho vấn ñề truyền thông trên chip ñã ñược nêu ra ở trên

ðể có thể dễ dàng tiếp cận và tìm hiểu phương thức hoạt ñộng của bus

AHB, cũng như ñể dễ dàng xây dựng nên mô hình của hệ thống nên luận văn này chỉ hướng ñến mục tiêu phát triển hai bus chủ và bốn bus tớ trong hệ thống Tuy vậy hệ thống bus này vẫn ñược phát triển ñể có thể mở rộng hỗ trợ giao tiếp lên

ñến 16 bus chủ và 16 bus tớ, cũng như có thể giao tiếp ñược với nhiều loại lõi IP

khác nhau mà không cần phải thay ñổi nhiều về cấu trúc

Hệ thống sau khi ñược thiết kế và mô hình hoá sẽ ñược xây dựng bằng ngôn ngữ mô tả phần cứng VHDL ở mức truyền thanh ghi (RTL) Việc xây dựng

mô hình hệ thống bus ở mức trừu tượng này không chỉ ñể tiến hành kiểm tra,

ñánh giá hoạt ñộng của hệ thống mà còn giúp cho việc tổng hợp phần cứng ñược

tiến hành dễ dàng hơn về sau này

Qua các phân tích, ñánh giá như trên, luận văn ñề xuất mô hình kiến trúc của hệ thống bus AHB cần ñược xây dựng như sau (xem Hình 20):

- Hệ thống sẽ bao gồm 2 bus chủ: bus chủ thứ nhất (M1) và bus chủ thứ hai (M2) Trong hệ thống, bus chủ M2 sẽ kiêm cả vai trò bus chủ mặc ñịnh Bus chủ M2 cũng sẽ có mức ưu tiên thấp hơn bus chủ M1 trong quá trình phân quyền ưu tiên

- Hệ thống bao gồm 4 bus tớ (ký hiệu lần lượt là: S1, S2, S3, S4), trong ñó

có bus tớ S1 có hỗ trợ truyền SPLIT Hệ thống sẽ sử dụng hết 32 bit ñịa chỉ trong bản ñồ ñịa chỉ nên không cần sử dụng ñến bus tớ mặc ñịnh

- ðộ rộng bus của hệ thống ñược giữ cố ñịnh là 32 bit, phù hợp với ñộ rộng

bus của vi xử lý trung tâm ñược sử dụng trong hệ thống COMOSY

- Bus tớ ngoài các tín hiệu mặc ñịnh theo mô tả kỹ thuật của bus AMBA AHB thì ñược ñưa thêm một tín hiệu gọi là HREADY_in Tín hiệu này

ñược lấy từ ñầu ra của bộ phân kênh tín hiệu từ bus tớ tới bus chủ, mục ñích là ñể bus tớ giám sát ñược quá trình truyền ñang diễn ra và biết ñược

lúc nào ñược tham gia vào quá trình truyền dữ liệu

- Các bộ phân kênh tín hiệu sẽ ñược triển khai ñộc lập với bộ phân xử bus

và bộ giải mã ñịa chỉ Việc triển khai này có nhược ñiểm là tăng thêm số lượng các tín hiệu trong hệ thống, nhưng ưu ñiểm là làm cho việc quản lý từng thành phần trong hệ thống ñược dễ dàng hơn, cũng như giúp việc tăng thêm số lượng các bus chủ và bus tớ sẽ ñơn giản hơn mà không cần

Trang 36

30

phải thay ñổi lại cấu trúc của bộ phân xử bus và bộ giải mã ñịa chỉ ðộ phức tạp khi triển khai bộ phân xử và bộ giải mã ñịa chỉ ñộc lập với các bộ phân kênh cũng sẽ giảm ñi ñáng kể so với việc tích hợp chung các thành phần này với nhau

- Bộ phân xử bus vừa thực hiện việc phân quyền truy cập cho các bus chủ,

ñồng thời ñiều khiển các bộ phân kênh tín hiệu ñể ñảm bảo quá trình

chuyển giao tín hiệu ñịa chỉ, ñiều khiển và cũng như tín hiệu dữ liệu ñược thực hiện một cách chính xác Vì vậy, ngoài tín hiệu HMASTER[3:0]

ñược sử dụng ñể báo số ñịnh danh của bus chủ ñang sở hữu bus ñồng thời ñược sử dụng ñể ñiều khiển bộ phân kênh tín hiệu ñịa chỉ và ñiều khiển,

bộ phân xử ñược ñưa thêm hai tín hiệu là MUX_DATA_CTR[3:0] và MUX_S2M ñể ñiều khiển các bộ phân kênh cho các bus tín hiệu ghi và

ñược ñộc lập với lõi IP và khi tích hợp lõi IP với hệ thống bus thì không

cần phải sửa lại cấu trúc của hệ thống Các tín hiệu bắt tay này bao gồm: tín hiệu yêu cầu, tín hiệu hồi ñáp, các tín hiệu về ñịa chỉ và dữ liệu… ñể giúp lõi IP có thể bắt tay và trao ñổi dữ liệu với bus chủ, bus tớ Các tín hiệu này sẽ ñược mô tả cụ thể trong các phần sau

Trang 37

31

Hình 20 Mô hình của hệ thống bus AHB ñược ñề xuất

Trong mô hình này, bộ xử lý bus ñóng vai trò ñầu não của hệ thống và quyết ñịnh hiệu năng làm việc của hệ thống trong từng ứng dụng cụ thể Mô hình phân quyền của bộ phân xử bus với các mức ưu tiên khác nhau sẽ ñược mô tả như trong phân mục 3.1.1 dưới ñây

3.1.1 Mô hình phân quy  n c  a b  phân x bus

Do hệ thống bus ñược xây dựng chỉ bao gồm hai bus chủ và hệ thống có

hỗ trợ truyền RETRY và SPLIT nên mô hình phân quyền của bộ phân xử cũng

ñược thiết kế theo mục tiêu phân quyền ưu tiên giữa hai bus chủ, ñồng thời giám

sát quá trình truyền ñể thay ñổi thứ tự ưu tiên của hệ thống khi có một yêu cầu RETRY hoặc SPLIT từ bus tớ

Trang 38

- Nếu bus chủ M1 ñang thực hiện truyền khối và có một yêu cầu RETRY thì mức ưu tiên truy cập của hệ thống là không thay ñổi Bus chủ M1 vẫn giữ quyền truy cập bus và thực hiện việc truyền lại ñịa chỉ vừa phát ra Tuy nhiên, nếu bus chủ M2 ñang thực hiện một quá trình truyền khối và cũng bị yêu cầu RETRY từ bus tớ thì nó có thể phải trả lại quyền truy cập cho bus chủ M1 nếu bus chủ này ñang yêu cầu ñược truy cập bus

- Nếu một trong hai bus chủ ñang thực hiện truyền khối và có yêu cầu SPLIT từ bus tớ thì lúc này quyền truy cập bus sẽ ñược chuyển cho bus chủ kia Nếu sau yêu cầu SPLIT mà không có bus chủ nào muốn thực hiện một quá trình truyền thì bộ phân xử sẽ chuyển quyền truy cập cho bus chủ mặc ñịnh (M2)

Bên cạnh mô hình phân quyền vừa ñược ñề xuất như ở trên thì vẫn còn tồn tại nhiều thuật toán khác ñể phân quyền ưu tiên trong hệ thống bus AHB Việc sử dụng các thuật toán phân quyền khác nhau sẽ ảnh hưởng khác nhau ñến hiệu năng của hệ thống Do ñó việc xây dựng các thuật toán phân quyền và ñánh giá hiệu suất hệ thống giữa các mô hình ñó là một trong những hướng phát triển quan trọng tiếp theo của luận văn này

Ngoài việc ñề xuất ra mô hình phân quyền bus cho riêng hệ thống vừa

ñược thiết kế, luận văn này còn ñề xuất xây dựng một giao diện ghép nối giữa

bus chủ và bus tớ với các lõi IP ñể cho phép phát triển hệ thống bus hoàn toàn

ñộc lập với các lõi IP (như ñã ñược trình bày trước trong phần ñặc tả hệ thống)

Vì vậy các phần tiếp theo sẽ trình bày cụ thể về các tín hiệu bắt tay giữa bus chủ, bus tớ và các lõi IP

Trang 39

33

3.1.2 Mô hình giao ti p gi a bus ch  và lõi IP

ðể thực hiện việc bắt tay giữa bus chủ và lõi IP, sau khi tham khảo chuẩn

giao tiếp mở của OpenCore [12], luận văn này ñề xuất giao diện ghép nối giữa bus chủ và lõi IP ñược mô tả như ở Hình 21 ðiểm tương ñồng giữa các tín hiệu giao tiếp này với chuẩn của OpenCore là có sử dụng các tín hiệu ñể yêu cầu và chấp nhận (IP_REQ và MAS_ACK) ñể thực hiện quá trình bắt tay Tín hiệu về quá trình truyền cần thực hiện (REQ_DATA) và tín hiệu thông báo trạng thái thành công của quá trình truyền (Valid_W và Ready_R) cũng hoạt ñộng tương tự như với chuẩn của OpenCore Bên cạnh ñó, luận văn ñề xuất ñưa thêm các tín hiệu phản hồi từ bus chủ (Ready_IP và ERROR), ñồng thời tách bus dữ liệu ra thành bus ñọc và bus ghi ñể phù hợp với hệ thống bus AHB Các tín hiệu giao tiếp này ñược mô tả chi tiết như sau

Hình 21 Tín hiệu bắt tay giữa bus chủ và lõi IP

ðể yêu cầu một quá trình truyền trên hệ thống bus, lõi IP sẽ gửi tín hiệu

yêu cầu IP_REQ và dữ liệu về quá trình trình truyền cần thực hiện REQ_DATA[3:0] ñến bus chủ Bus chủ sẽ xử lý các tín hiệu và gửi ñi yêu cầu truy cập cũng như thông tin về quá trình truyền cần thực hiện Khi bus chủ ñược

bộ phân xử cấp quyền truy cập bus thì nó sẽ phản hồi cho lõi IP biết thông qua tín hiệu MAS_ACK

Sau khi ñược bus chủ ñược phép sử dụng bus, lõi IP sẽ cung cấp các tín hiệu ñịa chỉ HADDRip và tín hiệu thông báo quá trình là quá trình ñọc hoặc ghi

dữ liệu HWRITEip Các dữ liệu của quá trình ñọc hoặc ghi sẽ ñược lõi IP truyền cho bus chủ thông qua bus ñọc dữ liệu HRDATAip hoặc bus ghi dữ liệu HWDATAip Các dữ liệu này sẽ ñược ñưa lên bus chủ cũng lúc với tín hiệu ñịa chỉ HADDRip Việc xử lý quá trình truyền sau ñó sẽ ñược bus chủ ñảm trách

Trang 40

34

Trong quá trình truyền, lõi IP có thể thông báo cho bus chủ biết dữ liệu ghi ñã

ñược sẵn sàng hay chưa thông qua tín hiệu Valid_W, cũng như thông báo dữ liệu

ñã ñọc thành công thông qua tín hiệu Ready_R Ngược lại, bus chủ cũng có thể

thông báo lại cho lõi IP biết về tình trạng của quá trình truyền thông qua các tín hiệu Ready_IP và ERROR Hoạt ñộng của các tín hiệu này sẽ ñược mô tả cụ thể trong phần mô tả tín hiệu của bus chủ (3.2.1)

3.1.3 Mô hình giao ti p gi a bus t  và lõi IP

Các tín hiệu giao tiếp bắt tay giữa bus tớ và lõi IP cũng ñược ñề xuất tương tự như với các tín hiệu bắt tay của bus chủ Các tín hiệu này cũng ñược mô

tả cụ thể trong Hình 22

Hình 22 Tín hiệu bắt tay giữa bus tớ và lõi IP

Khi bus tớ ñược chọn ñể tham gia vào một quá trình truyền, nó sẽ thông báo cho lõi IP biết thông qua tín hiệu yêu cầu SL_REQ Bus tớ cũng sẽ cung cấp tín hiệu hướng truyền (quá trình ñọc hoặc ghi) thông qua tín hiệu HWRITEip và tín hiệu ñịa chỉ HADDRip Lõi IP sẽ thông báo tình trạng sẵn sàng truyền dữ liệu thông qua tín hiệu IP_OKAY Các tín hiệu dữ liệu ñọc và dữ liệu ghi sẽ ñược truyền thông qua bus HRDATAip và HWDATAip

Trong quá trình truyền, lõi IP có thể tạm ngừng việc ñọc hoặc ghi dữ liệu

ñể có thêm thời gian xử lý thông qua các tín hiệu IP_OKAY, IP_RETRY hoặc

IP_SPLIT Tín hiệu IP_ERROR ñược lõi IP sử dụng ñể thông báo cho bus tớ biết một quá trình ñọc hoặc ghi ñã thất bại Bus tớ cũng sẽ thông báo cho lõi IP biết trạng thái bận của hệ thống thông qua tín hiệu SL_Ready Hoạt ñộng của các tín hiệu bắt tay này cũng sẽ ñược ñề cập một cách cụ thể ở phần mô tả tín hiệu của bus tớ (3.3.1)

... từ bus chủ (Ready_IP ERROR), ñồng thời tách bus liệu thành bus ñọc bus ghi ñể phù hợp với hệ thống bus AHB Các tín hiệu giao tiếp mơ tả chi tiết sau

Hình 21 Tín hiệu bắt tay bus. .. trình truyền hệ thống bus, lõi IP gửi tín hiệu

yêu cầu IP_REQ liệu q trình trình truyền cần thực REQ_DATA[3:0] đến bus chủ Bus chủ xử lý tín hiệu gửi u cầu truy cập thơng tin trình truyền. .. đọc ghi lõi IP truyền cho bus chủ thơng qua bus ñọc liệu HRDATAip bus ghi liệu HWDATAip Các liệu ñược ñưa lên bus chủ lúc với tín hiệu địa HADDRip Việc xử lý q trình truyền sau bus chủ ñảm trách

Ngày đăng: 25/03/2015, 11:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. ARM Limited (1999), AMBA™ Specification (Rev 2.0) Sách, tạp chí
Tiêu đề: AMBA™ Specification
Tác giả: ARM Limited
Năm: 1999
[2]. Cohen, B. (2002), VHDL Coding Styles and Methodologie, Kluwer Academic Publishers, New York, Boston, Dordrecht, London, Moscow Sách, tạp chí
Tiêu đề: VHDL Coding Styles and Methodologie
Tác giả: Cohen, B
Năm: 2002
[5]. Kanishka Lahiri and Anand Raghunathan (2004), Power Analysis of System-Level On-Chip Communication Architectures, Hardware/software codesign and system synthesis, International conference on , pp236-241 Sách, tạp chí
Tiêu đề: Hardware/software codesign and system synthesis, International conference on
Tác giả: Kanishka Lahiri and Anand Raghunathan
Năm: 2004
[6]. L.Perry, D. (2002), VHDL Programming by Example, McGraw Hill Sách, tạp chí
Tiêu đề: VHDL Programming by Example
Tác giả: L.Perry, D
Năm: 2002
[7]. M. Caldari and M. Conti and M. Coppola and P. Crippa and S. Orcioni and L. Pieralisi and C. Turchetti (2003). System-Level Power Analysis Methodology Applied to the AMBA AHB Bus. Design, Automation and Test in Europe Conference and Exhibition , p20032 Sách, tạp chí
Tiêu đề: Design, Automation and Test in Europe Conference and Exhibition
Tác giả: M. Caldari and M. Conti and M. Coppola and P. Crippa and S. Orcioni and L. Pieralisi and C. Turchetti
Năm: 2003
[9]. Massimo Conti and Marco Caldari and Giovanni B. Vece and Simone Orcioni and Claudio Turchetti (2004). Performance Analysis of Different Arbitration Algorithms of the AMBA AHB Bus. Design Automation Conference , 0, pp618-621 Sách, tạp chí
Tiêu đề: Design Automation Conference , 0
Tác giả: Massimo Conti and Marco Caldari and Giovanni B. Vece and Simone Orcioni and Claudio Turchetti
Năm: 2004
[14]. P.Chu, P. (2006), RTL Hardware Design Using VHDL, A John Wiley & Sons.Inc, Hoboken, New Jersey Sách, tạp chí
Tiêu đề: RTL Hardware Design Using VHDL
Tác giả: P.Chu, P
Năm: 2006
[15]. Pedroni, V. A. (2004), Circuit Design with VHDL, MIT Press, Cambridge, Massachusetts Sách, tạp chí
Tiêu đề: Circuit Design with VHDL
Tác giả: Pedroni, V. A
Năm: 2004
[16]. Rishad A. Shafik and Paul Rosinger and Bashir M. Al-Hashimi (2008), MPEG-based Performance Comparison between Network-on-Chip and AMBA MPSoC, Design and Diagnostics of Electronic Circuits and Systems , pp1-6 Sách, tạp chí
Tiêu đề: Design and Diagnostics of Electronic Circuits and Systems
Tác giả: Rishad A. Shafik and Paul Rosinger and Bashir M. Al-Hashimi
Năm: 2008
[17]. Samir Palnitkar (2003), Verilog HDL: A Guide to Digital Design and Synthesis, Prentice Hall PTR Sách, tạp chí
Tiêu đề: Verilog HDL: A Guide to Digital Design and Synthesis
Tác giả: Samir Palnitkar
Năm: 2003
[18]. Smith, M. J. (1997), Application – SpecificIntegrated Circuits (ASICs the book), Addison-Wesley Sách, tạp chí
Tiêu đề: Application – SpecificIntegrated Circuits (ASICs the book)
Tác giả: Smith, M. J
Năm: 1997
[20]. Sudeep Pasricha and Nikil Dutt (2008), On-Chip Communication Architectures-System on Chip Interconnect, Elsevier Inc Sách, tạp chí
Tiêu đề: On-Chip Communication Architectures-System on Chip Interconnect
Tác giả: Sudeep Pasricha and Nikil Dutt
Năm: 2008
[21]. Integrated_circuit, http://en.wikipedia.org/ Sách, tạp chí
Tiêu đề: Integrated_circuit
[23]. Transistor_count, http://en.wikipedia.org/ Sách, tạp chí
Tiêu đề: Transistor_count
[4]. Intel Corporation (2007), Introducing the 45nm Next-Generation Intel Core Microarchitecture Khác
[11]. Naser Sedaghati (2006), Reconfiguration architecture for AMBA AHB bus Khác
[12]. OCP-IP Association (2008), Open Core Protocol Specification 2.2 Khác
[13]. Open Verilog International (1996), Verilog-A hardware description language Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w