Giáo trình vi mạch số lập trình nghề điện tử công nghiệp trình độ cao đẳng

263 2K 6
Giáo trình vi mạch số lập trình nghề điện tử công nghiệp trình độ cao đẳng

Đ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

BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Mô đun: Vi Mạch Số Lập Trình NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số:120/QĐ-TCDN ngày 25 tháng 02 năm 2013 Tổng cục trưởng Tổng cục Dạy nghề Năm 2013 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại giáo trình nên nguồn thông tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo. Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm. LỜI GIỚI THIỆU Để thực biên soạn giáo trình đào tạo nghề Điện tử công nghiệp trình độ Cao Đẳng Nghề Trung Cấp Nghề, giáo trình Vi mạch số lập trình giáo trình mô đun đào tạo chuyên ngành biên soạn theo nội dung chương trình khung Bộ Lao động Thương binh Xã hội Tổng cục Dạy Nghề phê duyệt. Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiến thức kỹ chặt chẽ với nhau, logíc. Trong năm gần đây, công nghệ FPGA ( Field Programmable Gate Array) phát triển mạnh mẽ lĩnh vực điện tử. FPGA hiểu IC số lập trình được, ứng dụng việc xử lý tín hiệu số, xử lý số,…để thay IC số thông thường, cồng kềnh. Bằng cách sử dụng FPGA người thiết kế tạo mạch điện chức thay sử dụng nhiều IC số. Chính vậy, nhu cầu hiểu biết IC số lập trình nói chung FPGA nói riêng nhu cầu cần thiết cho cán kỹ thuật điện tử. Nội dung giáo trình bố cục bao gồm với nội dung sau: Bài 1: Giới thiệu chung PLD, CPLD FPGA Bài 2: Họ CPLD Bài 3: Họ FPGA Bài 4: Qui trình thiết kế cho CPLD FPGA hãng Xilinx Bài 5: Phần mềm ISE modelsim Bài 6: Ngôn ngữ Verilog HDL Bài 7: Mốt số chương trình ứng dụng Tuy nhiên, tùy theo điều kiện sở vật chất trang thiết bị, trường có thề sử dụng cho phù hợp. Mặc dù cố gắng tổ chức biên soạn để đáp ứng mục tiêu đào tạo không tránh khiếm khuyết. Rất mong nhận đóng góp ý kiến thầy, cô giáo, bạn đọc để nhóm biên soạn hiệu chỉnh hoàn thiện hơn. Các ý kiến đóng góp xin gửi Trường Cao đẳng nghề Lilama 2, Long Thành Đồng Nai. Đồng Nai, ngày 15 tháng 03 năm 2013 Tham gia biên soạn 1. Chủ biên :Ts. Lê Văn Hiền 2. Trần Xuân Thiện MỤC LỤC TRANG LỜI GIỚI THIỆU MỤC LỤC .4 BÀI .10 GIỚI THIỆU CHUNG VỀ PLD, CPLD VÀ FPGA .10 1.Lịch sử phát triển: .10 2.Sự cần thiết ý nghĩa thực tế việc sử dụng mảng logic lập trình được: 12 3.Cấu trúc PLD: 13 3.1PAL: .13 3.2PLA: .15 3.3GAL .15 4.Cấu trúc CPLD: 16 5.Cấu trúc FPGA: 18 6.Sự khác biệt PLD, CPLD FPGA: 19 7.Phần mềm hỗ trợ: .20 BÀI .21 HỌ CPLD .21 1.Giới thiệu chung: 21 2.Vi mạch CPLD: .22 BÀI .28 HỌ FPGA 28 1.Giới thiệu chung: 28 2.Vi mạch FPGA: .29 2.1.Mô tả FPGA: .30 2.2.Thông số giới hạn: 48 2.3.Đặc tính lưu trữ liệu: 48 2.4.Đặc tính điện DC: .49 2.5.Công suất tiêu thụ: .54 2.6.Sơ đồ chân: 55 2.7.Ý nghĩa tên linh kiện: 70 3.Lựa chọn phương án cấu hình cho FPGA: .72 BÀI .74 QUY TRÌNH THIẾT KẾ CHO CPLD VÀ FPGA CỦA HÃNG XILINX 74 1.Phương án lựa chọn CPLD FPGA 74 2.Qui trình thiết kế cho CPLD hãng Xilinx: .75 3.Qui trình thiết kế cho FPGA hãng Xilinx: .79 BÀI .81 PHẦN MỀM ISE VÀ MODELSIM 81 1.Cài đặt khởi động ISE: 81 2.Tạo Project ISE: 89 3.Cài đặt khởi động Modelsim: .94 4.Mô dạng sóng ISE Modelsim: 101 4.1.Mô ISE: 101 4.2.Mô modelsim: .109 5.Gán chân thích ứng với thiết bị: .123 6.Biên dịch tổng hợp chương trình: 125 7.Đổ chương trình vào CPLD FPGA: .130 8.Tạo sử dụng core có sẵn từ ISE: 142 BÀI .148 NGÔN NGỮ VERILOG HDL .148 1.Giới thiệu ngôn ngữ Verilog HDL: .148 1.1.HDL gì? .148 1.2.Tầm quan trọng HDL: .149 1.3.Đặc điểm bật Verilog: 150 1.4.Xu hướng HDL: 150 2.Tổng quan ngôn ngữ Verilog: 151 2.1.Lịch sử ngôn ngữ Verilog 151 2.2.Phương pháp thiết kế hệ thống: 152 2.3.Các khái niệm Verilog: 153 2.4.Module port: .161 3.Verilog HDL mức thiết kế phổ biến: 164 3.1.Thiết kế mức cổng: .164 3.2.Các cổng định nghĩa sẵn: 164 3.3.Thiết kế mức Dataflow: .168 3.4.Thiết kế mức hành vi: 178 3.5.Tast Function: 193 4.Bài tập 6: .198 BÀI .200 MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG .200 1.Điều khiển led đơn: 200 1.1.Chương trình chính: .200 1.2.Chương trình testbench: 202 1.3.kết mô phỏng: .203 2.Thanh ghi dịch: 203 2.1.Chương trình chính: .203 2.2.Chương trình testbench: 204 2.3.Kết mô phỏng: 206 3.Mạch đếm: .206 3.1.Chương trình chính: .206 3.2.Chương trình testbench: 208 3.3.Kết mô phỏng: 209 4.Mạch đếm vòng xoắn Johson: 209 4.1.Chương trình chính: .209 4.2.Chương trình testbench: 210 4.3.Kết mô phỏng: 211 5.Bộ Mạch mã hóa giải mã: .211 5.1.Bộ mã hóa encoder sang 3: .211 5.2.Bộ giải mã decoder sang 3: .214 6.Mux/Demux: .218 6.1.Bộ mux: 218 6.2.Bộ demux: 221 7.Bộ so sánh cộng liệu: 226 7.1.Bộ so sánh: 226 7.2.Bộ cộng liệu: .231 8.Giao tiếp với led ma trận: .239 9.Điều chế độ rộng xung chia tần: .242 9.1.Chia tần số: 242 9.2.Điều chế độ rộng xung: 245 10.Truyền liệu song song: .250 10.1.Chương trình chính: .250 10.2.Chương trình testbench: 251 10.3.Kết mô phỏng: 253 11.Giao tiếp ADC cảm biến nhiệt độ .253 11.1.Chương trình chính: .253 11.2.Chương trình testbench: 256 11.3.Kết mô phỏng: 258 12.Tạo đệm liệu: 259 13.Sử dụng core có sẵn ISE vào thiết kế: .261 14.Bài tập 7: .262 TÀI LIỆU THAM KHẢO 263 MÔN ĐUN: VI MẠCH SỐ LẬP TRÌNH Mã mô đun: MĐ30 Vị trí, tính chất, ý nghĩa vai trò mô đun: - Vị trí mô đun: Mô đun bố trí dạy sau học song mô đun vi xử lý, vi điều khiển. - Tính chất mô đun: Là mô đun bắt buộc. - Ý nghĩa vai trò mô đun: giúp sinh viên nắm bắt kiến thức kỹ lập trình FPGA ứng dụng vào lĩnh vực điện tử, mô đun thiếu sinh viên nghề điện tử công nghiệp. Mục tiêu mô đun: - Trình bày cấu tạo, đặc tính họ vi mạch số lập trình như: PLD, CPLD, FPGA .theo nội dung học. - Phân tích mạch ứng dụng vi mạch số lập trình CPLD, FPGA theo tiêu chuẩn nhà sản xuất. - Thiết kế yêu cầu điều khiển dùng CPLD, FPGA theo yêu cầu kỹ thuật. - Sửa chữa, thay linh kiện hư hỏng đạt yêu cầu kỹ thuật. - Kiểm tra xác điều kiện hoạt động thiết bị. Nội dung mô đun: Số TT Thời gian Tên mô đun Tổng số Lý Thực thuyết hành Kiểm tra Giới thiệu chung PLD, CPLD, FPGA, mảng logic lập trình 5.5 5.5 Họ CPLD 5.5 5.5 Họ FPGA Qui trình thiết kế cho CPLD FPGA Xilinx Phần mềm ISE modelsim 15 10 Ngôn ngữ Verilog HDL 34 18 15 Viết số chương trình ứng dụng 75 66 Tổng 150 52 91 10 BÀI GIỚI THIỆU CHUNG VỀ PLD, CPLD VÀ FPGA Mã bài: MĐ30 - 01 Giới thiệu: PLD, CPLD FPGA vi mạch số lập trình được. Do đó, trước sâu vào vi mạch số lập trình người học phải trang bị kiến thức tổng quan vi mạch số lập trình được. Mục tiêu: - Giải thích cần thiết ý nghĩa thiết kế logic họ PLDs, CPLDs, FPGA - Trình bày cấu tạo, ý nghĩa thực tế việc sử dụng mảng logic lập trình yêu cầu thiết kế phức tạp. - Phân biệt cấu tạo logic họ PLDs, CPLDs, FPGA. - Nêu phạm vi ứng dụng họ PLD, CPLD, FPGA. - Phân biệt khác PLD với CPLD FPGA. - Cách xác định lựa chọn linh kiện thiết kế logic Nội dung chính: 1. Lịch sử phát triển: Mục tiêu: khái quát cho người học nắm rõ lịch sử phát triển vi mạch khả trình. Vi mạch khả trình gồm dạng sau:  SPLD (Simple Programmable Logic Device) bao gồm loại IC khả trình PROM, PAL, PLA, GAL. Đặc điểm chung nhóm IC chứa số lượng cổng tương đương vài chục (PROM) đến vài trăm (PAL, GAL) cổng.  CPLD (Complex Programmable Logic Device) IC khả trình phức tạp thường ghép từ nhiều SPLD chip đơn. Số lượng cổng tương đương CPLD đạt từ hàng nghìn đến hàng chục nghìn cổng.  FPGA (Field – Programmable Gate Array) IC khả trình cấu trúc từ mảng khối logic lập trình được. PROM (Programmable Read – Only Memory) phát minh Wen Tsing Chow năm 1956 làm việc Arma Division công ty American Bosch Arma Garden, New York. PROM chế tạo theo đơn đặt hàng từ 248 end end end endmodule 9.2.2. Chương trình testbench module test_PWM; // ---------Inputs-----------reg res; reg clk; reg [6:0] duty; //-------- Outputs---------wire clk_out1; wire clk_out2; wire [6:0] N; wire [8:0] M; //--------- Instantiate the Unit Under Test (UUT)---------PWM uut ( .res(res), .clk(clk), .duty(duty), .clk_out1(clk_out1), .clk_out2(clk_out2), .N(N), .M(M)); initial begin //--------- Initialize Inputs-----------res = 0; clk = 0; duty = 0; // ------Wait 100 ns for global reset to finish--------#100; res=1; #100 duty=1; //- -- nhap duty = 1% -----#20000; 249 duty = 5; //--- nhap duty = 5%------- end //-----------tao xung clock vao ------------always #5 clk =!clk; endmodule 9.2.3. Kết mô phỏng: Hình 7.17 – Kết mô điều chế độ rộng xung PWM duty = 1% Nhìn vào kết mô ta thấy, với duty = 1%, ngõ clk_out1 có thời gian mức logic “1” chu kỳ xung clk, thời gian mức logic “0” 99 chu kỳ xung clk (bằng 100 – chu kỳ xung mức 1), ngõ clk_out2 có thời gian mức logic “1” chu kỳ xung clk, thời gian mức logic “0” 396 chu kỳ xung clk (bằng 400 – xung mức 1). Như duty = 1/100 = 4/400 = 1%. 250 Hình 7.17 – Kết mô điều chế độ rộng xung PWM duty = 5% Nhìn vào kết mô ta thấy, với duty = 5%, ngõ clk_out1 có thời gian mức logic “1” chu kỳ xung clk, thời gian mức logic “0” 95 chu kỳ xung clk (bằng 100 – chu kỳ xung mức 1), ngõ clk_out2 có thời gian mức logic “1” 20 chu kỳ xung clk, thời gian mức logic “0” 380 chu kỳ xung clk (bằng 400 – 20 xung mức 1). Như duty = 5/100 = 20/400 = 5%. 10. Truyền liệu song song: 10.1. Chương trình chính: Viết chương trình thực truyền liệu song song có sơ đồ khối hình 7.18. Hình 7.18 – Sơ đồ khối truyền liệu song song Trong đó:      clk: xung clock phát. res: tín hiệu reset. data_in: liệu vào có độ rộng bit. EN: tín hiệu cho phép truyền, tích cực mức 1. data_out: liệu truyền có độ rộng bit. 251 Dữ liệu vào đưa vào chân data_in, liệu không truyền ngoài, liệu data_out giữ nguyên giá trị trước EN = 0. Khi EN lên mức 1, liệu vào data_in truyền data_out để truyền đi. Khi tín hiệu res = 0, ngõ phát treo lên trạng thái tổng trở cao. Chương trình chính: module transmiter (res, clk, data_in, data_out, EN); //---------- cac ngo vao -----------------------------------------------input res; input clk; //------ xung clock he thong ------------- input [7:0] data_in; //---- ------------du lieu vao -------------- input EN; //--------- tin hieu cho phep truyen ------ //-------------------- cac ngo ----------------------------------------output [7:0] data_out; //--------------du lieu truyen di ----------reg [7:0] data_out; //------------------ main program -------------------------------------always @ (posedge clk) begin if(!res) data_out = 'dz; else if (!EN) data_out = data_out; else data_out = data_in; end endmodule 10.2. Chương trình testbench: module test_transmiter; //--------- Inputs ------------reg res; reg clk; reg [7:0] data_in; reg EN; //--------- Outputs -----------wire [7:0] data_out; //------ Instantiate the Unit Under Test (UUT) ------- 252 transmiter uut (.res(res), .clk(clk), .data_in(data_in), .data_out(data_out), .EN(EN) ); initial begin //------ Initialize Inputs -----------res = 0; clk = 0; data_in = 0; EN = 0; #100; res = 1; //------cho reset len muc ------ #100 data_in = 10; //--- cho du lieu vao bang 10 ----- #100 EN = 1; //--- cho phep truyen du lieu di --#100 data_in = 20; #100 EN = 0; #100 data_in = 30; #100 EN =1; --------------- //--- nhap du lieu thu -----------//--- dung truyen ------------------//--- nhap du lieu thu -----------//--- cho phep truyen end //---------------- tao xung clock he thong -------always #10 clk = !clk; endmodule 253 10.3. Kết mô phỏng: Hình 7.19 – Kết mô truyền liệu song song Nhìn vào kết mô truyền liệu ta thấy:  Tại thời điểm res = ngõ trạng thái tổng trở cao.  Khi res = 1: • Khi EN = 0: liệu data_in = 10 nhập vào trước không truyền ngoài, data_out giữ nguyên giá trị trước data_out = z. • Khi EN = 1: liệu ngõ vào data_in truyền data_out giá trị 10 20. • Dữ liệu data_in = 30 không truyền EN = data_out giữ nguyên giá trị trước data_out = 20, EN = giá trị data_in = 30 truyền data_out. 11. Giao tiếp ADC cảm biến nhiệt độ 11.1. Chương trình chính: Viết chương trình giao tiếp ADC-8bit hiển thị led 7-đoạn phương pháp quét có sơ đồ khối hình 7.20. Hình 7.20 – Sơ đồ khối khối giao tiếp ADC led đoạn Cảm biến nhiệt độ xuất tín hiệu tương tự, tín hiệu tương tự đưa vào ADC-8bit, ADC-8bit có nhiệm vụ chuyển tín hiệu tương tự nhận từ 254 cảm biến nhiệt độ thành tín hiệu số tương ứng dạng số hex. FPGA có nhiệm vụ nhận liệu số hex từ ADC, sau giải mã cho hiển thị ba led-7 đoạn phương pháp quét. Chương trình chính: module quet_3led (in, seven_doan, chonled, clk, res); //-------------- cac ngo vao ----------------------------input clk; //---------- xung clock -------------- input [7:0] in; //------ du lieu bit tu ADC -------input res; //------ tin hieu reset ---------------- //-------------- cac ngo ------------------------------output [2:0] chonled; //------ chon led hien thi -- output [7:0] seven_doan; //------ doan + dau cham -- reg [2:0] chonled; reg [7:0] seven_doan; //-------- bien trung gian ----------------------------reg [1:0] K; reg [3:0] M; reg [5:0] N; //---------dinh nghia ma doan ----parameter [6:0] so0 = 7'h40; //c0 parameter [6:0] so1 = 7'h79; //f9 parameter [6:0] so2 = 7'h24; //a4 parameter [6:0] so3 = 7'h30; //b0 parameter [6:0] so4 = 7'h19; //99 parameter [6:0] so5 = 7'h12; //92 parameter [6:0] so6 = 7'h02; //82 parameter [6:0] so7 = 7'h78; //f8 parameter [6:0] so8 = 7'h00; //80 parameter [6:0] so9 = 7'h10; //90 //--------main program------------always @ (posedge clk) begin 255 if(!res) begin K=0; N=0; M = 0; end else begin case (K) //---------------- hien thi led doan thu nhat -------(0): begin chonled=~1; if (N==63) begin //------ delay -------------- K=1; N=0; end else begin K=0; N=N+1; end M = (in%100)%10; end //---------------- hien thi led doan thu hai -------1: begin chonled=~2; if (N==63) begin //------ delay ------------K=2; N=0; end else begin K=1; N=N+1; end M = (in/10)%10; end 256 //---------------- hien thi led doan thu ba -------2: begin chonled=~4; if (N==63) begin //------ delay --------------------K=0; N=0; end else begin K=2; N=N+1; end M = in/100; end endcase case(M) 0: begin seven_doan = {1'b1,so0}; end 1: begin seven_doan = {1'b1,so1}; end 2: begin seven_doan = {1'b1,so2}; end 3: begin seven_doan = {1'b1,so3}; end 4: begin seven_doan = {1'b1,so4}; end 5: begin seven_doan = {1'b1,so5}; end 6: begin seven_doan = {1'b1,so6}; end 7: begin seven_doan = {1'b1,so7}; end 8: begin seven_doan = {1'b1,so8}; end 9: begin seven_doan = {1'b1,so9}; end endcase end end endmodule 11.2. Chương trình testbench: module test_quet_led; //------ Inputs --------- 257 reg [7:0] in; reg clk; reg res; //------- Outputs ------wire [7:0] seven_doan; wire [2:0] chonled; //----- Instantiate the Unit Under Test (UUT)------quet_3led uut (.in(in), .seven_doan(seven_doan), .chonled(chonled), .clk(clk), .res(res) ); initial begin //----- Initialize Inputs ------------in = 0; clk = 0; res = 0; #100; res =1; //------- cho reset len --------- #100 in=201; //------- nhap du lieu thu ------ #6000 in = 123; //------- nhap du lieu thu ------ #6000 in = 255; //------- nhap du lieu thu ------ end //----------- tao xung clock he thong -----------------always #10 clk = !clk; endmodule 258 11.3. Kết mô phỏng: Hình 7.21 – Kết mô giao tiếp ADC led đoạn giả lập liệu từ ADC 201. Nhìn vào kết mô với liệu vào in = 201 ta thấy:  Đầu tiên, tín hiệu chonled = 110, tức led đoạn thứ cho phép sáng, đồng thời mã đoạn số “f9” xuất led thứ để hiển thị.  Tiếp theo, tín hiệu chonled = 101, tức led đoạn thứ hai cho phép sáng, đồng thời mã đoạn số “c0” xuất led thứ hai để hiển thị.  Cuối cùng, tín hiệu chonled = 011, tức led đoạn thứ ba cho phép sáng, đồng thời mã đoạn số “a4” xuất led thứ ba để hiển thị. Quá trình quét lặp lặp lại. Tương tự vậy, hình 7.22 7.23 cho ta thấy kết mô trường hợp giả lập liệu từ ADC 123 255. 259 Hình 7.22 – Kết mô giao tiếp ADC led đoạn giả lập liệu từ ADC 123. Hình 7.23 – Kết mô giao tiếp ADC led đoạn giả lập liệu từ ADC 255. 12. Tạo đệm liệu: Bộ đệm liệu thường gọi FIFO, có chức ghi đọc liệu có sơ đồ khối hình 7.24. 260 Hình 7.24 – Sơ đồ khối khối FIFO Trong đó:         DIN: liệu ghi vào FIFO, có độ rộng 16 bit. DOUT: liệu đọc từ FIFO, có độ rộng 16 bit RD_EN: chân cho phép đọc liệu từ FIFO WR_EN: chân cho phép ghi liệu vào FIFO CLK: xung clock đọc ghi liệu EMPTY: chân báo liệu FIFO hết. FULL: chân báo ô nhớ FIFO đầy RES: chân reset hệ thống. Trong nội dung giáo trình giới thiệu FIFO có khả lưu trữ 16 ô nhớ, ô nhớ có chứa liệu 16 bit. Khi liệu ghi vào ô nhớ FIFO đủ 16 mà chưa có liệu đọc FIFO báo đầy nhớ tín hiệu FULL không cho phép ghi liệu vào FIFO nữa. Ngược lại, liệu FIFO đọc hết FIFO báo hết liệu tín hiệu EMPTY không cho phép đọc liệu từ FIFO nữa. FIFO vừa đọc ghi liệu lúc. FIFO ISE hỗ trợ sẵn IP core, ta tạo FIFO từ IP core Xilinx. Để tạo FIFO, ta vào Memories & Storage Elements 261 Xilinx CORE Generator, chọn FIFOs. Sau chọn thông số cho FIFO sau:  Write Width: chọn độ rộng liệu FIFO (độ rộng liệu DIN DOUT).  Write Depth: số ô nhớ FIFO. Hình 7.25 – Thiết lập thông số FIFO cần tạo Sau thiết lập thông số FIFO cần tạo, ta tiến hành tạo FIFO theo bước tạo IP core phần 5.8. 13. Sử dụng core có sẵn ISE vào thiết kế: Sau tạo IP core, ta add IP core tạo vào project sử dụng chương trình mà ta viết. Ta xem xét IP core FIFO vừa tạo phần 7.12, ta thấy IP core tạo source verilog có khai báo vào giống chương trình mà ta viết. Một đoạn source khai báo IP core FIFO vừa tạo sau: module fifo_generator_v6_1(clk, rst, din, wr_en, rd_en, dout, full, empty); input clk; input rst; 262 input [7 : 0] din; input wr_en; input rd_en; output [7 : 0] dout; output full; output empty; 14. Bài tập 7: Bài tập 1: viết chương trình thiết kế mạch đếm lên từ đến 99. Bài tập 2: viết chương trình thiết kế mạch đếm xuống từ 99 xuống 0. Bài tập 3: viết chương trình thiết kế mạch đếm lên từ đến 99, sau đếm xuống từ 99 đến 0, sau lặp lại chu trình đếm. Bài tập 4: viết chương trình thiết kế mạch truyền/nhận liệu theo chuẩn RS232. Bài tập 5: viết chương trình xuất dòng chữ “VMSLT” lên LCD 16x2. Bài tập 6: viết chương trình thiết kế đồng hồ số hiển thị led đoạn. Bài tập 7: viết chương trình thiết kế đo tần số hiển thị led đoạn. Bài tập 8: viết chương trình thiết kế điều chế độ rộng xung PWM. YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI :  Nội dung: - Về kiến thức: Trình bày kiến thức cụ thể hệ thống số. - Về kỹ năng: Sử dụng phần mềm ISE modelsim để thiết kế, mô ứng dụng cụ thể. Tạo IP core có sẵn từ ISE. Kết nối phần cứng, đổ chương trình vào FPGA. - Về thái độ: Đảm bảo an toàn điện vệ sinh công nghiệp.  Phương pháp: - Về kiến thức: Được đánh giá hình thức kiểm tra viết, vấn đáp. - Về kỹ năng: Đánh giá kỹ sử dụng ngôn ngữ Verilog HDL để thiết kế ứng dụng cụ thể. Kỹ kết nối phần cứng theo yêu cầu, đổ chương trình thiết kế vào FPGA. - Về thái độ:Tỉ mỉ, cẩn thận, xác, an toàn điện ngăn nắp công việc. 263 TÀI LIỆU THAM KHẢO 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Computer Architecture Handbook on Verilog HDL, Dr.Daniel - C.Hude, Computer Science Department Bucknell University Lewisburg, 1997. Verilog Hardware Description Laguage Reference Manual, Open Verilog International, 1992. The Complete Verilog Book, Vivek Sagdeo – Sun Micro Systems, 1998. Design Through Verilog HDL, IEEE Press, 2004. The Verilog Hardware Description Language – Fifth Edition, Donald E.Thomas – ECE Department Carnegie Mellon University Pittsburgh, Pholip R.Moorby – Co-design Automation, 2002. A Guide to Digital Design and Synthesis - Second Editon, Samir lapnitkar, 2003. Spartan – 3E FPGA Family Data Sheet, Xilinx, 2009. ModelSim User’s Manual A verilog HDL, second edition. Verilog coding for logic synthesis - A JOHN WILEY & SONS, INC., PUBLICATION A Guide to Digital Design and Synthesis, Second Edition - Prentice Hall PTR – 2003 Introduction to Verilog - Peter M. Nyasulu – 2001 www.google.com. [...]... sản phẩm công nghệ cao và số lượng ít, cần độ đặc chế cao Các máy đo, phát và thu sóng vi n thông Mảng logic lập trình được đóng vai trò glue-logic, kết nối các chip chuyên dụng lại và chạy một số chức năng hỗ trợ cho CPU nhúng để hệ thống nhanh hơn, hiệu quả hơn 3 Cấu trúc cơ bản của PLD: Mục tiêu: trình bày cho người học hiểu rõ cấu trúc cơ bản của họ vi mạch khả trình PLD Trong phần này trình bày... thể lập trình ở cả hai ma trận AND và ma trận OR (hình 1.3) Hình 1.3 – Cấu trúc PLA 3.3 GAL Như đã trình bày ở phần 1.1, thì cấu trúc của GAL không khác biệt PAL, nhưng thay vì lập trình sử dụng công nghệ cầu chì nghịch thì GAL sử dụng công nghệ PROM CMOS xóa bằng điện, do đó GAL cho phép lập trình lại giống như EEPROM 16 Hình 1.4 – Cấu trúc họ vi mạch GAL 4 Cấu trúc cơ bản của CPLD: Mục tiêu: trình. .. độ và ưu thế về chi phí của Gate Array để tạo ra FPGA 12 (Field Programmable Gate Array) Hiện nay, Xilinx vẫn là nhà sản xuất chip FPGA số một trên thế giới FPGA có cấu trúc và hoạt động phức tạp hơn CPLD 2 Sự cần thiết và ý nghĩa thực tế của vi c sử dụng mảng logic có thể lập trình được: Mục tiêu: giải thích cho người học hiểu rõ mụch đích và ý nghĩa của vi c sử dụng vi mạch khả trình trong mạch điện. .. đích có được một thiết bị lưu trữ các tham số về mục tiêu một cách an toàn và linh động Thiết bị này dùng trong máy tính của hệ thống phóng tên lửa Atlas E/F và được giữ bí mật trong vòng vài năm trước khi Atlas E/F trở nên phổ biến PROM là vi mạch lập trình đầu tiên và đơn giản nhất trong nhóm các vi mạch bán dẫn có thể lập trình được (PLD – Programmable Logic Device) PAL (Programmable Array Logic) ra... khi thiết kế mạch điện sử dụng vi mạch khả trình Mỗi hãng sản xuất IC khả trình FPGA khác nhau cung cấp những phần mềm lập trình khác nhau như: phần mềm Quatus của Altera, ISE của Xilinx, … Để thực thi mô phỏng thì mỗi phần mềm của hãng đều hỗ trợ công cụ mô phỏng như: công cụ ISIM trong phần mềm ISE của hãng Xilinx,…ngoài ra Mentor Graphics Corporation cung cấp phần mềm modelsim, là một công cụ hỗ trợ... CONNECT Switch Lập trình trong hệ thống: XC9500 được lập trình trong hệ thống với chuẩn JTAG 4 chân (JTAG: Joint Test Group) Khi lập trình, tất cả các port ngõ vào trong khối I/O được thiết lập ở mức cao “H” Hình 2.6 – Kết nối CPLD với chuẩ JTAG 27 YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 2 :  Nội dung: - Về kiến thức: Trình bày được các kiến thức tổng quan về cấu trúc và tính năng của họ vi mạch CPLD của... những ứng dụng lớn và phức tạp thì mảng logic lập trình được sử dụng Với các ưu điểm về khả năng tái cấu hình, tốc độ hoạt động, thời gian sản xuất, giá thành giảm,… mà mảng logic lập trình được thường được sử dụng trong các lĩnh vực: Thiết kế các lõi IP cho các lĩnh vực chuyên dụng:      Mã hóa Vi n thông (Communication) Công nghiệp phát thanh truyền hình số (Broadcast Industry) Xử lý ảnh, thiết kế... hiểu rõ cấu trúc cơ bản của họ vi mạch khả trình CPLD 17 Hình 1.5 – Cấu trúc cơ bản của CPLD Thiết bị khả trình phức tạp CPLD (Complex PLD) có mật độ logic cao hơn so với các PLD đơn giản đã xem xét ở phần trên CPLD bao gồm nhiều mạch logic, mỗi mạch có thể coi là một SPLD Trong một mạch đơn chỉ thực hiện các chức năng logic đơn giản Các chức năng logic phức tạp cần số lượng khối nhiều hơn, sử dụng... chuyển dễ dàng từ công nghệ này sang công nghệ khác Tuy nhiên, nhược điểm của nó là tốc độ làm vi c thấp, số lượng cổng logic tương đương nhỏ, do đó không đáp ứng được những thiết kế phức tạp đòi hỏi nhiều tài nguyên và tốc độ cao hơn, chính vì vậy mà CPLD (Complex Programmable Logic Devices) ra đời CPLD được Altera tiên phong nghiên cứu và chế tạo đầu tiên, nhằm tạo ra những IC khả trình dung lượng... là một công cụ hỗ trợ rất mạnh cho vi c thực thi mô phỏng thiết kế Trong nội dung giáo trình này sẽ trình bày chi tiết vi c thiết kế lập trình chip CPLD và FPGA của hãng Xilinx trên phần mềm ISE và công cụ mô phỏng ISIM của hãng Xilinx, và phần mềm mô phỏng modelsim của Mentor Graphics Corporation YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 1:  Nội dung: - Về kiến thức: Trình bày được các kiến thức cơ bản . THIỆU Để thực hiện biên soạn giáo trình đào tạo nghề Điện tử công nghiệp ở trình độ Cao Đẳng Nghề và Trung Cấp Nghề, giáo trình Vi mạch số lập trình là một trong những giáo trình mô đun đào tạo chuyên. BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Mô đun: Vi Mạch Số Lập Trình NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 120/QĐ-TCDN. FPGA là các vi mạch số có thể lập trình được. Do đó, trước khi đi sâu vào vi mạch số lập trình người học phải được trang bị những kiến thức tổng quan về các vi mạch số có thể lập trình được. Mục

Ngày đăng: 12/09/2015, 01:05

Từ khóa liên quan

Mục lục

  • LỜI GIỚI THIỆU

  • MỤC LỤC

  • BÀI 1

  • GIỚI THIỆU CHUNG VỀ PLD, CPLD VÀ FPGA

    • 1. Lịch sử phát triển:

    • 2. Sự cần thiết và ý nghĩa thực tế của việc sử dụng mảng logic có thể lập trình được:

    • 3. Cấu trúc cơ bản của PLD:

      • 3.1 PAL:

      • 3.2 PLA:

      • 3.3 GAL

      • 4. Cấu trúc cơ bản của CPLD:

      • 5. Cấu trúc cơ bản của FPGA:

      • 6. Sự khác biệt giữa PLD, CPLD và FPGA:

      • 7. Phần mềm hỗ trợ:

      • BÀI 2

      • HỌ CPLD

        • 1. Giới thiệu chung:

        • 2. Vi mạch CPLD:

        • BÀI 3

        • HỌ FPGA

          • 1. Giới thiệu chung:

          • 2. Vi mạch FPGA:

            • 2.1. Mô tả FPGA:

              • 2.1.1. Khối logic khả trình:

                • a. SLICE:

                • b. Bảng tham chiếu LUT:

                • c. Phần tử nhớ:

Tài liệu cùng người dùng

Tài liệu liên quan