Giáo trình Vi mạch số lập trình (Nghề: Điện tử công nghiệp - CĐ/TC): Phần 2 - Trường Cao đẳng Nghề Đồng Tháp

189 6 0
Giáo trình Vi mạch số lập trình (Nghề: Điện tử công nghiệp - CĐ/TC): Phần 2 - Trường Cao đẳng Nghề Đồng Tháp

Đ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

Giáo trình Vi mạch số lập trình trình bày được cấu tạo, đặc tính của các họ vi mạch số lập trình được như: PLD, CPLD, FPGA...theo nội dung đã học; Phân tích được các mạch ứng dụng vi mạch số lập trình được CPLD, FPGA theo tiêu chuẩn nhà sản xuất. Mời các bạn cùng tham khảo nội dung phần 2 giáo trình!

74 BÀI QUY TRÌNH THIẾT KẾ CHO CPLD VÀ FPGA CỦA HÃNG XILINX Mã MĐ30 - 04 Giới thiệu: Xilinx hãng chuyên sản xuất họ FPGA CPLD, giáo trình tập trung vào việc lập trình FPGA CPLD hãng Xilinx Do đó, người học cần trang bị kiến thức cần thiết việc lựa chọn linh kiện cho phù hợp với yêu cầu, qui trình để cấu hình đổ chương trình vào FPGA, CPLD hãng Xilinx Mục tiêu: - Lựa chọn phương án thiết kế dùng CPLD FPGA Xinlinx - Trình bày qui trình thiết kế cho CPLD FPGA Xinlinx Nội dung chính: Phương án lựa chọn CPLD FPGA Mục tiêu: trình bày cho người học nắm rõ phương pháp phân tích để lựa chọn CPLD FPGA phù hợp với ứng dụng cụ thể Khi phát triển hệ thống số sử dụng CPLD/FPGA bước cần thực phân tích tốn, lựa chọn vi mạch CPLD FPGA phù hợp Việc chọn vi mạch, công nghệ phù hợp cho tiêu chuẩn thiết kế, tiến hành theo yêu cầu sau:  Mật độ: mật độ logic dự tính linh kiện, đặc trưng khái      niệm "số lượng cổng" Số lượng ghi: Phải tính số ghi cần cho đếm, máy trạng thái, ghi chốt Số lượng macrocell vi mạch tối thiểu phải số ghi cần có Số lượng chân vào/ra: phải xác định vi mạch thiết kế cần đầu vào, chân đầu Yêu cầu tốc độ: Tuyến tổ hợp nhanh xác định tpd (trễ truyền vi mạch, tính theo ns) Mạch nhanh xác định tần số tối đa vi mạch (fMax) Đóng gói: Phải xác định vi mạch cần gọn hay sử dụng dạng thông thường Hoặc vi mạch thiết kế thuộc dạng có lắp chân cắm Cơng suất thấp: Phải xác định sản phẩm sử dụng nguồn pin hay lượng mặt trời,… thiết kế có yêu cầu công suất tiêu thụ thấp hay không, vấn đề tổn hao nhiệt có quan trọng hay khơng? 75  Chức cấp hệ thống: Phải xác định bo mạch có bao gồm nhiều vi mạch đa mức điện áp hay khơng, vi mạch có phải chuyển mức hay khơng, có u cầu sửa dạng xung clock hay khơng, có u cầu giao tiếp nhớ vi xử lý hay khơng? Qui trình thiết kế cho CPLD hãng Xilinx: Mục tiêu: trình bày cho người học nắm rõ qui trình thiết kế sử dụng CPLD hãng Xilinx Quá trình thiết kế cho CPLD chủ yếu thực công cụ phần mềm, lưu đồ thiết kế chung cho CPLD hình 4.1 (sử dụng phần mềm ISE), bao gồm bước sau:  Nhập thiết kế (Design Entry): Đây bước quan trọng q trình thiết kế cho CPLD Các cơng cụ thiết kế cho phép nhập thiết kế theo cách sau:  Nhập thiết kế theo sơ đồ nguyên lý Schematic: người thiết kế sử dụng module có sẵn thư viện Schematic để ghép nối chúng với tạo thành thiết kế theo yêu cầu, cách thực thiết kế nhanh khó khăn khơng tối ưu tài ngun CPLD thiết kế phức tạp, thiết kế không sử dụng sang công cụ thiết kế CPLD hãng khác Từ sơ đồ nguyên lý thiết kế công cụ phần mềm chuyển thành file ngôn ngữ mô tả phần cứng HDL, mà phổ biến VHDL Verilog HDL  Nhập thiết kế sử dụng ngôn ngữ mô tả phần cứng HDL (VHDL, Verilog, ABEL,…): người thiết kế sử dụng chương trình soạn thảo để thực việc mơ tả tồn thiết kế dạng ngơn ngữ HDL mà cơng cụ thiết kế tổng hợp Có nhiều phương pháp mô tả, mức độ trừu tượng khác thiết kế, cách mô tả khác tạo cấu trúc mạch khác CPLD chúng có chức Do đó, người thiết kế cần thực phân tích tốn, tìm hiểu tài ngun, cấu trúc CPLD, u cầu thời gian thiết kế để sử dụng kiểu mô tả Mức độ trừu tượng mô tả phù hợp vừa đảm bảo yêu cầu thời gian thiết kế vừa tối ưu việc sử dụng tài nguyên CPLD  Nhập thiết kế dạng sơ đồ: Cơng cụ thiết kế cịn cho phép nhập thiết kế vào dạng sơ đồ, mà điển hình đồ hình trạng thái, sau chúng chuyển sang HD  Kiểm tra, mô thiết kế (Design Verification): thực kiểm tra, mô chức hoạt động thiết kế HDL tạo Các công cụ thiết kế hỗ trợ việc mô chức hoạt động thiết kế HDL theo mơ hình hoạt động, mơ độc 76 lập với loại CPLD lựa chọn Bước khơng cần phải thực thiết kế  Tổng hợp thiết kế (Design Synthesis): sau hồn thành mơ thiết kế, bước tổng hợp có nhiệm vụ chuyển thiết kế dạng file văn HDL thành dạng file nestlist thực mô tả mạch thực mức thấp dạng cổng logic kết nối chúng với Có thể sử dụng công cụ tổng hợp hãng khác Mỗi cơng cụ tạo file netlist theo định dạng riêng, đặt lựa chọn để tạo file netlist dạng định dạng chuẩn EDIF (Electronic Digital Interchange Format) mà tất công cụ hiểu 77 Design Entry Schematic ECS HDL Verilog/VHDL State Machines StateCad Design Verification Functional Simulation Modelsim PE Student, ISIM Design Synthesis Xilinx Synthesis Tool XST Design Implementation Translate Map Palce and Route Timing Simalation Static Timing Analysis (ECS) Modelsim PE Student, ISIM Configuration Download (iMPACTE) Hình 4.1 – Lưu đồ thiết kế cho CPLD hãng Xilinx 78  Thực thi thiết kế (Design Implementation): sau có file netlist, bước thực thi thiết kế, nghĩa xây dựng cấu hình cho CPLD Bước sử dụng file netlist file ràng buộc “constraints File” (file mô tả nguyên tắc thiết kế, ràng buộc tốc độ, thời gian,…) để tạo thiết kế sử dụng tài nguyên có sẵn CPLD Bước bao gồm bước: Translate (biên dịch), Map (phân bố thiết kế vào chip), Place and Route (Định vị định tuyến)  Translate: Bước nhằm thực kiểm tra thiết kế đảm bảo netlist phù hợp với kiến trúc chọn, kiểm tra file ràng buộc "constraints File" người sử dụng để phát lỗi mâu thuẫn với tham số chip chọn Biên dịch thường bao gồm trình: tối ưu hố, biên dịch thành thành phần vật lý thiết bị, kiểm tra ràng buộc thiết kế Khi kết thúc bước biên dịch, có báo cáo chương trình sử dụng, danh sách cổng I/O thiết bị sử dụng thiết kế, nhờ người thiết kế lựa chọn phương án thiết kế tối ưu  Map: tạo phân bố thiết kế tới tài nguyên cụ thể CPLD Nếu thiết kế lớn so với thiết bị chọn, quy trình khơng thể hồn thành nhiệm vụ Q trình Map có tham số ràng buộc thiết kế, ví dụ tham số tốc độ, thời gian thiết kế, định gắn thêm thành phần logic để đáp ứng yêu cầu thời gian Map có khả thay đổi thiết kế xung quanh bảng ánh xạ để tạo khả thực tốt cho thiết kế Quy trình thực hoàn toàn tự động cần tác động đầu vào từ người sử dụng Bước nhằm đưa mạch thiết kế vào thiết bị cụ thể Bước tạo báo cáo xác nhận tài nguyên sử dụng chip, mô tả xác phần thiết kế đặt vị trí chip thực tế  Place and Route (PAR - Định vị trí định tuyến kết nối): Place q trình lựa chọn vị trí phù hợp khối chức thiết kế đưa cổng logic phần vào khối logic hay module cụ thể CPLD sở tối ưu việc kết nối đảm bảo ràng buộc thời gian Những phần logic hoạt động tốc độ cao xếp cạnh để giảm độ dài đường kết nối Route trình tạo liên kết vật lý khối logic Hầu hết nhà sản xuất cung cấp công cụ Place and Route tự động cho người sử dụng Ngồi cơng cụ tự động, người thiết kế tự Place and Route thiết kế Nhà sản xuất cung cấp công cụ, “Floorplanner”, để nâng cao hiệu suất trình Place and Route người thiết kế thực so với trình tự động 79 Place and Route trình phức tạp, chiếm thời gian nhiều Tuy nhiên, bước hoạt động tốt chip chọn đáp ứng đủ tuyến liên kết cho thiết kế Nếu không, người thiết kế phải chọn chip có dung lượng lớn  Timing Simulation (Mơ có tham số thời gian): Sau bước Place and Route người thiết kế thực mơ thiết kế mức cổng logic định vị trí định tuyến CPLD, để thực hiên mô hoạt động thiết kế mà có tính đến tham số thời gian trễ, thời gian thiết lập,… cổng logic CPLD Bước quan trọng với thiết kế phức tạp, tốc độ lớn  Configuration (Cấu hình): Gọi chương trình điều khiển việc nạp cấu hình, thực kết nối thiết bị nạp (cáp nạp) đến CPLD nạp file cấu hình cho CPLD Với CPLD hãng Xilinx, q trình lập trình thực hệ thống nhờ công cụ JTAG, sử dụng lập trình thiết bị chuyên dụng, ví dụ cơng cụ JTAG Data I/O, theo chuẩn IEEE/ANSI 1149.1_1190 Công cụ JTAG nguyên tắc thiết kế, hỗ trợ trình kiểm tra, lập trình cho thiết bị gỡ rối chip, bo mạch hệ thống Khả lập trình hệ thống ưu điểm CPLD, cho phép hàn trực tiếp thiết bị lên PCB Nếu có thay đổi thiết kế, tháo thiết bị khỏi bo mạch, mà đơn giản phải lập trình lại hệ thống Qui trình thiết kế cho FPGA hãng Xilinx: Mục tiêu: trình bày cho người học nắm rõ qui trình thiết kế sử dụng FPGA hãng Xilinx Lưu đồ thiết kế cho FPGA tương tự lưu đồ thiết kế cho CPLD, khác bước cuối - bước Cấu hình cho FPGA Ở bước này, FPGA có thêm bước "Create Bit file" để tạo file "bitstream" để nạp vào nhớ cấu hình FPGA, thường nhớ tạm thời SRAM Dòng bit nạp mang tất thông tin để định nghĩa hàm logic liên kết thiết kế Mỗi thiết kế khác có dịng bit khác Các thiết bị SRAM tồn thơng tin ngắt nguồn, cần thiết phải nạp dịng bit cấu hình vào PROM (thường sử dụng PROM nối tiếp) Mỗi thiết bị bật nguồn file cấu hình từ PROM nạp tự động vào nhớ SRAM FPGA, FPGA hoạt động theo cấu hình nạp 80 Configuration Create Bit file Download (iMPACTE) Hình 4.2 – Lưu đồ thiết kế cho FPGA hãng Xilinx YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 4:   Nội dung: - Về kiến thức: Trình bày phương án lựa chọn CPLD FPGA, qui trình thiết kế cho CPLD FPGA hãng Xilinx - Về kỹ năng: Áp dụng qui trình thiết kế cho CPLD FPGA hãng Xilinx để lựa chọn CPLD FPGA cho thiết kế cụ thể - Về thái độ: Đảm bảo an tồ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, trắc nghiệm, vấn đáp 81 BÀI PHẦN MỀM ISE VÀ MODELSIM Mã bài: MĐ30 - 05 Giới thiệu Chương cung cấp cho người học kiến thức cách cài đặt sử dụng chương trình ISE để sử dụng vào việc thiết kế mô kết thiết kế Cung cấp cho người học cách cài đặt sử dụng phần mềm modelsim để mô kết thiết kế Mục tiêu: - Trình bày cách sử dụng cơng cụ phần mềm phát triển hệ điều khiển CPLD FPGA Xilinx - Trình bày phần mềm ISE phần mềm mơ Modelsim - Sử dụng CPLD FPGA Xilinx để thực mơ hình cụ thể theo u cầu Nội dung chính: Cài đặt khởi động ISE: Mục tiêu: trình bày hướng dẫn cho người học cách để cài đặt khởi động phần mềm ISE ứng dụng vào lập trình FPGA CPLD hãng Xilinx Xilinx cung cấp công cụ thiết kế hoàn chỉnh, cho phép thực thiết kế thiết bị logic khả trình Xilinx Các cơng cụ kết hợp cộng nghệ tiên tiến với giao diện đồ họa linh hoạt, dễ sử dụng để người thiết kế có thiết kế tối ưu Bộ công cụ phần mềm sử dụng rộng rãi ISE với nhiều phiên phần mềm khác nhau, phiên sau hỗ trợ thêm dịng thiết bị Trong chương trình bày chi tiết cách cài đặt sử dụng phần mềm ISE 12.1 (phiên phần mềm 2010) Xilinx cung cấp ISE dạng gói phần mềm có cấu hình khác với giá thành khác nhau, tiêu biểu ISE WebPACK ISE Foundation:  ISE WebPACK: miễn phí dùng để thiết kế cho tất họ CPLD số họ FPGA Xilinx  Gói phần mềm Foundation: thiết kế cho tất loại FPGA CPLD Xilinx Ngồi ra, Xilinx cịn phát triển cơng cụ phần mềm tiện ích khác System Generator hỗ trợ cho thiết kế DSP, hay EDK (Embeded Development Kit) hỗ trợ cho thiết kế nhúng 82 Ta tải http://www.xilinx.com phần mềm ISE WebPACK từ trang web: Để cài đặt chương trình ISE WebPACK 12.1 ta tiến hành bước sau:  Từ folder chứa phần mềm ta kich đúp vào file setup, làm theo bước sau: - Chọn Next Hình 5.1 - Đánh dấu tick vào ô: i accept the terms of this software licence - Sau kích Next Hình 5.2 83 - Đánh dấu tick vào ô: i accept the terms of this software licence - Sau kích Next Hình 5.3 - Chọn ISE WebPACK sau nhấn Next Hình 5.4 248 #20000; 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% 249 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 clk res [7:0] data_out Transmitter EN [7:0] data_in 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 data_out: liệu truyền ngồi có độ rộng bit 250 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 = Khi EN lên mức 1, liệu vào data_in truyền data_out để truyền 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) - 251 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 252 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 ngồ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 ngồi 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 qt có sơ đồ khối hình 7.20 [2:0] Chon led Cảm biến nhiệt độ ADC bit bit FPGA led 7-đoạn [7:0] mã bảy đoạn Hình 7.20 – Sơ đồ khối khối giao tiếp ADC led đoạn 253 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ừ 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 qt 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) 254 begin 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; 255 end // 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; 256 // Inputs 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 257 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 258 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 259 DIN[15:0] DOUT[15:0] WR_EN FULL RD_EN FIFO EMPTY CLK RES 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 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 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 260 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; 261 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 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 7:   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 tồn điện ngăn nắp cơng việc 262 TÀI LIỆU THAM KHẢO 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 ... clk; // - gán chân P78 cho tín hiệu clk -( * LOC ="P 129 ,P 128 ,P 127 ,P 126 ,P 123 ,P 122 ,P 120 ,P119"*) output [7:0] dem; // -gán chân P 129 , P 128 , P 127 , P 126 , P 123 , P 122 , // P 120 , P119 // -cho tín... Design Suite 12. 1 hình máy tính (hình 5.12a) vào Start -> All Programs -> Xilinx ISE Design Suite 12. 1 -> ISE Design Tool -> Project Navigator (hình 5.12b) để khởi động ISE (a) (b) Hình 5. 12? ?? Khởi... hình 5 .21 Ta chọn module cần tạo file mơ (ở soure chương trình a), sau kích Next finish source chương trình mơ cho chương trình a tạo hình 5 .22 Hình 5 .21 Hình 5 .22 – Cửa sổ soạn thảo chương trình

Ngày đăng: 24/07/2022, 17:42

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

  • Đang cập nhật ...

Tài liệu liên quan