DANH MỤC CÁC HÌNH 3 DANH MỤC CÁC BẢNG BIỂU 4 LỜI CẢM ƠN 5 LỜI GIỚI THIỆU 6 CHƯƠNG 1: TÌM HIỂU VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 7 1.1. Lịch sử hình thành 7 1.2. Các ưu điểm của VHDL 8 CHƯƠNG 2: THIẾT KẾ MẠCH SỐ TRÊN FPGA 10 2.1. Tổng quan về kiến trúc FPGA 10 2.1.1. Khái niệm FPGA 10 2.1.2. Ứng dụng của FPGA 13 2.2. Máy trạng thái 13 2.2.1. Thiết kế theo mô hình máy Moore 14 2.2.2. Thiết kế theo mô hình máy Mealy 14 CHƯƠNG 3: THIẾT KẾ MẠCH ĐIỀU KHIỂN THANG MÁY 15 3.1. Mục tiêu thiết kế 15 3.2. Giới thiệu KIT điều khiển FPGA Basys 3 15 3.3. Module sử dụng trong mạch điều khiển 17 3.4. Thiết kế mạch điều khiển 20 3.5. Mô phỏng thiết kế 24 Thiết kế logic số là môn học kế tiếp của chương trình Điện tử số. Nội dung chính của chương trình môn học tập trung vào hai vấn đề kiến thức chính. Thứ nhất là bài toán thiết kế về mặt chức năng cho các khối số có mật độ tích hợp lớn cỡ LSI, VLSI và lớn hơn. Vấn đề thứ hai là giới thiệu căn bản về các công nghệ giúp hiện thực hóa thiết kế chức năng thành sản phẩm ứng dụng, trong đó tập trung chính vào công nghệ FPGA, một nền tảng công nghệ mới đã và đang phát triển rất mạnh hiện nay. Khác với bài toán tổng hợp và phân tích trong Điện tử số chủ yếu là bài toán cho các mạch cỡ SSI, MSI, các bài toán ở đây có hướng tới các ứng dụng cụ thể thực tiễn với quy mô lớn hơn và buộc phải sử dụng các công cụ trợ giúp thiết kế trên máy tính và ngôn ngữ thiết kế VHDL Chương trình Thiết kế logic số nhắm vào trang bị kiến thức cơ sở ngành cho tất cả các đối tượng sinh viên thuộc chuyên ngành kỹ thuật Điện tử viễn thông, Điều khiển tự động. Trước khi học môn này các sinh viên này phải học qua các môn cơ sở ngành gồm Cấu kiện điện tử, Điện tử số, Kỹ thuật Vi xử lý trong đó hai môn đầu là bắt buộc. Thiết kế logic số là một môn học mang tính thực hành cao nên trong cấu trúc chương trình sẽ dành nhiều thời gian hơn cho thực hành thí nghiệm cũng như bắt buộc sinh viên khi kết thúc môn học phải thực hiện các đồ án bài tập thiết kế cỡ vừa và lớn theo nhóm dưới dạng Bài tập lớn hoặc Đồ án môn học. Kiến thức và kỹ năng của sinh viên sẽ giúp ích rất lớn cho các bài toán chuyên ngành và Đồ án tốt nghiệp sau này bởi trong các ứng dụng xử lý số đang dần chiếm vai trò quan trọng trong các hệ thống kỹ thuật. Bên cạnh những công cụ truyền thống là Vi xử lý, máy tính thì thiết kế phần cứng trên FPGA hoặc trên nền các công nghệ tương tự đang là một hướng phát triển mang lại hiệu năng vượt trội và khả năng ứng dụng thích nghi tốt hơn. CHƯƠNG 1: TÌM HIỂU VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 1.1. Lịch sử hình thành Tập trung vào giới thiệu về ngôn ngữ mô tả phần cứng VHDL, đây là một ngôn ngữ mô tả phần cứng có tính ứng dụng cao nhƣng cũng có cú pháp không quen thuộc và dễ tiếp cận. Nội dung kiến thức trình bày trong chương này theo định hướng như một tài liệu tra cứu hơn là bài giảng. Người học không nhất thiết phải theo đúng trình tự kiến thức trình bày mà có thể tham khảo tất cả các mục một cách độc lập, bên cạnh đó là tra cứu bằng các tài liệu khác cũng như tài liệu gốc bằng tiếng Anh. Các ví dụ có trong giáo trình đều cố gắng trình bày là các ví dụ đầy đủ có thể biên dịch và mô phỏng được ngay vì vậy khuyến khích người học tích cực thực hành song song với nghiên cứu lý thuyết. Kết thúc nội dung của chương này yêu cầu người học phải có kỹ năng sử dụng VHDL ở cấp độ cơ bản, có khả năng thiết kế các khối số vừa và nhỏ như Flipflop, khối chọn kênh, phân kênh, khối cộng, dịch, các khối giải mã… đã biết trong chương trình Điện tử số, đó cũng là các khối nền tảng cho các thiết kế lớn hơn và phức tạp hơn ở chương tiếp theo. 1. Giới thiệu về VHDL VHDL viết tắt của VHSIC HDL (Veryhighspeedintergratedcircuit Hardware Description Language) hay ngôn ngữ mô tả phần cứng cho các vi số mạch tích hợp tốc độ cao. Lịch sử phát triển của VHDL trải qua các mốc chính nhƣ sau: 1981: Phát triển bởi Bộ Quốc phòng Mỹ nhằm tạo ra một công cụ thiết kế phần cứng tiện dụng có khả năng độc lập với công nghệ và giảm thiểu thời gian cũng như chi phí cho thiết kế 19831985: Được phát triển thành một ngôn ngữ chính thống bởi 3 công ty Intermetrics, IBM and TI. 1986: Chuyển giao toàn bộ bản quyền cho Viện Kỹ thuật Điện và Điện tử (IEEE). 1987: Công bố thành một chuẩn ngôn ngữ IEEE1076 1987. 1994: Công bố chuẩn VHDL IEEE1076 1993. 2000: Công bố chuẩn VHDL IEEE1076 2000. 2002: Công bố chuẩn VHDL IEEE1076 2002 2007: công bố chuẩn ngôn ngữ Giao diện ứng dụng theo thủ tục VHDL IEEE1076c 2007 2009: Công bố chuẩn VHDL IEEE1076 2009 VHDL ra đời trên yêu cầu của bài toán thiết kế phần cứng lúc bấy giờ, nhờ sử dụng ngôn ngữ này mà thời gian thiết kế của sản phẩm bán dẫn giảm đi đáng kể, đồng thời với giảm thiểu chi phí cho quá trình này do đặc tính độc lập với công nghệ, với các công cụ mô phỏng và khả năng tái sử dụng các khối đơn lẻ. 1.2. Các ưu điểm của VHDL Tính công cộng: VHDL là ngôn ngữ được chuẩn hóa chính thức của IEEE do đó được sự hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống, hầu như tất cả các công cụ thiết kế của các hãng phần mềm lớn nhỏ đều hỗ trợ biên dịch VHDL. Được hỗ trợ bởi nhiều công nghệ: VHDL có thể sử dụng mô tả nhiều loại vi mạch khác nhau trên những công nghệ khác nhau từ các thư viện rời rạc, CPLD, FPGA, tới thư viện cổng chuẩn cho thiết kế ASIC. Tính độc lập với công nghệ: VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng. Một mô tả hệ thống chức năng dùng VHDL thiết kế ở mức thanh ghi truyền tải RTL có thể được tổng hợp thành các mạch trên các công nghệ bán dẫn khác nhau. Nói một cách khác khi một công nghệ phần cứng mới ra đời nó 43 có thể được áp dụng ngay cho các hệ thống đã thiết kế bằng cách tổng hợp các thiết kế đó lại trên thư viện phần cứng mới. Khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt động của phần cứng từ mức thanh ghi truyền tải (RTL–Register Tranfer Level) cho đến mức cổng (Netlist). Hiểu một cách khác VHDL có một cấu trúc mô tả phần cứng chặt chẽ có thể sử dụng ở lớp mô tả chức năng cũng như mô tả cổng trên một thư viện công nghệ cụ thể nào đó. Khả năng trao đổi, tái sử dụng: Việc VHDL được chuẩn hóa giúp cho việc trao đổi các thiết kế giữa các nhà thiết kế độc lập trở nên hết sức dễ dàng. Bản thiết kế VHDL được mô phỏng và kiểm tra có thể được tái sử dụng trong các thiết kế khác mà không phải lặp lại các quá trình trên. Giống như phần mềm thì các mô tả HDL cũng có một cộng đồng mã nguồn mở cung cấp, trao đổi miễn phí các thiết kế chuẩn có thể ứng dụng ở nhiều hệ thống khác nhau. Cấu trúc của chương trình mô tả bằng VHDL Cấu trúc tổng thể của một khối thiết kế VHDL gồm ba phần, phần khai báo thư viện, phần mô tả thực thể và phần mô tả kiến trúc. Khai báo thư viện LIBRARY declaration Mô tả thực thể ENTITY Declaration Hành vi Behavioral Luồng dữ liệu DataFlow Cấu trúc Structure Mô tả kiến trúc ARCHITECTURE Hình 21. Cấu trúc của một thiết kế VHDL. Hình 1.1: Cấu trúc của một thiết kế VHDL CHƯƠNG 2: THIẾT KẾ MẠCH SỐ TRÊN FPGA Kiến thức của những chương trước cung cấp kiến thức từ cơ bản tới nâng cao của các thiết kế số về mặt chức năng bằng HDL. Ở chương này chúng ta sẽ nghiên cứu về một công nghệ cho phép chuyển các thiết kế logic thành sản phẩm ứng dụng, đó là công nghệ FPGA. FPGA là công nghệ mang lại sự thay đổi lớn lao trong kỹ thuật điện tử số hiện đại. Nếu như các IC tích hợp số trước kia được sản xuất bằng công nghệ phức tạp, sở hữu bởi số ít các quốc gia có nền tảng khoa học kỹ thuật phát triển, khi thiết kế các hệ thống số người thiết kế không có được sự tùy biến linh động cũng như những giải pháp tối ưu mà phải lệ thuộc vào các phần tử có sẵn. HDL và FPGA ra đời đã cho phép người thiết kế có khả năng tự thiết kế IC chức năng theo mục đích sử dụng một cách nhanh chóng dễ dàng, đây cũng chính là một trong những cơ sở để môn học thiết kế vi mạch tích hợp được đưa vào giảng dạy cho đối tượng đại học. Bên cạnh sự tiếp cận trực tiếp và đơn giản FPGA còn đem lại hiệu quả thiết kế cao và tính ứng dụng thực tiễn cho những bài toán số được xem rất phức tạp đối với các công nghệ cũ hơn. Sinh viên sẽ được giới thiệu căn bản về cấu trúc của FPGA và các cách thức làm việc với FPGA. Song song đó là các bài thực hành giúp sinh viên làm quen và sử dụng thành thạo các công cụ thiết kế trên FPGA, trên cơ sở đó thực hiện các bài tập cơ bản và một số hướng nghiên cứu chuyên sâu sử dụng công nghệ FPGA. 2.1. Tổng quan về kiến trúc FPGA 2.1.1. Khái niệm FPGA FPGA là công nghệ vi mạch tích hợp khả trình (PLD Programmable Logic Device) trình mới nhất và tiên tiến nhất hiện nay. Thuật ngữ Field Programmable chỉ quá trình tái cấu trúc IC có thể được thực hiện bởi người dùng cuối, trong điều kiện thông thường thường, hay nói một cách khác là người kỹ sư lập trình IC có thể dễ dàng hiện thực hóa thiết kế của mình sử dụng FPGA mà không lệ thuộc vào một quy trình sản xuất hay cấu trúc phần cứng phức tạp nào trong nhà máy