Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
1,91 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN ĐỨC QUÂN PHƯƠNG PHÁP RAPID PROTOTYPING ỨNG DỤNG TẠO MẪU BỘ VI XỬ LÝ 16-BIT AM29116 DÙNG FPGA (ALTERA, XILINX ) Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số ngành : 01.02.10 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 09 năm 2004 Trang CƠNG TRÌNH ĐƯỢC HỒ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 học: TS Đinh Đức Anh Vũ Cán chấm nhận xét : TS Phạm Tường Hải Cán chấm nhận xét : TS Nguyễn Hùng Phương 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 29 tháng 12 năm 2004 Luận văn cao học 24/1/2005 Trang 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, ngày tháng năm 2004 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Đức Quân Phái: Nam Ngày, tháng, năm sinh: 29/09/1977 Nơi sinh: Lâm Đồng Chuyên ngành: Công nghệ thông tin MSHV:CNTT13.015 I- TÊN ĐỀ TÀI: Phương pháp Rapid Prototyping - Ứng dụng prototype vi xử lý 16 bit AM29116 dùng FPGA (Altera, Xilinx) II- NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu ngơn ngữ đặc tả phần cứng VHDL, Verilog HDL Tìm hiểu đặc tả thiết kế phần cứng cấp RTL (Register Transfer Level) Tìm hiểu phương pháp prototyping đại Nghiên cứu vi xử lý 16 bit AM29116 Tổng hợp tối ưu vi xử lý Am29116 Prototyping vi xử lý AM29116 dùng công nghệ FPGA (Altera, Xilinx) Đánh giá kết thu (timing, area, ) III- NGÀY GIAO NHIỆM VỤ (Ngày bắt đầu thực LV ghi Quyết định giao đề tài): IV- NGÀY HOÀN THÀNH NHIỆM VỤ: V- CÁN BỘ HƯỚNG DẪN: Ts Đinh Đức Anh Vũ CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH CN BỘ MÔN QL CHUYÊN NGÀNH (Học hàm, học vị, họ tên chữ ký) Nội dung đề cương luận văn thạc sĩ Hội đồng chuyên ngành thông qua TRƯỞNG PHÒNG ĐT – SĐH Ngày tháng năm TRƯỞNG KHOA QL NGÀNH ( Ghi chú: Học viên phải đóng tờ nhiệm vụ vào trang tập thuyết minh luận văn) Luận văn cao học 24/1/2005 Trang Lời cảm ơn Trước tiên, xin gởi lời cám ơn tới thầy hướng dẫn luận văn tơi, TS Đinh Đức Anh Vũ, người tận tình, tạo điều kiện để giúp đỡ, cung cấp tài liệu, định hướng phương pháp giải vấn đề người tạo mơi trường tốt giúp tơi hồn thành luận văn Ngồi thầy cịn người có nhiều góp ý xác đáng việc trình bày chi tiết hình thức luận văn cao học này, xin chân thành cảm ơn Thầy Tôi xin cảm ơn Thầy TS Dương Tuấn Anh 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 phản biện tận tình giúp đỡ, tháo gỡ khúc mắc, đóng góp ý kiến q báu để hồn thành luận văn Và xin cảm ơn tất Thầy, Cô thuộc khoa CNTT trường ĐHBK tạo điều kiện thuận lợi để học tập thực luận văn Xin cám ơn tất bạn lớp cao học giúp đỡ tận tình thơng tin cần thiết q trình học tập tơi Tơi xin cám ơn đồng nghiệp nơi làm việc góp ý kiến khơng thể tốt trình làm luận văn Xin cảm ơn tất bạn tôi, người hiểu động viên suốt trình học tập Và cuối tơi muốn gởi lời cám ơn đến người thân tơi, khơng có họ tơi khơng thể có kết ngày hôm Tôi xin cảm ơn tất Ngày 10/11/2004 Nguyễn Đức Quân Luận văn cao học 24/1/2005 Trang TÓM TẮT LUẬN VĂN THẠC SỸ Ba yếu tố thời gian, chất lượng chi phí ln tiêu chí lớn để đánh giá phương pháp Trong yếu tố thời gian trọng có phần nhiều việc thiết kế phần cứng (cụ thể thiết kế vi mạch) ngày mà áp lực phải đưa sản phẩm thị trường thời gian ngắn ngày tăng độ phức tạp tăng theo hàm phi tuyến Do đề tài tác giả giới thiệu phương pháp thiết kế tiên tiến đảm bảo chất lượng, rút ngắn thời gian giảm thiểu độ phức tạp việc thiết kế thực vi mạch đồng thời đảm bảo tính chất dùng lại (reusable) tính dễ chuyển đổi (migration) Đồng thời tác giả đưa đánh giá, phân tích kết luận cho phương pháp thiết kế này, phương pháp thiết kế Rapid Prototyping Luận văn cao học 24/1/2005 Trang Mục Lục Chú Giải Các Từ Viết Tắt 10 Phát biểu vấn đề 12 2.1 Đặt vấn đề 12 2.2 Đề tài thực 18 Tổng thuật cơng trình có 20 3.1 PROTOS - A Microcontroller/FPLD-based Prototyping System 23 3.2 RAPROS – Prototyping System for PC/FPLD Applications 24 Cơ sở lý thuyết phương pháp luận 25 4.1 Phương pháp thiết kế phần cứng 25 4.1.1 Thiết kế ASIC 29 4.1.2 Thiết kế FPGA 31 4.2 Mơ hình RTL (Register Transfer Level) 32 4.2.1 Mơ hình dịng liệu .33 4.2.2 Mơ hình khối điều khiển .34 4.2.3 Thiết kế RTL 35 4.3 Ngôn ngữ mô tả phần cứng VHDL 35 4.4 Giới thiệu FPGA 38 Phương pháp Rapid Prototyping 39 5.1 Khái niệm chung 39 5.2 Vai trò Prototyping phát triển hệ thống phần cứng 40 5.3 Quá trình thiết kế sử dụng phương pháp Rapid Prototyping .42 5.3.1 Đặc tả mô tả thiết kế phần cứng .46 5.3.2 Tổng hợp RTL 55 5.3.3 Tổng hợp logic 55 5.3.4 Tổng hợp vật lý .56 5.3.5 Lập trình FPGAs 56 Bộ xử lý AM29116 56 6.1 Kiến trúc Am29116 .57 6.1.1 Bộ nhớ 32 từ 16 bit 58 6.1.2 Bộ tích lũy 16 bit 58 6.1.3 Bộ cài liệu 58 6.1.4 Bộ dịch vòng (Barrel Shifter) 59 6.1.5 Đơn vị số học luận lý 59 6.1.6 Bộ giải mã ưu tiên 59 6.1.7 Thanh ghi trạng thái bit 60 Luận văn cao học 24/1/2005 Trang 6.1.8 Các khối Mux / tạo mã điều kiện (condition-code generator/Multiplexer) 61 6.1.9 Bộ đệm đầu trạng thái 61 6.1.10 Khối chốt giải mã lệnh .62 6.2 Tập lệnh Am29116 62 6.2.1 Lệnh toán hạng 63 6.2.2 Lệnh toán hạng 64 6.2.3 Lệnh dịch bit 64 6.2.4 Lệnh rotate and merge 67 6.2.5 Lệnh tháo tác bit .67 6.2.6 Lệnh quay n bits .68 6.2.7 Lệnh quay so sánh 69 6.2.8 Lệnh ưu tiên hóa ( prioritize) 70 6.2.9 Lệnh CRC .70 6.2.10 Lệnh trạng thái 70 6.2.11 Lệnh No operation 70 6.3 Thiết kế Am29116 71 6.3.1 Thiết kế nhớ RAM 73 6.3.2 Thiết kế tích lũy 16 bit (Accumulator) 75 6.3.3 Thiết kế cài liệu 77 6.3.4 Thiết kế dịch vòng - Barel Shifter .78 6.3.5 Thiết kế ALU 80 6.3.6 Thiết kế giải mã ưu tiên .82 6.3.7 Thiết kế ghi trạng thái 82 6.3.8 Thiết kế chốt giải mã lệnh 82 6.3.9 Thiết kế bus multiplexer đầu vào 83 6.3.10 Kết tổng hợp Am29116 84 Kết luận 84 Tài liệu tham khảo 85 Luận văn cao học 24/1/2005 Trang Danh sách hình minh họa Hình Sơ đồ thiết kế phần cứng .13 Hình Ứng dụng thiết bị lập trình từ năm 1985 đến 14 Hình thiết kế ASIC FPGA .17 Hình mô phần cứng 25 Hình Tổng hợp phần cứng .26 Hình biểu đồ Y Gajski Kuhn .27 Hình Các khía cạnh cấp độ mơ hình 28 Hình Lưu đồ phát triển phần cứng 28 Hình Lưu đồ thiết kế ASIC 30 Hình 10 Tổ chức mơ hình RTL 32 Hình 11 Mơ hình dịng liệu điển hình 34 Hình 12 Quá trình rapid prototyping .42 Hình 13 Phân bố khối nhớ RAM ánh xạ "glue" 43 Hình 14 Phân bố nhớ RAM ánh xạ AEB 44 Hình 15 Đóng gói khối .44 Hình 16 trình thiêt kế phần cứng dùng FPGA 47 Hình 17 Cây phân cấp (a) ghi dịch (b) Flipflop FF .49 Hình 18 thiết kế phân cấp 49 Hình 19 thiết kế topdown 51 Hình 20 thiết kế bottom up 52 Hình 21 hệ số phân cấp .53 Hình 22 phân cấp theo chức hay theo không gian 54 Hình 23 Sơ đồ khối đơn giản hóa AM29116 .57 Hình 24 Lệnh toán hạng 63 Hình 25 lệnh hai tốn hạng .65 Hình 26 Lệnh hai tốn hạng (tiếp theo) 66 Hình 27 Lệnh dịch bit 67 Hình 28 Lệnh rotate and merge .67 Hình 29 Lệnh thao tác bit 68 Hình 30 Lệnh quay n bit 69 Hình 31 Lệnh quay so sánh 69 Hình 32 Lệnh ưu tiên hóa 70 Hình 33 Lệnh kiểm tra CRC .70 Hình 34 Critical path .72 Hình 35 Thiết kế Am29116 .73 Hình 36 RAM 74 Hình 37 Khối nhớ RAM .74 Hình 38 Kết tối ưu hóa khối nhớ 75 Hình 39 Khối ghi tích lũy 75 Hình 40 Hiện thực tích lũy 16 bit verilog 76 Luận văn cao học 24/1/2005 Trang Hình 41 waveform khối acc 76 Hình 42 Kết tổng hợp khối ghi tích lũy họ Altera 76 Hình 43 Kết thực khối ghi tích lũy họ Xilinx 77 Hình 44 Kết tổng hợp cài liệu học Altera 77 Hình 45 Kết tổng hợp cài liệu hoc Xilinx .78 Hình 46 dịch vòng 78 Hình 47 Kết tối ưu hóa Barrel Shifter sử dụng Maxplus II 79 Hình 48 Kết tổng hợp khối Barrel Shifter họ altera sử dụng Quartus 79 Hình 49 Kết tổng hợp khối Barrel Shifter họ Xilinx 79 Hình 50 Các tác vụ khối ALU 81 Hình 51 Sơ đồ khối ALU 81 Hình 52 Kết tổng hợp khối ALU họ Altera sử dụng Quartus 82 Hình 53 Kết tổng hợp khối ALU họ Xilinx 82 Hình 54 Kết tổng hợp giải mã ưu tiên họ Xilinx 82 Hình 55 Kết tổng hợp ghi trạng thái họ Xilinx 82 Hình 56 Kết tổng hợp khối decodeur họ Altera 83 Hình 57 Kết tổng hợp khối decodeur họ Xilinx 83 Hình 58 Kết tối ưu hóa khối bú mux 83 Hình 59 Kết tổng hợp Am29116 họ Altera .84 Hình 60 Kết tổng hợp Am29116 họ Xilinx 84 Luận văn cao học 24/1/2005 Trang 10 Chú Giải Các Từ Viết Tắt ASIC : Application Specific Integrated Circuit - vi mạch 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 VHSIC : Very high Scale Intergrated circuits (VHSIC) - đọc "visick", mạch phần cứng có mật độ tích hợp cao VHDL : VHSIC hardware description language (VHDL) - ngôn ngữ mô tả phầ cứng, kết chương trình VHSIC tài trợ quốc phòng Mỹ thập niên 70 80 Đầu tiên phát triển thành công cụ chuan để lập tài liệu cho mạch phần cứng phát triển cơng ty hợp đồng với quốc phịng Mỹ Đến năm 1987 VHDL chuẩn hóa thành chuẩn IEEE 1076 target technology : thuật ngữ ám tới công nghệ riêng nhà sản xuất thiết bị lập trình 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 vi mạch bán dẫn SOPC : System-On-a-Programmable Chip - ý nghĩa tương tự SoC 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 Luận văn cao học 24/1/2005 Trang 73 Ngoài thiết kế Am29116 sử dụng phương pháp Rapid Prototyping đề cập thể Hình 35 Trong phần tác giả trình bày giải pháp thiết kế kết thu tương ứng cho thành phần thiết kế đường critical path đề cập Hình 35 Thiết kế Am29116 6.3.1 Thiết kế nhớ RAM Trong đề tài khối nhớ RAM thiết kế dựa hai khối RAM Hình 32 Trong thiết kế khối nhớ có cổng nhập liệu 16 bit, cổng Luận văn cao học 24/1/2005 Trang 74 xuất liệu 16 bit, cổng nhập địa bit, tín hiệu lựa chọn thao tác byte hay word, tín hiệu cho phép ghi CS_MEMb tín hiệu cần thiết khác Hình 36 RAM datain addr 16 8 RAM 32x8 (H) RAM 32x8 (L) AND 16 MEM out AND MODE IENb CS_MEMb CP Hình 37 Khối nhớ RAM Sau tối ưu hóa khối nhớ ta có kết so sánh tổng hợp Hình 33 Ta thấy chưa tối ưu hóa khối nhớ RAM tốt chiếm tổng cộng 1680 Logic Cell (LC) với độ trễ tương ứng 26.9 ns sử dụng với FLEX10K30E có speed grade -3 Với speed grade là-2 -1 diện tích khơng thay đổi, độ trễ tốt tương ứng giảm xuống tương ứng 20.2ns 15.7ns Nhưng sau tối ưu hóa ta nhận thấy khối RAM không ánh xạ vào Logic cell mà ánh xạ vào khối EAB Kết có sau Luận văn cao học 24/1/2005 Trang 75 tối ưu hóa 512 bit nhớ nhúng (Embbeded memory bit) logic cell Diện tích khơng thay đổi fit vào FLEX10k30E có speed grade khác Kết ta có độ trễ 26.3 ns, 20.3ns 17.7ns tương ứng cho speed grade -3, -2 -1 Keát tối ưu hóa khối nhớ RAM 32x16 bit word treân FLEX10K30E Normal Speed Area Speed Opti- Mem grade mize bits No timing time spec No timing time spec No timing time spec LCs Delay LCs Delay LCs Delay LCs Delay LCs Delay LCs Delay No 1680 26.9 1680 26.9 2171 28.5 1680 27 1680 27.5 1680 27.4 -3 Yes 512 26.3 26.3 26.3 26.3 26.3 26.3 No 1680 20.3 1680 20.3 2171 24.1 1680 20.2 1680 20.7 1680 20.7 -2 Yes 512 21.4 21.4 21.4 21.4 21.4 21.4 No 1680 17 1680 15.7 2171 22.1 1680 17 1680 17.2 1680 15.9 -1 Yes 512 17.7 17.7 17.7 17.7 17.7 17.7 Hình 38 Kết tối ưu hóa khối nhớ 6.3.2 Thiết kế tích lũy 16 bit (Accumulator) Bộ ghi tích lũy 16 bit thiết kế gồm 16 flipflop hoạt động tín hiệu ienb mức thấp lệnh thực thi có sử dụng ghi tốn hạng đích Hình 39 Khối ghi tích lũy Luận văn cao học 24/1/2005 Trang 76 always @(posedge cp) begin if ((ien_b == 1'b0)&&(cs_accb == 1'b0)) begin if (mode == 1'b1) begin acc[15:0]