<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>FPGA Projects, Verilog Projects, VHDL Projects - FPGA4student.com</title><description>Offering various FPGA projects with free Verilog/ VHDL source code for beginners, asking for help via admin@fpga4student.com</description><managingEditor>noreply@blogger.com (FPGA4student)</managingEditor><pubDate>Wed, 11 Feb 2026 10:55:44 -0800</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">78</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">3</openSearch:itemsPerPage><link>http://www.fpga4student.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Offering various FPGA projects with free Verilog/ VHDL source code for beginners, asking for help via admin@fpga4student.com</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>FPGA Course: Learn the Fundamentals of VHDL and FPGA </title><link>http://www.fpga4student.com/2020/10/fpga-course-learn-fundamentals-of-vhdl.html</link><category>FPGA</category><category>FPGA course</category><category>vhdl</category><author>noreply@blogger.com (FPGA4student)</author><pubDate>Sat, 3 Oct 2020 21:13:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2731449680288404691.post-1860148359588213455</guid><description>&lt;p style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;h2 style="clear: both; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;span style="font-weight: normal;"&gt;This article introduces one of the most popular FPGA courses on Udemy.&lt;/span&gt;&lt;span style="font-weight: normal;"&gt; The FPGA course, which taught students how to start with VHDL and FPGA programming, got 3934 students with 4.4 rating.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h4 style="clear: both; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;span&gt;The instructor agreed to provide FPGA4student readers with the opportunity to get the course with&lt;/span&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;span&gt;91% OFF&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;. The coupon link to the course is &lt;/span&gt;&lt;a href="https://click.linksynergy.com/link?id=J6hi3Ms6u1U&amp;amp;amp;offerid=1597309.391973462716357535825551&amp;amp;amp;type=2&amp;amp;amp;murl=https%3a%2f%2fwww.udemy.com%2fcourse%2ffpga-turbo-series%2f" rel="nofollow" target="_blank"&gt;HERE&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;.&lt;span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h3 style="clear: both; text-align: justify;"&gt;&lt;span&gt;&lt;span style="font-family: arial; font-size: large;"&gt;The course details are described below.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="https://click.linksynergy.com/link?id=J6hi3Ms6u1U&amp;amp;amp;offerid=1597309.391973462716357535825551&amp;amp;amp;type=2&amp;amp;amp;murl=https%3a%2f%2fwww.udemy.com%2fcourse%2ffpga-turbo-series%2f" rel="nofollow" target="_blank"&gt;&lt;img alt="FPGA Course" border="0" data-original-height="258" data-original-width="684" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimkXNaoTCag0_bgZLpjkQ_PbAB7X2zD4I-jrN7tEmSACIcKeyUBsBXlFbl3dMLUzjddH9MVw69XpFpN5NEbTA8BGCPLqviaHQSACZvSlCmrnNrsKBLljVD3DxMW9n5AnKTsMF_uGYskaUY/w640-h242/FPGA_Course.PNG" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;strong style="background-color: white; color: #222222; font-size: large; text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;strong style="text-align: left;"&gt;How will you learn?&lt;/strong&gt;&lt;/div&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p style="background-color: white; color: #222222; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;You will learn by doing the real programming. All the code and examples are explained in tutoring videos. After you adjust the existing code or you create your own, you will run simulations to verify it. If you are interested to run your code on a real hardware (not required, but much more fun), we recommend Altera or Xilinx boards.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; color: #222222;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; color: #222222; text-align: center;"&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="https://click.linksynergy.com/link?id=J6hi3Ms6u1U&amp;amp;amp;offerid=1597309.391973462716357535825551&amp;amp;amp;type=2&amp;amp;amp;murl=https%3a%2f%2fwww.udemy.com%2fcourse%2ffpga-turbo-series%2f" rel="nofollow" target="_blank"&gt;&lt;img alt="FPGA course" border="0" data-original-height="200" data-original-width="316" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7nkOlZy73HmBpwiM4-l4gLCuvInCH3GGGUHjOmFPnvHsbd94mp6Wq1cpmkKXAsXKLtpRgaD50DeZg7igjNPimyFLqq2FBg_s9r1Q3urLYE7V-sbrHxXeUHVAIxL1UQIqBd-7R-fkzAcB-/w400-h253/FPGA_Board.jpg" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; color: #222222;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; color: #222222; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;strong&gt;What will you learn?&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; color: #222222; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;Learn the Essentials of VHDL and FPGA Development is course that will teach you the fundamentals and basics of VHDL design. In this course you will be working through various projects that will require you to go through the entire FPGA development process. You will be guided through the coding of the actual VHDL to the synthesis using either Xilinx’s development tool, Vivado or Altera development tool Quartus. There are 8 projects in this course:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #222222;"&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;Buttons &amp;amp; LEDs&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;A project that is designed to teach students the very basics of VHDL as well as how to make specific pins on an FPGA inputs (buttons) and outputs (LEDs).&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;Blinky LEDs&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;Students will learn how to create a counter in VHDL in order to simultaneously turn multiple LEDs on and off in unison.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;LED Brightness&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;This project will have students create 3 VHDL designs, a PWM design to control the brightness of the LEDs, a counter to vary the duty cycle, and a top level design to pull everything together.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;UART Demonstration&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;Students will be introduced to softcore processors and use them to display a “Hello World” message on a serial port terminal.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;UART I/O&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;In the project students will build upon the ability to transmit messages using the softcore processor to read messages. Students will learn how to interpret messages coming from the computer to the FPGA in order to read the status of various peripherals on the board.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;AD Processing&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;This project will have students perform an analog to digital conversion. As an example, they sense the temperature.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;SPI Interface (Arty A7 Only)&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;In this project students will learn how to work with SPI interface. They will load existing designs onto the external flash memory chip to have the FPGA configure itself through the SPI interface.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-family: arial; font-size: large;"&gt;I2C Interface (DE10 Nano Only)&lt;/strong&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;div style="text-align: justify;"&gt;&lt;em&gt;In this project students will learn how to work with I2C. They will load an embedded Linux operating system onto the DE10 Nano development board. They will then run a program that interfaces with the onboard accelerometer to display the g forces the sensor reads.&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="background-color: white; color: #222222; font-family: arial;"&gt;All of the required background and knowledge to complete each project will be explained prior to completing the project. There are demonstration videos and walk-throughs for each project so that you can have a deep understanding of how the project works.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 style="clear: both; text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;About the instructor&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-family: arial; font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://click.linksynergy.com/link?id=J6hi3Ms6u1U&amp;amp;amp;offerid=1597309.391973462716357535825551&amp;amp;amp;type=2&amp;amp;amp;murl=https%3a%2f%2fwww.udemy.com%2fcourse%2ffpga-turbo-series%2f" rel="nofollow" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;span style="font-family: arial;"&gt;&lt;img alt="FPGA VHDL Courses" border="0" data-original-height="1206" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6G5F1nV_x1sCXvii9hS5UbKGamwYJ_dKSc1_VHTovJPsEAJVu-y8JpkHkeWVr2XajVxQEZun6uz0AbkA73rSiI9CJWqjAyHXTScCg-3hxytmITKmRLjUx1WWea_D5CHBnvJT7c3uSdDM/s320/FPGA_course.jpg" title="" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: arial; font-size: large;"&gt;Jordan Christman graduated from the University of Dayton with his Bachelor's degree in Electronic and Computer Engineering Technology. He also graduated from UD with his Master's degree in Electrical Engineering. He has strong knowledge in FPGA (Field Programmable Gate Array) development, Digital Electronics, Circuit Board design, and VHDL design and modeling of hardware systems. Jordan's focus of study in school was embedded systems which involve circuit design, firmware development, implementation of computer hardware, and the interfacing of computer operating systems. Jordan's hobbies include mobile application development, layout, and assembly of PCB's (Printed Circuit Boards), computer application programming, and anything related to electrical engineering.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: large;"&gt;&lt;b&gt;Recommended&amp;nbsp;&lt;a href="https://www.fpga4student.com/p/fpga-projects.html"&gt;FPGA projects&lt;/a&gt;&amp;nbsp;for students:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;1.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/what-is-fpga-five-reasons-why-i-love-fpga.html"&gt;What is FPGA? How does FPGA work?&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;2.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2018/08/basys-3-fpga-ov7670-camera.html"&gt;Basys 3 FPGA OV7670 Camera&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;3.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/two-ways-to-load-text-file-to-fpga-or.html"&gt;How to load text file or image into FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;4.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/image-processing-on-fpga-verilog.html"&gt;Image processing on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;5.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/plate-license-recognition-verilogmatlab.html"&gt;License Plate Recognition on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;6.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-alarm-clock-on-fpga.html"&gt;Alarm Clock on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;7.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/vhdl-code-for-digital-clock-on-fpga.html"&gt;Digital Clock on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;8.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html"&gt;Simple Verilog code for debouncing buttons on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;9.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-traffic-light-system.html"&gt;Traffic Light Controller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;10.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-parking-system-using.html"&gt;Car Parking System on FPGA in Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;11.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-8-bit-74f521-identity.html"&gt;VHDL code for comparator on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;12.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-4x4-multiplier-using.html"&gt;Verilog code for Multiplier on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;13.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/programmable-n-bit-switch-tail-ring.html"&gt;N-bit Ring Counter in VHDL on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;14.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-microcontroller.html"&gt;Verilog implementation of Microcontroller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;15.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-carry-look-ahead-multiplier.html"&gt;Verilog Carry Look Ahead Multiplier on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;16.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/matrix-multiplier-core-design.html"&gt;VHDL Matrix Multiplication on FPGA Xilinx&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;17.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/fixed-point-matrix-multiplication-in-Verilog.html"&gt;Fixed Point Matrix Multiplication on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;18.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/32-bit-unsigned-divider-in-verilog.html"&gt;Verilog Divider on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;19.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/a-complete-8-bit-microcontroller-in-vhdl.html"&gt;VHDL code for Microcontroller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;20.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/a-low-pass-fir-filter-in-vhdl.html"&gt;VHDL code for FIR Filter on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;21.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/basic-digital-blocks-in-verilog.html"&gt;Verilog code for Digital logic components on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;22.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/programmable-digital-delay-timer-in-Verilog.html"&gt;Delay Timer Implementation on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;23.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/verilog-code-for-single-cycle-MIPS-processor.html"&gt;Single-Cycle MIPS processor on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;24.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/verilog-code-for-fifo-memory.html"&gt;FIFO Verilog Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;25.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/vhdl-code-for-fifo-memory.html"&gt;FIFO VHDL Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;26.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-d-flip-flop.html"&gt;Verilog D&amp;nbsp;Flip Flop&amp;nbsp;on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;27.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-comparator.html"&gt;Comparator Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;28.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-d-flip-flop.html"&gt;D&amp;nbsp;Flip Flop&amp;nbsp;on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;29.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-full-adder.html"&gt;Full Adder Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;30.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-full-adder.html"&gt;Full Adder Design on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;31.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/03/verilog-code-for-counter-with-testbench.html"&gt;Counters on FPGA with Verilog Testbench&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;32.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/04/verilog-code-for-16-bit-risc-processor.html"&gt;RISC Processor Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;33.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/05/how-to-write-verilog-testbench-for.html"&gt;Verilog test bench for&amp;nbsp;inout&amp;nbsp;ports on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;34.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/pwm-generator-in-vhdl.html"&gt;PWM Generator on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;35.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/tic-tac-toe-game-in-verilog-and-logisim.html"&gt;Tic Tac Toe Game on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;36.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-arithmetic-logic-unit-alu.html"&gt;VHDL code for ALU on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;37.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/Verilog-code-for-ALU.html"&gt;Verilog code for ALU on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;38.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-counters-with-testbench.html"&gt;Counter design on FPGA with VHDL test bench&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;39.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-1.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-1)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;40.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-2.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-2)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;41.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-3.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-3)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;42.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/verilog-code-for-decoder.html"&gt;Verilog Decoder on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;43.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/verilog-code-for-multiplexers.html"&gt;Verilog Multiplexers on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;44.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/n-bit-adder-design-in-verilog.html"&gt;N-bit Adder Design on FPGA in Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;45.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/16-bit-alu-design-in-vhdl.html"&gt;VHDL ALU on FPGA using N-bit Verilog Adder&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;46.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/shifter-design-in-vhdl.html"&gt;VHDL Shifter on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;47.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/non-linear-lookup-table-implementation.html"&gt;Lookup Table VHDL example code on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: arial; font-size: large;"&gt;48.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/cryptographic-coprocessor-design-in-vhdl.html"&gt;Coprocessor VHDL Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;49.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/recommended-affordable-Xilinx-FPGA-boards-for-students.html"&gt;Affordable Xilinx FPGA boards for beginners&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;50.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/recommended-affordable-Altera-FPGA-boards-for-students.html"&gt;Affordable Altera FPGA boards for beginners&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimkXNaoTCag0_bgZLpjkQ_PbAB7X2zD4I-jrN7tEmSACIcKeyUBsBXlFbl3dMLUzjddH9MVw69XpFpN5NEbTA8BGCPLqviaHQSACZvSlCmrnNrsKBLljVD3DxMW9n5AnKTsMF_uGYskaUY/s72-w640-h242-c/FPGA_Course.PNG" width="72"/></item><item><title>Digilent Inc to become Hardware Sponsor for FPGA4Student</title><link>http://www.fpga4student.com/2020/07/Digilent-FPGA-sponsor-FPGA4student.html</link><category>Digilent</category><category>FPGA</category><category>FPGA board</category><category>FPGA4student</category><category>Verilog</category><category>vhdl</category><author>noreply@blogger.com (FPGA4student)</author><pubDate>Thu, 2 Jul 2020 18:59:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2731449680288404691.post-6854125402832377522</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;
July 3, 2020: &lt;a href="https://store.digilentinc.com/" rel="nofollow" target="_blank"&gt;Digilent Inc&lt;/a&gt; to become a Hardware sponsor for &lt;a href="http://www.fpga4student.com/" target="_blank"&gt;FPGA4student&lt;/a&gt; from &lt;a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array" rel="nofollow" target="_blank"&gt;FPGA &lt;/a&gt;boards to a wide range of FPGA peripherals such as camera, sensors, wifi module, bluetooth module, etc.&lt;/span&gt;&lt;/h3&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;img alt="Digilent FPGA sponsor for FPGA4student" border="0" data-original-height="315" data-original-width="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJzmh8lrhdUBvtF748h6wZYmcSMvJyXSQKthQSFma9cthlFKweebWwpbsC_yg6gSHKWXCno_FeQr3wEVR8s_3kKp9oYtsRJ68Jd93s8p6GyHG0RVwLr-0iUPvUEItVD8g6VCwlaqAtuaq/s1600/FPGA4Student.jpg" title="" /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;h4 style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;This is obviously a great news for students and professionals around the world visiting FPGA4student on daily basic.&amp;nbsp;On behalf of our visitors and followers, FPGA4Student would like to send millions thanks to Digilent Inc for the generous support.&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img alt="FPGA Nexys 7" border="0" data-original-height="560" data-original-width="645" height="347" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXIVupuSFL3TT_9gTBmHh7e9hLgHzEyp7bhoNYoLY5d5vjyRs7q-i-ajL7EmTN4G77eZMgagfp1qNMsc4AUCo7Udsm04lX9YjAG4XQiR6uolGaVef1g22CBOtygRtaN4cHEolNh7KT6uZO/s400/FPGA_Nexys_7.JPG" title="" width="400" /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Digilent Nexys A7 FPGA Board&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;FPGA4student also would like to thank Digilent for the great suggestion over the use of two FPGA boards (&lt;a href="https://store.digilentinc.com/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/" rel="nofollow" target="_blank"&gt;Nexys A7&lt;/a&gt; and &lt;a href="https://store.digilentinc.com/arty-s7-spartan-7-fpga-board-for-hobbyists-and-makers/" rel="nofollow" target="_blank"&gt;Arty S7&lt;/a&gt;). These two boards perfectly fit our upcoming projects, which are dedicated for students and FPGA hobbyists. Following are the Digilent hardware that would be using along with these FPGA boards for our upcoming projects also listed below.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;1. &lt;a href="https://store.digilentinc.com/pmod-da2-two-12-bit-d-a-outputs/" rel="nofollow" target="_blank"&gt;Pmod DA2&lt;/a&gt;: Two 12-bit D/A Outputs&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;2. &lt;a href="https://store.digilentinc.com/pmod-oledrgb-96-x-64-rgb-oled-display-with-16-bit-color-resolution/" rel="nofollow" target="_blank"&gt;Pmod OLEDrgb&lt;/a&gt;: 96 x 64 RGB OLED Display with 16-bit color resolution&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;3. &lt;a href="https://store.digilentinc.com/artys7-pmod-pack/" rel="nofollow" target="_blank"&gt;Arty S7 Pmod Pack&lt;/a&gt; (Pmod VGA: Video Graphics Array, Pmod MIC3: MEMS Microphone,Pmod AMP2: Audio Amplifier)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;4. &lt;a href="https://store.digilentinc.com/nexys-4-ddr-pmod-pack/" rel="nofollow" target="_blank"&gt;Nexys 4 DDR Pmod Pack&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;5. &lt;a href="https://store.digilentinc.com/zybo-pmod-pack/" rel="nofollow" target="_blank"&gt;Zybo Pmod Pack&lt;/a&gt; (Pmod ALS: Light Sensor, Pmod BT2: Bluetooth , Pmod RTC: Real-time Clock, PMOD-TMP3 Temperature Sensor)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;6. &lt;a href="https://store.digilentinc.com/pmodwifi-wifi-interface-802-11g/" rel="nofollow" target="_blank"&gt;Pmod WiFi&lt;/a&gt;: WiFi Interface 802.11g&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;7. &lt;a href="https://store.digilentinc.com/pcam-5c-5-mp-fixed-focus-color-camera-module/" rel="nofollow" target="_blank"&gt;Pcam 5C&lt;/a&gt;: 5 MP Fixed Focus Color Camera Module&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQ_EppVFRrcxhKd4tZt8cA33feJkXb_Z1FC9uwZ7dk-20lMSrz1IVtl76kMeWf4QYuhKQ516t0NmgqOM11RFzDaoGw27mKkj35aGInC72p-WFAUEuozcEAlVfQnDSS1s9QJ_9OELFl10R/s1600/FPGA_Camera.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="518" data-original-width="555" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQ_EppVFRrcxhKd4tZt8cA33feJkXb_Z1FC9uwZ7dk-20lMSrz1IVtl76kMeWf4QYuhKQ516t0NmgqOM11RFzDaoGw27mKkj35aGInC72p-WFAUEuozcEAlVfQnDSS1s9QJ_9OELFl10R/s400/FPGA_Camera.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
FPGA Interfacing with PCamera 5C&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;h4&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Following are exciting FPGA projects to be published on FPGA4STUDENT:&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;1. OLED RGB Interfacing with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;2. On-Screen Display with &lt;a href="https://en.wikipedia.org/wiki/DDR_SDRAM" rel="nofollow" target="_blank"&gt;DDR Memory&lt;/a&gt; Controller + VGA Controller&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;3. Computer interfacing with FPGA via USB-UART interface&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;4. Signal Generator with FPGA (+DAC PMOD and displaying waveform on PC via USB Oscilloscope)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;5. &lt;a href="https://en.wikipedia.org/wiki/Ethernet" rel="nofollow" target="_blank"&gt;Ethernet &lt;/a&gt;Interfacing with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;6. Microphone interfacing with FPGA (Audio Output)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;7. &lt;a href="https://en.wikipedia.org/wiki/Real-time_clock" rel="nofollow" target="_blank"&gt;Real-Time Clock&lt;/a&gt;/Calendar with FPGA (displaying on OLED/VGA)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;8. Temperature Sensor Interfacing with FPGA (displaying on OLED)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;9. &lt;a href="https://en.wikipedia.org/wiki/Bluetooth" rel="nofollow" target="_blank"&gt;Bluetooth &lt;/a&gt;Interfacing with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;10. Light Detection with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;11. I2C interface on FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;12. SPI interface on FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;13. HDMI Interfacing with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;14. Wifi Interfacing with FPGA&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;15. Real Time Image processing on FPGA (with Digilent PCAM 5C)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="font-size: medium;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Recommended&amp;nbsp;&lt;a href="https://www.fpga4student.com/p/fpga-projects.html"&gt;FPGA projects&lt;/a&gt;&amp;nbsp;for students:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;1.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/what-is-fpga-five-reasons-why-i-love-fpga.html"&gt;What is FPGA? How does FPGA work?&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;2.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2018/08/basys-3-fpga-ov7670-camera.html"&gt;Basys 3 FPGA OV7670 Camera&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;3.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/two-ways-to-load-text-file-to-fpga-or.html"&gt;How to load text file or image into FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;4.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/image-processing-on-fpga-verilog.html"&gt;Image processing on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;5.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/plate-license-recognition-verilogmatlab.html"&gt;License Plate Recognition on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;6.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-alarm-clock-on-fpga.html"&gt;Alarm Clock on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;7.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/vhdl-code-for-digital-clock-on-fpga.html"&gt;Digital Clock on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;8.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html"&gt;Simple Verilog code for debouncing buttons on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;9.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-traffic-light-system.html"&gt;Traffic Light Controller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;10.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-parking-system-using.html"&gt;Car Parking System on FPGA in Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;11.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-8-bit-74f521-identity.html"&gt;VHDL code for comparator on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;12.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-4x4-multiplier-using.html"&gt;Verilog code for Multiplier on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;13.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/programmable-n-bit-switch-tail-ring.html"&gt;N-bit Ring Counter in VHDL on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;14.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-microcontroller.html"&gt;Verilog implementation of Microcontroller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;15.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-carry-look-ahead-multiplier.html"&gt;Verilog Carry Look Ahead Multiplier on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;16.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/matrix-multiplier-core-design.html"&gt;VHDL Matrix Multiplication on FPGA Xilinx&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;17.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/fixed-point-matrix-multiplication-in-Verilog.html"&gt;Fixed Point Matrix Multiplication on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;18.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/32-bit-unsigned-divider-in-verilog.html"&gt;Verilog Divider on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;19.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/a-complete-8-bit-microcontroller-in-vhdl.html"&gt;VHDL code for Microcontroller on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;20.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/a-low-pass-fir-filter-in-vhdl.html"&gt;VHDL code for FIR Filter on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;21.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/basic-digital-blocks-in-verilog.html"&gt;Verilog code for Digital logic components on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;22.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/programmable-digital-delay-timer-in-Verilog.html"&gt;Delay Timer Implementation on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;23.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/verilog-code-for-single-cycle-MIPS-processor.html"&gt;Single-Cycle MIPS processor on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;24.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/verilog-code-for-fifo-memory.html"&gt;FIFO Verilog Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;25.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/vhdl-code-for-fifo-memory.html"&gt;FIFO VHDL Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;26.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-d-flip-flop.html"&gt;Verilog D Flip Flop on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;27.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-comparator.html"&gt;Comparator Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;28.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-d-flip-flop.html"&gt;D Flip Flop on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;29.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/verilog-code-for-full-adder.html"&gt;Full Adder Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;30.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-full-adder.html"&gt;Full Adder Design on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;31.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/03/verilog-code-for-counter-with-testbench.html"&gt;Counters on FPGA with Verilog Testbench&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;32.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/04/verilog-code-for-16-bit-risc-processor.html"&gt;RISC Processor Design on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;33.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/05/how-to-write-verilog-testbench-for.html"&gt;Verilog test bench for&amp;nbsp;inout&amp;nbsp;ports on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;34.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/pwm-generator-in-vhdl.html"&gt;PWM Generator on FPGA using VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;35.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/tic-tac-toe-game-in-verilog-and-logisim.html"&gt;Tic Tac Toe Game on FPGA using Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;36.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-arithmetic-logic-unit-alu.html"&gt;VHDL code for ALU on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;37.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/Verilog-code-for-ALU.html"&gt;Verilog code for ALU on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;38.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-counters-with-testbench.html"&gt;Counter design on FPGA with VHDL test bench&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;39.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-1.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-1)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;40.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-2.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-2)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;41.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/32-bit-pipelined-mips-processor-in-verilog-3.html"&gt;Pipelined MIPS Processor on FPGA in Verilog (Part-3)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;42.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/verilog-code-for-decoder.html"&gt;Verilog Decoder on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;43.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/verilog-code-for-multiplexers.html"&gt;Verilog Multiplexers on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;44.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/n-bit-adder-design-in-verilog.html"&gt;N-bit Adder Design on FPGA in Verilog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;45.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/16-bit-alu-design-in-vhdl.html"&gt;VHDL ALU on FPGA using N-bit Verilog Adder&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;46.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/shifter-design-in-vhdl.html"&gt;VHDL Shifter on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;47.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/non-linear-lookup-table-implementation.html"&gt;Lookup Table VHDL example code on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;48.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/cryptographic-coprocessor-design-in-vhdl.html"&gt;Coprocessor VHDL Implementation on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;49.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/recommended-affordable-Xilinx-FPGA-boards-for-students.html"&gt;Affordable Xilinx FPGA boards for beginners&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-size: medium;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;50.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/recommended-affordable-Altera-FPGA-boards-for-students.html"&gt;Affordable Altera FPGA boards for beginners&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJzmh8lrhdUBvtF748h6wZYmcSMvJyXSQKthQSFma9cthlFKweebWwpbsC_yg6gSHKWXCno_FeQr3wEVR8s_3kKp9oYtsRJ68Jd93s8p6GyHG0RVwLr-0iUPvUEItVD8g6VCwlaqAtuaq/s72-c/FPGA4Student.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How to Read Image in VHDL</title><link>http://www.fpga4student.com/2018/08/how-to-read-image-in-vhdl.html</link><category>image</category><category>read image</category><category>vhdl</category><author>noreply@blogger.com (FPGA4student)</author><pubDate>Sat, 11 Aug 2018 08:44:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2731449680288404691.post-1334775318507075612</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h4 style="text-align: justify;"&gt;
&lt;span style="font-size: large; font-weight: normal;"&gt;In DSP projects, it is required to read image files and load them into VHDL implementations of the image processing algorithms for functional simulations. In addition, there are many cases that images are loaded into FPGAs during synthesis for onboard verifications.&lt;/span&gt;&lt;/h4&gt;
&lt;h2 style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;This VHDL tutorial is to tell you how to read images in VHDL in a way that the images can be loaded into the block memory of the FPGA during synthesis or simulation.&lt;/span&gt;&lt;/h2&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img alt="How to Read Image in VHDL" border="0" data-original-height="208" data-original-width="615" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSaD3G0Mi0qKYEtkeRNhY3446vOat5AsbOkgaWkmCznnFfWcqnuHToTotb1-v2kcvhW7la74msbcV0EF5WinRo0V7lwXxLPop-Sg3ct_u21lwu0bnpmhsWwARlRLV1v3ad4J9P8Vb9AKtq/s1600/Read_Image_VHDL.png" title="" /&gt;&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;Since&amp;nbsp;VHDL cannot read image files such as BMP, JPG, TIF, etc. directly, images are required to be converted into binary text files so that VHDL can read them using the TEXTIO VHDL package.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;To convert images into binary text files, you can use Matlab or C. Once the image binary text files are ready, you can copy it to the project folder.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;h3&gt;
&lt;span style="font-size: large; font-weight: normal;"&gt;Then, in VHDL, the binary text files can be read using the following function:&lt;/span&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.1em; border: solid gray; font-size: 1.2em; overflow: auto; padding: 0.2em 0.6em; width: auto;"&gt;
&lt;pre style="line-height: 125%; margin: 0px; text-align: left;"&gt;&lt;span style="color: #888888;"&gt;-- by FPGA4student.com&lt;/span&gt;
&lt;span style="color: #008800; font-weight: bold;"&gt;impure&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;function&lt;/span&gt; init_mem(mif_file_name &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;in&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;string&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;return&lt;/span&gt; mem_type &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt;
    &lt;span style="color: #008800; font-weight: bold;"&gt;file&lt;/span&gt; mif_file &lt;span style="color: #333333;"&gt;:&lt;/span&gt; text &lt;span style="color: #008800; font-weight: bold;"&gt;open&lt;/span&gt; read_mode &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt; mif_file_name;
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; mif_line &lt;span style="color: #333333;"&gt;:&lt;/span&gt; line;
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; temp_bv &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;bit_vector&lt;/span&gt;(DATA_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; temp_mem &lt;span style="color: #333333;"&gt;:&lt;/span&gt; mem_type;
&lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;
    &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; i &lt;span style="color: #008800; font-weight: bold;"&gt;in&lt;/span&gt; mem_type&lt;span style="color: #0000cc;"&gt;'range&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;
        readline(mif_file, mif_line);
        read(mif_line, temp_bv);
        temp_mem(i) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; to_stdlogicvector(temp_bv);
    &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;;
    &lt;span style="color: #008800; font-weight: bold;"&gt;return&lt;/span&gt; temp_mem;
&lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;function&lt;/span&gt;;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="font-weight: 400;"&gt;It is noted that you need to include the TEXTIO package in the VHDL code by "&lt;span style="color: blue;"&gt;use &lt;/span&gt;std.textio.&lt;span style="color: blue;"&gt;all&lt;/span&gt;". Then, to load the image data in the binary text files into the block memory, you just need to add the following line to the VHDL code:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.1em; border: solid gray; font-size: 1.2em; overflow: auto; padding: 0.2em 0.6em; width: auto;"&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;&lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; ram_block&lt;span style="color: #333333;"&gt;:&lt;/span&gt; mem_type &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; init_mem(IMAGE_FILE_NAME);
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large; font-weight: normal;"&gt;Now, let's do an example code for reading images in VHDL. For simplicity, let's assume that the following is the content of the binary text file that we converted from a gray image.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.1em; border: solid gray; font-size: 1.2em; overflow: auto; padding: 0.2em 0.6em; width: auto;"&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;&lt;span style="color: #996633;"&gt;00001111&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11100000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;00000011&lt;/span&gt;
&lt;span style="color: #996633;"&gt;10101010&lt;/span&gt;
&lt;span style="color: #996633;"&gt;00110011&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11001100&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11101110&lt;/span&gt;
&lt;span style="color: #996633;"&gt;00000000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;00001111&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11110000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11000011&lt;/span&gt;
&lt;span style="color: #996633;"&gt;00000100&lt;/span&gt;
&lt;span style="color: #996633;"&gt;11111000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;10001000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;01111000&lt;/span&gt;
&lt;span style="color: #996633;"&gt;10001010&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large; font-weight: normal;"&gt;Then, save the image binary file as "IMAGE_FILE.MIF" and put it to the project folder. Now, write a VHDL code to read this image binary text file and initialize it into a block memory during synthesis or simulation.&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style="font-size: large;"&gt;Below is the VHDL code for reading image files into FPGA. The code is synthesizable.&lt;/span&gt;&lt;/h3&gt;
&lt;div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.1em; border: solid gray; font-size: 1.2em; overflow: auto; padding: 0.2em 0.6em; width: auto;"&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;&lt;span style="color: #008800; font-weight: bold;"&gt;library&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;use&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee.std_logic_1164.ALL&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;use&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee.numeric_std.ALL&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;use&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;std.textio.all&lt;/span&gt;;
&lt;span style="color: #888888;"&gt;-- FPGA4student.com: FPGA/Verilog/VHDL projects for students&lt;/span&gt;
&lt;span style="color: #888888;"&gt;-- VHDL tutorial: How to Read images in VHDL&lt;/span&gt;
&lt;span style="color: #008800; font-weight: bold;"&gt;entity&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;read_image_VHDL&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt;
  &lt;span style="color: #008800; font-weight: bold;"&gt;generic&lt;/span&gt; (
    ADDR_WIDTH     &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;integer&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;4&lt;/span&gt;;        
    DATA_WIDTH     &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;integer&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;8&lt;/span&gt;;
    IMAGE_SIZE  &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;integer&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;15&lt;/span&gt;;
    IMAGE_FILE_NAME &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;string&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt;&lt;span style="background-color: #fff0f0;"&gt;"IMAGE_FILE.MIF"&lt;/span&gt;
  );
  &lt;span style="color: #008800; font-weight: bold;"&gt;port&lt;/span&gt;(
    clock&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;STD_LOGIC&lt;/span&gt;;
    data&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt; ((DATA_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;DOWNTO&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
    rdaddress&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;STD_logic_vector&lt;/span&gt;((ADDR_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
    wraddress&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;STD_logic_vector&lt;/span&gt;((ADDR_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
    we&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;STD_LOGIC&lt;/span&gt;;
    re&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;STD_LOGIC&lt;/span&gt;;
    q&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;OUT&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt; ((DATA_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;DOWNTO&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;));
&lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;read_image_VHDL&lt;/span&gt;;

&lt;span style="color: #008800; font-weight: bold;"&gt;architecture&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;behavioral&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;of&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;read_image_VHDL&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt;

&lt;span style="color: #008800; font-weight: bold;"&gt;TYPE&lt;/span&gt; mem_type &lt;span style="color: #008800; font-weight: bold;"&gt;IS&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;ARRAY&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;TO&lt;/span&gt; IMAGE_SIZE) &lt;span style="color: #008800; font-weight: bold;"&gt;OF&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;((DATA_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;DOWNTO&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);

&lt;span style="color: #008800; font-weight: bold;"&gt;impure&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;function&lt;/span&gt; init_mem(mif_file_name &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;in&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;string&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;return&lt;/span&gt; mem_type &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt;
    &lt;span style="color: #008800; font-weight: bold;"&gt;file&lt;/span&gt; mif_file &lt;span style="color: #333333;"&gt;:&lt;/span&gt; text &lt;span style="color: #008800; font-weight: bold;"&gt;open&lt;/span&gt; read_mode &lt;span style="color: #008800; font-weight: bold;"&gt;is&lt;/span&gt; mif_file_name;
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; mif_line &lt;span style="color: #333333;"&gt;:&lt;/span&gt; line;
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; temp_bv &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;bit_vector&lt;/span&gt;(DATA_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
    &lt;span style="color: #008800; font-weight: bold;"&gt;variable&lt;/span&gt; temp_mem &lt;span style="color: #333333;"&gt;:&lt;/span&gt; mem_type;
&lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;
    &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; i &lt;span style="color: #008800; font-weight: bold;"&gt;in&lt;/span&gt; mem_type&lt;span style="color: #0000cc;"&gt;'range&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;
        readline(mif_file, mif_line);
        read(mif_line, temp_bv);
        temp_mem(i) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; to_stdlogicvector(temp_bv);
    &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;;
    &lt;span style="color: #008800; font-weight: bold;"&gt;return&lt;/span&gt; temp_mem;
&lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;function&lt;/span&gt;;

&lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; ram_block&lt;span style="color: #333333;"&gt;:&lt;/span&gt; mem_type &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; init_mem(IMAGE_FILE_NAME);
&lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; read_address_reg&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;((ADDR_WIDTH&lt;span style="color: #333333;"&gt;-&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;1&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; (&lt;span style="color: #008800; font-weight: bold;"&gt;others&lt;/span&gt;&lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;);
  
&lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;
  &lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt; (clock)
  &lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt; (rising_edge(clock)) &lt;span style="color: #008800; font-weight: bold;"&gt;then&lt;/span&gt;
      &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt; (we &lt;span style="color: #333333;"&gt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'1'&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;then&lt;/span&gt;
        ram_block(to_integer(unsigned(wraddress))) &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; data;
      &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt;;
      &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt; (re &lt;span style="color: #333333;"&gt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'1'&lt;/span&gt;) &lt;span style="color: #008800; font-weight: bold;"&gt;then&lt;/span&gt;
        q &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; ram_block(to_integer(unsigned(rdaddress)));
      &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt;;
    &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;if&lt;/span&gt;;
  &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt;;

&lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;behavioral&lt;/span&gt;;
&lt;/pre&gt;
&lt;/div&gt;
&lt;h4&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="font-weight: 400;"&gt;To verify if the image binary text file is read properly, let's write a testbench to test it in a simulation. Following is the testbench for reading image in VHDL:&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.1em; border: solid gray; font-size: 1.2em; overflow: auto; padding: 0.2em 0.6em; width: auto;"&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;&lt;span style="color: #008800; font-weight: bold;"&gt;LIBRARY&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;USE&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee.std_logic_1164.ALL&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;use&lt;/span&gt; &lt;span style="color: #0e84b5; font-weight: bold;"&gt;ieee.numeric_std.all&lt;/span&gt;;
&lt;span style="color: #888888;"&gt;-- FPGA4student.com: FPGA/Verilog/VHDL projects for students&lt;/span&gt;
&lt;span style="color: #888888;"&gt;-- VHDL tutorial: How to Read images in VHDL&lt;/span&gt;
&lt;span style="color: #008800; font-weight: bold;"&gt;ENTITY&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;tb_read_image_vhdl&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IS&lt;/span&gt;
&lt;span style="color: #008800; font-weight: bold;"&gt;END&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;tb_read_image_vhdl&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;ARCHITECTURE&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;behavior&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;OF&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;tb_read_image_vhdl&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IS&lt;/span&gt; 
    &lt;span style="color: #008800; font-weight: bold;"&gt;COMPONENT&lt;/span&gt; &lt;span style="color: #bb0066; font-weight: bold;"&gt;read_image_VHDL&lt;/span&gt;
    &lt;span style="color: #008800; font-weight: bold;"&gt;PORT&lt;/span&gt;(
         clock &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt;;
         data &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;7&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
         rdaddress &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;3&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
         wraddress &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;3&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);
         we &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt;;
         re &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;IN&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt;;
         q &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;OUT&lt;/span&gt;  &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;7&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;)
        );
    &lt;span style="color: #008800; font-weight: bold;"&gt;END&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;COMPONENT&lt;/span&gt;;
   &lt;span style="color: #888888;"&gt;--Inputs&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; clock &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; data &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;7&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; (&lt;span style="color: #008800; font-weight: bold;"&gt;others&lt;/span&gt; &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;);
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; rdaddress &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;3&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; (&lt;span style="color: #008800; font-weight: bold;"&gt;others&lt;/span&gt; &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;);
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; wraddress &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;3&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;) &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; (&lt;span style="color: #008800; font-weight: bold;"&gt;others&lt;/span&gt; &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;);
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; we &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; re &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
  &lt;span style="color: #888888;"&gt;--Outputs&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; q &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(&lt;span style="color: #0000dd; font-weight: bold;"&gt;7&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;downto&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt;);

   &lt;span style="color: #888888;"&gt;-- Clock period definitions&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;constant&lt;/span&gt; clock_period &lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;time&lt;/span&gt; &lt;span style="color: #333333;"&gt;:=&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;10&lt;/span&gt; ns;&lt;/pre&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;   &lt;span style="color: #008800; font-weight: bold;"&gt;signal&lt;/span&gt; i&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;integer&lt;/span&gt;;
&lt;span style="color: #008800; font-weight: bold;"&gt;BEGIN&lt;/span&gt;
 &lt;span style="color: #888888;"&gt;-- Read image in VHDL&lt;/span&gt;
   uut&lt;span style="color: #333333;"&gt;:&lt;/span&gt; read_image_VHDL &lt;span style="color: #008800; font-weight: bold;"&gt;PORT&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;MAP&lt;/span&gt; (
          clock &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; clock,
          data &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; data,
          rdaddress &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; rdaddress,
          wraddress &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; wraddress,
          we &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; we,
          re &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; re,
          q &lt;span style="color: #333333;"&gt;=&amp;gt;&lt;/span&gt; q
        );

   &lt;span style="color: #888888;"&gt;-- Clock process definitions&lt;/span&gt;
   clock_process &lt;span style="color: #333333;"&gt;:&lt;/span&gt;&lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;
  clock &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
  &lt;span style="color: #008800; font-weight: bold;"&gt;wait&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; clock_period&lt;span style="color: #333333;"&gt;/&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;2&lt;/span&gt;;
  clock &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'1'&lt;/span&gt;;
  &lt;span style="color: #008800; font-weight: bold;"&gt;wait&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; clock_period&lt;span style="color: #333333;"&gt;/&lt;/span&gt;&lt;span style="color: #0000dd; font-weight: bold;"&gt;2&lt;/span&gt;;
   &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt;;
   &lt;span style="color: #888888;"&gt;-- Stimulus process&lt;/span&gt;
   stim_proc&lt;span style="color: #333333;"&gt;:&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt;
   &lt;span style="color: #008800; font-weight: bold;"&gt;begin&lt;/span&gt;  
                data &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; x&lt;span style="background-color: #fff0f0;"&gt;"00"&lt;/span&gt;;
  rdaddress &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; x&lt;span style="background-color: #fff0f0;"&gt;"0"&lt;/span&gt;;
  wraddress &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; x&lt;span style="background-color: #fff0f0;"&gt;"0"&lt;/span&gt;;
  we &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
  re &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'0'&lt;/span&gt;;
                &lt;span style="color: #008800; font-weight: bold;"&gt;wait&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;100&lt;/span&gt; ns;
  re &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #0044dd;"&gt;'1'&lt;/span&gt;;  
  &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; i &lt;span style="color: #008800; font-weight: bold;"&gt;in&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;0&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;to&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;15&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;
  rdaddress &lt;span style="color: #333333;"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #333399; font-weight: bold;"&gt;std_logic_vector&lt;/span&gt;(to_unsigned(i, &lt;span style="color: #0000dd; font-weight: bold;"&gt;4&lt;/span&gt;));
  &lt;span style="color: #008800; font-weight: bold;"&gt;wait&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #0000dd; font-weight: bold;"&gt;20&lt;/span&gt; ns;
  &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;loop&lt;/span&gt;;
      &lt;span style="color: #008800; font-weight: bold;"&gt;wait&lt;/span&gt;;
   &lt;span style="color: #008800; font-weight: bold;"&gt;end&lt;/span&gt; &lt;span style="color: #008800; font-weight: bold;"&gt;process&lt;/span&gt;;

&lt;span style="color: #008800; font-weight: bold;"&gt;END&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="font-weight: 400;"&gt;Now, it's time to run the simulation and check if the image binary text file is loaded correctly into the block memory. The following figure shows that the image was read properly into the block RAM of FPGAs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img alt="How to Read Image in VHDL into FPGA" border="0" data-original-height="369" data-original-width="592" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj78YVF4ZSc96hu-hGGZ0Erhheo6ddxQYrIOTIsuCcFyEihDguBdiWlm8I90ihvZJeMAqQdkDRTimw9pIvoeARyLuo5Y4gHc8W5CaSEgXnbdL4bC2YTAivpjKAgiaixSwj_N8kIpTMkIK2Z/s1600/Read_Image_in_VHDL.png" title="" /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="font-weight: 400;"&gt;To read the image data in the block memory for testing your image processing design, just provide read addresses and enable memory reading. The following simulation waveform shows the image data in the binary text file is read out correctly at the output port of the block RAM.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img alt="How to Read Image in VHDL into FPGA" border="0" data-original-height="359" data-original-width="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQui1WcWYTm_zfhsHQIUVgvY0q9MWW8qPzbA9XXI7qTteYecZVXDiT5Ntz36oB65XjIBaPjqNsqFfcZqc2y33plkaq3OgwyfErMKhdwMFVoxsvtdUZt0OlQlHImv2fUwrstTKCAV5t0e8/s1600/Read_Images_VHDL.png" title="" /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;For reading images in Verilog, the tutorial can be found &lt;a href="https://www.fpga4student.com/2016/11/image-processing-on-fpga-verilog.html"&gt;here&lt;/a&gt;.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Recommended&amp;nbsp;&lt;a href="https://www.fpga4student.com/p/vhdl-project.html"&gt;VHDL projects&lt;/a&gt;:&lt;br /&gt;1.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/what-is-fpga-five-reasons-why-i-love-fpga.html"&gt;What is an FPGA? How VHDL works on FPGA&lt;/a&gt;&lt;br /&gt;2.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/vhdl-code-for-fifo-memory.html"&gt;VHDL code for FIFO memory&lt;/a&gt;&lt;br /&gt;3.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/01/a-low-pass-fir-filter-in-vhdl.html"&gt;VHDL code for FIR Filter&lt;/a&gt;&lt;br /&gt;4.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/12/a-complete-8-bit-microcontroller-in-vhdl.html"&gt;VHDL code for 8-bit Microcontroller&lt;/a&gt;&lt;br /&gt;5.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/matrix-multiplier-core-design.html"&gt;VHDL code for Matrix Multiplication&lt;/a&gt;&lt;br /&gt;6.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/programmable-n-bit-switch-tail-ring.html"&gt;VHDL code for Switch Tail Ring Counter&lt;/a&gt;&lt;br /&gt;7.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/vhdl-code-for-digital-clock-on-fpga.html"&gt;VHDL code for digital alarm clock on FPGA&lt;/a&gt;&lt;br /&gt;8.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/verilog-code-for-8-bit-74f521-identity.html"&gt;VHDL code for 8-bit Comparator&lt;/a&gt;&lt;br /&gt;9.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2016/11/two-ways-to-load-text-file-to-fpga-or.html"&gt;How to load a text file into FPGA using VHDL&lt;/a&gt;&lt;br /&gt;10.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-d-flip-flop.html"&gt;VHDL code for D Flip Flop&lt;/a&gt;&lt;br /&gt;11.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/02/vhdl-code-for-full-adder.html"&gt;VHDL code for Full Adder&lt;/a&gt;&lt;br /&gt;12.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/pwm-generator-in-vhdl.html"&gt;PWM Generator in VHDL with Variable Duty Cycle&lt;/a&gt;&lt;br /&gt;13.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-arithmetic-logic-unit-alu.html"&gt;VHDL code for ALU&lt;/a&gt;&lt;br /&gt;14.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/06/vhdl-code-for-counters-with-testbench.html"&gt;VHDL code for counters with testbench&lt;/a&gt;&lt;br /&gt;15.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/16-bit-alu-design-in-vhdl.html"&gt;VHDL code for 16-bit ALU&lt;/a&gt;&lt;br /&gt;16.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/shifter-design-in-vhdl.html"&gt;Shifter Design in VHDL&lt;/a&gt;&lt;br /&gt;17.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/non-linear-lookup-table-implementation.html"&gt;Nonlinear Lookup Table Implementation in VHDL&lt;/a&gt;&lt;br /&gt;18.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/07/cryptographic-coprocessor-design-in-vhdl.html"&gt;Cryptographic Coprocessor Design in VHDL&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;19.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/verilog-vs-vhdl-explain-by-example.html"&gt;Verilog vs VHDL: Explain by Examples&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;20.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/vhdl-code-for-clock-divider-on-fpga.html"&gt;VHDL Code for Clock Divider on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;21.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/how-to-generate-clock-enable-signal.html"&gt;Generate clock enable signal in VHDL&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;22.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/vhdl-code-for-debouncing-buttons-on-fpga.html"&gt;VHDL code for debouncing buttons on FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;23.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/vhdl-code-for-traffic-light-controller.html"&gt;VHDL code for Traffic light controller&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;24.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/vhdl-code-for-comparator.html"&gt;VHDL code for a simple 2-bit comparator&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;25.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/vhdl-code-for-single-port-ram.html"&gt;VHDL code for a single-port RAM&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;26.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/car-parking-system-in-vhdl-using-FSM.html"&gt;VHDL code for Car Parking System using FSM&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;27.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/08/what-is-fpga-programming.html"&gt;VHDL coding vs Software Programming&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: start;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;28.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/09/vhdl-code-for-mips-processor.html"&gt;VHDL code for MIPS Processor&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;29.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/09/vhdl-code-for-moore-fsm-sequence-detector.html"&gt;VHDL code for Moore FSM Sequence Detector&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;30.&amp;nbsp;&lt;a href="https://www.fpga4student.com/2017/09/vhdl-code-for-seven-segment-display.html"&gt;VHDL code for Seven-Segment Display on Basys 3 FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="text-align: left;"&gt;&lt;b style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;31. &lt;a href="https://www.fpga4student.com/2018/08/basys-3-fpga-ov7670-camera.html"&gt;VHDL code for OV7670 Camera on Basys 3 FPGA&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSaD3G0Mi0qKYEtkeRNhY3446vOat5AsbOkgaWkmCznnFfWcqnuHToTotb1-v2kcvhW7la74msbcV0EF5WinRo0V7lwXxLPop-Sg3ct_u21lwu0bnpmhsWwARlRLV1v3ad4J9P8Vb9AKtq/s72-c/Read_Image_VHDL.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item></channel></rss>