Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
1,66 MB
Nội dung
Lun thc s khoa hc chuyờn ngnh TVT B GIO DC V O TO TRNG I HC BCH KHOA H NI Nguyn Vn Thi NGHIấN CU TèM HIU CễNG NGH FPGATRONG THIT K MCH IN T LUN VN THC S KHOA HC Chuyờn ngnh : in t vin thụng NGI HNG DN KHOA HC : TS NGUYN NAM QUN H Ni Nm 2010 Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Mục lục Lời cam đoan Danh mục ký hiệu, chữ viết tắt Danh mục hình vẽ Lời mở đầu Chơng : Giới thiệu tổng quan asic lập trình đợc 11 1.1 Tổng quan côngnghệthiếtkế vi mạch. 11 1.2 Gii thiu v công ngh ASIC 11 1.2.1 Full - Custom ASICs.12 1.2.2 Semicustom ASICs13 1.2.3 Các linh kiện logic lập trình đợc 14 Chơng 2: Tìmhiểucôngnghệfpga Xilinx 19 2.1 Cấu trúc chung FPGA hãng Xilinx.19 2.1.1 CLB(Configurable Logic Block) 20 2.1.2 Các nguồn kết nối.20 2.1.3 IOB (Input/Output Blocks) 22 2.2 Các bớc thiếtkế với FPGA22 2.3 Các côngnghệ lập trình FPGA 24 2.3.1 Côngnghệ lập trình dùng RAM tĩnh .24 2.3.2 Côngnghệ lập trình dùng cầu chì nghịch(anti-fuse).26 2.3.3 Côngnghệ lập trình dùng EPROM EEPROM 28 2.3.4 Tóm tắt côngnghệ lập trình cho FPGA 29 2.4 Một số loại FPGA thị trờng .30 2.5 ứng dụng FPGA 32 2.6 u nhợc điểm côngnghệFPGA .33 Chơng Giới thiệu ngôn ngữ mô tả phần cứng vhdl ..34 3.1 Giới thiệu VHDL ..34 3.1.1 ứng dụng ngôn ngữ VHDL.36 Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT 3.1.2 Quy trinh thiếtkế với VHDL.36 3.1.3 Công cụ EDA.37 3.1.4 Chuyển mã VHDL vào mạch.38 3.2 Cấu trúc mã VHDL 40 3.2.1 Các đơn vị VHDL 40 3.2.2 Khai báo Library40 3.2.3 Entity ( thực thể).42 3.2.4 ARCHITECTURE ( cấu trúc)42 3.3 Kiểu liệu 43 3.3.1 Các kiểu liệu tiền định nghĩa.44 3.3.2 Kiểu liệu có dấu không 44 3.3.3 Chuyển đổi liệu.45 3.3.4 Tóm tắt kiểu liệu.46 3.4 Toán tử thuộc tính46 3.4.1 Toán tử46 3.4.2 Thuộc tính 48 3.4.3 Thuộc tính đợc định nghĩa ngời dùng 48 3.4.4 GENERIC 49 3.5 Mã song song 49 3.5.1 Song song 49 3.5.2 GENERATE 50 3.5.3 BLOCK 51 Mã 53 3.6.1 PROCESS 53 3.6.2 Signals Variables 53 3.6.3 IF 54 3.6.4 WAIT54 3.6.5 CASE.54 Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT 3.6.6 LOOP55 3.7 Signal Variables 55 3.7.1 CONSTANT 56 3.7.2 SIGNAL.56 3.7.3 VARIABLE 57 3.8 Máy trạng thái 57 3.8.1 Giới thiệu 57 3.8.2 Thiếtkế theo kiểu (thiết kế theo mô hình máy moore) 60 3.8.3 Thiếtkế kiểu 63 Chơng Thiếtkếmạchđiệntử kit Xilinx Spartan 3E 66 4.1 Giới thiệu kit Xilinx Spartan 3E 66 4.1.1 Các thành phần Kit 66 4.1.2 Sơ đồ chân XC3S500E 67 4.1.3 Bộ tạo dao động KIT.68 4.1.4 Các nút chuyển mạch, nút nhấn led.69 4.1.5 Nguồn cấp.70 4.1.6 Nạp chơng trình cho FPGA 70 4.2 Tổng quan cấu trúc SPARTAN - 3E 70 4.2.1 Input/Output Blocks (IOBs) 71 4.2.2 Configurable Logic Blocks (CLBs): Khối chức logic..71 4.3 Thiếtkế số mạchđiệntử ..75 4.3.1 Giới thiệu vi điều khiển PicoBlaze.75 4.3.2 Thiếtkế ALU. 79 4.3.3 Bộ đếm hai chữ số thập phân từ 00 đến 99 hiển thị LED thanh.81 4.3.4 Bộ cộng có nhớ bit không dấu.83 4.3.5 Bộ điều khiển đèn giao thông (TLC).85 4.3.6 Thiếtkế đồng hồ thời gian thực dùng vi điều khiển PicoBlaze 88 Kết luận 96 Tài liệu tham khảo 97 Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT LờI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiêncứu luận văn trung thực cha sử dụng để bảo vệ học vị Mọi giúp đỡ cho việc hoàn thành luận văn đợc cảm ơn thông tin trích dẫn đợc rõ nguồn gốc Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Danh mục ký hiệu, chữ viết tắt ASIC Application-specific Integrated Circuit ASIC s Application Specific Integrated Circuits CAD Computer-aided Design CAE Computer Aided Tool CLB Configurable Logic Block CPU Central Processing Unit CMOS Complementary Metal-Oxide-Semiconductor CICC IEEE Custom Intergrated Circuits Conference) CPLD Complex Programble Logic Device CLB Configurable Logic Blocks DCMs Digital clock Managers EDA Electronic Design Automation FPGA Field Programmable Gate Arrays IOBs Input/Output Blocks IOBs IEEE IEEE International ASIC conference LUT Look-Up Table LSI Large-scale integrated MSI Medium-scale integrated SSI Small-scale integrated PLA Programable Logic Array PLD Programmable Logic Device RAM Random Access Memory ROM Read-Only Memory VHDL Very high speed Intergrated Circuit Hardware Description Language VLSI Very large-scale integrated VHSIC Very High Speed Intergrated Circuit Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Danh mục hình vẽ Hình 1.1 Kin trúc mt Full Custom ASICs Hình 1.2 Kin trúc mt Cell-Based ASIC Hình 1.3 Kin trúc mt PLA Hinh 1.4 Cấu trúc macrocell Hình 2.1 Cấu trúc tổng quát FPGA Hình 2.2 Cấu trúc CLB hãng Xilinx Hình 2.3 Các loại kết nối CLB Hình 2.4 Cấu trúc IOB Hình 2.5 Hệ thống CAD tiêu biểu cho FPGAs Hình 2.6 Côngnghệ lập trình dùng RAM tĩnh Hình 2.7 Côngnghệ lập trình cầu chì nghịch PLICE Hình 2.8 Côngnghệ lập trình cầu chì nghịch ViaLink Hình 2.9 Côngnghệ lập trình EPROM Hình 2.10 Các loại kiến trúc FPGA Hình 2.11 Kiến trúc tổng quát FPGA Xilinx Hình 3.1 Tóm tắt quy trình thiếtkế với VHDL Hinh 3.2 Sơ đồ tổng quát cộng đầy đủ Hình 3.3 Các sơ đồ mạch thực cộng đầy đủ Hình 3.4 Các thành phần đoạn mã VHDL Hình 3.5 Các phần Library Hình 3.6 Sơ đồ máy trạng thái Hình 4.1 Kit Xilinx Spartan-3E Hình 4.2 Bộ tạo dao động Kit Hình 4.3 Cấu trúc IOBs SPARTAN - 3E Hình 4.4 Vị trí CLB SPARTAN - 3E Hình 4.5 Bộ nhân chuyên dụng SPARTAN - 3E Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Hình 4.6 Bộ quản lý xung SPARTAN - 3E Hình 4.8 Sơ đồ khối cấu trúc vi điều khiển PicoBlaze Hình 4.9 Sơ đồ cấu trúc vi điều khiển PicoBlaze Hình 4.10 Kết mô ALU Hình 4.12 Kết mô cộng có nhớ bit không dấu Hình 4.13 Sơ đồ nguyên lý đồ hình trạng thái TLC Hình 4.14 Kết mô TCL chế độ hoạt động bình thờng Hình 4.15 Kết mô TCL chế độ kiểm tra Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Lời mở đầu Cùng với phát triển chung khoa học kỹ thuật, việc tự động hóa thiếtkếmạchđiệntử đóng vai trò quan trọng thúc đẩy phát triển ngành công nghiệp sản xuất, chế tạo mạchđiệntửTừ năm 50 kỷ trớc trình phát triển kỹ thuật điệntử trải qua nhiều giai đoạn: từ bóng đèn điệntử đến bóng bán dẫn, vi mạch tích hợp vừa nhỏ đến vi mạch có độ tích hợp siêu lớn Ví dụ điển hình vi xử lý Việc thiếtkếmạch có độ tích hợp lớn thực cách thủ công mà phải có trợ giúp máy tính Côngnghệ ASIC( Application Specific Integrated Circuit) đòi hỏi nhiều thời gian chi phí cho nghiêncứuthiếtkế chế tạo Một côngnghệ đời với mục đích làm giảm thời gian, chi phí thiếtkế thử nghiệm hệ thống số côngnghệ FPGA( Field Programmable Gate Array) Các sản phẩm FPGA PLD(Complex Programmable Logic Devices) đợc nhiều công ty giới sản xuất dẫn đầu công ty Xilinx Sử dụng FPGA hay CPLD tối thiểu hóa đợc nhiều công đoạn thiết kế, lắp ráp hầu hết đợc thực máy tính Các ngôn ngữ lập trình sử dụng thiếtkế HDL( Hardware Description Languages) nh VHDL, Verilog, ABEL, Schematiccho phép thiếtkế mô hoạt động mạch chơng trình Các chơng trình mô cho phép xác định lỗi thiếtkế cách dễ dàng kết thực chơng trình file bit cấu hình ( bitstream) để nạp vào FPGA CPLD để hoạt động theo thiếtkế Hiện hệ thống nhúng đợc phát triển mạnh mẽ giới bớc đầu phát triển Việt Nam với ứng dụng rộng rãi công nghiệp đời sống Theo chuyên gia, ớc tính hết năm 2010, doanh số thị trờng phần mềm cho hệ thống nhúng toàn cầu đạt cột mốc tỷ đô-la Mỹ Điều dự báo nói trên, với xuất ngày nhiều đối tác lớn lĩnh vực Việt Nam, mở hớng cho thị trờng phần mềm tơng lai Nguyn Vn Thi- CH 08-10 i hc BKHN Lun thc s khoa hc chuyờn ngnh TVT Việt Nam cần phải đẩy mạnh vấn đề định hớng nghiêncứu phát triển cho ngành hệ thống nhúng từtrờng đại học, cao đẳng trung tâm nghiên cứu, nh trang bị đợc kiến thức tổng quát lĩnh vực cho sinh viên trẻ, đáp ứng đợc nhu cầu ngày cao nhà tuyển dụng Để đáp ứng đợc nhu cầu cung cấp nguồn nhân lực có chất lợng cao cho xã hội, trờng đại học cao đẳng đa vào giảng dạy môn học thiếtkế hệ thống số Học tập môn học tơng đối khó trừu tợng cần thiết phải có modul thí nghiệm, hệ thống tập thí nghiệm phù hợp đặc biệt chơng trình đào tạo Ngời học phải có kiến thức tốt kỹ thuật số, bổ sung kiến thức phần cứng, hệ thống nhúng, ngôn ngữ sử dụng thiếtkế Dới hớng dẫn thầy giáo - TS Nguyễn Nam Quân, khuôn khổ luận văn em tìmhiểunghiêncứucôngnghệFPGA hãng Xilinx Trong luận văn em sử dụng kit Xilinx Spartan 3E để thiếtkế số mạch đơn giản: thiếtkế ALU, đếm hiển thị hai chữ số thập phân, điều khiển đèn giao thông Em tìmhiểu vi điều khiển PicoBlaze đợc nhúng Kit để ứng dụng thiếtkế đồng hồ thời gian thực hiển thị LCD điều chỉnh thay đổi giờ, phút, giây, ngày, tháng, năm Trên sở phát triển hệ thống điều khiển theo thời gian thực khác Nội dung luận văn bao gồm chơng đó: Chơng 1: Giới thiệu tổng quan asic lập trình đợc Chơng 2: Tìmhiểucôngnghệfpga Xilinx Chơng 3: Tìmhiểu ngôn ngữ mô tả phần cứng vhdl Chơng 4: Thiếtkếmạchđiệntử kit Xilinx Spartan 3E Do thời gian khả có hạn nên luận văn nhiều thiếu sót Rất mong đợc góp ý thông cảm thầy cô giáo Hà Nội ngày 25 tháng 10 năm 2010 Học viên Nguyễn Văn Thi Nguyn Vn Thi- CH 08-10 i hc BKHN 10 Lun thc s khoa hc chuyờn ngnh TVT 4.3.4 Bộ cộng có nhớ bit không dấu 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 ns cin a 92 40 04 31 86 C6 32 b 24 81 09 63 0D 8D 65 s B7 C2 0D 94 93 53 97 cout Hình 4.12 Kết mô cộng có nhớ bit không dấu LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY adder IS GENERIC (length : INTEGER := 8); PORT ( a, b: IN STD_LOGIC_VECTOR (length-1 DOWNTO 0); cin: IN STD_LOGIC; s: OUT STD_LOGIC_VECTOR (length-1 DOWNTO 0); cout: OUT STD_LOGIC); END adder; ARCHITECTURE adder OF adder IS BEGIN PROCESS (a, b, cin) VARIABLE carry : STD_LOGIC_VECTOR (length DOWNTO 0); BEGIN carry(0) := cin; FOR i IN TO length-1 LOOP s(i) in_port