Kit FPGA là gì

* FPGA là gì ?FPGA là viết tắt của thuật ngữ tiếng anh “Field programmable Gate Array”, nghĩa là Mảng cổng lập trình được dạng trường. FPGA thuộc họ ASIC lập trình được* Ý nghĩa và vai trò của FPGA ASIC lập trình được đã xuất hiện từ lâu dưới dạng PLD [Programmable Logic Device], nhưng vai trò của các dạng ASIC này là không nhiều vì số lượng cổng trên Chip rất ít dẫn tới chức năng của các PLD này cũng nghèo nàn và thường chỉ sử dụng với những nhiệm vụ rất hạn chế trong toàn hệ thống. Kể từ năm 1980,Các công ty sản xuất PLD hàng đầu đã đẩy mạnh quá trình nghiên cứu về FPGA và nhanh chóng cho ra các thế hệ FPGA với số lượng cổng và tốc độ ngày càng cao.các FPGA hiện nay có số lượng cổng đủ lớn để có thể thay thế cả một hệ thống bao gồm lõi CPU, Bộ điều khiển bộ nhớ [Memory Controller], các ngoại vi như SPI,Timer, I2C, GPIO, PWM, Video/Audio Controller… [nghĩa là tương đương với các SoC hiện đại].Tuy nhiên,FPGA không thể nào so sánh được với ASIC và SoC cả về kinh tế lẫn tốc độ hoạt động. Nhưng bù lại, với khả năng tái cấu hình mạnh, FPGA đóng một vai trò vô cùng to lớn trong việc giảm giá thành và thời gian chế tạo ASIC bằng cách sử dụng FPGA trong quá trình thiết kế luận lý trước khi đưa ra sản xuất các ASIC mẫu. Quy trình sản xuất Chip ASIC bằng cách này gọi là fabless rất phổ biến hiện nay trên thế giới, giúp các công ty nhỏ và vừa và đặc biệt là các nước yếu về công nghệ như Việt nam tham gia vào thế giới của IC.Để giải thích cho các bạn hiểu rõ hơn sự quan trọng rất lớn của FPGA, tôi sẽ cho các bạn một ví dụ rõ hơn. Trước đây, khi muốn chế tạo ra 1 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 người ta 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 mà bạn sẽ sản xuất của con Chip của bạn 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ế của bạn 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 xót rất lớn khi chuyển thiết kế sang môi trường Chip thực ]. Sau đó bạn sẽ 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 cho bạn, và sau đó bạn 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à bạn 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, bản sẽ phải bỏ sọt rác nhiều triệu đô la và khỏag 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,bạn 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 những được kiểm tra bằng các phần mềm mô phỏng mà giờ đây còn có thể chạy trên 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 bạn sửa đi sửa lại thiết kế cho đến khi đạt yêu cầu mà không tốn một xu nào ngoài tiền điện mà bạn phải trả.* Một ứng dụng quan trọng và thiết thực hơn đối với chúng ta [tôi và các bạn]Có lẽ đọc phần trên chúng ta có thể hình dung ra ý nghĩa to lớn, vai trò quan trọng của FPGA. Nhưng sản xuất ASIC vẫn là một điều quá xa vời đối với đại đa số chúng ta, có ai trong số các bạn tự hỏi tại sao không sử dụng trực tiếp FPGA như là một sản phẩm cuối cùng của bạn, có ai cấm hay thu tiền bản quyền của chúng ta về việc đó đâu. Thực tế là FPGA rất hay được sử dụng trong các hệ thống SDR [Software Defined Radio] vì khả năng tái cấu hình giúp các chức năng của thiết bị có thể thay đổi nhanh chóng, bạn có thể hỏi rằng một hệ thống CPU/MCU/DSP cũng có thể làm được chuyện này dễ dàng? Nhưng thực ra thì có nhiều những ứng dụng tốc độ cao mà các MCU thậm chí cả các CPU/DSP trung bình cũng phải bất lực. * Tại sao phải dùng FPGA trong khi bạn đó nắm trong tay MCU/CPU thậm chí cả các DSP cực mạnh+ MCU/CPU/DSP vẫn cần các hardware khác bên cạnh trong các ứng dụng chuyên dụng+ Để điều khiển VGA sử dụng CPU làm controller cần CPU với tốc độ 27Mhz hoạt động 100% CPU+ Các ứng dụng xử lý hình ảnh/video, các ứng dụng mạng neuron,IA cần tốc độ xử lý rất lớn. Mặc dù các DSP đủ mạnh và các SoC mạnh có thể thực hiện được, nhưng sự lựa chọn còn phụ thuộc vào vấn đề kinh tế+ Có bao giờ bạn nghĩ mình sẽ thiết kế ra 1 con CPU của chính mình, với FPGA bạn hoàn toàn có thể thực hiện điều đó+ Đến với FPGA,bạn có cơ hội để tiếp cận gần nhất thế giới của IC + Bạn có thể thực hiện một hệ thống với đầy đủ CPU/Peripheral/IO… và kết nối chúng theo ý muốn,hoặc thậm chí một hệ thống đầy đủ không cần cả CPU như các Chip giải mã/nén Video/Audio, các Chip xử lý hình ảnh/giọng nói, các Chip PID Motor Controller, networking chip …* Kit phát triển FPGA và các ứng dụng demo : Kit Xilinx Spartan-3 FPGA Starter Kit Board [Giá $149.00]

Bạn đang xem: Fpga là gì



Xem thêm: Học Sinh Giỏi Cấp Thành Phố Tiếng Anh Là Gì, Quyết Định Số 3479/1997

Các Kít phát triển FPGA thì đa dạng và dùng cho nhiều mục đích khác nhau nhưng đều gồm 5 phần chính : FPGA, Bộ nhớ [SRAM/DRAM/Flash], Ngoại vi, bộ cấu hình [Configuration device], và bộ nguồn.Nhìn hai loại board ở trên, 1 cái thì mạch diện,IC dày đặc,1 cái thì nhìn đơn giản, nhưng thực thế chỉ là các Kit DE có các ngoại vi đi kèm để dùng cho các mục đích phát triển khác nhau, còn con chip FPGA thì cũng tương đượng thôi, thâm chí còn yếu hơn các Starter Kit.Các ứng dụng demo của Kit phát triển Altera DE1,DE2

  • Công Nghệ 4.0
  • GIFT CODE
  • Tiền Ảo
  • Giáo Dục

Kho tài liệu miễn phí của diễn đàn Ketnooi.comBÁO CÁO TIẾN TRÌNH ĐỒ ÁN GIỮA KÌMỤC LỤC :Giới thiệuTrang bìaPhiếu giao đề tài đồ ánBản nhận xét của giáo viên hướng dẫnBản nhận xét của giáo viên phản biệnLời cảm ơnMuc lụcPhần I:CƠ SỞ LÝ THUYẾTChương 1:Dẫn nhập...................................................................................1.1 Lý do chọn đề tài.......................................................................................1.2 Ý nghĩa khoa học và thực tiễn của đề tài..................................................Chương 2 : Tìm hiểu về FPGA & kit DE2.................................................2.1FPGA..........................................................................................2.1.1 FPGA là gì ?................................................................2.1.2 Lịch sữ của FPGA.......................................................2.1.3 Kiến trúc của FPGA....................................................3.1.1.1 Khối logic................................................3.1.1.2 Hệ thống mạch liên kết............................3.1.1.3 Các phần tử tích hợp sẵn.........................3.1.4 Ứng dụng.....................................................................3.1.5 Ý nghĩa và vai trò của FPGA......................................4.2 Kit DE2.....................................................................................4.2.1 Giới thiệu....................................................................4.2.2 Thành phần..................................................................4.2.3 Một vài ứng dụng........................................................Chương 3: Giới thiệu về quartus II............................................................3.1Các bước thực hiện một thiết kế.................................................SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.com3.23.3Giới thiệu....................................................................................Cách nạp chương trình cho Quartus II.......................................3.3.1 Tạo 1 project..............................................................3.3.2 Viết chương trình và biên dịch...................................3.3.3 Tạo file mô phỏng và mô phỏng................................3.3.4 Cấu hình chân và nạp lên board.................................Chương 4:Giới thiệu VERILOG...............................................................4.14.24.24.34.44.54.64.7Verilog là gì ?.............................................................................Các cổng cơ bản trong Verilog...................................................Các dạng dữ liệu.........................................................................Toán tử, toán hạng......................................................................Module.......................................................................................Khuôn mẫu hành vi....................................................................Khối always và khối initial.........................................................Chức năng linh kiện...................................................................Phần II:THIẾT KẾ...................................................................................Phần III:KẾT LUẬN..................................................................................SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comDANH SÁCH HÌNHHình 3.1 Kiến trúc tổng quan FPGA...............................................................Hình 3.2 Khối logic FPGA..............................................................................Hình 3.3 Board DE2........................................................................................Hình 3.4 Thông tin chi tiết của board DE2.....................................................Hình 3.5 TV board..........................................................................................Hình 3.6 Chương trình vẽ [paintbrush]...........................................................Hình 3.7 Máy hát karaoke và máy chơi nhạc từ card SD................................Hình 4.1 Quy trình thiết kế CAD thông dụng.................................................Hình 4.2 Hộp hội thoại tạo mới project...........................................................Hình 4.3 Hộp thoại lựa chọn chip...................................................................Hình 4.4 Lựa chọn loại file cần tạo.................................................................Hình 4.5 Biên dịch chương trình.....................................................................Hình 4.6 Cửa sổ chọn các tín hiệu vào ra đưa vào dạng sóng mô phỏng........Hình 4.7 Thiết lập giá trị cho các tín hiệu.......................................................Hình 4.8 Dạng sóng kiểm tra trước khi mô phỏng..........................................Hình 4.9 Chọn chế độ mô phỏng chức năng cho trình mô phỏng...................Hình 4.10 Dạng sóng mô phỏng chức năng.....................................................Hình 4.12 Danh sách các chân có thể được gán...............................................Hình 4.13 Giao diện của trình nạp và cấu hình FPGA.....................................Hình 5.1 Sơ đồ mạch giải mã..........................................................................Hình 5.2 Mạch giải mã 3 sang 8......................................................................Hình 5.3 IC74LS138.......................................................................................Hình 5.4 Mạch giải mã dùng IC74LS138.......................................................Hình 5.5 Các dạng sóng vào ra của mạch giải mã 3 sang 8............................Hình 5.6 Sơ đồ bộ chọn kênh..........................................................................Hình 5.7 Mạch chọn kênh 2 ngõ vào...............................................................Hình 5.8 Mạch chọn kênh 4 ngõ vào..............................................................Hình 5.9 Mạch chọn kênh dùng IC74LS151...................................................Hình 5.10 Các dạng sóng của mạch chọn kênh 4 vào......................................Hình 5.11 Mạch cộng bán phần........................................................................Hình 5.12 Mạch cộng toàn phần......................................................................Hình 5.13 IC cộng toàn phần...........................................................................Hình 5.14 Mạch cộng nhìn trước số nhớ..........................................................Hình 5.15 Mạch cộng BCD..............................................................................Hình 5.16 Các dạng sóng của mạch cộng bán phần.........................................SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 5.17 Mô hình đếm lên.............................................................................Hình 5.18 Mô hình đếm xuống........................................................................Hình 5.19 Bộ đếm lên nhị phân 4 bit dùng JK-FF...........................................Hình 5.20 Các dạng sóng ngõ vào ra của mạch đếm.......................................Hình 6.1 Sơ đồ khối một máy tính cổ điển.....................................................Hình 6.2 Sơ đồ khối của vi xử lý.....................................................................Hình 6.3 Sơ đồ khối hệ vi xử lý......................................................................Hình 6.4 Các tín hiệu cơ bản trong μP............................................................Hình 6.5 Định thì bus cơ bản..........................................................................Hình 6.6 Giao tiếp bus cơ bản.........................................................................Hình 6.7 Giải mã địa chỉ dùng 74LS138.........................................................Hình 6.8 74LS138 mắc cascaded [liên tầng]...................................................Hình 6.9 Giải mã dùng bộ so sánh..................................................................Hình 6.10 Định thì đọc bộ nhớ.........................................................................Hình 6.11 Định thì ghi bộ nhớ.........................................................................SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comPHẦN ICƠ SỞ LÝ THUYẾTPhần ICHƯƠNG 1CƠ SỞ LÝ THUYẾTDẪN NHẬP1.1 Lý do chọn đề tàiGần nữa thế kỹ qua cùng với sự phát triển không ngừng của khoa học kỹthuật. Lĩnh vực điện tử cũng đã có những tiến bộ vượt bậc góp phần không nhỏ vàophục vụ mọi mặt của đời sống trong công nghiệp cũng như trong dân dụng. Sựphát triển của công nghệ mạch tích hợp [chế tạo các IC] cùng với sự ra đời của kỹthuật số càng làm tăng tầm ảnh hưởng của kỹ thuật điện tử.Năm 1971 với sự ra đời của vi xử lý, đã làm cho kỹ thuật số phát triển nhảyvọt đồng thời những ứng dụng của nó trong cuộc sống cũng ngày càng đa dạnghơn. Sự ra đời của các vi mạch lập trình như vi điều khiển, vi xử lý, vi mạch số lậptrình…đã tạo ra một bước ngoặc trong lĩnh vực xử lý, điều khiển. Chúng làm cholĩnh vực xử lý, điều khiểm trở nên tự động hóa và ngày càng hiện đại hơn. Trongcông nghiệp, các thiết bị điều khiểm bằng cơ khí thô sơ có độ chính xác và an toànkém được thế bằng những thiết bị điều khiển tự động với độ chính xác cao hơn, antoàn hơn. Nhờ đó năng suất lao động không ngừng được nâng cao. Trong đời sốnghằng ngày, vi xử lý được ứng dụng rất nhiều vào các thiết bị dân dụng như máySV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comtính, ti vi, máy điều hòa nhiệt độ, lò vi ba… qua đó làm cho các thiết bị trở nên đachức năng hơn, dễ dàng sữ dụng hơn, tiện nghi hơn.Với những ứng dụng rộng rãi như trên, thiết nghĩ việc tìm hiểu vi xử lý, viđiều khiển và những ứng dụng của nó là rất cần thiết. Trong khuôn khổ hạn hẹpcủa đề tài, cũng như kiến thức và khả năng, tôi chỉ tìm hiểu một ứng dụng nhỏ củavi xử lý là thiết kế một bộ vi xử lý đơn giản.1.2 Ý nghĩa khoa học và thực tiễn của đề tài1.2.1 Ý nghĩa khoa họcQua đề tài này tôi nắm được các vấn đề sau:-Hiểu được phần nào công việc thiết kế một hệ thống số-Nắm được cách thiết kế hệ tống số với Altera FPGA-Hiểu thêm về kit DE2 của Altera1.4.1 Ý nghĩa thực tiễnBộ xử lý có khả năng thực hiện các chỉ dẫn sữ dụng bộ nhớ và các thiết bịmáy tính1.5Tình hình nghiên cứuHiện nay trong thực tế các bộ vi xử lý được rất nhiều người qua tâm và thiếtkế. Đặc biệt nó được thiết kế sữ dụng cho các CPU của máy tính.1.6Phương pháp nghiên cứuSữ dụng các phương pháp và phương tiện nghiên cứu để thu thập tài liệu vềđề tài đã xác định. Dữ liệu thu thập được sẽ là chất liệu để xây dựng nên đề tài.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comĐiều cần thiết là thu thập tài liệu một cách đầy đủ, chính xác và phù hợp với đề tàiđang thực hiện.Ở đây tôi sữ dụng phương pháp tham khảo tài liệu là chủ yếu. Việc thamkhảo các tài liệu nhằm gom góp lại các kiến thức cần thiết. Sau đó các tài liệu phảiđược chọn lọc kỹ càng trên cơ sở kế thừa những nền tảng đồng thời cần khắc phụcnhững mặt hạn chế. Đa phần các tài liệu tham khảo là các sách chuyên nghành vànhững luận văn tốt nghiệp của các khóa trước.Việc xây dựng đề tài được thực hiện theo đúng cấu trúc của một luận văn donhà trường quy định nhằm đảm bảo tính sư phạm và phù hợp với kế hoạch đào tạocủa nhà trường.CHƯƠNG 2TÌM HIỂU VỀ FPGA & KIT DE22.1 FPGA2.2.2 FPGA là gì ?SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comFPGA là viết tắt của thuật ngữ tiếng anh “Field programmable Gate Array”,là vi mạch dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được .Vi mạch FPGA được cấu thành từ các bộ phận: Các khối logic cơ bản lập trình được [logic block] Hệ thống mạch liên kết lập trình được Khối vào/ra [IO Pads] Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý...FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC,nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kếtrên thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, vàhạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGAưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơngiản do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúcmảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụtái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn;và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứakhối lượng lớn cổng logic [logic gate], so với các vi mạch bán dẫn lập trình đượccó trước nó.Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữmô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớnnhư Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quátrình thiết kế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu nàynhư Synopsys, Synplify... Các gói phần mềm này có khả năng thực hiện tất cả cácSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.combước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL[còn gọi là mã RTL].2.2.3 Lịch sữ của FPGAFPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công tyXilinx vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tươngđối lớn các phần tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD.FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khiCPLD chỉ chứa từ 10.000 đến 100.000 cổng logic; con số này đối với PAL, PLAcòn thấp hơn nữa chỉ đạt vài nghìn đến 10.000.CPLD được cấu trúc từ số lượng nhất định các khối SPLD [Simpleprogramable devices, thuật ngữ chung chỉ PAL, PLA]. SPLD thường là một mảnglogic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạnchế các phần tử nhớ đồng bộ [clocked register]. Cấu trúc này hạn chế khả năngthực hiện những hàm phức tạp và thông thường hiệu suất làm việc của vi mạch phụthuộc vào cấu trúc cụ thể của vi mạch hơn là vào yêu cầu bài toán.Kiến trúc của FPGA là kiến trúc mảng các khối logic, khối logic, nhỏ hơnnhiều nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA có thể chứanhiều hơn các phần tử logic và phát huy tối đa khả năng lập trình của các phần tửlogic và hệ thống mạch kết nối, để đạt được mục đích này thì kiến trúc của FPGAphức tạp hơn nhiều so với CPLD.Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợpnhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao,hay các bộ nhân cộng [multication and accumulation, MAC], thuật ngữ tiếng Anhlà DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comNgoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗtrợ tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khivẫn đảm bảo hoạt động bình thường cho các bộ phận khác.2.2.4 Kiến trúc của FPGACấu trúc tổng thể của một FPGA được minh họa ở hình sau.Hình 3.1 Kiến trúc tổng quan FPGA2.2.4.1Khối logicSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 3.2 Khối logic FPGAPhần tử chính của FPGA là các khối logic [logic block]. Khối logic được cấuthành từ LUT và một phần tử nhớ đồng bộ flip-flop, LUT [Look up table] là khốilogic có thể thực hiện bất kì hàm logic nào từ 4 đầu vào, kêt quả của hàm này tùyvào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flipflop.Trong tài liệu hướng dẫn của các dòng FPGA của Xilinx còn sử dụng kháiniệm SLICE, 1 Slice tạo thành từ gồm 4 khối logic, số lượng các Slices thay đổi từvài nghìn đến vài chục nghìn tùy theo loại FPGA.Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn hỗtrợ thêm 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng sốđầu vào của LUT lên 6 chân. Cấu trúc này là nhằm tăng tốc các bộ số học logic.2.2.4.2Hệ thống mạch liên kếtMạng liên kết trong FPGA được cấu thành từ các đường kết nối theo haiphương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chiathành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn,dài và rất dài. Các đường kết nối được nối với nhau thông qua các khối chuyểnmạch lập trình được [programable switch], trong một khối chuyển mạch chứa mộtSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comsố lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khácnhau.2.2.4.3Các phần tử tích hợp sẵnNgoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tửtích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợpnhân ARV…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA đượctích hợp các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụdòng Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18bit.2.2.5Ứng dụngỨng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàngkhô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ớpnhữ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àira nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏikhố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.2.2.5Ý nghĩa và vai trò của FPGAVới khả năng tái cấu hình mạnh, FPGA đóng một vai trò vô cùng to lớntrong việc giảm giá thành và thời gian chế tạo ASIC bằng cách sử dụng FPGAtrong quá trình thiết kế luận lý trước khi đưa ra sản xuất các ASIC mẫu. Quy trìnhSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comsản xuất Chip ASIC bằng cách này gọi là fabless rất phổ biến hiện nay trên thếgiới, giúp các công ty nhỏ và vừa và đặc biệt là các nước yếu về công nghệ nhưViệt nam tham gia vào thế giới của IC.FPGA rất hay được sử dụng trong các hệ thống SDR [Software DefinedRadio] vì khả năng tái cấu hình giúp các chức năng của thiết bị có thể thay đổinhanh chống.2.3 Kit DE2Kit DE2 cung cấp cho người sử dụng nhiều đặc điểm linh hoạt để học tập vàcó thể phát triển nhiều dự án đa phương tiện khác nhau. Chúng được thiết kếkhông những phù hợp cho môi trường họp tập ở các trường đại học và cao đẳngmà còn phù hợp với cả trong môi trường làm việc công nghiệp. Các khối thiết kếứng dụng trên KIT được chọn lọc dựa trên những thiết kế phổ biến nhất trong cácsản phẩm đa phương tiện như DVD, VCD, MP3 player và nhiều ứng dụng điềukhiển khác... Kit DE2 cho phép người dùng nhanh chóng thấu hiểu được những thủthuật để thiết kế các dự án công nghiệp. Ngoài ra nó còn cung cấp một nền tảngkiến thức cơ bản cho người dùng đam mê trong lĩnh vực thiết kế vi mạch như pháttriển những hệ thống kỹ thuật số tinh vi.2.3.1 Giới thiệuBoard DE2 là board mạch phục vụ cho việc nghiên cứu và phát triển về cáclĩnh vực luận lý số học [digital logic], tổ chức máy tính [computer organization] vàFPGA.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 3.3 Board DE22.3.2 Thành phầnBoard DE2 cung cấp khá nhiều tính năng hỗ trợ cho việc nghiên cứu và pháttriển, dưới đây là thông tin chi tiết của một board DE2:SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 3.4Thông tin chi tiết của board DE2 FPGA:- Vi mạch FPGA Altera Cyclone II 2C35.- Vi mạch Altera Serial Configuration – EPCS16. Các thiết bị xuất nhập:- USB Blaster cho lập trình và điểu khiển API của người dùng; hỗ trợ cả 2chế độ lập trình JTAG và AS.- Bộ điều khiển Cổng 10/100 Ethernet.- Cổng VGA-out.- Bộ giải mã TV và cổng nối TV-in.- Bộ điều khiển USB Host/Slave với cổng USB kiểu A và kiểu B.- Cổng nối PS/2 chuột/bàn phím.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.com- Bộ giải mã/mã hóa âm thanh 24-bit chất lượng đĩa quang với jack cắmline-in, line-out, và microphone.- 2 Header mở rộng 40-pin với lớp bảo vệ diode.- Cổng giao tiếp RS-232 và cổng nối 9-pin.- Cổng giao tiếp hồng ngoại. Bộ nhớ:- SRAM 512-Kbyte.- SDRAM 8-Mbyte.- Bộ nhớ cực nhanh 4-Mbyte [1 số mạch là 1-Mbyte].- Khe SD card. Switch, các đèn led, LCD, xung clock- 4 nút nhấn, 18 nút gạt.- 18 LED đỏ, 9 LED xanh, 8 Led 7 đoạn- LCD 16x2- Bộ dao động 50-MHz và 27-MHz cho đồng hồ nguồn.2.3.3 Một vài ứng dụng của board DE2 Ứng dụng làm TV boxHình 3.5 TV boxSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.com Chương trình vẽ bằng chuột USB [paintbrush]Hình 3.6 Chương trình vẽ [paintbrush] Máy hát Karaoke và máy chơi nhạc SDHình 3.7 Máy hát karaoke và máy chơi nhạc từ card SDSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comCHƯƠNG 33.1GIỚI THIỆU VỀ QUARTUS IICác bước thực hiện một thiết kếCông cụ CAD [Computer Aided Design] tạo nên sự thuận lợi khi thực hiệnmột mạch logic mong muốn bằng cách sử dụng các thiết bị logic lập trình được,như chip FPGA.Hình 4.1 Quy trình thiết kế CAD thông dụngSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.com-Design Entry [nhập thiết kế]: Mạch logic mong muốn được mô tả bằng ngônngữ mô tả phần cứng như VHDL/Verilog hoặc bằng sơ đồ mạch.-Synthesis [tổng hợp]: Công cụ thực hiện chuyển các biểu diễn mạch điện ởtrên thành dạng tệp netlist, trong đó biểu diễn các thành phần logic cần chomạch cùng các kết nối giữa các thành phần logic.-Functional Simulation [mô phỏng chức năng]: Mạch đã tổng hợp được kiểmtra để phân tích tính chính xác về chức năng; trình mô phỏng không quan tâmđến vấn đề thời gian-Fitting: Công cụ CAD Fitter xác định vị trí đặt các thành phần logic đã đưara trong tệp netlist vào trong FPGA, đồng thời xác định các đường đi dâytrong FPGA để kết nối các thành phần logic.-Timinh Analysis [phân tích thời gian]: Trễ đường truyền theo các đườngkhác nhau trong mạch đã được fit ở trên được phân tích để xác định khả nănghoạt động mong muốn của mạch.-Timing Silmulation [mô phỏng thời gian]: Mạch đã được fit được kiểm trađể phân tích cả về chức năng và cả về mặt thời gian.-Programming and configuration [lập trình và cấu hình]: Mạch logic mongmuốn được triển khai trên FPGA/CPLD thực tế thông qua chương trình nạpvà cấu hình cho FPGA/CPLD.3.2Giới thiệuBộ phần mềm thiết kế đi kèm với board DE2 bao gồm 2 đĩa: Quartus II vàNios II Integrated Development Environment [IDE].Quartus II là phần mềm hỗ trợ tất cả mọi quá trình thiết kế một mạch logic,bao gồm quá trình thiết kế, tổng hợp, placement và routing [sắp xếp và chạy dây],mô phỏng [simulation], và lập trình lên thiết bị [DE2].3.3Cách nạp chương trình cho Quartus IISV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.com3.3.1Tạo 1 projectBước 1. Vào Menu > file chọn New Project WizardBước 2. Ta chọn thư mục để chứa project và đặt tên cho project, xong chọn Nextxem hình bên dướiHình 4.2 Hộp hội thoại tạo mới projectBước 3. Sau đó ta chọn hãng sản xuất chip và tên loại chip trên mạch.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 4.3 Hộp thoại lựa chọn chipBước 4. Cuối cùng chọn Finish để hoàn tất3.3.2Viết chương trình và biên dịchBước 1. Vào Menu > file chọn NewBước 2. Sau đó chọn loại file mà chúng ta muốn viết chương trình. Ở đây ta chọnloại file VHDLSV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 4.4 Lựa chọn loại file cần tạoBước 3. Nhập mã VHDL vào trong cửa sổ soạn thảo văn bản.Bước 4. Chọn mục File > Save As để mở cửa sổ Save As. Trong phần Save astype chọn VHDL File. Trong phần File name nhập test. Nhấp chọn Save để đưatệp này vào trong thư mục của dự án.Bước 5. Biên dịch chương trình.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 4.5 Biên dịch chương trìnhBước 6. Chọn OK3.3.3 Tạo file mô phỏng [simulate] và bắt đầu simulateBước 1. Vào Menu > file chọn New, sau đó chọn Vector Waveform FileBước 2: Nhấp chọn Edit > End Time và nhập vào 200 ns trong hộp thoại bung ra,điều này cho phép thời gian mô phỏng từ 0 dến 200 ns. Nhấp chọn View > Fit inWindow để nhìn thấy toàn bộ phần mô phỏng từ 0 đến 200 ns.Bước 3: Nhấp chọn Edit > Insert > Insert Node or Bus để mở cửa sổ nhập các đầuvào ra. Nhấp nút Node Finder để mở cửa sổ như trong hình 4.5.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của diễn đàn Ketnooi.comHình 4.6 Cửa sổ chọn các tín hiệu vào ra đưa vào dạng sóng mô phỏng Để hiển thị ra tất cả các chân :• Chọn Pins: all.• Nút >Sau đó chọn nút List để hiện tất cả các chân: Chọn từng tín hiệu Nút >> : Chọn tất cả các tín hiệu Nút

Chủ Đề