Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 114 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
114
Dung lượng
2,67 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA ZY˜ LƯƠNG THỊ TÚ QUYÊN THIẾT KẾ BỘ ĐIỀU KHIỂN HDLC VÀ THỬ NGHIỆM TRÊN FPGA Chuyên ngành : Kỹ Thuật Vô Tuyến – Điện Tử Mã số ngành : 2.07.01 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 02 năm 2006 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa hoïc: Cán chấm nhận xét 1: Cán chấm nhận xét 2: Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC _ Tp HCM, ngaøy tháng năm 200 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : .Phái: Ngày, tháng, năm sinh : Nơi sinh : Chuyên ngành : MSHV : I-TÊN ĐỀ TÀI: II- NHIỆM VỤ VÀ NỘI DUNG : III- NGAØY GIAO NHIỆM VỤ (Ngày ký Quyết định giao đề tài ) : IV- NGAØY HOAØN THAØNH NHIỆM VỤ: V- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN (Ghi đầy đủ học hàm học vị) : CAÙN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua PHÒNG ĐÀO TẠO SĐH Ngày tháng năm KHOA QUẢN LÝ NGÀNH LỜI CẢM ƠN Trong suốt trình thực luận văn cao học này, Thầy hướng dẫn, PGS.TS Lê Tiến Thường, tận tình giúp đỡù việc cung cấp tài liệu, định hướng phương pháp giải vấn đề, tạo môi trường tốt để làm việc thực nghiệm thiết bị phần cứng Tôi xin cảm ơn Thầy PGS.TS Lê Tiến Thường dẫn cách thức trình bày luận văn, thông tin cần thiết, quan tâm, động viên tinh thần Thầy suốt thời gian học cao học trình làm luận văn tốt nghiệp Tôi xin cảm ơn thầy, bạn tận tình giúp đỡ, tháo gỡ khúc mắc, đóng góp ý kiến quý báu để hoàn thành luận văn Và cuối xin cảm ơn tất Thầy, Cô thuộc trường Đại Học Bách Khoa Tp.HCM tạo điều kiện thuận lợi để học tập thực luận văn Ngày 01.02.2006 Lương Thị Tú Quyên TÓM TẮT LUẬN VĂN Vào năm 1990, công nghệ ASIC phát triển từ trình thiết kế hệ thống bao gồm kết nối nhiều chip riêng biệt sang việc thiết kế hệ thống dựa kỹ thuật tích hợp nhiều khối chức vào chip gọi SoC Nói cách đơn giản, SoC xem IC nhất, tạo cách liên kết nhiều thiết kế VLSI đơn để xây dựng nên hệ thống đa chức cho ứng dụng cụ thể Định nghóa SoC nhấn mạnh đến mô hình thiết kế trước cho khối chức phức tạp gọi “core” (thuật ngữ ám linh kiện ảo, khối sản phẩm sở hữu trí tuệ thiết kế sẵn) mà chúng phục vụ cho nhiều loại ứng dụng khác Trong công nghệ SoC, nhà cung cấp ASIC vừa sử dụng thư viện “core” họ thiết kế từ trước thiết kế công ty IP (Intellectual Property) chuyên thiết kế “core” thương mại Giao thức HDLC (High-Level Data Link Controller) giao thức chuẩn hóa quốc tế định nghóa tổ chức ISO để dùng cho liên kết điểm-nối-điểm đa điểm HDLC giao thức mạng sử dụng rộng rãi lớp liên kết liệu (lớp 2) mô hình tham khảo OSI Không tồn giao thức X.25, ngày HDLC ứng dụng nhiều truyền thông Frame Relay, ISDN, hệ thống báo hiệu số (SS7), trạm gốc tế bào, (tham khảo tài liệu [3], [4], [5], [6]) Bộ điều khiển HDLC thiết kế theo qui trình công nghệ SoC thiết bị dùng để thực thi giao thức HDLC, điều khiển cấu trúc giao thức định hướng bit định dạng liệu giao thức chuyển mạch gói Bộ điều khiển HDLC cung cấp lớp vật lý cho giao thức HDLC, có nhiệm vụ gửi nhận message có định dạng khung HDLC mô tả chuẩn RFC-1662 (tham khảo tài liệu [12]) Ngày nay, tất thiết kế SoC, “core” thiết kế trước thành phần quan trọng hệ thống Một chip hệ thống bao gồm nhiều “core” chức khác chẳng hạn vi xử lý, nhớ, điều khiển âm truyền hình, điều khiển đồ họa chiều chiều, xử lý tín hiệu số.v.v Các “core” thường sử dụng dạng mã tổng hợp ngôn ngữ mô tả cấp cao Verilog HDL, VHDL, dạng layout transistor tối ưu, chẳng hạn GDSII (tham khảo tài liệu [13]) Vì công nghệ SoC tiến trình phát triển mạnh, ngày trở nên quan trọng lónh vực thiết kế phần cứng Vì vậy, việc nắm bắt ứng dụng công nghệ vào việc thiết kế “core” điều khiển ví dụ điều khiển HDLC cần thiết Bản luận văn chia làm 10 phần chính: Phần 1: Xác định vấn đề cần thực hiện, đưa phương pháp giải Phần 2: Xác định nguồn thông tin công trình liên quan Phần 3: Trình bày sở lý thuyết giao thức HDLC Phần 4: Nói phương pháp luận thiết kế phần cứng, công nghệ SoC, ngôn ngữ Verilog HDL thiết kế SoC Phần 5: Mô tả tổng quan sơ đồ thiết kế điều khiển HDLC Controller Phần 6: Giới thiệu, tìm hiểu board mạch UP2 Bên cạnh đó, đặc tả chức thiết kế chi tiết phần cứng điều khiển HDLC Controller Trình bày rõ ràng đồ nhớ chức ghi thiết kế Phần 7: Kết mô kiểm tra chức điều khiển với nhiều testcase khác Phần 8: Thiết kế phần mềm có nhiệm vụ làm công cụ debug hệ thống điều khiển phần cứng thử nghiệm thiết kế phần cứng FPGA Phần 9: Xây dựng mô hình kiểm nghiệm kiểm tra khối thiết kế kết nối thiết bị phần cứng để tiến hành thử nghiệm board Phần 10: Đưa kết sau tiến hành thử nghiệm thiết kế FPGA Thông qua 10 phần trình bày luận văn, toàn trình việc đặc tả chức năng, thiết kế, thực, kiểm nghiệm điều khiển theo công nghệ SoC mô tả cách chi tiết đầy đủ ABSTRACT In the middle of the 1990s, ASIC technology developed from a philosophy to an embedded-cores-based system on a chip (SoC) concept In simple terms, we define an SoC as an IC, designed by switching together multiple stand-alone VLSI designs to provide full functionality for an application This definition of SoC clearly emphasizes pre-designed models of complex functions known as cores (terms such as intellectual property block, virtual components, and macros are also used) that serve a variety of applications In SoC, an ASIC vendor may use a library of cores designed in-house as well as some cores from fabless/chipless design houses also known as intellectual property (IP) companies High-level Data Link Control (HDLC) is a bit-oriented synchronous data link layer protocol developed by International Standards Organization (ISO) HDLC is in itself a group of several protocols for transmitting data betwe-en network points, sometimes called nodes The HDLC is one of the most commonly used protocols in what is layer (data link layer) of the industry communication reference model called Open Systems Inter-connection (OSI) Not only in X.25 protocol, but HDLC is also found today in a variety of communications applications, including ads transport, Frame Relay, and ISDN It is even forms the basis of Signaling System No (SS7) and is thus present in most of the worldwide telecommunications network including cellular base stations (refer to [3], [4], [5],[6]) HDLC controllers are devices that execute the HDLC protocol The HDLC controller performs framing as specified in RFC -662 (refer to [12]) Nowadays, in all SoC designs, pre-designed cores are the essential components A system chip may contain combinations of cores for on-chip functions such as microprocessors, large memory arrays, audio and video controller, modems, internet tuner, 2D and 3D graphics controllers, DSP functions, and so on These cores are generally available in either synthesizable high-level description language form such as in Verilog HDL, VHDL, or optimized transistor-level layout such as GDSII (refer to [13]) System on a chip technology is developing fast and becoming the main trends in hardware design So, it is necessary to study and apply this technology in designing the HDLC controller core in this thesis The thesis is divided into 10 parts Part 1: Specifies the problem and the way that how to solve it Part 2: Locates information and the current SoC technology in the world Part 3: Refers to the theoretical part of HDLC protocol Part 4: Describes hardware design methodology based on Verilog HDL and SoC technology Part 5: Shows the block diagram of the HDLC controller Part 6: Studies board UP2, specifies the function and detail design of the HDLC controller Part 7: Extracts the simulation result for functional testing Part 8: Designs software to control the HDLC controller Part 9: Build a verification model to test the HDLC controller physically Part 10: shows the testing result on board In short, through 10 part of the thesis, it tells us the process of making specification, design, implementation, and verification of the HDLC controller in SoC technology THIEÁT KEÁ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG NỘI DUNG LUẬN VĂN Phát biểu vấn đề 1.1 Giới thieäu 1.2 Lý thực đề tài 1.3 Chức điều khiển HDLC 2 Tổng thuật công trình có 3 Cơ sở lý thuyết 3.1 Tổng quan điều khiển liên kết liệu (data link control) 3.1.1 Điều khiển luồng 3.1.2 Điều khiển lỗi 3.2 Giao thức điều khiển liên kết liệu mức cao HDLC (High-level Datalink Control) 3.2.1 Giới thiệu 3.2.2 Các thuật ngữ 3.2.3 Cấu hình mạng 3.2.4 Caùc chế độ hoạt động HDLC 3.2.5 Định dạng frame HDLC 3.2.6 Kỹ thuật xử lý HDLC 12 3.2.7 Phaân loaïi frame 13 3.2.8 Hoạt động giao thức HDLC 16 Mô tả phần cứng 25 4.1 Tổng quan ngôn ngữ mô tả phần cứng 25 4.2 Các mức trừu tượng mô tả phần cứng 25 4.3 Phương pháp thieát keá top-down 26 4.3.1 Thiết kế top-down trình phân chia 26 4.3.2 Quá trình thiết kế 27 4.3.3 Mô phần cứng 29 4.3.4 Tổng hợp phần cứng 29 HVTH: LƯƠNG THỊ TÚ QUYÊN MỤC LỤC THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 4.3.5 Thiết kế vật lý 31 4.3.6 Kieåm tra đánh giá thiết kế 33 4.3.7 Phương pháp thiết kế SoC 34 4.4 Ngôn ngữ mô tả phần cứng Verilog HDL 37 Sô đồ khối điều khiển HDLC Controller 40 Thiết kế phần cứng 43 6.1 Sơ lược bo maïch UP2 43 6.2 Đặc điểm điều khiển HDLC Controller 44 6.3 Mô tả chức 45 6.3.1 Hướng thu điều khiển HDLC Controller 45 6.3.2 Hướng phát điều khiển HDLC Controller 47 6.3.3 Baûn tin hướng phát 48 6.3.4 Kết nối tin 48 6.3.5 Phần cứng kiểm tra tin 48 6.3.6 Thủ tục phần mềm ghi tin 49 6.4 Mô tả thiết kế 49 6.4.1 Giao tieáp RAM 49 6.4.2 Thiết kế Deframer hướng thu: 51 6.4.3 Thiết kế Framer hướng phát: 52 6.4.4 Điều khiển luồng liệu thu 52 6.4.5 Luồng liệu phát 53 6.4.6 Thanh ghi baùo caùo kiện 53 6.5 Các bước cấu hình phần mềm 54 6.5.1 Reset 54 6.5.2 Caáu hình chế độ stuff FCS: 54 6.5.3 Cấu hình chế độ hoạt động 54 6.5.4 Abort Message 54 6.6 Bản đồ nhớ (Memory Map) 54 6.7 Mô tả ghi 55 6.7.1 Thanh ghi Global Configuration 55 HVTH: LƯƠNG THỊ TÚ QUYÊN MỤC LỤC THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 10 Thử nghiệm FPGA 10.1 Thủ tục tiến hành Trong giai đoạn mô phỏng, thiết kế kiểm tra mặt chức hoạt động Vì mô mức RTL nên độ trễ tín hiệu giả lập zero, vấn đề timing giai đoạn bỏ qua Sau mô mức RTL, code kiểm nghiệm thực tế FPGA Thử nghiệm FPGA giai đoạn quan trọng cho biết thiết kế có khả hoạt động thực tế hay không Code RTL sau tổng hợp (synthesis) thành cổng (gate), ghi (flipflop), chốt (latch), load vào FPGA Các tín hiệu thiết kế mức RTL sau tổng hợp gate đặt tên lại tuỳ vào ý nghóa logic chúng Lỗi thiết kế giai đoạn liên quan nhiều đến vấn đề timing, clock, Để thực yêu cầu đề tài, đòi hỏi người thiết kế cần phải tìm hiểu nhiều vấn đề liên quan đến kiến thức phần mềm, phần cứng, board, cách chống nhiễu, 10.1.1 Chuẩn bị phần mềm Phần mềm điều khiển viết hợp ngữ (assembly), biên dịch trình hợp dịch ASM51.EXE Chương trình nạp vào chip AT80C52 mạch nạp ROM tự tạo thông qua chương trình EZ31.EXE Để chuẩn bị phần mềm cho trình kiểm nghiệm điều khiển HDLC, ta thực trình tự bước sau: Bước 1: Viết chương trình TESTDLK.ASM cho xử lý AT89C52, mà trình thực thi chương trình bao gồm giai đoạn sau: • Ở phần đầu, chương trình in giao diện bảng thông tin sau: ========================================== = || Truong Dai Hoc Bach Khoa Tp HCM || Luan Van Thac Si || || '|| De tai: Thiet Ke Bo Dieu Khien HDLC' || || GVHD: PGS.TS Le Tien Thuong || || HVTH: Lương Thi Tu Quyen || ||========================================== • Ở phần tiếp theo, chương trình hiển thị danh mục lệnh người sử dụng dùng trình thử nghiệm o h : Lệnh cho phép in nội dung bảng lệnh HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 85 THIẾT KẾ HDLC CONTROLLER • GVHD: PGS.TS LÊ TIẾN THƯỜNG o rAAA : Lệnh cho phép đọc liệu địa 0xAAA o wAAA 55 : Lệnh cho phép ghi giá trị 0x55 vào địa 0xAAA o xVV : Lệnh cho phép ghi 128 byte giá trị 0xVV vào vùng địa 0x100 đến 0x1FF o yAAA : Lệnh cho phép đọc 16 byte liệu RAM địa 0xAAA o fVV : Lệnh cho phép ghi giá trị 0xVV vào toàn 256 byte vùng RAM o sNN XX : Lệnh cho phép ghi tin có chiều dài NN byte với nội dung XX vào RAM Trong phần sau chương trình thực thao tác lưu đồ thiết kế phần mềm hình 45 Bước 2: Dịch chương trình TESTDLK.ASM mã máy AT89C52 theo định dạng thập lục phân Intel (TESTDLK.HEX) cách sử dụng trình hợp dịch ASM51.EXE Ví dụ: C:\MyCode>ASM51.EXE TESTDLK.ASM Kết trả tập tin TESTDLK.HEX (Nếu tập tin nguồn không lỗi) Sau hình minh hoạ cho giao diện trình hợp dịch ASM51.EXE Hình 53 Giao diện trình hợp dịch ASM51 Bước 3: Nạp chương trình điều khiển khối HDLC (TESTDLK.HEX) vào chip vi điều khiển AT89C52 phần mềm EZ31.EXE thông qua cổng COM1 máy tính Giao diện chương trình nạp minh hoạ hình 54 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 86 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG Hình 54 Nạp phần mềm điều khiển vào chip AT89C52 10.1.2 Chuẩn bị phần cứng Thủ tục lập trình FPGA FLEX-EPF10K70RC240-2 board UP2 thực qua bước sau đây: Bước 1: Tiến hành thủ tục gán chân (pin assignment) cho thiết kế Thông tin gán chân cho tín hiệu mô tả bảng sau Tín hiệu Loại tín hiệu Chân dùng eupwr_ euprd_ eupdat7 eupdat6 eupdat5 eupdat4 eupdat3 eupdat2 eupdat1 eupdat0 eupce_ eupa7 eupa6 eupa5 eupa4 INPUT_PIN INPUT_PIN BIDIR_PIN BIDIR _PIN BIDIR _PIN BIDIR _PIN BIDIR _PIN BIDIR _PIN BIDIR _PIN BIDIR _PIN INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN 134 132 129 127 120 118 116 114 111 109 133 131 128 126 119 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 87 THIEÁT KEÁ HDLC CONTROLLER eupa3 eupa2 eupa1 eupa0 iclk rst_ rxdat txdat GVHD: PGS.TS LÊ TIẾN THƯỜNG INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN INPUT_PIN OUTPUT_PIN 117 115 113 110 147 28 146 144 Hình 55 Kết gán chân cho thiết kế Bước 2: Tổng hợp code mức RTL (file FPGATOP.v) thành code mức gate (file FPGATOP.sof) cách dùng công cụ compiler phần mềm MAX+PLUS II Sau biên dịch, MAX+PLUSII tạo file (file fpgatop.rpt) chứa thông tin thiết kế sau tổng hợp Trong thông tin gán chân cho thiết kế số chọn lựa tùy định cho vài thông số điển hình chip sau: CHIP fpgatop BEGIN |eupwr_ : INPUT_PIN = 134; |euprd_ : INPUT_PIN = 132; |eupdat7 : BIDIR_PIN = 129; |eupdat6 : BIDIR_PIN = 127; |eupdat5 : BIDIR_PIN = 120; |eupdat4 : BIDIR_PIN = 118; |eupdat3 : BIDIR_PIN = 116; |eupdat2 : BIDIR_PIN = 114; |eupdat1 : BIDIR_PIN = 111; |eupdat0 : BIDIR_PIN = 109; |eupce_ : INPUT_PIN = 133; |eupa7 : INPUT_PIN = 131; |eupa6 : INPUT_PIN = 128; |eupa5 : INPUT_PIN = 126; |eupa4 : INPUT_PIN = 119; |eupa3 : INPUT_PIN = 117; |eupa2 : INPUT_PIN = 115; |eupa1 : INPUT_PIN = 113; |eupa0 : INPUT_PIN = 110; |iclk : INPUT_PIN = 147; |rst_ : INPUT_PIN = 28; |rxdat : INPUT_PIN = 146; |txdat : OUTPUT_PIN = 144; DEVICE = EPF10K70RC240-2; END; DEFAULT_DEVICES BEGIN AUTO_DEVICE = EPF10K70RC240-2; HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 88 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG AUTO_DEVICE = EPF10K30BC356-3; AUTO_DEVICE = EPF10K30RC240-3; AUTO_DEVICE = EPF10K30RC208-3; AUTO_DEVICE = EPF10K20RC240-3; AUTO_DEVICE = EPF10K20RC208-3; AUTO_DEVICE = EPF10K20TC144-3; AUTO_DEVICE = EPF10K10QC208-3; AUTO_DEVICE = EPF10K10TC144-3; ASK_BEFORE_ADDING_EXTRA_DEVICES = ON; END; TIMING_POINT BEGIN MAINTAIN_STABLE_SYNTHESIS = ON; DEVICE_FOR_TIMING_SYNTHESIS = FLEX10K; CUT_ALL_CLEAR_PRESET = ON; CUT_ALL_BIDIR = ON; END; IGNORED_ASSIGNMENTS BEGIN FIT_IGNORE_TIMING = ON; DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS OFF; IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF; IGNORE_DEVICE_ASSIGNMENTS = OFF; IGNORE_LC_ASSIGNMENTS = OFF; IGNORE_PIN_ASSIGNMENTS = OFF; IGNORE_CHIP_ASSIGNMENTS = OFF; IGNORE_TIMING_ASSIGNMENTS = OFF; IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF; IGNORE_CLIQUE_ASSIGNMENTS = OFF; END; GLOBAL_PROJECT_DEVICE_OPTIONS = Hình 56 Tổng hợp code RTL sang gate HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 89 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG Bước 3: Kết nối mạch kiểm tra với board mạch UP2 Trong đó, xử lý AT89C52 mạch kiểm tra đóng vai trò CPU điều khiển hoạt động chip FLEXEPF10K70RC240-2 board UP2 Kết nối mạch kiểm tra với máy tính thông qua đường nối cổng COM Cấp nguồn cho mạch kiểm tra mạch UP2 Hình 57 Kết nối thiết bị Bước 4: Hình 58 minh hoạ trình thực bước Hình 58 Lập trình FPGA FLEX-EPF10K70RC240-2 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 90 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG Trong bước này, tiếp tục dùng công cụ Programmer Max+PlusII để lập trình cho FPGA cách nạp file fpgatop.sop cho chip FLEX-EPF10K70RC240-2 Nếu file code tổng hợp không bị lỗi, sau lập trình xong chương trình báo dòng lệnh Configuration Complete Bước 5: Nhấn nút RESET mạch kiểm tra để đưa xử lý trạng thái ban đầu Nhấn nút RESET board UP2 để đảm bảo hoạt động tín hiệu thiết kế trạng thái ban đầu Bây xử lý thực thi lệnh người sử dụng yêu cầu gửi xuống cho phần cứng, sau tiến hành thủ tục giám sát liệu để kiểm tra trình hoạt động điều khiển Ta quan sát kết hiển thị hình terminal máy tính, quan sát chuyển động đèn led mạch kiểm tra Toàn thử nghiệm cho kết Kết số testcase trình bày phần sau luận văn 10.2 Kết thử nghiệm FPGA Quá trình thử nghiệm FPGA cho thấy điều khiển hoạt động xác Kết kiểm tra hiển thị giao diện số testcase sau 10.2.1 Testcase b1 Hình 59 Kết thử nghiệm FPGA testcase b1 Giao diện testcase b1 có dạng hình 59 Lệnh s20 Gui message thu nhat nghóa chương trình cấu hình hướng phát gửi message có chiều dài 20 byte có nội dung “Gui message thu nhat” HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 91 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG Sau gửi xong, phần mềm kiểm tra ghi trạng thái hướng thu hướng phát điều khiển Sau chương trình phần mềm cho phép hiển thị giá trị đọc Nếu hướng thu có nhận tin CPU đọc vùng RAM hướng thu hiển thị liệu (dạng byte dạng chuỗi) hình Quan sát hình 59 ta thấy hướng thu thu chuỗi liệu gửi “Gui message thu nhat” Tiếp tục gửi tin thứ hai có nội dung “Dai hoc Bach Khoa Tp.HCM” lệnh s20, hướng thu nhận tin “Dai hoc Bach Khoa Tp.HCM” Bản tin thứ ba “Khoa Dien Dien Tu” hướng phát phát hướng thu điều khiển nhận lỗi, CPU đọc liệu có nội dung “Khoa Dien Dien Tu” hướng thu Testcase b2 phần cho thấy rõ trình đọc byte liệu từ vùng RAM dành riêng cho hướng thu 10.2.2 Testcase b2 Hình 60 Kết thử nghiệm FPGA testcase b2 Testcase b2 trình bày testcase có sử dụng lệnh đọc RAM, cho phép người quan sát nhìn thấy giá trị byte liệu CPU đọc từ vùng RAM hướng thu Trong testcase hướng phát phát tin có chiều dài 12 byte lệnh s12 với nội dung “How Are You?” Sau kiểm tra trạng thái, phần mềm đọc RAM lệnh y180 kết hiển thị hình 60 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 92 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 10.2.3 Testcase b3 Trong testcase CPU phát nhiều tin khác để kiểm tra trạng thái hoạt động điều khiển Ví dụ, hướng phát dùng lệnh s20 gửi tin có nội dung “Luong Thi Tu Quyen”(hình 61) Sau kiểm tra trạng thái kiện hướng phát thấy có báo cáo phát tin mới, CPU tiếp tục kiểm tra kiện hướng thu Khi thấy có báo cáo xuất báo hiệu đầu frame, kết thúc frame CRC kiểm tra đúng, CPU kiểm tra liệu thu lệnh check Kết hiển thị sau lệnh check dòng báo thu tin có nội dung “Lương Thi Tu Quyen” giống tin phát Tiếp tục gửi tin “s20 Bao Cao Luan Van Cao Hoc” CPU kiểm tra thấy hướng thu nhận tin “Bao Cao Luan Van Cao Hoc” Quá trình diễn tương tự cho tin phát sau Điều cho thấy điều khiển hoạt động ổn định cho kết thử nghiệm Hình 61 Kết thử nghiệm FPGA testcase b3 10.2.4 Testcase b4 Testcase kiểm tra phản ứng điều khiển trường hợp đường truyền bị lỗi Để tạo testcase trình phát tin hướng phát không nối bus hướng phát Tx hướng thu Rx lại với Ví dụ hướng phát muốn phát tin lệnh s20 có nội dung “Thu test khong noi bus”, bus liệu phát khối phát liệu thu khối thu không nối với Khi đó, kiểm tra trạng thái hướng phát, người quan sát nhận HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 93 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG giá trị 0x01 nghóa có tin phát Sau đó, CPU tiếp tục kiểm tra trạng thái hướng thu, giá tri đọc từ ghi báo cáo trạng thái 0x00, nghóa tin nhận hướng thu Kết hướng thu không thu tin đường truyền Hình 62 Kết thử nghiệm FPGA testcase b4 10.2.5 Testcase b5 Hình 63 Kết thử nghiệm FPGA testcase b5 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 94 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG Tiếp theo tiến trình testcase b4, nối lại bus phát liệu hướng phát Tx với bus thu liệu hướng thu Rx hướng thu điều khiển tiếp tục thu tin phát Để kiểm tra điều này, người thực thử nghiệm tiến hành nối lại hai bus liệu hai hướng thu phát Tiếp theo, phần mềm cần cấu hình cho hướng phát phát tin có nội dung “Sau noi lai Tx voi Rx” Khi đó, CPU đọc từ vùng RAM hướng thu tin giống phát Bộ điều khiển hoạt động xác 10.3 Nhận xét Quá trình thử nghiệm board UP2 với board mạch liên kết hình minh hoạ đưa kết Các board tự tạo hoạt động hỗ trợ tốt cho trình thử nghiệm thiết kế FPGA Quá trình gửi nhận tin giao thức HDLC thực thông qua điều khiển HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 95 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 11 Kết luận Bản báo cáo luận văn cao học trình bày khoảng 100 trang Với 10 phần khác nhau, tập báo cáo mô tả toàn trình thực đề tài với công việc cụ thể xuyên suốt từ thiết kế phần cứng, thiết kế phần mềm, mô RTL, thiết kế board kiểm nghiệm, cách nhận dạng bug thường gặp, thiết kế chip theo công nghệ SoC Quá trình thực đề tài định hình qui trình cụ thể việc thiết kế phần cứng theo công nghệ SoC Trong qui trình đó, việc phân tích, xác định vấn đề, đến bước thiết kế từ khái quát đến chi tiết Sau việc sử dụng ngôn ngữ đặc tả phần cứng Verilog HDL để mã hóa thiết kế Tiếp theo người thiết kế dùng môi trường mô phần cứng để tiến hành mô phỏng, kiểm tra mức độ chức bao gồm mô timing Khi kết mô đúng, bước tiến hành xây dựng mô hình thử nghiệm phần cứng cụ thể Bộ điều khiển HDLC Controler thiết kế theo yêu cầu đề tài kiểm tra hai mức độ mô RTL thử nghiệm FPGA Kết kiểm tra chức điều khiển mô cho kết xác Khi thử nghiệm board UP2, điều khiển HDLC Controller phát thu liệu mong đợi Vì thời gian làm đề tài có giới hạn, số giới hạn phần cứng, dung lượng Embedded RAM (2048 bits), lượng logic element họ chip FLEX10K board UP2, giới hạn hỗ trợ phần mềm MaxPlusII cho họ chip FLEX10K, chip AT89C52, nên thiết kế chưa thể có nhiều chế độ hoạt động với định dạng tin khác Để mở rộng thiết kế, thêm vào tuỳ chọn kiểu tính CRC khác CRCCCITT, CRC-16 cho dạng tin khác tin cho chế độ LAPD, tin hoạt động chế độ BOM, Tuy nhiên, dựa vào qui trình trình bày phần trên, có điều kiện phần cứng, tiếp tục tiến hành mở rộng thiết kế cách thêm nhiều khối chức khác để tạo nên hệ thống hoàn chỉnh Tuy vấn đề nước tiên tiến giới giải tốt đến mức trở thành thủ tục qui trình công nghệ “công ty silicon” Nhưng Việt Nam, lónh vực mẻ chưa phát triển Ngành công nghiệp phần cứng đương thời giới nói chung Việt Nam nói riêng phát huy mạnh, đạt tính cạnh tranh qua đường công nghệ SoC Đã đường nhất, ngành công nghiệp phần cứng Việt Nam sớm hay muộn phải qua, công việc cần phải có bước khởi đầu, nên vấn đề đặt cho đề tài cần thiết để góp phần vào bước khởi đầu HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 96 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 12 Thư mục tham khảo 12.1 Chú giải từ viết tắt HDLC : High Level Data Link Control – giao thức chuẩn hoá quốc tế định nghóa ISO để dùng cho liên kết điểm-nối-điểm đa điểm SoC : System On Chip – ASIC mà có tích hợp xử lý, nhớ, khối logic, khối analog, chức I/O vào chip bán dẫn SOPC : System-On-a-Programmable Chip – ý nghóa tương tự SoC ASIC : Application Specific Integrated Circuit – chip với chức ứng dụng sử dụng công nghệ cụ thể, thiết kế cách sử dụng phần tử thư viện mạch có sẵn IP : Intellectual Property – Sở hữu trí tuệ Từ thường dùng để sản phẩm công ty chuyên lónh vực thiết kế hệ thống, phần hệ thống, mà thiết kế họ dùng vào việc chế tạo, sản xuất thiết bị cụ thể IP Core : Intellectual Property Core - gọi intellectual property block, virtual component, macro Thuật ngữ dùng để linh kiện ảo, công ty xây dựng sẵn đóng gói thành thư viện, chúng sử dụng linh kiện ảo thiết kế vi mạch FPGA : Field Programable Gate Arrays - vi mạch có cấu trúc ma trận phần tử luận lý Những liên kết kim loại khối luận lý nối tuỳ ý chuyển mạch lập trình để tạo thành mạch theo yêu cầu Verilog HDL : Verilog Hardware Description Language – ngôn ngữ mô tả phần cứng IEEE : Institute of Electrical and Electronic Engineers – Vieän nghiên cứu điện điện tử tổ chức Mỹ chuyên phát triển nhiều loại tiêu chuẩn RTL : Register Transfer Logic DFT : Design For Testability PLD : Programmable Logic Device – Thiết bị luận lý lập trình HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 97 THIẾT KẾ HDLC CONTROLLER GVHD: PGS.TS LÊ TIẾN THƯỜNG 12.2 Tài liệu tham khảo [1] J Bhasker, A Verilog HDL Primer, Star Galaxy Publishing, Second Edition, 1997 [2] LSI Logic Corporation, An Asic Primer, 1988-2000 [3] RMIT Department of Computer Science, Data Link Control, 1998 [4] H Yoon, Data Link Control, CS-440 Chapter 7, 1998-2000 [5] Raj Jain, Data Link Control Protocols, Washington University Saint Louis, CSE473s, 2005 [6] W Stallings, Data and Computer Communications, Chapter 7, 7th Edition, Prentice Hall, 2004 [7] ITU-T Q921: ISDN User Network Interface – Data Link Layer Specification, 1997 [8] ITU-T G704: Synchronous Frame Structure Used at 1544, 6312, 2048, 8488 and 4736 Kbit/s Hierarchical Levels, 1998 [9] ITU-T G707: Network Node Interface For Synchronous Digital Hierarchy, 19972000 [10] M Soneru, Protocol Basics: Protocol Specification-User Service Primitives and HDLC, CS-455 Lecture 5, 2001 [11] Michael Keating, Reuse Methodology Manual For System-on-a-Chip Design, Kluwer Academic Publishers, 2001 [12] W Simpson Editor, RFC-1662, Network Working Group, 1994 [13] Rochit Rajsuman, System-on-a-Chip Design and Test, Artech House, 2000 HVTH: LƯƠNG THỊ TÚ QUYÊN TRANG 98 LÝ LỊCH TRÍCH NGANG Họ tên: LƯƠNG THỊ TÚ QUYÊN Giới tính: Nữ Ngày sinh: 01/01/1980 Nơi sinh: Phú Yên Địa liên lạc: 20 Đường 15, KP1, P Linh Đông, Q Thủ Đức, Tp Hồ Chí Minh QUÁ TRÌNH ĐÀO TẠO (từ 1998 – 2003): Học đại học khoa điện – điện tử thuộc trường Đại Học Bách Khoa Tp HCM QUÁ TRÌNH CÔNG TÁC (từ 2003 – nay): Công tác công ty TNHH Arrive Technologies Viet Nam ... thống điều khiển phần cứng thử nghiệm thiết kế phần cứng FPGA Phần 9: Xây dựng mô hình kiểm nghiệm kiểm tra khối thiết kế kết nối thiết bị phần cứng để tiến hành thử nghiệm board Phần 10: Đưa kết... Hình 61 Kết thử nghiệm FPGA testcase b3 93 Hình 62 Kết thử nghiệm FPGA testcase b4 94 Hình 63 Kết thử nghiệm FPGA testcase b5 94 HVTH: LƯƠNG THỊ TÚ QUYÊN MỤC LỤC THIẾT KẾ HDLC. .. message ngắn Phát lỗi FCS 1.3 Chức điều khiển HDLC Bộ điều khiển HDLC controller thiết bị thiết kế để thực thi giao thức HDLC (High Level Datalink Control), điều khiển cấu trúc giao thức định hướng