1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng bài toán thang máy 6 tầng

23 1,7K 15

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 2,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mô phỏng bài toán thang máy 6 tầng

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ VIỄN THÔNG

Trang 2

A LỜI NÓI ĐẦU

Trang 3

Field Programmable Gate Array (FPGA)

Field Programmable Gate Arrays là một chip logic số có thể lập trình được, tức là bạn có thể sử dụng chúng để lập trình cho hầu hết các chức năng của bất kỳ một thiết kế số nào Đã có nhiều tài liệu trên website nói nhiều về FPGA nhưng ở đây mình muốn các bạn chú ý đến cái tên của nó Mình thấy trên các website người ta dich chữ FIELD là dạng trường Nhưng ở đây không phải như vậy FIELD nghĩa là nơi sử dụng con chip Field Programmable nghĩa là có thể lập trình được tại nơi của người sử dụng khác với một số chip là phải lập trình tại nơi sản xuất FPGA được tạo thành từ một mảng (matrix hay array) các phần tử khả trình nên được gọi là Programmable Gate Array

Bộ nhớ tĩnh đầu tiên dựa trên FPGA (thường được gọi là SRAM trên nền FPGA) được đề xuất bởi Wahlstrom vào năm 1967 Sau đó bản thương mại của FPGA được Xilinx giới thiệu vào năm 1984 Lúc này nó gồm có một mảng của các khối logic có thể tái cấu hình –

Configurable Logic Blocks (CLBs) và các đầu vào ra – I/O (input/output) Chip FPGA đầu tiên chứa 64 CLBs và 58 I/Os Ngày nay, FPGA có thể chứa khoảng 330,000 CLBs và khoảng 1100 I/Os Phần lớn các sản phẩm FPGA trên thị trường hiện nay đều dựa trên công nghệ SRAM với

Trang 4

2 hãng sản xuất lớn nhất là Xilinx và Altera Ngoài ra còn có các hãng khác sản xuất FPGA nhưng với mục đích chuyên dụng (Atmel, Actel, Lattice, SiliconBlue, ).

Kiến trúc cơ bản của FPGA bao gồm 3 thành phần chính: khối logic có thể tái cấu hình, Configurable Logic Blocks (CLBs) thực hiện các chức năng logic; các kết nối bên trong, Porgrammable Interconnect có thể lập trình để kết nối các đầu vào và đầu ra của các CLB và các khối I/O bên trong; các khối I/O cung cấp giao tiếp giữa các ngoại vi và các được tín hiêu bên trong

Dưới đây là một chip FPGA điển hình và từng khối của nó

Hình 1:Cấu trúc cơ bản của FPGA

1 Khối logic có thể tái cấu hình.

Mục đích của việc lập trình khối logic trong FPGA là để cung cấp các tính toán và các phần tử nhớ cơ bản được sử dụng trong hệ thống số Một phần tử logic cơ bản gồm một mạch

tổ hợp có thể lập trình, một Flip-Flop hoặc một chốt (latch) Ngoài khối logic cơ bản đó, nhiều

Trang 5

Chip FPGA hiện nay gồm một hỗn hợp các khối khác nhau, một số trong đó chỉ được dùng cho các chức năng cụ thể, chẳng hạn như các khối bộ nhớ chuyên dụng, các bộ nhân (multipliers) hoặc các bộ ghép kênh (multiplexers) Tất nhiên, cấu hình bộ nhớ được sử dụng trên tất cả các khối logic để điều khiển các chức năng cụ thể của mỗi phần tử bên trong khối đó.

2 Kết nối có thể lập trình.

Các liên kết trong một FPGA dùng để liên kết các khối logic và I/O lại với nhau để tạo thành một thiết kế Bao gồm các bộ ghép kênh, các transistor và cổng đệm ba trạng thái Nhìn chung, các transistor và bộ ghép kênh được dùng trong một cụm logic để kết nối các phần tử logic lại với nhau, trong khi đó cả ba đều được dùng cho các cấu trúc định tuyến bên trong FPGA Một số FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ít kết nối hơn nên định tuyến phức tạp hơn

3 Khối I/O khả trình.

I/O cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến các thành phần bên ngoài Một trong những vấn đề quan trọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn điện áp cung cấp và điện áp tham chiếu sẽ được hỗ trợ

Theo thời gian, các kiến trúc FPGA cơ bản đã được phát triển hơn nữa thông qua việc bổ sung các khối chức năng đặc biệt có thể lập trình, như bộ nhớ trong (Block RAMs), logic số học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý nhúng được thêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng Kết quả là nhiều FPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó

Trang 6

Hình 2: Khối I/O khả trình

1.1.2 Ứng dụng của FPGA

Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ,

quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều khiển trực quan,

phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính … Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực

Trang 7

1.1.3 Ý nghĩa,vai trò của FPGA

Trước đây, khi muốn chế tạo ra một con chip “vi xử lý”, người ta phải thiết kế chip ở mức logic sử dụng các ngôn ngữ mô tả phần cứng, để kiểm tra công đoạn này cần phải sử dụng những phần mềm mô phỏng Sau đó thiết kế phải được tổng hợp dựa trên các thư viện cấp thấp của hãng sản xuất con Chip sau này, sau đó là quá trình kiểm tra timing (định thời) cho toàn bộ thiết kế để đảm bảo thiết kế đó sẽ hoạt động ở tần số yêu cầu Tất cả các công đoạn này đều chỉ

có thể kiểm tra bằng các phần mềm mô phỏng (Điều này dẫn tới nguy cơ xảy ra sai sót rất lớn khi chuyển thiết kế sang môi trường Chip thực)

Quy trình tiếp theo là gửi thiết kế của mình tới công ty sản xuất Chip và phó mặc cho số phận, một chip mẫu giá vài triệu đô la sẽ được chuyển trả về, sau đó là bắt đầu quá trình test chip trong môi trường thực, nếu thất bại, khả năng lớn là chúng ta sẽ phải thực hiện lại hoàn toàn qui trình thiết kế như đã nói ở trên, và cứ mỗi lần như vậy, phải thanh toán vài triệu đô la cộng với khỏang thời gian nghiên cứu rất lớn Quy trình này làm cho các đất nước nghèo như Việt Nam không thể tham gia vào các cuộc chơi của các đất nước giàu có trong thế giới của ASIC

Nhưng với FPGA,chúng ta không những có thể rút ngắn thời gian thực hiện ASIC mà còn giảm chi phí nghiên cứu tối đa do quá trình kiểm tra thiết kế không các Chip thực trong mội trường có thể nói là gần với môi trường ASIC thực nhất Khả năng tái cấu hình cho phép sửa bản thiết kế cho đến khi đạt yêu cầu mà không phải trả khoản chi phí nào ngoài tiền điện tiêu thụ

1.2 Ngôn ngữ mô tả phần cứng Verilog HDL

1.2.1 Quá trình phát triển

Verilog được ra đời vào đầu năm 1984 bởi Gateway Design Automation Khởi đầu, ngôn ngữ đầu tiên được dùng như là một công cụ mô phỏng và kiểm tra Sau thời gian đầu ngôn ngữ này được chấp nhận bởi ngành công nghiệp điện tử, một công cụ mô phỏng, một công cụ phân tích thời gian, và sau này vào năm 1987, công cụ tổng hợp đã được xây dựng và phát triển dựa vào ngôn ngữ này Gateway Design Automation và những công cụ dựa trên Verilog của hãng sau này được mua bởi Cadence Design System Từ sau đó, Cadence đóng vai trò hết sức quan trọng

Trang 8

trong việc phát triển cũng như phổ biến ngôn ngữ mô tả phần cứng Verilog.

Vào năm 1987, VHDL trở thành một chuẩn ngôn ngữ mô tả phần cứng của IEEE Bởi do sự hỗ trợ của Bộ quốc phòng (DoD), VHDL được sử dụng nhiều trong những dự án lớn của chính phủ

Mỹ Trong nỗ lực phổ biến Verilog, vào năm 1990, OVI ( Open Verilog International) được thành lập và Verilog chiếm ưu thế trong lĩnh vực công nghiệp Điều này đã tạo ra một sự quan tâm khá lớn từ người dùng và các nhà cung cấp EDA tới Verilog

Vào năm 1993, những nỗ lực nhằm chuẩn hóa ngôn ngữ Verilog được bắt đầu Verilog trở thành chuẩn IEEE, IEEE Std 1364-1995, vào năm 1995 Với những công cụ mô phỏng, công cụ tổng hợp, công cụ phân tích thời gian, và những công cụ thiết kế dựa trên Verilog đã có sẵn, chuẩn Verilog IEEE này nhanh chóng được chấp nhận sâu rộng trong cộng đồng thiết kế điện tử Một phiên bản mới của Verilog được chấp nhận bởi IEEE vào năm 2001 Phiên bản mới này được xem như chuẩn Verilog-2001 và được dùng bởi hầu hết người sử dụng và người phát triển công cụ Những đặc điểm mới trong phiên bản mới ñó là nó cho phép bên ngoài có khả năng đọc

và ghi dữ liệu, quản lí thư viện, xây dựng cấu hình thiết kế, hỗ trợ những cấu trúc có mức độ trừu tượng cao hơn, những cấu trúc mô tả sự lặp lại, cũng

như thêm một số đặc tính vào phiên bản này Quá trình cải tiến chuẩn này vẫn đang được tiếp tục với sự tài trợ của IEEE

1.2.2 Ngôn ngữ verilog HDL

Ngôn ngữ Verilog HDL đáp ứng tất cả những yêu cầu cho việc thiết kế và tổng hợp những

hệ thống số Ngôn ngữ này hỗ trợ việc mô tả cấu trúc phân cấp của phần cứng từ mức độ hệ thống đến mức cổng hoặc đến cả mức công tắc chuyển mạch Verilog cũng hỗ trợ mạnh tất cả các mức độ mô tả việc định thời và phát hiện lỗi Việc định thời và đồng bộ mà được đòi hỏi bởi phần cứng sẽ được chú trọng một cách đặc biệt

Trong Verilog, một linh kiện phần cứng được mô tả bởi một cấu trúc ngôn ngữ “khai báo module” Sự mô tả một module sẽ mô tả danh sách những ngõ vào và ngõ ra của linh kiện cũng như những thanh ghi và hệ thống bus bên trong linh kiện Bên trong một module, những phép gán đồng thời, gọi sử dụng linh kiện và những khối quy trình có thể được dùng để mô tả một linh kiện phần cứng

Trang 9

Nhiều module có thể được gọi một cách phân cấp ñể hình thành những cấu trúc phần cứng khác nhau Những phần tử con của việc mô tả thiết kế phân cấp có thể là những module, những linh kiện cơ bản hoặc những linh kiện do người dùng tự định nghĩa Để mô phỏng cho thiết kế, những phần tử con trong cấu trúc phân cấp này nên ñược tổng hợp một cách riêng lẻ

Hiện nay có rất nhiều công cụ và môi trường dựa trên Verilog cung cấp khả năng chạy mô phỏng, kiểm tra thiết kế và tổng hợp thiết kế Môi trường mô phỏng cung cấp những chương trình giao diện đồ họa cho bước thiết kế trước layout (front-end) và những công cụ tạo dạng sóng

và công cụ hiện thị Những công cụ tổng hợp thì dựa trên nền tảng của Verilog Khi tổng hợp một thiết kế thì thiết bị phần cứng đích như FPGA hoặc ASIC cần phải được xác định trước

Chương II: Giới thiệu KIT FPGA DE2-70 và môi trường lập trình

Quartus II 9.1

2.1 Tổng quan về kit DE2-70

2.1.1 Tổng quan về Kit FPGA DE2.

Mục đích của Kit DE2 là cung cấp cho sinh viên một phương tiện tối ưu để nghiên cứu về kĩ thuật số, cấu trúc máy tính và FPGA Kit này sử dụng những côngnghệ mới nhất cả về phần cứng lẫn công cụ CAD (Computer Aid Design) để giúpkhông chỉ sinh viên mà còn cả giáo viên có thể nghiên cứu được nhiều ứng dụngkhác nhau Kit cung cấp nhiều ñặc ñiểm phù hợp cho công việc nghiên cứu cũngnhư phát triển những hệ thống số thông thường lẫn phức tạp trong phòng thínghiệm của các trường đại học

2.1.2 Đặc điểm cơ bản của Kit FPGA DE2-70

Dưới đây là hình ảnh của Kit DE2 Nó thể hiển bề mặt trên của Kit cũng như

vị trí của những linh kiện trên Kit

Trang 10

Hình3: Mặt trên của Kit DE2-70 và vị trí các linh kiện trên KitKit DE2 mang những đặc điểm cho phép người sử dụng có thể thiết kế từ những mạch điện đơn giản cho đến những thiết kế phức tạp như Multimedia.

Kit DE2 gồm những linh kiện sau:

• Chip FPGA Cyclone II 2C70 gồm 896 chân Tất cả những linh kiện trên kit đều được kết nối sẵn với những pin của FPGA, điều này cho phép người sử dụng có thể điều khiển tất cả những linh kiện cũng như ứng dụng của chúng

• Rom EPCS16: dùng để thiết lập cấu hình ban đầu cho thiết bị, hoạt động nối tiếp

• USB Blaster: dùng để cài đặt chương trình cho FPGA từ máy tính, hỗ trợ 2 chế

Trang 11

• 18 công tắc gạt.

• 18 đèn led đỏ

• 9 led xanh

• Nguồn xung clock 50MHz và 28.63MHz

• Bộ mã hóa/giải mã âm thanh CD 24bit với các đầu cắm line-in, line-out, microphone-in

• Bộ chuyển đổi tín hiệu số sang tương tự VGA 10bit với đẩu cắm VGA-out

• 2 bộ giải mã tín hiệu TV với đầu cắm TV-in

• Giao tiếp Enthernet 10/100

• Giao tiếp USB 2.0

• Giao tiếp chuẩn RS-232 với 9 chân

• Giao tiếp chuẩn PS/2 cho chuột và bàn phím

• Giao tiếp hồng ngoại (IrDA)

• 2 cổng kết nối dùng để giao tiếp với các thiết bị ngoại vi khác mà người sử dụng muốn kết nối vào Kit

Đi kèm với những đặc tính phần cứng, Altera cũng cung cấp những giao tiếp I/O chuẩn và bảng ñiều khiển việc truy xuất những linh kiện trên Kit dựa trên phần mềm DE2 Control Panel

Trang 12

Hình4: Sơ đồ khối board mạch Kit DE2-70

1.1.1 Ứng dụng trong giảng dạy và học tập.

Những khóa học về thiết kế mạch logic và cấu trúc máy tính thường đề cập đến những thiết bị và linh kiện điện tử Ngày nay khi mà công nghệ đang phát triển với tốc độ chóng mặt thì những giáo trình cũng như những thiết bị trong các phòng thí nghiệm cũng phải luôn được cập nhật những công nghệ và công cụ thiết kế hiện đại nhất, tuy nhiên nó vẫn phải đảm bảo giúp sinh viên nắm vững những kiến thức nền tảng cho đến những kiến thức cao hơn Kit DE2 được thiết kế để đáp ứng được tất cả những yêu cầu trên

1.1.2 Ứng dụng trong nghiên cứu và thiết kế.

Với Chip Cyclone II FPGA tân tiến, nhiều loại giao tiếp I/O và nhiều loại bộ nhớ khác nhau, Kit DE2 sẽ giúp người sử dụng rất linh động trong việc thiết kế nhiều loại ứng dụng khác nhau Cùng với những ứng dụng minh họa kèm theo Kit, người thiết kế có thể tạo ra những thì nghiệm thú vị về những ứng dụng như là audio, video, USB, network và

Trang 13

memory Kit DE2 cũng có thể thực thi được những ứng dụng nhúng sử dụng vi xử lí Nios II.

Một số ứng dụng minh họa:

• Ứng dụng trong xử lý ảnh và truyền hình

Hình5: Ứng dụng trong xử lý ảnh và truyền hình

• Ứng dụng trong xử lý âm thanh

Hình6: Ứng dụng trong xử lý âm thanh

• Ứng dụng giao tiếp USB

Trang 14

Hình7: Ứng dụng trong giao tiếp USB

2.2 Môi trường lập trình Quartus II 9.1.

Quartus II là công cụ phần mềm phát triển của hãng Altera, cung cấp môi trường thiết kế toàn diện cho các thiết kế SOPC (hệ thống trên một chip khả trình - system on a programmable chip)

Đây là phần mềm đóng gói tích hợp đầy đủ phục vụ cho thiết kế logic với các linh kiện logic khả trình PLD của Altera, gồm các dòng APEX, Cyclone, FLEX, MAX, Stratix Quartus cung cấp các khả năng thiết kế logic sau:

• Môi trường thiết kế gồm các bản vẽ, sơ đồ khối, công cụ soạn thảo các ngôn ngữ: AHDL, VHDL, và Verilog HDL

• Thiết kế LogicLock

• Là công cụ mạnh để tổng hợp logic

• Khả năng mô phỏng chức năng và thời gian

• Phân tích thời gian

• Phân tích logic nhúng với công cụ phân tích SignalTap@ II

• Cho phép xuất, tạo và kết nối các file nguồn để tạo ra các file chương trình

• Tự động định vị lỗi

• Khả năng lập trình và nhận diện linh kiện

Trang 15

• Phần mềm Quartus II sử dụng bộ tích hợp NativeLink@ với các công cụ thiết kế cung cấp việc truyền thông tin liền mạch giữa Quartus với các công cụ thiết kế phần cứng EDA khác.

• Quartus II cũng có thể đọc các file mạch (netlist) EDIF chuẩn, VHDL và Verilog HDL cũng như tạo ra các file netlist này

• Quartus II có môi trường thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên dịch, soát lỗi, mô phỏng

2.3 Sơ lược cách sử dụng phần mềm Quartus II 9.1.

Để tạo mới một project trong Quartus II 9.1 ta làm như sau:

Trang 16

Hình9: Chọn Next để tiếp tục

Hình10: Chọn thư mục chứa project và đặt tên cho project rồi Next

Trang 17

Hình11: Chọn Next để tiếp tục

Hình12: Chọn Cyclone II trong Family và EP2C70F896C6 cho Kit DE2-70 rồi Next

Trang 18

Hình13: Chọn Next để tiếp tục

Hình: Hình14:Chọn Finish để kết thúc

Chương III: Thiết Kế chương trình điều khiển thang máy 6 tầng và mô phỏng trên modelsim,Kit DE2-70.

Trang 19

3.2 Mô tả chi tiết.

3.2.1 Khối chia tần

Ngày đăng: 11/06/2016, 10:15

HÌNH ẢNH LIÊN QUAN

Hình 2: Khối I/O khả trình - Mô phỏng bài toán thang máy 6 tầng
Hình 2 Khối I/O khả trình (Trang 6)
Hình4: Sơ đồ khối board mạch Kit DE2-70 - Mô phỏng bài toán thang máy 6 tầng
Hình 4 Sơ đồ khối board mạch Kit DE2-70 (Trang 12)
Hình 15: Sơ đồ khối - Mô phỏng bài toán thang máy 6 tầng
Hình 15 Sơ đồ khối (Trang 19)
Sơ đồ khối được chia làm 3 modul nhỏ là khối chia tần DIV,khối điều khiển chính  Control và khối hiển thị Display. - Mô phỏng bài toán thang máy 6 tầng
Sơ đồ kh ối được chia làm 3 modul nhỏ là khối chia tần DIV,khối điều khiển chính Control và khối hiển thị Display (Trang 19)
Sơ đồ trạng thái FSM. - Mô phỏng bài toán thang máy 6 tầng
Sơ đồ tr ạng thái FSM (Trang 22)
Sơ đồ khối được tạo ra khi xây dựng bằng code - Mô phỏng bài toán thang máy 6 tầng
Sơ đồ kh ối được tạo ra khi xây dựng bằng code (Trang 22)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w