Thiết kế đồng hồ số triển khai trên Kit DE270

18 1.3K 13
Thiết kế đồng hồ số triển khai trên Kit DE270

Đ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

Ngày nay khi khoa học, công nghệ luôn luôn biến chuyển không ngừng, làm cho trái đất đang đổi thay theo từng giây, từng phút. Chính bởi vậy, câu nói “ Thời gian là vàng, là bạc” càng trở nên đúng đắn hơn bao giờ hết, thời gian gần như là thước đo của sự thành công ở thời điểm hiện tại. Tuy vậy không ai có thế đong, đo được thời gian, mà nó chỉ có thể được đếm chính xác bằng những chiếc đồng hồ.Chính bởi sự cần thiết của chiếc đồng hồ trong đời sống mà nhóm chúng em đã chọn đề tài : “ Thiết kế đồng hồ báo giờ điện tử “ bằng ngôn ngữ mô tả phần cứng Verilog HDL, chạy trên KIT DE270 của hãng Altera, để mô tả chức năng chính của đồng hồ.Tuy đề tài đã hoàn thành, song việc gặp phải những sai sót là không thể tránh khỏi. Rất mong được sự nhận xét, đánh giá nhiệt tình của thầy. Chúng em xin chân thành cảm ơn

BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG Bài Tập Lớn THIẾT KẾ, TỔNG HỢP IC SỐ VÀ HỆ THỐNG SỐ Đề tài : THIẾT KẾ ĐỒNG HỒ BÁO GIỜ ĐIỆN TỬ SVTH : Phan Đình Điệp – 20111440 Nguyễn Văn Bằng – 2011xxxx Mai Văn Quân – 2011xxxx GVHD : TS. Nguyễn Hoàng Dũng Hà Nội, 11- 2014 BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 2 MỤC LỤC DANH MỤC HÌNH VẼ 3 DANH MỤC BẢNG BIỂU 3 LỜI NÓI ĐẦU 4 PHẦN A. MÔ TẢ CHI TIẾT THIẾT KẾ 5 I. TỔNG QUAN 5 1. Yêu cầu chức năng 5 2. Yêu cầu phi chức năng 5 II. SƠ ĐỒ KHỐI 5 1. Sơ đồ tổng quát 5 2. Sơ đồ chi tiết mạch 6 III. THIẾT KẾ CHI TIẾT TỪNG KHỐI 7 1. Khối module chính 7 2. Khối chia tần số clk_div 9 3. Khối LCD 10 4. Khối thiết lập đồng hồ setclock 12 5. Khối chuyển đổi bit convert10 14 6. Khối giải mã decoder_bcd 15 PHẦN B. MÔ PHỎNG VÀ THỰC TẾ 17 PHẦN C. KẾT LUẬN 17 BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 3 DANH MỤC HÌNH VẼ Figure 1. Sơ đồ tổng quát đồng hồ điện tử. 5 Figure 2. Sơ đồ RTL viewer 6 Figure 3. Khối chia tần clk_div:DIV 9 Figure 4. Bảng mã kí tự hiển thị LCD 11 Figure 5. Sơ đồ khối LCD 12 Figure 6. Khối thiết lập đồng hồ setclock:SC 12 Figure 7. Khối chuyển đổi convert10 14 Figure 8. Sơ đồ khối khối giải mã decoder 15 DANH MỤC BẢNG BIỂU Table 1. Module chính của chương trình 7 Table 2. Module chia tần clk_div 9 Table 3. Bảng mã nhị phân 13 Table 4. Module thiết lập đồng hồ setclock 13 Table 5. Module convert10 14 Table 6. Bảng giải mã decoder sang LED 7 thanh 15 Table 7. Module giải mã BCD 15 BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 4 LỜI NÓI ĐẦU Ngày nay khi khoa học, công nghệ luôn luôn biến chuyển không ngừng, làm cho trái đất đang đổi thay theo từng giây, từng phút. Chính bởi vậy, câu nói “ Thời gian là vàng, là bạc” càng trở nên đúng đắn hơn bao giờ hết, thời gian gần như là thước đo của sự thành công ở thời điểm hiện tại. Tuy vậy không ai có thế đong, đo được thời gian, mà nó chỉ có thể được đếm chính xác bằng những chiếc đồng hồ. Chính bởi sự cần thiết của chiếc đồng hồ trong đời sống mà nhóm chúng em đã chọn đề tài : “ Thiết kế đồng hồ báo giờ điện tử “ bằng ngôn ngữ mô tả phần cứng Verilog HDL, chạy trên KIT DE2-70 của hãng Altera, để mô tả chức năng chính của đồng hồ. Tuy đề tài đã hoàn thành, song việc gặp phải những sai sót là không thể tránh khỏi. Rất mong được sự nhận xét, đánh giá nhiệt tình của thầy. Chúng em xin chân thành cảm ơn !!! Nhóm Sinh Viên Phan Đình Điệp Nguyễn Văng Bằng Mai Văn Quân BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 5 PHẦN A. MÔ TẢ CHI TIẾT THIẾT KẾ I. TỔNG QUAN 1. Yêu cầu chức năng o Thiết kế đồng hồ điện tử hiển thị 24h (từ 00:00:00 đến 23:59:59) chạy trên KIT DE2-70 của hãng Altera. o Cho phép điều chỉnh thời gian ( giờ và phút ) thông qua các switch ( từ SW17-SW2 ) o Hiển thị kết quả ra 6 LED 7 thanh. o Mạch có chức năng báo giờ theo thời gian định trước, hiển thị trên LEDG. o Có nút reset ( phím KEY ) đưa về 00:00:00 và enable ( SW1) cho phép thiết lập thời gian. 2. Yêu cầu phi chức năng o Mô tả thiết kế sử dụng ngôn ngữ mô tả phần cứng Verilog HDL. o Thiết kế và mô phỏng hoặc chạy được trên KIT. o Hoàn thành đề tài trước ngày 17/11/2014. II. SƠ ĐỒ KHỐI 1. Sơ đồ tổng quát Figure 1. Sơ đồ tổng quát đồng hồ điện tử. o Phân tích chi tiết từng khối + Khối đầu vào : Bao gồm các đầu vào như tần số vào, reset, enable,… + Khối đồng hồ điện tử : Thiết lập cho đồng hồ chạy bình thường, báo giờ,… + Khối LCD : Hiển thị tên bài tập lớn (BTL), tên đề tài, tên thành viên nhóm. BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 6 + Khối hiển thị LED : Hiện thị ra giờ, phút, giây, và những thông báo ra LEDR, LEDG. 2. Sơ đồ chi tiết mạch Figure 2. Sơ đồ RTL viewer Mô tả chức năng từng khối : o Khối chia tần clk_div : Có nhiệm vụ chia tần số đầu vào từ 50MHz xuống tần số 1Hz. o Khối LCD : Có nhiệm vụ hiển thị lên thông tin đã được thiết lập sẵn về BTL, tên đề tài, tên thành viên nhóm. o Khối setclock : Tiếp nhận các đầu vào, thiết lập bộ đếm và cho phép xuất ra led báo hiệu và đầu ra 6bit của giờ, phút giây. o Khối covert10 : Bao gồm 3 khối có nhiệm vụ chuyển đổi bit từ 2 bit sang 10 bit. o Khối decoder_bcd : giải mã ra mã hexa để hiển thị ra giờ, phút, giây trên LED 7 thanh. BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 7 III. THIẾT KẾ CHI TIẾT TỪNG KHỐI 1. Khối module chính o Khai báo tên mô-đun, các đầu vào, đầu ra. o Đầu vào : 17 switch. Trong đó iSW[17:2] điều chỉnh thời gian hiển thị giờ, phút, giây; sau khi điều chỉnh thời gian, ta gạt iSW[1], switch này cho phép thiết lập được thực hiện. o Đầu ra : 16 LED đỏ được gán tương ứng với các iSW; 2 LED xanh dùng để báo lỗi, và báo đến giờ hẹn trước ( 6h, 12h, 18h ) và 6 LED 7 thanh hiển thị thời gian. o Các dây ( wire ) kết nối các module con. o Kết nối phân cấp theo 2 cách : Kết nối cổng có tên và kết nối cổng theo thứ tự. Bao gồm : + Khối clk_div + Khối setclock + 3 khối convert10 + 6 khối decoder_bcd + Khối lcd Table 1. Module chính của chương trình BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 8 /* Thiet ke mot dong ho dien tu : + Do chuong (sang led) theo thoi gian dinh truoc :6h,12h,18h + Hien thi gio, phut, giay ra led 7 thanh : oHEX_D tu 7-2 + Thiet lap duoc thoi gian thong qua cac iSW17-2 */ // Module chinh // module dongho_baogio ( iSW,iCLK_50,iKEY, oLEDR,oLEDG, oHEX7_D,oHEX6_D,oHEX5_D, oHEX4_D,oHEX3_D,oHEX2_D, LCD_D, oLCD_RW, oLCD_EN, oLCD_RS, oLCD_ON, oLCD_BLON); input [17:1] iSW; // iSW[1]-cho phep dieu chinh thoi gian iSW[17:10]-dieu chinh gio iSW[9:2]-dieu chinh phut input iCLK_50,iKEY; // iCLK_50- tin hieu vao 50MHz // iKEY - reset output [17:2] oLEDR; // LED do output [1:0] oLEDG; // LED xanh- bao loi - bao den gio hen output [0:6] oHEX7_D,oHEX6_D,oHEX5_D, oHEX4_D,oHEX3_D,oHEX2_D; // LED 7 thanh output [7:0] LCD_D; output oLCD_RW,oLCD_EN,oLCD_RS, oLCD_ON,oLCD_BLON; // hien thi LCD assign oLEDR = iSW; // gan LED do = iSW wire clk; // clk 1Hz wire [5:0] gio, phut, giay ; wire [3:0] phut_ch, phut_dv, gio_ch, gio_dv, giay_dv, giay_ch; //Khoi chiatan clk_div DIV ( .clk_50m(iCLK_50),.reset(iKEY),.clk(clk) ); //Khoi tao dong ho setclock SC ( .set_hc(iSW[17:14]), .set_hdv(iSW[13:10]), .set_mc(iSW[9:6]),.set_mdv(iSW[5:2]),.clk(clk), .reset(iKEY), .enb(iSW[1]),.out_gio(gio),.out_phut(phut),.out_giay(giay), .led_bao_loi(oLEDG[1]), .led_hen_gio(oLEDG[0])); //Khoi chuyen doi sang he 10 convert10 CONV0 ( gio, clk, gio_ch, gio_dv ); convert10 CONV1 ( phut, clk, phut_ch, phut_dv ); convert10 CONV2 ( giay, clk, giay_ch, giay_dv ); //Khoi giai ma decoder_bcd DE_B0 ( giay_dv, oHEX2_D ); decoder_bcd DE_B1 ( giay_ch, oHEX3_D ); decoder_bcd DE_B2 ( phut_dv, oHEX4_D ); decoder_bcd DE_B3 ( phut_ch, oHEX5_D ); BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 9 decoder_bcd DE_B4 ( gio_dv, oHEX6_D ); decoder_bcd DE_B5 ( gio_ch, oHEX7_D ); //Khoi LCD lcd LCD (iCLK_50,iKEY,LCD_D,oLCD_RW,oLCD_EN,oLCD_RS,oLCD_ON,oLCD_BLON); endmodule // Ketthuc module chinh // 2. Khối chia tần số clk_div o Tần số đầu vào là 50MHz o Tần số đầu ra là 1Hz Áp dụng công thức chia tần số theo bộ đếm.             ra vào f cnt f 21 Từ đó suy ra, cnt = 24999999. Cần 32bit để thực hiện được bộ đếm này. Figure 3. Khối chia tần clk_div:DIV o Khi có reset hoặc khi đếm hết 24999999 : biến đếm (cnt hay counter ) sẽ bằng 0. o Trường hợp còn lại mỗi lần đếm tăng 1 thì clk lại đảo bit. Table 2. Module chia tần clk_div BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 10 // Module chia tan module clk_div (clk_50m,reset,clk); input clk_50m, reset ; // Vao 50Mhz output reg clk; // Ra 1Hz reg [31:0] counter; // Can 32bit de dem den 25000000 always @(posedge clk_50m or negedge reset) if ( reset == 0 ) begin clk <= 1'b0 ; counter <= 8'h00000000; end else if (counter == 24999999) begin clk = !clk; counter <= 8'h00000000; end else counter = counter +1'b1; endmodule // Ket thuc module chia tan 3. Khối LCD 3.1. Lý thuyết về khối LCD o Các tín hiệu quan trọng : LCD_DATA : data 8 bit, LCD_RW : read/wirte, LCD_EN : tín hiệu enable, LCD_ON : tín hiệu nguồn vào, LCD_BLON : đèn màn hình, LCD_RS : chọn đọc dữ liệu hay đọc Command ( Command dùng để chứa 1 số các thiết lập lcd cơ bản ). Các tín hiệu LCD_ON và LCD_BLON luôn là 1. Tín hiệu LCD_RW và LCD_RS nếu chỉ hiển thị lên LCD thì tín hiệu LCD_RW = 0, khi cài đặt vị trí hiển thị kí tự thì ta reset LCD_RS xuống mức 0, ghi dữ liệu thì ta set lên 1. Trong phần hiển thị thì tín hiệu LCD_R/W luôn đặt là 0, còn LCD_RS khi muốn cấu hình LCD thì là 0, khi hiển thị dữ liệu thì được set lên 1. o Cách hiển thị nội dung ra LCD : dựa vào bảng mã kí tự : [...]... LLLH tức là 0100 0001 3.2 Thiết lập khối LCD o Khối LCD được thiết lập để hiển thị phần giới thiệu về BTL o Khối có đầu vào là xung clock 50MHz, bên trong có khối chia tần số xuống 1Hz, và phím reset o Có khối điều khiển lcd_controller o Đầu ra là màn hình LCD 16x2 của KIT DE2-70 BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 11 Figure 5 Sơ đồ khối LCD 4 Khối thiết lập đồng hồ setclock o Khối setclock... 4'b1000 : HEX = 7'b0000000; 4'b1001 : HEX = 7'b0001100; endcase endmodule // Ket thuc decoder_bcd BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 16 PHẦN B MÔ PHỎNG VÀ THỰC TẾ Kết quả thu được khi chạy trên KIT DE2-35 BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 17 PHẦN C KẾT LUẬN Trong thời gian thực hiện đề tài, chúng em đã được thầy tạo mọi điều kiện về tài liệu cũng như cơ sở vật... module chính tạo ra bộ đếm cho phép đồng hộ được hoạt động, cho phép người dùng tự thiết lập thời gian thực và thời gian báo giờ như mong muốn Figure 6 Khối thiết lập đồng hồ setclock:SC o Khối nhận đầu vào là xung clock 1Hz tương ứng với 1s o Thiết lập thời gian với 16 switch ( iSW[17-2] ) trong đó 8 switch dùng để thiết lập giờ, 8 switch tiếp dùng để thiết lập phút, và thiết lập theo mã nhị phân + Quy... trị 0 BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 12 Table 3 Bảng mã nhị phân Mã nhị phân 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Còn lại Số thập phân 0 1 2 3 4 5 6 7 8 9 x o Các trường hợp không thỏa mãn (x) thì đèn LED xanh [1] sẽ báo lỗi o Thời gian được đặt trước để báo giờ là 6h, 12h, 18h Khi đến giờ báo thì LED xanh [0] sẽ sáng và nháy Table 4 Module thiết lập đồng hồ setclock... -Ket thuc module -// BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 13 5 Khối chuyển đổi bit convert10 o Chức năng của khối là chuyển đổi từ hệ nhị phân ( 6bits ) sang hệ thập phân ( từ 0 đến 9 ) o Thực hiện bằng cách chia lấy phần nguyên và lấy phần dư cho 10 + Phần nguyên là chữ số đầu tiên của giờ, phút, giây ( gọi là phần chục ) + Phần dư là chữ số thứ ha của giờ, phút, giây ( gọi... phát triển một cách tối ưu nhất, nên trong thời gian tới nhóm chúng em rất mong nhận được sự giúp đỡ nhiệt tình của thầy để chúng em có thể tiếp tục phát triển đề tài này và hoàn thành tốt những đề tài sau này Cuối cùng chúng em xin gửi lời cảm ơn chân thành đến thầy, kính chúc thầy và gia đình mạnh khỏe, chúc thầy ngày càng thành công trong công việc Chúng em xin cảm ơn !!! BTL Thiết kế tổng hợp IC số. .. het cho 10 // chia lay du cho endmodule // Ket thuc -// BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 14 6 Khối giải mã decoder_bcd o Khối có chức năng giải mã từ BCD sang mã hex hiển thị lên LED 7 thanh Figure 8 Sơ đồ khối khối giải mã decoder o Đầu vào là mã bcd 4 bit, qua bộ giải mã decoder để hiển thị trên LED Table 6 Bảng giải mã decoder sang LED 7 thanh Mã bcd[3:0] 0000 0001... 1100000 (6) 0001111 (7) 0000000 (8) 0001100 (9) 0000001 (0) Table 7 Module giải mã BCD // - Module giai ma BCD module decoder_bcd (bcd,HEX); input [3:0] bcd; output reg [0:6] HEX; BTL Thiết kế tổng hợp IC số - TS Nguyễn Hoàng Dũng 15 always @ (bcd) case (bcd) 4'b0000 : HEX = 7'b0000001; 4'b0001 : HEX = 7'b1001111; 4'b0010 : HEX = 7'b0010010; 4'b0011 : HEX = 7'b0000110; 4'b0100 : HEX = 7'b1001100; . decoder_bcd BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 17 PHẦN B. MÔ PHỎNG VÀ THỰC TẾ Kết quả thu được khi chạy trên KIT DE2-35 BTL Thiết kế tổng hợp IC số - TS chạy bình thường, báo giờ,… + Khối LCD : Hiển thị tên bài tập lớn (BTL) , tên đề tài, tên thành viên nhóm. BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 6 + Khối hiển thị LED : Hiện. phut_ch, oHEX5_D ); BTL Thiết kế tổng hợp IC số - TS. Nguyễn Hoàng Dũng 9 decoder_bcd DE_B4 ( gio_dv, oHEX6_D ); decoder_bcd DE_B5 ( gio_ch, oHEX7_D ); //Khoi LCD lcd LCD (iCLK_50,iKEY,LCD_D,oLCD_RW,oLCD_EN,oLCD_RS,oLCD_ON,oLCD_BLON);

Ngày đăng: 14/04/2015, 01:52

Từ khóa liên quan

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

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

Tài liệu liên quan