Đề tài "Thiết kế bộ xử lý hình ảnh quảng cáo trên nền LED matrix sử dụng FPGA" ppsx

26 610 8
Đề tài "Thiết kế bộ xử lý hình ảnh quảng cáo trên nền LED matrix sử dụng FPGA" ppsx

Đ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

PVP_bk3i1_k50 MỤC LỤC : LỜI MỞ ĐẦU Ngày nay công nghệ vi điện tử đã trở thành một lĩnh vực phát triển và được rất nhiều các nước trên thế giới chú trọng phát triển.Tại sao nó lại được chú trọng đến vậy,xét về phạm vi ứng dụng ta thấy hệ Nhúng có liên quan,ảnh hưởng đến nhiều lĩnh vực trong đời sống. Trong sinh hoạt của con người,nó làm cho cuộc sống của con người ngày càng tiện nghi,thoải mái.sự xuất hiện hàng loạt các thiết bị phục vụ nhu cầu đời sống của con người không chỉ tăng về số lượng mà còn tăng về tính năng,chất lượng và độ an toàn như máy giặt,tủ lạnh,lò vi sóng… Trong sản xuất,nó làm tăng năng suất lao động,giảm sức lao động của con người,thay con người hoạt động ở những nơi có điều kiện hết sức khắc nhiệt…Và nó liên quan đến các ứng dụng công nghệ cao như vũ trụ… Với tầm quan trọng của công nghệ vi điện tử.Nó xứng đáng là lĩnh vực mang tầm chiến lược trong sự phát triển của các nước trên thế giới.Nước ta cũng không ngoại lệ,việc xác định được tầm quan trọng đó.Nhà nước cũng ưu tiên trong đầu tự,việc học,nghiên cứu.Nhiều cơ sở và trung tâm nghiên cứu đã và đang hoạt động ,phát triển. 1 PVP_bk3i1_k50 Với sinh viên trường kĩ thuật thì đây là nghành học đầy tiềm năng.Nhiều cuộc thi, nhiều công trình nghiên cứu khoa học phục vụ cho việc học và nghiên cứu đã ra đời,nhằm mục đích phát triển sự học hỏi,sự sáng tạo,tư duy,gắn liền với thực tiễn. Theo yêu cầu của mô học cũng như để sử dụng thành thạo công nghệ FPGA em đã quyết định chọn để tài : “Thiết kế bộ xử lý hình ảnh quảng cáo trên nền LED matrix sử dụng FPGA”. Nội dung đè tài :  Tìm hiểu về LED matrix  Tìm hiểu về FPGA  Tìm hiểu phần mềm hỗ trợ thiết kế xilinx ISE  Thiết kế hệ thống Vì đây là trong khuôn khổ bài tập lớn, nên em chỉ thiết kế trên mô hình thí nghiệm, sử dụng ngôn ngữ VHDL để mô hình hóa hệ thống phần cứng . Em xin chân thành cám ơn thầy LÊ HẢI SÂM đã hướng dẫn chi tiết về FPGA và phương pháp thiết kế mô hình hóa phần cứng. Hà Nội, ngày 30-10-2009 Sinh viên thực hiện : Phạm Văn Phong CHƯƠNG I ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ CỦA ĐỒ ÁN I – Đặt vấn đề Trong thời đại ngày nay, khoa học công nghệ ngày càng phát triển và được ứng dụng rất nhiều trong thực tế. Trong đó thì các lĩnh vực như giả trí, dịch vụ quảng cáo khuếch trương sản phầm để thu hút sự chú ý của các doanh nghiệp cũng như cá nhân ngày càng phát triển mạnh mẽ. Để làm cho sản phầm hoặc hình ảnh công ty thu hút sự chú ý, quan tâm của khách hàng thì dịch vụ quảng cáo phải thật ấn tượng, choáng ngợp, bắt mắt… Để giải quyết vấn đề này thì có rất nhiều phương án, nhưng hiện nay phương án mà được các giới kinh doanh sử dụng hiệu quả nhất là dùng bảng led matrix. Với những xử lý hình ảnh sống động, màu sắc ấn tượng đã là sự lựa chọn hàng đầu cho các nhà kinh doanh. Do đó, thiết kế hệ thống bảng điện tử để phục vụ nhu cầu quảng cáo, khuếch trương hình ảnh cửa hàng, doanh nghiệp, công ty là rất cần thiết. II – Nhiệm vụ của đồ án 2 PVP_bk3i1_k50 Với sự lựa chọn để tài này, trước tiên em cần phải tìm hiểu chi tiết về LED matrix cũng như các phương pháp quét LED, hiển thị xử lý hình ảnh…Sau đó tìm hiểu các phương pháp ứng dụng FPGA để giải quyết bài toán đặt ra. Vì giới hạn của để tài chỉ thực hiện mô phỏng và hiểu cách thức hoạt động, phương pháp lập trình sử dụng FPGA cùng với thời gian thực hiện ít nên em chỉ giải quyết bài toán dưới dạng mô hình, hi vọng khi có thời gian và điều kiện thì em có thể triển khai ứng dụng thực tế. CHƯƠNG II CƠ SỞ LÝ THUYẾT I - LED Matrix Dựa trên nguyên tắc như quét màn hình,ta có thể thực hiện việc hiển thị ma trận đèn bằng cách quét theo hang và quét theo cột.Mỗi Led trên ma trận Led có thể coi như một điểm ảnh.Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hang và giải mã cột,điểm ảnh này sẽ được xác định nhờ dữ liệu đưa ra từ bộ đi điều khiển. Như vậy tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh xác định.Tuy nhiên khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽ chuyển về trạng thái tắt.Vì thế để hiển thị được toàn bộ hình ảnh mà ta muốn thì ta phải quét ma trận nhiều lần với tốc độ quét rất lớn,lớn hơn nhiều lần thời gian kịp tắt của đèn.Mắt người chỉ nhận biết được tối đa 24 hình/s do đó nếu tốc độ quét lớn mắt người sẽ không nhận biết được sự gián đoạn hay là nhấp nháy của đèn Led(đánh lừa cảm giác mắt). Một điều cũng quan trọng ở đây là điều chỉnh độ sang của Led,thong thường Led sáng bình thường ở điện áp 2-3V,dòng điện từ 20-30mA.Để đảm bảo Led sáng bình thường thì yêu cầu mạch thiết kế phải đáp ứng đủ 2 điều kiện trên. Sơ đồ khối : Ma trận LED bộ đệm Giải mã Để thực hiện được quét hang và quét cột thì ma trận Led được thiết kết như sau: 3 PVP_bk3i1_k50 2 Hàng 1 2 3 4 3 4 Cột 1 2 3 4 Trạng thái của một Led sẽ được quyết định bởi tín hiệu điện áp đi vào đồng thời cả 2 chân.để Led sáng thì ta phải cấp điện áp phù hợp vào chân dương của Led(chân Anot),còn chân catot thì nối đất.Đèn tắt khi ta không cấp nguồn cho Led hoặc để 2 đầu anot và catot cung ở mức điện áp. Ta có sơ đồ mạch nguyên lý của Led 8x8: 4 PVP_bk3i1_k50 II – FPGA Field-programmable gate array (FPGA) là vi mach dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được. (Chữ field ở đây muốn chỉ đến khả năng tái lập trình “bên ngoài” của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn). 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ế đơn giả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úc mả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ứa khố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 được có 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ớn như 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ày như Synopsys, Synplify Các gói phần mềm này có khả năng thực hiện tất cả các bướ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). 1) Kiến trúc FPGA Cấu trúc tổng thể của một FPGA được minh họa ở hình sau. 5 PVP_bk3i1_k50 Khối logic FPGA Phần tử chính của FPGA là các khối logic (logic block). Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop, LUT (Look up table) là khối logic 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ùy và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ớ flip-flop. 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ái niệ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ổ xung 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. thumb|200px|Khối chuyển mạch của FPGA Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thà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ển mạch lập trình được (programable switch), trong một khối chuyển mạch chứa một số 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ác nhau. Ngoà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 Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân ARV…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tí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 18-bit. 2) ngôn ngữ VHDL 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 .Em quyết định chọn ngôn ngữ VHDL để lập trình cho FPGA. 6 PVP_bk3i1_k50 VHDL (VHSIC Hardware Description Laguage) là một ngôn ngữ đ ợc dùng để mô tả các hệ thống phn cng điện tử số. Nó đ ợc ch ơng trình quốc gia về các mạch tích hợp tốc độ rất cao - VHSIC (Very High Speed Integrated Circuits) do chính phủ Mỹ khởi x ớng vào đầu những năm 1980. Các công ty tham gia ch ơng trình VHSIC nhận thấy rằng họ cần phải có một công cụ nào đó để thiết kế các giản đồ đầu vào cho các IC chuyên dụng cỡ lớn, và họ đã đề xuất việc lập ra một ngôn ngữ mô tả phần cứng dùng để mô tả cấu trúc và chức năng của các mạch tích hợp (còn đ ợc gọi là IC - Integrated Circuits). Kể từ đó, VHDL ra đời và đ ợc phát triển, rồi sau đó đ ợc Hiệp hội các kỹ s Điện và Điện tử - IEEE (Institude of Electrical and Electronic Engineers) chấp nhận coi nh là tiêu chuẩn tại Mỹ. Phiên bản đầu tiên là Tiêu chuẩn IEEE 1076-1987 (còn đ ợc gọi là VHDL-87). Phiên bản này đ ợc bổ sung sửa đổi năm 1993 thành IEEE 1076-1993 (còn đ ợc gọi là VHDL-93). * Mô tả cấu trúc Một hệ thống điện tử số có thể đ ợc mô tả thành các khối - còn gọi là module với các đầu vào và đầu ra. Các giá trị điện ở đầu ra có mối quan hệ với các giá trị trên các đầu vào. Hình 2.16a biểu diễn một ví dụ nh vậy. Khối F có hai đầu vào A và B, và có một đầu ra Y. Sử dụng ngôn ngữ VHDL để mô tả khối F, thì ta gọi khối F là một thực thể (entity) thiết kế, và các đầu vào và đầu ra là các cổng (port). Có một cách để mô tả chức năng của khối F, đó là chúng ta mô tả các khối con (sub-module) thành phần của nó. Mỗi một khối con đ ợc gọi là một tập hợp (instance) của một số thực thể, và các cổng của các tập hợp đó đ ợc nối lại bằng các đ ờng tín hiệu (signal). Hình di mô tả khối F là một tập hợp gồm các thực thể G, H và I. Kiểu mô tả này đ ợc gọi là mô tả cấu trúc (structural). Các thực thể G, H và I cũng đ ợc mô tả theo cấu trúc t ơng tự nh vậy. (a) Khối F có hai đầu vào và một đầu ra; (b) Khối F gồm có 3 thực thể G, H, I * Mô tả hoạt động 7 PVP_bk3i1_k50 Trong nhiều tr ờng hợp, việc mô tả cấu trúc không t ơng ứng với việc mô tả hoạt động. Ng ời ta th ờng dùng cách mô tả hoạt động theo kiểu từ d ới lên dựa vào mô tả cấu trúc. Ví dụ, khi chúng ta thiết kế hệ thống điện tử thì không cần phảI mô tả cụ thể cấu trúc bên trong của từng con IC mà chỉ cần mô tả theo chức năng của các khối của hệ thống mà thôi. Tr ờng hợp này đ ợc gọi là mô tả chức năng (fuctional) hoặc mô tả hoạt động (behavioural). Để minh hoạ cho điều này, chúng ta giả sử rằng chức năng của thực thể F trong Hình 2.16a là một mạch OR đảo. Khi mô tả hoạt động của F ta có thể biếnđổi theo đại số Boolean nh sau: Y = A.+ .B Đối với các mạch có chức năng hoạt động phức tạp hơn, thì không thể biển diễn theo các chức năng đầu vào đ ợc. Trong các hệ thống có phản hồi ng ợc, đầu ra th ờng là các hàm chức năng theo thời gian. Ngôn ngữ VHDL cho phép giải quyết vấn đề này bằng cách mô tả hoạt động theo khuôn dạng ch ơng trình lập trình. * Mô tả sự kiện rời rạc theo thời gian Khi chức năng hoạt động và cấu trúc của khối đã đ ợc chỉ định rõ, thì ng ời ta có thể mô phỏng khối bằng cách kích hoạt theo mô tả hoạt động của nó. Điều này có thể thực hiện đ ợc bằng cách mô phỏng quá trình hoạt động đã đ ợc rời rạc thành các b ớc theo thời gian. Tại một vài thời điểm mô phỏng, khối đầu vào đ ợc kích hoạt bằng cách thay đổi giá trị trên cổng đầu vào. Khối này phản ứng lại bằng cách thực hiện mã lệnh theo mô tả hoạt động của nó đã đ ợc gán và tạo ra các giá trị mới đ a đến đ ờng tín hiệu để gửi tới các cổng đầu ra của nó tại các thời điểm mô phỏng tiếp theo sau. Việc này đ ợc gọi là kế hoạch giao tác (scheluding a transaction) trên tín hiệu đó. Nếu giá trị mới khác giá trị tr ớc đó đã có trên đ ờng tín hiệu, thì sẽ có một sự kiện (event) xảy ra, và các khối khác với các đầu vào đã đ ợc kết nối với đ ờng tín hiệu đó có thể sẽ đ ợc kích hoạt. Quá trình mô phỏng bắt đầu với một pha đ ợc gọi là pha khởi động (initialisatoin phase), và sau đó các quá trình đ ợc thực hiện lặp lại hai giai đoạn trong một chu kỳ mô phỏng (simulation cycle). Trong pha khởi động, tất cả các tín hiệu đ ợc cung cấp sẵn các giá trị khởi động, thời gian mô phỏng đ ợc đ a về 0, và mỗi một ch ơng trình hoạt động của một khối đ ợc kích hoạt. Trong giai đoạn đầu tiên của chu kỳ mô phỏng, thời gian mô phỏng đ ợc nâng Quá trình mô phỏng bắt đầu với một pha đ ợc gọi là pha khởi động (initialisatoin phase), và sau đó các quá trình đ ợc thực hiện lặp lại hai giai đoạn trong một chu kỳ mô phỏng (simulation cycle). Trong pha khởi động, tất cả các tín hiệu đ ợc cung cấp sẵn các giá trị khởi động, thời gian mô phỏng đ ợc đ a về 0, và mỗi một ch ơng trình hoạt động của một khối đ ợc kích hoạt. Trong giai đoạn đầu tiên của chu kỳ mô phỏng, thời gian mô phỏng đ ợc nâng lên thành thời gian sớm nhất tại thời điểm mà giao tác đã đ ợc thực 8 PVP_bk3i1_k50 hiện. Tất cả các giao tác đ ợc đ a vào tại thời điểm này đều đ ợc kích hoạt, và điều này có thể gây ra một số sự kiện nào đó. Trong gian đoạn thứ hai của chu kỳ mô phỏng, tất cả các khối phản ứng lại đối với các sự kiện vừa xảy ra trong giai đoạn một sẽ kích hoạt ch ơng trình hoạt động của chúng. Các ch ơng trình đó th ờng là kế hoạch giao tác trên các tín hiệu đầu ra của chúng. Khi tất cả các ch ơng trình kết thúc hoạt động, chu kỳ mô phỏng đ ợc lặp lại. Nếu không có thêm giao tác nào thì quá trình mô phỏng đã hoàn thành. Mục đích của việc mô phỏng là để biết thêm thông tin về sự thay đổi trong hệ thống tại từng thời điểm. Việc này có thể thực hiện đ ợc giám sát bởi ch ơng trình giám sát mô phỏng (simulation monitor). Ch ơng trình này nhằm mục đích ghi lại quá trình hoạt động theo từng thời điểm tại các điểm để dùng vào việc phân tích về sau. * Cú pháp và ngữ nghĩa: Hoạt động của một module có thể đ ợc mô tả theo dạng ngôn ngữ lập trình. Trong mục này sẽ giới thiệu về cú pháp và ngữ nghĩa của các khái báo trong ngôn ngữ VHDL. + Các biểu thức và toán tử Các biểu thức trong VHDL hoàn toàn t ơng tự nh các biểu thức trong các ngôn ngữ lập trình khác. Một biểu thức là một công thức kết hợp các đa thức với các toán tử. Các đa thức bao gồm tên các đối số, ký hiệu bằng chữ, các hàm gọi và các dấu ngoặc của biểu thức. Các toán tử đ ợc liệt kê trong Bảng di theo thứ tự u tiên. u tiờn cao nht **; abs; not; u tiờn gim dn *; /; mod; rem; u tiờn gim dn + (sign); -(sign) u tiờn gim dn +; -; &; u tiờn gim dn =; /=; <; <=; >; >=; u tiờn thp nht And; or; nand; nor; xor; Các toán tử logic and, or, nand, nor, xor và not hoạt động trên các giá trị kiểu bit hoặc là boolean, và trên các mảng 1 chiều của các kiểu đó. Đối với các toán hạng mảng (array), sự hoạt động tuân theo các phần tử t ơng ứng của từng mảng, th ờng độ lớn của mảng có cùng độ lớn với kết quả. Đối với các toán hạng bit và boolean, các toán tử and, or, nand và nor là các toán tử ngắn mạch (short-circuit), do chúng chỉ u tiên hơn so với toán hạng bên phải của chúng nếu toán hạng bên trái không xác định đ ợc kết quả. Do and và nand chỉ u tiên hơn so với toán hạng bên phải nếu toán hạng bên trái là true hoặc 1, còn or và nor chỉ u tiên hơn toán hạng bên phải nếu toán hạng bên trái là false hoặc 0. Các toán tử quan hệ =, /=, <, <=, > và >= phải có các toán hạng ở hai đầu cùng kiểu, và th ờng cho các kết quả theo kiểu boolean. Các toán tử bằng (= và /=) có thể có các toán 9 PVP_bk3i1_k50 hạng theo bất kỳ kiểu nào. Đối với các toán tử so sánh, hai giá trị bằng nhau nếu tất cả các phần tử t ơng ứng của chúng bằng nhau. Các toán tử dấu (+, -), các toán tử cộng (+) và trừ (-) có cách sử dụng của chúng trên các toán hạng dạng số. Toán tử kết nối (&) làm việc trên các mảng một chiều thành dạng một mảng mới với nội dung của toán hạng bên phải kế tiếp toán hạng trái. Nó có thể móc nối một phần tử đơn vào một mảng hoặc hai phần tử độc lập để thành một mảng mới. Các toán tử nhân (*) và chia (/) làm việc với các số nguyên, số dấu phẩy động và các kiểu đơn vị vật lý. Các toán tử chia lấy phần nguyên (mod- modulus) và chia lấy phần d (rem - remainder) chỉ làm việc với kiểu số nguyên. Toán tử giá trị tuyệt đối (abs) chỉ làm việc với bất kỳ kiểu số nào. Cuối cùng toán tử mũ (**) có thể làm việc với kiểu số nguyên và toán hạng trái của kiểu số dấu phẩy động, nh ng phải có một số nguyên ở toán hạng phải, còn toán hạng phải mà có giá trị âm chỉ đ ợc phép nếu toán hạng trái là một số dấu phẩy động dạng số. + Các khai báo tuần tự VHDL cung cấp một công cụ hiệu quả cho việc kiểm tra trạng thái của các đối t ợng và điều khiển luồng hoạt động của các mô hình đó là các phép gán. Phép gán biến Nh các ngôn ngữ lập trình khác, một biến đ ợc gán một giá trị mới bằng cách sử dụng phép khai báo gán. Khai báo biến trong process có phạm vi chỉ trong process đó. Biến có thể khai báo trong ch ơng trình con. Khai báo biến bên ngoài process hoặc ch ơng trình con thì gọi là shared variable. Các biến này có thể cập nhật và đọc nhiều process. L u ý tín hiệu không đ ợc khai báo trong process. Các phát biểu gán tín hiệu xuất hiện trong process đ ợc gọi là phát biểu gán tín hiệu tuần tự, kể cả phát biểu gán biến, thực hiện tuần tự độc lập với việc xuất hiện các sự kiện trên mỗi tín hiệu trong biểu thức bên phải, khác với việc thực thi của các phát biểu gán tín hiệu đồng thời trong phần tr ớc. Khai báo biến (bắt đầu bằng từ variable) khai báo biến khác với tín hiệu là nó luôn đ ợc gán giá trị ngay tức khắc và phép gán tín hiệu là := tổ hợp ký hiệu, nó đ ợc gán giá trị sau khoảng delay ( xác định do ng ời sử dụng hoặc mặc nhiên là khoảng delta) và phép gán điều khiển việc gán giá trị cho biến <= tổ hợp symbol. Cú pháp là: khai báo gán biến : đích := biểu thức; Trong tr ờng hợp đơn giản nhất, đích của phép gán là một tên đối t ợng, và giá trị của biểu thức đ ợc gán theo tên đối t ợng. Đối t ợng và giá trị phải có cùng một kiểu. 10 [...]... đơn, vùng giá trị bởi việc sử dụng dấu | hoặc sử dụng mệnh đề khác Tất cả các giá trị có thể có của biểu thức phải đ ợc thể hiện trong phát biểu case đúng 1 lần Các mệnh đề khác có thể đợc sử dụng để bao quát tất cả các giá trị, và nếu có, phải là nhánh cuối cùng trong phát biểu case Các khai báo vòng lặp 11 PVP_bk3i1_k50 VHDL cung cấp kiểu khai báo vòng lặp cơ bản có thể sử dụng các vòng lặp while và... PVP_bk3i1_k50 RESET : PROCESS BEGIN rstn Implementation -> Verification -> Device... thit a vo quỏ trỡnh Implementation * Implementation : Quỏ trỡnh ny s chuyn i thit k mc logic thnh cỏc file nh dng vt lý cú th download xung FPGA Sau khi chy Synthesis, chỳng ta s cú nhng file netlist, quỏ trỡnh Implementation s chuyn i nhng file netlist ú thnh nhng file cu hỡnh vt lý c th da vo linh kin FPGA c th m ta ang s dng, do ú quỏ trỡnh ny ũi hi chỳng ta phi ch rừ linh kin FPGA no ang c s dng... biểu case Các khai báo vòng lặp 11 PVP_bk3i1_k50 VHDL cung cấp kiểu khai báo vòng lặp cơ bản có thể sử dụng các vòng lặp while và for giống nh trong các ngôn ngữ lập trình khác Một phát biểu lặp đợc sử dụng để lặp lại một loạt các câu lệnh tuần tự Cú pháp của phát biểu lặp là: [loop-label:] iteration-scheme loop sequential-statements end loop [loop-lebel]; Có 3 kiểu sơ đồ lặp Đầu tiên là sơ đồ lặp... dem_3_trang_thai IS BEGIN PROGRESS (E, d) BEGIN IF (E = '1') THEN Y sequential -statement branch 1# when choices=> sequential -statement branch 2# có thể có nhiều nhánh {when others=> sequential-statement}last branch end case; Phát biểu case lựa chọn một trong những nhánh cho việc thực thi dựa trên giá trị của biểu . như để sử dụng thành thạo công nghệ FPGA em đã quyết định chọn để tài : “Thiết kế bộ xử lý hình ảnh quảng cáo trên nền LED matrix sử dụng FPGA”. Nội dung đè tài :  Tìm hiểu về LED matrix . hiệu logic của bộ giải mã 3 sang 8 được biểu diễn trong hình dưới. Một bộ giải mã kích cỡ lớn có thể sử dụng một vài các bộ giải mã nhỏ hơn. Ví dụ trong hình dưới sử dụng 7 bộ giải mã 1 sang. chi tiết về LED matrix cũng như các phương pháp quét LED, hiển thị xử lý hình ảnh Sau đó tìm hiểu các phương pháp ứng dụng FPGA để giải quyết bài toán đặt ra. Vì giới hạn của để tài chỉ thực

Ngày đăng: 06/08/2014, 09:20

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • CHƯƠNG I ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ CỦA ĐỒ ÁN

    • I – Đặt vấn đề

    • CHƯƠNG II CƠ SỞ LÝ THUYẾT

      • I - LED Matrix

      • II – FPGA

      • CHƯƠNG III THIẾT KẾ HỆ THỐNG SỬ DỤNG PHẦN MỀM XILINX ISE

        • I-Tổng quan phần mền Xilinx ISE

        • II -Thiết kế chương trình điều khiển LED matrix

        • 1.1 Bộ giải mã:

        • 1.2 Bộ đệm

          • 2. CODE VHDL điều khiển LED matrix :

          • III - Kết luận

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

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

Tài liệu liên quan