Thủ Thuật Hướng dẫn Kit FPGA là gì 2022
Bùi Phương Thảo đang tìm kiếm từ khóa Kit FPGA là gì được Cập Nhật vào lúc : 2022-04-03 16:53:13 . Với phương châm chia sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi đọc tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.
* 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 những dạng ASIC này là không nhiều nếu không muốn nói là rất ít vì số lượng cổng trên Chip rất ít dẫn tới hiệu suất cao của những PLD này cũng nghèo nàn và thường chỉ sử dụng với những trách nhiệm rất hạn chế trong toàn khối mạng lưới hệ thống. Kể từ năm 1980,Các công ty sản xuất PLD số 1 đã đẩy mạnh quá trình nghiên cứu và phân tích về FPGA và nhanh gọn cho ra những thế hệ FPGA với số lượng cổng và tốc độ ngày càng cao.những FPGA lúc bấy giờ có số lượng cổng đủ lớn để hoàn toàn có thể thay thế cả một khối mạng lưới hệ thống gồm có lõi CPU, Bộ điều khiển bộ nhớ (Memory Controller), những ngoại vi như SPI,Timer, I2C, GPIO, PWM, Video/Audio Controller… (nghĩa là tương đương với những SoC tân tiến).Tuy nhiên,FPGA không thể nào so sánh được với ASIC và SoC cả về kinh tế tài chính lẫn tốc độ hoạt động và sinh hoạt giải trí. Nhưng bù lại, với kĩ năng tái thông số kỹ thuật mạnh, FPGA đóng một vai trò vô cùng to lớn trong việc giảm giá tiền và thời gian sản xuất ASIC bằng phương pháp sử dụng FPGA trong quá trình thiết kế luận lý trước khi đưa ra sản xuất những ASIC mẫu. Quy trình sản xuất Chip ASIC bằng phương pháp này gọi là fabless rất phổ biến lúc bấy giờ trên thế giới, giúp những công ty nhỏ và vừa và đặc biệt là những nước yếu về công nghệ tiên tiến như Việt nam tham gia vào thế giới của IC.Để lý giải cho những bạn làm rõ hơn sự quan trọng rất lớn của FPGA, tôi sẽ cho những bạn một ví dụ rõ hơn. Trước đây, khi muốn sản xuất ra 1 con Chip Vi Xử Lý.Người ta phải thiết kế Chip ở mức logic sử dụng những ngôn từ mô tả phần cứng, Để kiểm tra quy trình 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 nhờ vào những thư viện thấp cấp của hãng sản xuất 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 và sinh hoạt giải trí ở tần số yêu cầu.Tất cả những quy trình này đều chỉ hoàn toàn có thể kiểm tra bằng những phần mềm mô phỏng (Điều này dẫn tới rủi ro tiềm ẩn tiềm ẩn xảy ra sai xót rất lớn khi chuyển thiết kế sang môi trường tự nhiên thiên nhiên Chip thực ). Sau đó bạn sẽ gởi thiết kế của tớ 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 khởi đầu quá trình test chip trong môi trường tự nhiên thiên nhiên thực, nếu thất bại, kĩ 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 và phân tích rất lớn, quy trình này làm cho những đất nước nghèo như việt nam không thể tham gia vào những trò chơi show của những đất nước giàu sang trong thế giới của ASIC. Nhưng với FPGA,bạn không những hoàn toàn có thể rút ngắn thới gian thực hiện ASIC mà còn giảm ngân sách nghiên cứu và phân tích tối đa do quá trình kiểm tra thiết kế không những được kiểm tra bằng những phần mềm mô phỏng mà giờ đây còn tồn tại thể chạy trên những Chip thực trong mội trường hoàn toàn có thể nói rằng là gần với môi trường tự nhiên thiên nhiên ASIC thực nhất. Khả năng tái thông số kỹ thuật được cho phép bạn sửa đi sửa lại thiết kế cho tới lúc đạ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 tất cả chúng ta (tôi và những bạn)Có lẽ đọc phần trên tất cả chúng ta hoàn toàn có thể tưởng tượng 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ố tất cả chúng ta, có ai trong số những bạn tự hỏi tại sao không sử dụng trực tiếp FPGA như thể một sản phẩm ở đầu cuối của bạn, có ai cấm hay thu tiền bản quyền của tất cả chúng ta về việc đó đâu. Thực tế là FPGA rất hay được sử dụng trong những khối mạng lưới hệ thống SDR (Software Defined Radio) vì kĩ năng tái thông số kỹ thuật giúp những hiệu suất cao của thiết bị hoàn toàn có thể thay đổi nhanh gọn, bạn hoàn toàn có thể hỏi rằng một khối mạng lưới hệ thống CPU/MCU/DSP cũng hoàn toàn có thể làm được chuyện này thuận tiện và đơn giản? Nhưng thực ra thì có nhiều những ứng dụng tốc độ cao mà những MCU thậm chí cả những 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ả những DSP cực mạnh+ MCU/CPU/DSP vẫn có nhu yếu các hardware khác cạnh bên trong những ứng dụng chuyên được 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 và sinh hoạt giải trí 100% CPU+ Các ứng dụng xử lý hình ảnh/video, những ứng dụng mạng neuron,IA cần tốc độ xử lý rất lớn. Mặc dù những DSP đủ mạnh và những SoC mạnh hoàn toàn 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ế tài chính+ 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 hoàn toàn có thể thực hiện điều đó+ Đến với FPGA,bạn có thời cơ để tiếp cận sớm nhất thế giới của IC + Bạn hoàn toàn có thể thực hiện một khối mạng lưới hệ thống với đầy đủ CPU/Peripheral/IO… và link chúng theo ý muốn,hoặc thậm chí một khối mạng lưới hệ thống đầy đủ không cần cả CPU như những Chip giải thuật/nén Video/Audio, những Chip xử lý hình ảnh/giọng nói, những Chip PID Motor Controller, networking chip …* Kit phát triển FPGA và những ứ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 Tp 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 tiêu rất khác nhau nhưng đều gồm 5 phần chính : FPGA, Bộ nhớ (SRAM/DRAM/Flash), Ngoại vi, bộ thông số kỹ thuật (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à những Kit DE có những ngoại vi đi kèm để dùng cho những mục tiêu phát triển rất 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 những Starter Kit.Các ứng dụng demo của Kit phát triển Altera DE1,DE2
Kho tài liệu miễn phí của forum 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 link............................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 forum 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 tài 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 phụ 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 forum 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 tin tức rõ ràng 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 những 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 những 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ính sách mô phỏng hiệu suất cao cho trình mô phỏng...................Hình 4.10 Dạng sóng mô phỏng hiệu suất cao.....................................................Hình 4.12 Danh sách những chân hoàn toàn có thể được gán...............................................Hình 4.13 Giao diện của trình nạp và thông số kỹ thuật FPGA.....................................Hình 5.1 Sơ đồ mạch giải thuật..........................................................................Hình 5.2 Mạch giải thuật 3 sang 8......................................................................Hình 5.3 IC74LS138.......................................................................................Hình 5.4 Mạch giải thuật dùng IC74LS138.......................................................Hình 5.5 Các dạng sóng vào ra của mạch giải thuật 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 forum 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ổ xưa.....................................................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 forum 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 nghỉ của khoa học kỹthuật. Lĩnh vực điện tử đã và đang có những tiến bộ vượt bậc góp thêm 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 gia dụng. Sựphát triển của công nghệ tiên tiến mạch tích hợp (sản xuất những 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 môi trường tự nhiên thiên nhiên sống đời thường cũng ngày càng đa dạnghơn. Sự ra đời của những 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 nghành 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 tân tiến hơn. Trongcông nghiệp, những thiết bị điều khiểm bằng cơ khí thô sơ có độ đúng chuẩn và an toànkém được thế bằng những thiết bị điều khiển tự động với độ đúng chuẩn cao hơn, antoàn hơn. Nhờ đó năng suất lao động không ngừng nghỉ được nâng cao. Trong đời sốnghằng ngày, vi xử lý được ứng dụng rất nhiều vào những thiết bị gia dụng như máySV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comtính, ti vi, máy điều hòa nhiệt độ, lò vi ba… qua đó làm cho những thiết bị trở nên đachức năng hơn, thuận tiện và đơn giản 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 thiết yếu. Trong khuôn khổ hạn hẹpcủa đề tài, cũng như kiến thức và kỹ năng và kĩ 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 những vấn đề sau:-Hiểu được phần nào việc làm thiết kế một khối mạng lưới 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ý hoàn toàn có thể thực hiện những hướng dẫn sữ dụng bộ nhớ và những thiết bịmáy tính1.5Tình hình nghiên cứuHiện nay trong thực tế những 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 những CPU của máy tính.1.6Phương pháp nghiên cứuSữ dụng những phương pháp và phương tiện nghiên cứu và phân tích để thu thập tài liệu vềđề tài đã xác định. Dữ liệu thu thập được sẽ là vật liệu để xây hình thành đề tài.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comĐiều thiết yếu là thu thập tài liệu một cách đầy đủ, đúng chuẩn và phù phù 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à đa phần. Việc thamkhảo những tài liệu nhằm mục đích gom góp lại những kiến thức và kỹ năng thiết yếu. Sau đó những tài liệu phảiđược tinh lọc kỹ lưỡng trên cơ sở thừa kế những nền tảng đồng thời cần khắc phụcnhững mặt hạn chế. Đa phần những tài liệu tham khảo là những sách chuyên nghành vànhững luận văn tốt nghiệp của những 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ục đích đảm bảo tính sư phạm và phù phù 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 forum 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 tiêu dùng hoàn toàn có thể lập trình được .Vi mạch FPGA được cấu thành từ những bộ phận: Các khối logic cơ bản lập trình được (logic block) Hệ thống mạch link lập trình được Khối vào/ra (IO Pads) Phần tử thiết kế sẵn khác ví như DSP slice, RAM, ROM, nhân vi xử lý...FPGA cũng khá được xem như một loại vi mạch bán dẫn chuyên được 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 kĩ 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ỗ hoàn toàn có thể tái cấu trúc lại khi đang sử dụng, quy trình thiết kế đơngiản do vậy ngân sách 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 những 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 những điểm: tác vụtái lập trình của FPGA thực hiện đơn giản hơn; kĩ năng lập trình linh động hơn;và khác lạ quan trọng nhất là kiến trúc của FPGA được cho phép nó hoàn toàn có thể chứakhối lượng lớn cổng logic (logic gate), so với những 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 đa phần bằng những ngôn ngữmô tả phần cứng HDL như VHDL, Verilog, AHDL, những hãng sản xuất FPGA lớnnhư Xilinx, Altera thường đáp ứng những gói phần mềm và thiết bị phụ trợ cho quátrình thiết kế, cũng luôn có thể có một số trong những những hãng thứ ba đáp ứng những gói phần mềm kiểu nàynhư Synopsys, Synplify... Các gói phần mềm này hoàn toàn có thể thực hiện tất cả cácSV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum 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 được cho phép tích hợp số lượng tươngđối lớn những phần tử bán đem vào 1 vi mạch so với kiến trúc trước đó là CPLD.FPGA hoàn toàn có thể 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; số lượng này đối với PAL, PLAcòn thấp hơn thế nữa chỉ đạt mức vài nghìn đến 10.000.CPLD được cấu trúc từ số lượng nhất định những 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ố trong những lượng hạnchế những 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 thao tác của vi mạch phụthuộc vào cấu trúc rõ ràng 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 những 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 hoàn toàn có thể chứanhiều hơn những phần tử logic và phát huy tối đa kĩ năng lập trình của những phần tửlogic và khối mạng lưới hệ thống mạch link, để đạt được mục tiêu 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 lạ với CPLD là trong những FPGA tân tiến được tích hợpnhiều những bộ logic số học đã sơ bộ tối ưu hóa, tương hỗ RAM, ROM, tốc độ cao,hay những 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 forum Ketnooi.comNgoài kĩ năng tái cấu trúc vi mạch toàn cục, một số trong những FPGA tân tiến còn hỗtrợ tái cấu trúc cục bộ, tức là kĩ 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 và sinh hoạt giải trí thông thường cho những 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 forum Ketnooi.comHình 3.2 Khối logic FPGAPhần tử chính của FPGA là những 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 hoàn toàn 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 tiêu 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 những 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 những 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 tương hỗ update từ những 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 mục đích tăng tốc những bộ số học logic.2.2.4.2Hệ thống mạch liên kếtMạng link trong FPGA được cấu thành từ những đường link theo haiphương ngang và đứng, tùy theo từng loại FPGA mà những đường link được chiathành những nhóm rất khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại link: ngắn,dài và rất dài. Các đường link được nối với nhau thông qua những 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 forum Ketnooi.comsố lượng nút chuyển lập trình được đảm bảo cho những dạng link phức tạp khácnhau.2.2.4.3Các phần tử tích hợp sẵnNgoài những khối logic tùy theo nhiều chủng loại FPGA rất khác nhau mà có những phần tửtích hợp thêm rất 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 những 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 gồm có: xử lý tín hiệu số DSP, những khối mạng lưới hệ thống hàngkhông, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), những 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, quy mô phần cứng máy tính...Do tính linh động cao trong quá trình thiết kế được cho phép FPGA xử lý và xử lý 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ờ tỷ lệ 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 những khối mạng lưới hệ thống thao tác theo thời gian thực.2.2.5Ý nghĩa và vai trò của FPGAVới kĩ năng tái thông số kỹ thuật mạnh, FPGA đóng một vai trò vô cùng to lớntrong việc giảm giá tiền và thời gian sản xuất ASIC bằng phương pháp sử dụng FPGAtrong quá trình thiết kế luận lý trước khi đưa ra sản xuất những ASIC mẫu. Quy trìnhSV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comsản xuất Chip ASIC bằng phương pháp này gọi là fabless rất phổ biến lúc bấy giờ trên thếgiới, giúp những công ty nhỏ và vừa và đặc biệt là những nước yếu về công nghệ tiên tiến nhưViệt nam tham gia vào thế giới của IC.FPGA rất hay được sử dụng trong những khối mạng lưới hệ thống SDR (Software DefinedRadio) vì kĩ năng tái thông số kỹ thuật giúp những hiệu suất cao của thiết bị hoàn toàn có thể thay đổinhanh chống.2.3 Kit DE2Kit DE2 đáp ứng cho những người dân tiêu 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 công trình bất Động sản đa phương tiện rất khác nhau. Chúng được thiết kếkhông những phù hợp cho môi trường tự nhiên thiên nhiên họp tập ở những trường đại học và cao đẳngmà còn phù phù phù hợp với cả trong môi trường tự nhiên thiên nhiên thao tác công nghiệp. Các khối thiết kếứng dụng trên KIT được tinh lọc nhờ vào 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 được cho phép người tiêu dùng nhanh gọn thấu hiểu được những thủthuật để thiết kế những dự án công trình bất Động sản công nghiệp. Ngoài ra nó còn đáp ứng một nền tảngkiến thức cơ bản cho những người dân tiêu dùng đam mê trong nghành thiết kế vi mạch như pháttriển những khối mạng lưới 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ân tích 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 forum Ketnooi.comHình 3.3 Board DE22.3.2 Thành phầnBoard DE2 đáp ứng quá nhiều tính năng tương hỗ cho việc nghiên cứu và phân tích và pháttriển, dưới đây là thông tin rõ ràng của một board DE2:SV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comHình 3.4Thông tin rõ ràng 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 tiêu dùng; tương hỗ 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 thuật 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 forum Ketnooi.com- Bộ giải thuật/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 tiếp xúc RS-232 và cổng nối 9-pin.- Cổng tiếp xúc hồng ngoại. Bộ nhớ:- SRAM 512-Kbyte.- SDRAM 8-Mbyte.- Bộ nhớ cực nhanh 4-Mbyte (1 số mạch là một trong-Mbyte).- Khe SD card. Switch, những đè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ộ xấp xỉ 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 forum 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 forum 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 ước bằng phương pháp sử dụng những 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 forum Ketnooi.com-Design Entry (nhập thiết kế): Mạch logic mong ước đượ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 những màn biểu diễn mạch điện ởtrên thành dạng tệp netlist, trong đó màn biểu diễn những thành phần logic cần chomạch cùng những link Một trong những thành phần logic.-Functional Simulation (mô phỏng hiệu suất cao): Mạch đã tổng hợp được kiểmtra để phân tích tính đúng chuẩn về hiệu suất cao; 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 những thành phần logic đã đưara trong tệp netlist vào trong FPGA, đồng thời xác định những đường đi dâytrong FPGA để link những thành phần logic.-Timinh Analysis (phân tích thời gian): Trễ đường truyền theo những đườngkhác nhau trong mạch đã được fit ở trên được phân tích để xác định khả nănghoạt động mong ước 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ề hiệu suất cao và cả về mặt thời gian.-Programming and configuration (lập trình và thông số kỹ thuật): 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à thông số kỹ thuật cho FPGA/CPLD.3.2Giới thiệuBộ phần mềm thiết kế đi kèm với board DE2 gồm có 2 đĩa: Quartus II vàNios II Integrated Development Environment (IDE).Quartus II là phần mềm tương hỗ tất cả mọi quá trình thiết kế một mạch logic,gồm có 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 forum 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 forum 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à tất cả 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 forum 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 hiên chạy cửa số soạn thảo văn bản.Bước 4. Chọn mục File > Save As để mở hiên chạy 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 công trình bất Động sả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 forum 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à khởi đầ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 được 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ở hiên chạy cửa số nhập những đầuvào ra. Nhấp nút Node Finder để mở hiên chạy cửa số như trong hình 4.5.SV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comHình 4.6 Cửa sổ chọn những tín hiệu vào ra đưa vào dạng sóng mô phỏng Để hiển thị ra tất cả những chân :• Chọn Pins: all.• Nút >Sau đó chọn nút List để hiện tất cả những chân: Chọn từng tín hiệu Nút >> : Chọn tất cả những tín hiệu Nút <: Bỏ từng tín hiệu Nút << : Bỏ tất cả những tín hiệu Nhấn OK để hoàn tất việc chọn tín hiệuBước 4. Thiết lập giá trị những tín hiệu Ta rê chuột để tô khối chúng lại Sau đó sử dụng những nút 0, 1 để thiết lập giá trị cho chúng (xem hình 4.6)SV: NGUYỄN MINH DUYKho tài liệu miễn phí của forum Ketnooi.comHình 4.7 Thiết lập giá trị cho những tín hiệuBước 5. Sau khi thiết lập giá trị của những chân xong ta Save lại.Bước 6: Thực hiện mô phỏng Mô phỏng chức năngNhấp chọn Assignments > Settings. Bên trái của hiên chạy cửa số Settings nhấp chọnSimulator Settings để có hiên chạy cửa số như trong Hình 4.7, chọn Functional trong mụcchọn chính sách mô phỏng, và nhấp OK.Hình 4.8 Dạng sóng kiểm tra trước khi mô phỏngSV: NGUYỄN MINH DUY
[embed]https://www.youtube.com/watch?v=mIBMkWhdDFQ[/embed]