Các phần tử tích hợp sẵn Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví d ụ ể thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của
Trang 1LỜI CAM ĐOAN
T i xin m o n t i nghi n ứu ủ t i ho n to n o t i tự l m ưới sự
hướng n ủ thầy giáo Ts Nguyễn Kim Khánh, Viện công nghệ thông tin và truy n
thông - Đại học Bách Khoa Hà Nội C số liệu kết quả tr nh y trong lu n v n l
ho n to n trung thự v hư t ng ượ ng ố trong ất ứ ng tr nh n o
Các tài liệu tham khảo sử dụng trong lu n v n u ược d n nguồn (có bảng
thống kê các tài liệu tham khảo) hoặ ược sự ồng ý trực tiếp của tác giả
Nếu xảy ra bất cứ i u kh ng úng như những lời m o n tr n t i xin hịu
hoàn toàn trách nhiệm trước Viện v Nh trường
Hà Nội, ngày 18 tháng 12 năm 2013 Tác giả
Trần Văn Tiến
Trang 2LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp này, tôi xin gửi lời cảm ơn chân thành nhất tới tập thể các thầy giáo, cô giáo trường Đại học Bách Khoa Hà Nội nói chung, viện Công nghệ thông tin và Truyền thông, bộ môn Kĩ thuật máy tính, đã đào tạo cho tôi những kiến thức, những kinh nghiệm qúy báu trong suốt thời gian học tập và rèn luyện
Tôi xin chân thành cảm ơn sự giúp đỡ của thầy Nguyễn Kim Khánh Trong quá trình thực hiện đề tài thầy đã luôn tận tình hướng dẫn, gợi cho tôi nhiều ý tưởng để hoàn thành luận văn một cách tốt nhất
Cuối cùng là lời cảm ơn chân thành nhất tới gia đình, bạn bè đã động viên, góp
ý và tạo mọi điều kiên tốt nhất để tôi có thể hoàn thành luận văn tốt nghiệp này
Tuy nhiên, do thời gian và trình độ có hạn nên đồ án này chắc chắn không tránh khỏi những thiếu sót, tôi rất mong được sự đóng góp ý kiến của các thầy, các cô và toàn thể các bạn Tôi xin chân thành cảm ơn
Hà Nội, ngày 18 tháng 12 năm 2013
Tác giả:
Trần Văn Tiến
Trang 3MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ 6
DANH MỤC CÁC HÌNH 7
DANH MỤC CÁC BẢNG 9
MỞ ĐẦU 10
1 Lý do chọn đề tài 10
2 Lịch sử nghiên cứu 10
3 Mục đích, đối tượng và phạm vi nghiên cứu 10
4 Tóm tắt các luận điểm cơ bản và đóng góp của đồ án 10
5 Phương pháp nghiên cứu 11
NỘI DUNG 12
CHƯƠNG 1 TỔNG QUAN VỀ SYSTEM ON CHIP (SOC) 12
1.1 Cơ sở lý thuyết 12
1.1.1 Sự r ời của SOC [2] 12
1 1 2 SoC v ặ iểm 14
1.1.3 Công cụ lựa chọn 16
1.2 Quy trình thiết kế System on Chip 17
1 2 1 Gi i oạn thiết kế Front end 18
1 2 2 Gi i oạn thiết kế Back end 21
CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ FPGA 22
2.1 Giới thiệu về FPGA [1][4] 22
2.2 Kiến trúc chung của một FPGA 23
1.2.1 Khối logic FPGA 23
1.2.2 Hệ thống mạch liên kết 24
1.2.3 Các phần tử tích hợp sẵn 25
2.3 Ngôn ngữ phần cứng HDL 25
Trang 42.3.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL 25
2.3.3 Cấu trúc một mô hình hệ thống mô tả bằng VHDL 27
2.3.4 Trình tự thiết kế một chíp dựa trên VHDL 31
CHƯƠNG 3 THIẾT KẾ SYSTEM ON CHIP VÀ THỰC HIỆN BẰNG FPGA 32
3.1 Thiết kế SoC 32
3 3 1 Sơ ồ tổng quan thiết kế 32
3.3.2 Giới thiệu các thành phần [1] 32
3.3.2.1 Bộ vi xử lý 32
3.3.2.2.Bộ nhớ 33
3.3.2.3 Kết nối 36
3.3.2.4.Các tiêu chuẩn giao tiếp vào ra 37
3.2 Cài đặt thử nghiệm 41
3 2 1 Sơ ồ thiết kế 41
3.2.2 Thiết kế MIPS 41
3.2.2.1 Lệnh trong MIPS 42
3.2.2.2 Các khối ơ ản 45
3.2.2.2.1 Khối PC: 45
3.2.2.2.2 Khối Instruction Memory: 45
3.2.2.2.3 Khối ADD 46
3.2.2.2.4 Khối mux2x5to5 46
3.2.2.2.5 Khối mux2x32to32 46
3.2.2.2.6 Khối register file 47
3.2.2.2.7 Khối ALU 48
3.2.2.2.8 Khối Data Memory 48
3.2.2.2.9 Khối Sign Extend 49
3.2.2.3 Các khối i u khiển 51
3.2.2.3.1 The Control Unit 51
3.2.2.3.2 ALU Control 53
3 2 2 4 Sơ ồ khối MIPS Processor 55
Trang 53 2 2 5 X ịnh các xung Clock 55
3.2.2.6 Kiểm tra hệ thống 57
3 2 2 6 1 C i ặt file trên hệ thống 57
3 2 2 6 2 Sơ ồ Netlist 60
3.2.2.6.3 Mô phỏng 60
3.2.2.4 Xây dựng khối hiển thị LCD 61
3.2.2.5 Xây dựng khối hiển thị VGA 62
3.2.2.5.1 Giới thiệu VGA 62
3.2.2.5.2 Kỹ thu t hiển thị Video 63
3.2.2.5.3 Video Refress 64
3.2.2.5 4 FPGA ự tr n thế hệ tín hiệu VGA 66
3.2.2.5.5 Char – Rom 67
3.2.2.5.6 Sơ ồ hiển thị kí tự trên VGA 68
3.2.2.6 Kết quả thực hiện trên kit De2 69
CHƯƠNG 4 KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 74
Trang 6DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ
2 FPGA Field-programmable gate array
4 ADC Analog to Digital Converter
5 DAC Digital to Analog Converter
6 SOPC System on a Programmable Chip
8 RTL Register-transfer level
Trang 7DANH MỤC CÁC HÌNH
HÌNH 1.1 SỰ GIA TĂNG MẬT ĐỘ TRANSITOR 12
HÌNH 1.2 GIẢM GIÁ THÀNH SẢN PHẨM 13
HÌNH 1 3 MÔ HÌNH CƠ BẢN SOC 14
HÌNH 1.4 QUY TRÌNH THIẾT KẾ SOC 17
HÌNH 1.5 RTL CODING 18
HÌNH 1.6 DYNAMIC VERIFICATION 19
HÌNH 1.7 SYNTHESIS AND SCAN INSERTION 20
HÌNH 1.8 FORMAL VERIFICATION 21
HÌNH 2.1 CẤU TRÚC TỔNG THỂ CỦA MỘT FPGA 23
HÌNH 2.2 KHỐI LOGIC 24
HÌNH 2.3 KIẾN TRÚC THỰC MỘT THỂ ENTITY 28
HÌNH 2.4 VÍ DỤ CỦA MỘT MÔ HÌNH VHDL CÓ THỨ BẬC 29
HÌNH 2.5 KIẾN TRÚC THỰC THỂ TESSTBENCH 30
HÌNH 2.6 QUY TRÌNH THIẾT KẾ CHIP DỰA TRÊN VHDL 31
HÌNH 3 1 SƠ ĐỒ TỔNG QUAN THIẾT KẾ SOC 32
HÌNH 3.3 AMBA BUS 36
HÌNH 3.4 CORECONNECT BUS 37
HÌNH 3.5 PARALLEL PORT TRANSFER OF AN 8-BIT DATA VALUE 38
HÌNH 3.6 RS-232C SERIAL INTERFACE TRANSMISSION OF AN 8-BIT DATA VALUE 39
HÌNH 3.7 THE TWO SPI SLAVE DEVICECONFIGURATION OPTIONS 40
HÌNH 3.8 I2C INTERFACE SERIAL TRANSMISSION OF AN 8-BIT DATA VALUE 40
HÌNH 3 10 ĐỊNH DẠNG LỆNH MIPS 42
HÌNH 3.11 CON TRỎ PC 45
HÌNH 3.12 KHỐI INSTRUCTION MEMORY 45
Trang 8HÌNH 3.13 BỘ CỘNG 46
HÌNH 3.16 KHỐI INSTRUCTION FETCH STAGE 47
HÌNH 3.17 KHỐI REGISTER FILE 48
HÌNH 3.18 KHỐI ALU 48
HÌNH 3.22 KHỐI CU 51
HÌNH 3 23 SƠ ĐỒ KHỐI MIPS 55
HÌNH 3 24 CÀI ĐẶT FILE 59
HÌNH 3.25 NETLIST 60
HÌNH 3.26 KẾT QUẢ MÔ PHỎNG 60
HÌNH 3.28 VGA IMAGE - 640 BY 480 PIXEL LAYOUT 65
HÌNH 3.29 VERTICAL SYNC SIGNAL TIMING FOR 640 BY 480 AT 60HZ 65
HÌNH 3.30 HORIZONTAL SYNC SIGNAL TIMING FOR 640 BY 480 AT 60HZ 66 HÌNH 3.31 FPGA BASED GENERATION OF VGA VIDEO SIGNALS 67
HÌNH 3.32 TRUY CẬP FONT KÍ TỰ SỬ DỤNG ROM 67
HÌNH 3 33 SƠ ĐỒ VGA 68
HÌNH 3.23 TỔNG HỢP HỆ THỐNG 69
HÌNH 3.35 KẾT QUẢ HIỂN THỊ TRÊN LCD 70
HÌNH 3.36 KẾT QUẢ HIỂN THỊ VGA 71
Trang 9DANH MỤC CÁC BẢNG
BẢNG 1.1 CÁC CÔNG CỤ PHÁT TRIỂN 16
BẢNG 3 1 ĐẶC TÍNH CỦA SOFT CORE 33
BẢNG 3.2 SO SÁNH SỰ KHÁC BIỆT CÁC BỘ NHỚ 35
BẢNG 3.3 BẢNG LỆNH MIPS 43
BẢNG 3.4 MÔ TẢ TÍN HIỆU CU 52
BẢNG 3.5 CÁC CHÂN LCD 62
BẢNG 3.6 BẢNG CÁC CHÂN VGA 68
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Hệ thống trên chip SoC (System on Chip) l xu hướng phát triển mới cho các sản phẩm iện tử ngày nay Mụ í h l ư tất cả các module với các chứ n ng kh nhau lên cùng một chip sử dụng công nghệ FPGA Và ngày càng có nhi u công ty chuyên thiết kế các module riêng biệt ho phép người thiết kế hệ thống lựa chọn các module phù hợp với yêu cầu, tích hợp vào hệ thống và xây dựng ứng dựng cho sản phẩm mà không phải xây dựng chi tiết t ầu t ng module riêng lẻ T những xu hướng phát trển thực tế, do v y tôi chọn tài : Thiết kế SoC (System on Chip) và thực hiện bằng FPGA ể nghiên cứu tìm hiểu cách thức thực hiện xây dựng hệ thống SoC, tìm hiểu công nghệ FPGA T ó ó ược tài liệu ể các bạn học viên tiếp tục nghiên cứu phát triển hệ thống System on Chip
2 Lịch sử nghiên cứu
Lu n v n ược thực hiện ưới sự hướng d n của thầy giáo Ts Nguyễn Kim Khánh, Viện Công nghệ thông và Truy n thông-Đại học Bách Khoa Hà Nội Lu n v n
ượ hướng d n xem xét i u chỉnh, báo cáo theo lị h u ặn 2 tuần/ lần với giáo
vi n hướng d n Lu n v n ược bắt ầu nghiên cứu t tháng 3/2013 và hoàn thành vào tháng 09/2013
3 Mục đích, đối tượng và phạm vi nghiên cứu
Tìm hiểu ược quy trình xây dựng và thiết kế SoC Tìm hiểu công nghệ FPGA Tìm hiểu thiết kế Mips Processor Thực nghiệm trên kit De2
4 Tóm tắt các luận điểm cơ bản và đóng góp của đồ án
Mục tiêu chính của lu n v n l nghi n ứu hệ thống System on Chip, quy trình thiết kế System on Chip, tìm hiểu công nghệ FPGA Tìm hiểu thiết kế Mips Processor, tìm hiểu thiết kế module hiển thị LCD và VGA trên kid De2 Thực hiện kết quả trên kit De2
Bố cục của lu n v n tốt nghiệp
Trang 11Chương 1: Tổng quan v hệ thống SoC
Trình bày tổng quan v System on Chip, các quy trình thiết kế v hướng i ủa
lu n v n trong xây ựng thiết kế hệ thống SoC
Chương 2 : Công nghệ FPGA
Trình bày công nghệ FPGA, kiến trúc FPGA
Chương 3 : Thiết kế System on Chip và thực hiện bằng FPGA
Thiết kế hệ thống SoC
Thiết kế Mips Processor
Thiết kế module hiển thị LCD và VGA
Thực nghiệm trên FPGA kit De2
Chương 4 : Kết lu n
5 Phương pháp nghiên cứu
Lu n v n ược nghiên cứu dự tr n ơ sở lý thuyết t các tài liệu v SoC, các tài liệu, datasheet v các khối, các website và bài báo cần thiết ể phát triển lu n v n Các kết quả của lu n v n ược thực hiện trên bộ phần m m của Altera : Quatus và NiosII
Trang 12NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ SYSTEM ON CHIP (SoC)
1.1 Cơ sở lý thuyết
1.1.1 Sự ra đời của SOC [2]
Trong 40 n m qu ã ó sự tiến bộ kinh ngạ trong kĩ thu t silicon và kết quả là
sự t ng nhanh m t ộ và hiệu n ng ủa transitor
Hình 1.1 Sự gi t ng m t ộ transitor Biểu ồ cho thấy sự tiến bộ không ng ng trong việc cải tiến m t ộ transistor và ồng thời với ó l sự giảm v giá thành thiết bị
Trang 13Hình 1.2 Giảm giá thành sản phẩm Những công nghệ sản xuất tiên tiến có thể sản xuất các chíp ngày nay có thể chứa tới 100 triệu tr nsitor kí h thước củ tr nsitor ượ o ằng nanometer, và xấp xỉ
18 tháng số lượng transitor trên mỗi chip lại t ng l n gấp i (Moore’s law) Và kết
quả là rất nhi u các Component (module) bây giờ ược tích hợp trên cùng một Printed Circuit Board do v y tạo ra sự phát triển lĩnh vực thiết kế SOC [2]
Trang 141.1.2 SoC và đặc điểm
Hình 1.3 M h nh ơ ản SoC Hình 1.3 minh họa một số những yếu tố ơ ản của một hệ thống SoC Chúng bao gồm một số lượng ạng các xử lý ể kết nối ến một hoặc nhi u thành phần bộ nhớ cùng với một dãy các cấu hình logic Thường xuyên, SoC ũng có mạ h tương tự ể quản lý
dữ liệu cảm biến và chuyển ổi tương tự ến kỹ thu t số, hoặc ể hỗ trợ truy n dữ liệu không dây.[2]
Ví dụ, một SoC ho iện thoại thông minh sẽ cần phải hỗ trợ, thêm vào ầu vào âm thanh và khả n ng ầu ra cho một iện thoại truy n thống, chứ n ng truy p internet
và phương tiện truy n thông video, xử lý tài liệu, và giải trí phương tiện chẳng hạn như trò hơi và phim ảnh
Trang 15- SoC là một hệ thống bao gồm Chip + Software + Integration
o SoC chip bao gồm Embedded Processor, ASIC Logics và các mạ h tương tự
o SoC software bao gồm OS, compiler, simulator, firmware, driver, protocol stackIntegrSted development environment (debugger, linker, ICE)Application interface (C/C++, assembly)
o SoC integration bao gồm giải pháp tổng thể cho hệ thống, các kỹ thu t hỗ trợ
v ặc tả của nhà sản xuất
- Điểm iểm :
o Quá trình phát triển SoC nh nh hơn so với phát triển ASIC
o Có một Bus kết nối chuẩn (SoC interconnection) trong hệ thống và tất cả các Component giao tiếp với nhau cần ược kết nối tới hệ thống Bus này thông qua các Interface Một số hệ thống Bus :
AMBA (Advanced Microcontroller Bus Architecture)
APB (Advanced Peripheral Bus)
ASB (Advanced System Bus)
AHB (Advanced High Performance Bus)
o Các Component (hay còn gọi l Core) n y ó ặ iểm là khả n ng sử dụng lại ược phát triển bởi nhà sản xuất IP ven or…
Soft Core : linh ộng, tính tái sử dụng, dễ tích hợp
Firm Core : m ng ặc tính của cả hai SoftCore và HardCore
Hard Core : Hiệu suất ,tố ộ hoạt ộng cao
Trang 16- Nhƣợ iểm :
o Mở rộng ộ phức tạp của hệ thống
o Mở rộng yêu cầu kiểm tra (verification) cho toàn bộ hệ thống
- Ứng dụng của SoC trong lĩnh vực :
o Xử lý tín hiệu tiếng nói
o Xử lý tín hiệu âm thanh và hình ảnh
o Công nghệ thông tin:
PC interface (USB, PCI,PCI-Express, IDE, etc) Computer peripheries (printer control, LCD monitor controller, DVD controller,.etc)
SOPC Builder Xây ựng hệ thống SoC
ụng NIOS II IDE
Trang 171.2 Quy trình thiết kế System on Chip
Check Timing
Check Functions
Floorplanning
Place and Route
post-layout STA
Functions with Timing
Tape-out Fail
Pass
Hình 1.4 Quy trình thiết kế SoC
Trang 181.2.1 Giai đoạn thiết kế Front end
Gi i oạn thiết kế Front End thực hiện việc xây dựng thiết kế v mặt lu n lý như viết mã, mô phỏng kiểm tra, thiết ặt các ràng buộc, phân tích thời gian v.v [7]
Functional Specification
Chip r ời xuất phát t những ứng dụng thực tế người thiết kế t mụ í h ủa ứng dụng v ý tưởng phải phác thảo ra bảng mô tả chi tiết thông số kỹ thu t ũng như những tính n ng m thiết kế cần ạt ược Bảng thông số kỹ thu t cho biết những ặc iểm của thiết kế như tần số hoạt ộng i u kiện iện áp, nhiệt ộ và các mối quan hệ ịnh thời trong thiết kế
Define Architecture
T bảng mô tả chi tiết thông số kỹ thu t của thiết kế người thiết kế sẽ phác họa
sơ ồ khối cho thiết kế bao gồm nhi u khối Logic kết nối với nhau, mỗi khối Logic thực hiện một chứ n ng nhất ịnh trong thiết kế
RTL Coding
S u khi ó sơ ồ khối của thiết kế với các khối Logic kết nối với nh u người thiết kế sẽ tiến hành viết mã RTL cho t ng khối Logi ó Viết mã RTL l gi i oạn quan trọng, viết mã RTL ngoài việ ảm bảo úng hứ n ng Logi òn phải thỏa mãn phần cứng yêu cầu trong thiết kế (Flip Flop L t h Mux …)
Hình 1.5 RTL Coding
Dynamic Verification
S u gi i oạn viết mã RTL thiết kế sẽ ược mô phỏng ộng bằng h ư các tín hiệu vào và nh n tín hiệu ra sau khi mô phỏng Vì chứ n ng thiết kế là hoàn toàn
Trang 19x ịnh trước nên ứng với một tín hiệu ngõ v o x ịnh người thiết kế có thể biết ược ngõ ra mong muốn, so sánh tín hiệu ngõ ra với tín hiệu ngõ ra mong muốn ể kiểm tra mã RTL có thỏa chứ n ng ủa thiết kế hay không Nếu hư thỏa phải kiểm tra lại mã RTL.Việc kiểm tr n y kh ng qu n tâm ến thông số thời gi n ịnh thời của thiết kế, chỉ thuần túy v mặt chứ n ng
Chương tr nh viết ể ư tín hiệu ngõ vào và nh n tín hiệu ngõ ra mong muốn ược gọi l Test en h Test en h ũng ược viết bằng ngôn ngữ mô tả phần cứng ể giao tiếp với thiết kế cần mô phỏng
Hình 1.6 Dynamic Verification Synthesis and Scan Insertion
S u khi ã ảm bảo v chứ n ng ủa thiết kế, thiết kế sẽ ược chuyển qua giai oạn Synthesis và Scan Insertion
Synthesis là quá trình dùng phần m m ể biên dịch mã RTL sang Gate-level Netlist bằng cách kết hợp với các ràng buộc v i u kiện m i trường, ràng buộc thời
gi n ể tương t với phần m m nhằm mụ í h họn r Cell trong thư viện thỏa
i u kiện ràng buộc của thiết kế Trong quá trình này phần m m sẽ cố gắng tối ưu
ể thỏ i u kiện ràng buộc Phần m m củ Synopsys thường ược sử dụng là Design Compiler (viết tắt là DC)
Những thiết kế ngày nay bao gồm cả thiết kế cho việc kiểm tra lỗi Silicon của quá trình sản xuất, kỹ thu t này gọi là Design For Test (DFT) Một trong những
Trang 20phương ph p ủa kỹ thu t DFT l S n Insertion phương ph p n y sẽ tạo nên trong thiết kế những cấu trúc dùng riêng cho việc kiểm tra lỗi Silicon
Hình 1.7 Synthesis and Scan Insertion STA (Static Timing Analysis)
Thiết kế s u khi ược Synthesis phải ảm bảo úng v mặt chứ n ng thỏa mãn các thông số v t lý và phải hoạt ộng ở một tố ộ nhất ịnh ây chính là tố ộ yêu cầu của thiết kế
STA l gi i oạn phân tích v mặt thời gian của thiết kế sau khi Synthesis, phần
m m sử dụng l PrimeTime ho phép phân tí h ộ tr hoãn qu ường truy n tín hiệu trong thiết kế Kết quả phân tích sẽ là các báo cáo người thiết kế dựa vào các bảng o o n y ể xem tố ộ hoạt ộng của thiết kế ó ạt yêu cầu hay không Trong thực tế qu tr nh STA ược lặp i lặp lại nhi u lần với Synthesis ho ến khi các yêu cầu v thời gian của thiết kế ược thỏa mãn
STA gồm h i gi i oạn: layout STA và post-l yout STA Gi i oạn
pre-l yout STA ảm bảo thiết kế thỏa mãn các yêu cầu v thời gian sau quá trình Synthesis Gi i oạn post-l yout STA ảm bảo thiết kế v n thỏa v thời gian sau khi Back End thiết ặt các giá trị thực v R, C của các Cell và các dây nối
Formal Verification
Form l Verifi tion l gi i oạn nhằm ảm bảo tính chính xác v mặt chứ n ng của thiết kế kh ng xem xét ến thông số ịnh thời và thông số v t lý của thiết kế Không giống như Dyn mi Verifi tion Form l Verifi tion kh ng ư tín hiệu cụ thể v o ể kiểm tra mà thực hiện phương ph p to n họ ể so sánh nhằm ảm bảo
Trang 21Gate-level Netlist của thiết kế sau khi Synthesis v n ảm bảo úng hứ n ng so với
mã RTL n ầu
Nếu kết quả s u gi i oạn Formal Verification v n ảm bảo úng hứ n ng so
với mã RTL n ầu thì chuyển s ng gi i oạn thiết kế B k En Ngược lại thì kiểm
tra lại quá trình Synthesis
Hình 1.8 Formal Verification 1.2.2 Giai đoạn thiết kế Back end
Floorplanning
Floorplanning là quá trình sắp xếp các khối trong vùng die hay bên trong các
khối khác và giữa chúng phải ó ịnh nghĩ vùng ùng ể i ây
Quá trình Floorplanning có ảnh hưởng rất lớn ến hiệu suất v ịnh thời của mạch,
nhất l ối với những thiết kế phức tạp
Chất lượng Floorplanning ảnh hưởng ng kể ến chất lượng thiết kế của chúng ta
Place and Route
Pl e n Route l qu tr nh ặt các Cell và kết nối dây dựa trên kết nối v mặt
Logic giữa các Cell trong Gate-level Netlist Sau khi hoàn tất việ ặt các Cell và kết
nối dây sẽ tiến h nh gi i oạn post-layout STA và post-l yout simul tion ể ảm bảo
Netlist với các giá trị thực v R, C của các Cell và dây nối v n thỏa chứ n ng v thời
gian Nếu không có lỗi, xuất dữ liệu ra dưới dạng file gds2 Nếu có lỗi, kiểm tra lại việc
ặt các Cell và kết nối dây
Tape-out
Kiểm tra lại tất cả o o s u qu tr nh Pl e n Route trướ khi ư i sản xuất
Trang 22CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ FPGA 2.1 Giới thiệu về FPGA [1][4]
FPGA là viết tắt của "Field Programmable Gate Array", là vi mạch dùng cấu trúc mảng phần tử logi m người dùng có thể l p tr nh ược, có thể thực hiện các tính n ng logic thông qua máy tính của mình với giá rẻ, và có thể xó i viết lại nhi u lần Xilinx là c ng ty ầu tiên bán ra FPGA và luôn chiếm thị phần lớn nhất Ngoài ra còn có Alterna, Lattice, Actel, QuickLogic Nhi u nhà sản xuất hiện ng ung ấp rất nhi u cấu trúc và phương ph p xử lý khác nhau Vì v y, việc chọn một cấu trúc và một phương ph p xử lý ể có thể p ứng ược các yêu cầu v chứ n ng v ộ ổn ịnh,
ối với một hệ thống trong thực tế là vấn mang tính quyết ịnh Thiết bị logic l p
tr nh ượ ược phát minh lần ầu vào cuối th p kỷ 1970 và ngay l p tứ ã trở lên phổ biến trong ngành công nghiệp bán d n Ngoài khả n ng l p tr nh ạng, công nghệ này còn có thời gian sản xuất nhỏ nên có khả n ng ạnh tr nh thương mại rất lớn Hơn nữa, việc thiết kế với nó khá dễ dàng và nó có khả n ng l p trình lại nhi u lần
FPGA ược thiết kế ầu tiên bởi Ross Freem n người sáng l p công ty Xilinx vào n m 1984 kiến trúc mới của FPGA cho phép tính hợp số lượng tương ối lớn các phần tử bán d n vào 1 vi mạch so với kiến trú trướ ó l CPLD (Complex Programmable Logic Devi e) Điểm tương ồng của CPLD và FPGA là ở chỗ chúng
u bao gồm một số lượng tương ối lớn các phần tử logic khả trình Tuy nhiên m t ộ tích hợp thì khác nhau, m t ộ cổng logic của CPLD nằm trong khoảng t vài nghìn
ến hàng chục nghìn, trong khi với FPGA thì m t ộ tích hợp cỡ hàng chục nghìn cho
ến vài triệu
FPGA và CPLD có rất nhi u iểm khác biệt tuy nhiên kiến trú l iểm khác biệt chính giữa CPLD và FPGA CPLD có kiến trúc giới hạn ở một mứ ộ n o ó nó bao gồm một hoặc nhi u dải logi “sum-of-pro u ts” khả trình v ược cung cấp một
số tương ối nhỏ th nh ghi ượ ồng bộ Đi u này làm cho CPLD trở nên không ược m m dẻo lắm nhưng ù lại trễ timing lại dễ dự o n hơn v tố ộ kết nối logic
Trang 23ũng o hơn FPGA Với FPGA, thì kiến trúc theo một cách khác trội hơn hẳn CPLD bởi vì FPGA sử dụng các liên kết nối Đi u này không những tạo cho nó m m dẻo hơn rất nhi u mà òn l m t ng ộ phức tạp trong thết kế
Điểm khác biệt nữa giữa FPGA và CPLD là trong hầu hết hip FPGA u có các hàm cấp cao (như ộ cộng và bộ nhân) và các bộ nhớ ã ược nhúng vào Ngoài ra, trong FPGA ời mới còn hỗ trợ ầy ủ hoặc một phần việc cấu hình lại trong hệ thống, cho phép th y ổi thiết kế tức là có thể c p nh t hệ thống hoặc cấu h nh ộng (dynamic reconfiguration) khi húng ng ho ạt ộng như l một chức rất nh thường Một vài FPGA còn có khả n ng ấu hình lại cục bộ (partial re-configuration) tức là một phần của thiết bị ược cấu hình trong khi các phần còn lại v n ng hoạt ộng
2.2 Kiến trúc chung của một FPGA
Cấu trúc tổng thể của FPGA bao gồm:
- Các khối Logic
- Hệ thống liên kết mạch
- Các phần tử tích hợp sẵn
Hình 2.1 Cấu trúc tổng thể của một FPGA
1.2.1 Khối logic FPGA
FPGA chứa trong nó rất nhi u khối logic có thể tái cấu hình CLB (Configurable Logi Blo ks) ược liên kết với nhau thành bằng các liên kết khả trình (Programmable Interconnect) Các khối v o r ược phân bố xung quanh chip tạo thành các liên kết với
Trang 24bên ngoài Bên trong khối logic CLB có bảng LUT (Look-Up Table) và các phần tử nhớ (FlipFlop hoặc bộ chốt) LUT (Look up table) là khối logic có thể thực hiện bất kì hàm logic nào t 4 ầu vào, kêt quả của hàm này tùy vào mụ í h m gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop
Trong tài liệu hướng d n của các dòng FPGA của Xilinx còn sử dụng khái niệm SLICE, 1 Slice tạo thành t gồm 4 khối logic, số lượng Sli es th y ổi t vài nghìn ến vài chục nghìn tùy theo loại FPGA.Nếu nhìn cấu trúc tổng thể của mảng LUT th ngo i 4 ầu vào kể trên còn hỗ trợ th m 2 ầu vào bổ xung t các khối logic phân bố trước và sau nó nâng tổng số ầu vào của LUT lên 6 chân Cấu trúc này là nhằm t ng tốc các bộ số học logic
Hình 2.2 Khối Logic
1.2.2 Hệ thống mạch liên kết
Mạng liên kết trong FPGA ược cấu thành t ường kết nối theo hai phương ng ng v ứng, tùy theo t ng loại FPGA m ường kết nối ược chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn, dài
và rất dài Các ường kết nối ược nối với nhau thông qua các khối chuyển mạch l p
tr nh ược (programable switch), trong một khối chuyển mạch chứa một số lượng nút chuyển l p tr nh ượ ảm bảo cho các dạng liên kết phức tạp khác nhau
Trang 251.2.3 Các phần tử tích hợp sẵn
Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví d ụ ể thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân ARV… h y ho những ứng dụng xử lý tín hiệu số DSP trong FPGA ược tích hợp các DSP Slide là bộ nhân cộng tố ộ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx chứa t vài chụ ến h ng tr m DSP sli es với A, B, C 18-bit
2.3 Ngôn ngữ phần cứng HDL
2.3.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL
VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tố ộ rất cao, là một loại ngôn ngữ mô tả phần cứng ược phát triển ùng ho trương tr nh VHSIC (Very High Speed Itergrated Circuit) của bộ quốc phòng Mỹ Mục tiêu của việc phát triển VHDL l ó ược một ngôn ngữ mô phỏng phần cứng tiêu chuẩn và thống nhất cho phép thử nghiệm các hệ thống số nh nh hơn ũng như ho phép ễ ng ư
hệ thống ó v o ứng dụng trong thực tế Ngôn ngữ VHDL ược ba công ty Intermetics, IBM và Texas Instruments bắt ầu nghiên cứu phát triển v o th ng 7 n m 1983 Phi n
bản ầu ti n ược công bố vào tháng 8-1985 S u ó VHDL ượ xuất ể tổ chức IEEE xem xét thành một tiêu chuẩn hung N m 1987 ã ư r ti u huẩn v VHDL ( tiêu chuẩn IEEE-1076-1987)
VHDL ược phát triển ể giải quyết khó kh n trong việc phát triển th y ổi
và l p tài liệu cho các hệ thống số Như t ã iết, một hệ thống số có rất nhi u tài liệu
mô tả Để có thể v n hành bảo trì sửa chữa một hệ thống ta cần tìm hiểu kỹ lưỡng tài liệu ó Với một ngôn ngữ mô phỏng phần cứng tốt việc xem xét các tài liệu mô tả trở nên dễ ng hơn v ộ tài liệu ó ó thể ược thự thi ể mô phỏng hoạt ộng của hệ thống Như thế ta có thể xem xét toàn bộ các phần tử của hệ thống hoạt ộng trong một
mô hình thống nhất
VHDL ược phát triển như một ngôn ngữ ộc l p không gắn với bất kỳ một
Trang 26phương ph p thiết kế, một bộ mô tả hay công nghệ phần cứng n o Người thiết kế có thể tự do lựa chọn công nghệ phương ph p thiết kế trong khi chỉ sử dụng một ngôn ngữ duy nhất V khi em so s nh với các ngôn ngữ mô phỏng phần cứng kh ã kể
ra ở trên ta thấy VHDL có một số ưu iểm hơn hẳn các ngôn ngữ khác:
- Thứ nhất là tính công cộng: VHDL ược phát triển ưới sự bảo trợ của chính
phủ Mỹ và hiện nay là một tiêu chuẩn củ IEEE VHDL ược sự hỗ trợ của nhi u nhà sản xuất thiết bị ũng như nhi u nhà cung cấp công cụ thiết kế mô phỏng hệ thống
- Thứ hai là khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế: VHDL
cho phép thiết kế bằng nhi u phương ph p ví ụ phương ph p thiết kế t trên xuống, hay t ưới lên dự v o thư viện sẵn ó VHDL ũng hỗ trợ cho nhi u loại công cụ xây dựng mạ h như sử dụng công nghệ ồng bộ h y kh ng ồng bộ, sử dụng ma tr n
l p tr nh ược hay sử dụng mảng ng u nhiên
- Thứ ba là tính độc lập với công nghệ: VHDL ho n to n ộc l p với công nghệ
chế tạo phần cứng Một mô tả hệ thống dùng VHDL thiết kế ở mức cổng có thể ược chuyển thành các bản tổng hợp mạch khác nhau tuỳ thuộc công nghệ chế tạo phần cứng mới ra ời nó có thể ược áp dụng ngay cho các hệ thống ã thiết kế
- Thứ tư là khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt ộng của phần
cứng t mức hệ thống số ho ến mức cổng VHDL có khả n ng m tả hoạt ộng của
hệ thống trên nhi u mứ nhưng hỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi
mứ Như thế ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ on ược mô tả chi tiết
- Thứ năm là khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn ược chấp
nh n, nên một mô hình VHDL có thể chạy trên mọi bộ mô tả p ứng ược tiêu chuẩn VHDL Các kết quả mô tả hệ thống có thể ượ tr o ổi giữa các nhà thiết kế sử dụng công cụ thiết kế kh nh u nhưng ùng tuân theo ti u huẩn VHDL Cũng như một nhóm thiết kế có thể tr o ổi mô tả mức cao của các hệ thống con trong một hệ thống lớn (trong ó hệ on ó ược thiết kế ộc l p)
Trang 27- Thứ sáu là khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế: VHDL ược phát triển như một ngôn ngữ l p trình b c cao, vì v y nó có thể ược
sử dụng ể thiết kế một hệ thống lớn với sự tham gia của một nhóm nhi u người Bên trong ngôn ngữ VHDL có nhi u tính n ng hỗ trợ việc quản lý, thử nghiệm và chia sẻ thiết kế V nó ũng ho phép ùng lại các phần ã ó sẵn
2.3.3 Cấu trúc một mô hình hệ thống mô tả bằng VHDL
Mụ í h ủa phần này sẽ nhằm giới thiệu sơ qu v cấu trú khung ơ ản của VHDL khi mô tả cho một mô hình thiết kế thự Th ng thường một mô hình VHDL bao gồm ba phần: thực thể, kiến trúc và các cấu h nh Đ i khi ta xử dụng các gói( packages) và mô hình kiểm tra hoạt ộng của hệ thống (testbench)
+ Thực thể (entity) :
Khai báo thực thể trong VHDL phần ịnh nghĩ hỉ tiêu phía ngoài của một phần tử hay một hệ thống Thực chất của việc khai báo thực thể chính là khai báo giao diện của hệ thống với bên ngoài Ta có thể có tất cả th ng tin ể kết nối mạch vào mạch khác hoạt thiết kế t nhân ầu vào phục vụ cho mụ í h thử nghiệm Tuy nhiên hoạt ộng th t sự của mạch không nằm ở phần kh i o n y Dưới ây l một ví dụ khai báo thực thể cho một cổng NOT:
Trang 28Hình 2.3 Kiến trúc thực một thể Entity
+ Kiến trúc (Architecture) :
Phần thứ 2 trong m h nh VHDL l kh i o kiến trú Mỗi một kh i o thự thể u phải i kèm với ít nhất một kiến trú tương ứng VHDL ho phép tạo r hơn một kiến trú ho một thự thể Phần kh i o kiến trú ó thể o gồm kh i o
v tín hiệu n trong phần tử n trong hệ thống h y h m v thủ tụ m tả hoạt ộng ủ hệ thống T n ủ kiến trú l nhãn ượ ặt tuỳ theo người xử ụng
Có h i h m tả kiến trú ủ một phần tử ( hoặ hệ thống) ó l m h nh hoạt ộng (Beh viour) h y m tả theo m h nh ấu trú (Stru ture) Tuy nhi n một hệ thống
ó thể o gồm ả m tả theo m h nh hoạt ộng v m tả theo m h nh ấu trú
- Mô tả kiến trúc theo mô hình hoạt động: M h nh hoạt ộng m tả hoạt
ộng ủ hệ thống ( hệ thống p ứng với tín hiệu v o như thế n o v ư r kết quả g r ầu r ) ưới ạng ấu trú ng n ngữ l p tr nh o Cấu trú ó ó thể
là PROCESS , WAIT, IF, CASE, FOR-LOOP…
- Mô tả kiến trúc theo mô hình cấu trúc: M h nh ấu trú ủ một phần tử
(hoặ hệ thống) ó thể o gồm nhi u ấp ấu trú ắt ầu t một ổng logi ơn giản
Trang 29ến xây ựng m tả ho một hệ thống ho n thiện Thự hất ủ việ m tả theo m
h nh ấu trú l m tả phần tử on n trong hệ thống v sự kết nối ủ phần tử
on ó Như với ví ụ m tả m h nh ấu trú một flip-flop RS gồm h i ổng NAND
ó thể m tả ổng NAND ượ ịnh nghĩ tương tự như ví ụ với ổng NOT s u ó
m tả sơ ồ mó nối phần tử NAND tạo th nh trigơ RS
- Cấu trúc Process: Process là khối ơ ản của việc mô tả theo hoạt ộng
Pro ess ượ xét ến như l một chuỗi h nh ộng ơn trong suốt quá trình dịch
Hình 2.4 Ví dụ của một mô hình VHDL có thứ b c
* Cấu trúc tổng quát:
[process_label] Process [(sensitivi_List) ]
process_declarative_part
begin
Trong ó phần ặt trong dấu [ ] thì có thể có hoặc không
- process_label: (nhãn lệnh) là tuỳ thuộ người l p tr nh ặt tên
- sensitivity_list: Danh sách các yếu tố kích thích hoạt ộng
Trang 30+ Môi trường kiểm tra (testbench)
Một trong các nhiệm vụ rất quan trọng là kiểm tra bản mô tả thiết kế Kiểm tra một m h nh VHDL ược thực hiện bằng cách quan sát hoạt ộng của nó trong khi mô phỏng và các giá trị thu ược có thể em so s nh với yêu cầu thiết kế
Hình 2.5 Kiến trúc thực thể Tesstbench
M i trường kiểm tra có thể hiểu như một mạch kiểm tra ảo M i trường kiểm tra sinh r t ộng lên bản thiết kế và cho phép quan sát hoặc so sánh kết quả hoạt ộng của bản mô tả thiết kế Th ng thường thì các bản mô tả u cung cấp hương trình thử Nhưng t ũng ó thể tự xây dựng hương tr nh thử (testbench) Mạch thử thực chất là sự kết hợp của tổng hợp nhi u thành phần Nó gồm ba thành phần Mô
h nh VHDL ã qu kiểm tra, nguồn dữ liệu và bộ quan sát Hoạt ộng của mô hình VHDL ược kích thích bởi các nguồn dữ liệu và kiểm tr tính úng ắn thông qua bộ
qu n s t Tr n ây l sơ ồ tổng quat của một hương tr nh thử (Testbench)
Trong đó:
DUT: (Device Under Test) mô hình VHDL cần kiểm tra
Observer: Khối quan sát kết quả Data source: Nguồn dữ liệu (khối tạo ra các tín hiệu kích thích)
Testbench Entity Generics
DUT Data Source
(stimuli Generator)
Observer
Trang 312.3.4 Trình tự thiết kế một chíp dựa trên VHDL
Một trong những tiện ích lớn của VHDL là cho phép tổng hợp mạ h iện hoặc
hệ thống trong thiết bị khả l p trình (programmable devide) (PLD hoặc FPGA) hoặc trong một hệ ASIC C ước thực hiện một proje t ược tổng kết như trong h nh ưới:
Hình 2.6 Quy trình thiết kế chip dựa trên VHDL Chúng ta bắt ầu thiết kế bằng cách viết mã VHDL ược ghi trong các file với
u i mở rộng vhd và tên giống như t n ủa ENTITY (thực thể) Bướ ầu tiên trong quá trình synthesis là biên dịch Biên dịch là một quá trình chuyển
ổi giữa ngôn ngữ VHDL b c cao tại Register Transfer Level (RTL) sang netlist ở
mứ g te level Bước thứ 2 là tối ưu thực hiện trên gate level net list tối ưu v tố ộ hoặc cho diện tích Cuối cùng là môt phần m m place and route sẽ tạo ra một physical
layout cho các chíp PLD/FPGA hoặc tạo ra các mặt nạ cho một hệ ASIC
Trang 32CHƯƠNG 3 THIẾT KẾ SYSTEM ON CHIP VÀ THỰC HIỆN BẰNG FPGA 3.1 Thiết kế SoC
3.3.1 Sơ đồ tổng quan thiết kế
Processor Core SRAM
Controler
SDRAM Controler
bus
VGA Controler
VGA
LCD Controler
Line In/Out
LED Controler
Ethenet Controler
PS/2 Controler
LED Internet Keyboard/
Ví dụ : Alter c p ARM core trong APEX 20KR Xilinx’x VIrtex-II Pro bao gồm 4 PowerPC…
Trang 33Định nghĩ “Soft Core” giống như Alter Nios 2 ượ c p như một thiết kế
bộ vi xử lý có thể sử dụng ể l p trình mảng các cổng logic (FPGA) Bộ vi xử lý m m lõi có thể có rất nhi u tính n ng phong phú và linh hoạt, thường cho phép các nhà thiết
kế ể x ịnh chi u rộng bộ nhớ, các chứ n ng ALU, số lượng và loại thiết bị ngoại
vi, ịa chỉ bộ nhớ và các thông số không gian tại thời gian biên dịch Tuy nhiên, tính linh hoạt như v y thường i kèm với chi phí Lõi m m có tố ộ xung nhịp ch m hơn
và sử dụng nhi u n ng lượng hơn nhi u so với một bộ xử lý lõi cứng tương ương
Nios II MicroBlaze OpenRISC Leon4
Custom coprocessors/
instructions
Resources 1800 LE 1650 slices 2900 slices 4000 slices
Bootloader
Trang 34Trong một m i trường m u, các hương tr nh ứng dụng có thể sẽ ược sử ổi một số lần trước khi hương tr nh uối cùng ược hoàn tất Trong trường hợp này, khả
n ng tải v các mã ứng dụng t máy tính vào bộ nhớ trên một bản FPGA phải ược cung cấp Chứ n ng n y thường ược gọi là một "bộ nạp khởi ộng" hay "màn hình
khởi ộng," có thể ược thực hiện trong phần m m hoặc phần cứng
Một bộ nạp khởi ộng phần m m bao gồm mã ược nạp vào bộ nhớ on-chip và bắt ầu chạy khi ược b t Chương trình này là ủ nhỏ (1-2 KB) ể phù hợp với hầu hết những bộ nhớ on-chip, và chứ n ng chính của nó l ể nh n ược một hương trình t p tin nhị phân trên cổng nối tiếp (hoặc giao tiếp khác), tải nó vào bộ nhớ ngoài,
và s u ó ắt ầu thực hiện mã mới Bằng cách này, một hương tr nh mới có thể
ượ lưu trữ vào bộ nhớ ngoài (SRAM, SDRAM, bộ nhớ Flash, vv) bằng cách tải nó trên nối tiếp hoặc cổng JTAG (hoặc giao tiếp khác) mà không cần phải tải lại cấu hình
phần cứng của FPGA
Một ộ nạp khởi ộng phần ứng ung ấp hứ n ng tương tự như một ộ nạp khởi ộng phần m m tuy nhi n nó ượ thự hiện trong logi huy n ụng trong phần lõi xử lý Th ng thường ộ vi xử lý sẽ ượ tạm ng hoặ ị nh trệ khi không có
n ng lượng iện v ộ nạp khởi ộng phần ứng sẽ ó thể truy p trự tiếp v o ộ nhớ hoặ th nh ghi trong khối pro essor Bộ nạp khởi ộng ứng ó thể ắt ầu v ng ng
ộ vi xử lý v ó thể i u khiển việ tải một hương tr nh thông qua JTAG hoặ
gi o iện nối tiếp tới vị trí ộ nhớ mong muốn
External Non-volatile Storage
Mã hương tr nh ứng dụng có thể ượ lưu trữ trên một EEPROM, bộ nhớ Flash, hoặc hình thức khác của bộ nhớ non-volatile Các hương tr nh ứng dụng hoặc có thể ược
l p tr nh trước trong các mô- un bộ nhớ ngoài hoặc một hương tr nh nạp khởi ộng
có thể ược sử dụng ể lưu trữ các hương tr nh ứng dụng trong lưu trữ non-volatile Cho các ứng dụng tố ộ thấp, các mã có thể ược thực hiện trực tiếp t bộ nhớ bên ngoài
Trang 35Nhanh hơn, volatile memory (tức là, SDRAM) ược sử dụng ể lưu trữ các hương tr nh ứng dụng trong quá trình thực hiện Cuối cùng, ch m hơn non-volatile memory (tức là, Flash hoặc EEPROM) ược sử dụng cho việ lưu trữ thường trực của ứng dụng hương tr nh Chương tr nh nạp khởi ộng có thể ược sử ổi ể khởi ộng
hệ thống, lấy một hương tr nh t bộ nhớ non-volatile memory, lưu trữ nó nh nh hơn , volatile memory, và s u ó ắt ầu thực hiện nó t bộ nhớ nh nh hơn Đi u này cung cấp những ưu iểm của lưu trữ vĩnh viễn, thực thi nhanh, và khả n ng sử ổi các hương tr nh ứng dụng khi cần thiết Tất nhiên, nó i kèm với chi phí của việc có thêm
Trang 363.3.2.3 Kết nối
Trong hệ thống SoC, cần có một Bus chuẩn ể Tất cả các Component giao tiếp với nhau cần ƣợc kết nối tới hệ thống Bus này thông qua các Interface Một số hệ thống Bus :
Đƣợc phát triển bởi ARM AMBA bus là một kiến trúc bus kết nối nhân vi xử lý với các thành phần ngoại vi và ịnh nghĩ huẩn v thông tin giữa nhân vi
xử lý với các ngoại vi ó C th nh phần kết nối ến nhân vi xử lý có thể có hiệu suất cao hoặc thấp tùy vào thiết kế và mụ í h sử dụng
Hình 3.3 AMBA Bus
+ APB (Advanced Peripheral Bus)
+ ASB (Advanced System Bus)
+ AHB (Advanced High Performance Bus)
CoreConnect
Đƣợc phát triển bởi IBM, là một bus chuẩn trong thiết kế SoC Nó có nhi u ặc tính chung với AMBA Cả 2 u có hệ thống phân cấp ể hỗ trợ nhi u mức khác nhau trong hiệu xuất thực thi Cả 2 u có tiến bộ : multiple master, separate read/write port,pipelining,, split transaction, burst mode transfer and extendable
Trang 37Hình 3.4 CoreConnect Bus
+ PLB ( Processor Local Bus) + OPB (On-Chip Peripheral Bus) + DCR (Device Control Register Bus) 3.3.2.4.Các tiêu chuẩn giao tiếp vào ra
Parallel I/O Interface
Giao tiếp vào ra song song tiêu chuẩn ược phát triển bởi Centronics trong những n m 1970 v là một chuẩn ược sử dụng rộng rãi ể chuyển dữ liệu song song 8-bit Hầu hết các máy tính có một cổng song song Dữ liệu ược chuyển song song sử dụng tám bit dữ liệu và cấp iện áp logic kỹ thu t số tiêu chuẩn Tình trạng bổ sung và kiểm soát bit ược yêu cầu cho người gửi và nh n các tín hiệu ngoại tệ bắt tay mà ồng bộ hóa mỗi truy n dữ liệu 8-bit Th ng thường, các cổng song song là ể giao tiếp với hai I/O port trên một bộ xử lý Một cổng I/O ược sử dụng cho 8-bit dữ liệu chuyển và một cổng I / O cho tình trạng và kiểm soát bit ược sử dụng cho các tín hiệu bắt tay