We may earn an affiliate commission when you visit our partners.
Course image
M Ajmir GOOLAM HOSSEN

This course was designed to give students an opportunity to kick-start their skills to Design Digital Electronics WITHOUT the hurdle of having to code in HDL.

How this course works

Concepts are first explained, then demonstrated by using the ISE software from Xilinx. Coding in HDL languages will not be taught in this course but instead, Schematics will be used as it is easier for beginners. Students will only need drag, drop and connect schematic symbols together. Then Run through the flow of ISE to generate the bit file.The bit file will be downloaded on the board to see the results.

Read more

This course was designed to give students an opportunity to kick-start their skills to Design Digital Electronics WITHOUT the hurdle of having to code in HDL.

How this course works

Concepts are first explained, then demonstrated by using the ISE software from Xilinx. Coding in HDL languages will not be taught in this course but instead, Schematics will be used as it is easier for beginners. Students will only need drag, drop and connect schematic symbols together. Then Run through the flow of ISE to generate the bit file.The bit file will be downloaded on the board to see the results.

The goal is to quickly put together designs and try them on the board, without the hurdle of VHDL/Verilog coding. In this way, you will focus on how Digital Electronics works.

This course doesn't show software simulation but focuses on testing your designs straight on the board.

What will you need?

You will need to download and install Xilinx ISE software in the Webpack version, which is free. Ideally you will need the Basys 2 board, which uses the Spartan

Content

The course is split in sections of the main building blocks of Digital Electronics such as Registers, Logic Gates, Random Access memory etc...

In each section there is explanation of various blocks e.g in the Registers section will be explained the Flip Flops and Shift Registers. After most blocks explanation there will be a practical activity on how to implement the circuit on an FPGA and verify the design on the Basys 2 board.

Quizzes

There is a generous number of quizzes between the lessons to help the students keep focused and find the course fun to undertake.

Practical

Most of the Practical Activities will be simply to load the design on your Basys2 board and use the switches as input & LEDs as output. Additionally, at the end of the course, you will also learn how to connect the board to other external components using JTAGs through the use of wires and a breadboard.

Enroll now

What's inside

Learning objectives

  • Design simple digital systems from scratch
  • Use ise schematics to design digital systems on fpga
  • Load design on fpga board and verify design

Syllabus

Introduction

This is an introduction to the course.You will learn about some basic concepts in digital electronics, the hardware & software that will be used and the different digital elements that will be dealt with in the course.

Read more

This lesson will show you the steps to download and install ISE on your machine. You will have to go to download section of Xilinx.com and download ISE 14.7. This is the last version of ISE which support Schematic Design entry. Once ISE Webpack is installed, you will need a license to use the software.

You will learn how to get a free license for ISE Webpack. This will allow you to use ISE perpetually for certain devices, including that on the Basys2 board. This license allows the use of the full flow of ISE.

Since you will use ISE in this course, it's good idea to know how to get around in the Project Navigator. You will learn how to open, save, add new sources, create a new course, archive etc...

This lecture will show the typical gates used in digital electronics and they are:

(1) OR,

(2) AND,

(3) XOR,

(4) XNOR,

(5) NOR,

(6) NAND

This lesson shows how to implement a single logic gate, which is the XOR on the board. It will be a very simple design with one gate and ports. Once loaded on the board, you will be able to test it using LEDs.

In this lesson we will see how to implement a more complex design made up of multiple interconnected gates. The design will be implemented on the board and will use the switches for input and the LEDs to indicate output.

Registers or Flip Flops are important building blocks in digital circuitry. They are mainly used to store information in the form of bits. Most Flip flops will be used synchronously with the clock. In this lesson we will implement a simple FF on the board.

In this lesson you will learn how to use a basic Data FF on an FPGA. You will see how it works on hardware.

We will introduce the concept of Clear and Enable in relation Flip Flops (FF). If a flip flop has a clear pin, a HIGH value will normally clear the state of the FF to ZERO. When the clear pin is LOW, it will have no effect on the FF and so it would work normally.

Enable line is to enable to FF to work normally (when Enable=1) or stay unaffected by the clock (when Enable = 0).

Shift Registers are useful piece of circuitry for buffering data, pipelining and more. We will connect individual Flip Flops to build a Shift Register and see it work on hardware by shifting some data in.

Since a push button is slow, push it down will create a pulse of several period cycles. A debouncer circuit has the job of outputting a single pulse from a push button. It consists of three registers and ANDED outputs.

In this project will add a debouncer circuit as a symbol and use it to feed the Chip Enable of the Shift Register (SR). This will allow us to see the shifting of bits into the SR by pushing the push button on our board.

Using selector lines of Multiplexers can allow specific input to go through the multiplexer in real time on hardware. If the number of selector bits are n, then the number of input lines would be 2 power n e.g 3 bits selector will control up to 8 input lines

You will see how to Implement a simple Multiplexer on the FPGA Board. You will use the Mux to select which input will go through to the output using selectors.

In this lesson you will learn the concept of Binary Counter. In the binary world, numbers are only represented with 1 and 0's.

In this lesson you will learn how to build a basic counter easily and see it increment using LED's on the board

The Xilinx Symbol Library has adders and subtractors that can be used to add/subtract two numbers in binary.

We will implement a simple adder on the FPGA using binary numbers. We will verify the adder on hardware against a calculator.

RAM's are Random Access Memories used to store temporary data. The data in the RAM is volatile and so cannot be stored when the power is off on the board. You will learn about the normal connections to a RAM and how are data structured in it.

In this lesson we will implement a RAM on hardware, store some data, then retrieve the data when needed.

It is common to use states to define an electronic system. For example: an alarm can be in a state of 'no alarm' or 'alarm' or 'stand by' etc...State Machines are very useful piece of electronic circuitry used to store information about States. In this lesson you will learn how to describe and design state machines.

There are two main types of States Machines: (1) Mealy and (2) Moore.

In this lesson we will implement the state machine that we described in the previous lesson on an FPGA. We will check how the state changes with different sequence of input.

In this lesson, the State Transition Table will be derived and explained

From the truth table, the Transition and Output Logic will be designed and we will confirm that the derived logic match that of the project for this alarm.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses schematics instead of HDL coding, which may be more accessible for beginners who are new to digital design and field-programmable gate arrays
Focuses on practical implementation and testing on hardware, which allows learners to see the immediate results of their designs and reinforce their understanding
Covers fundamental building blocks of digital electronics, such as logic gates, registers, multiplexers, counters, adders, RAM, and state machines, which provides a solid foundation
Requires Xilinx ISE software, which is free, but the course explicitly uses version 14.7, which was released in 2013 and is no longer supported
Requires a Basys 2 FPGA board, which may be an additional cost for students who do not already have one, but it is widely available

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Beginner digital electronics with schematics & fpga

According to learners, this course provides a solid introduction to digital electronics using a schematic-based design entry, which many found significantly easier for beginners than starting with HDL coding. Students appreciated the strong focus on hands-on practical exercises, allowing them to test designs directly on an FPGA board (specifically the Basys 2). While the core concepts and the practical approach received largely positive feedback, a recurring challenge mentioned by reviewers across different publication dates is the difficulty and outdated nature of the required software (Xilinx ISE 14.7) and finding the specific Basys 2 hardware. Some also felt the course could offer more depth on advanced topics after covering the fundamentals.
Mostly clear, occasional confusion.
"The instructor explains things clearly..."
"Sometimes the explanations are a bit basic or confusing."
"Clear, concise, and practical."
"Found some parts difficult to follow without external resources."
Good for intro, less for advanced topics.
"Some sections could go into a little more detail."
"Content is basic, not much depth for intermediate learners."
"The later topics like state machines felt rushed."
"Wish there was more advanced content or suggestions for next steps after this course."
Solid introduction to digital basics.
"Good introduction to digital electronics and FPGAs. Covers the fundamentals well."
"Learned a lot about the basics - gates, registers, state machines were explained clearly."
"Decent course for understanding basic logic gates and registers."
"Provides a solid foundation in using basic digital building blocks."
Practical testing directly on FPGA board.
"Loved seeing everything work on the Basys 2 board. The practical examples are very helpful."
"The hardware verification is a great idea and seeing the results on the LEDs is very rewarding."
"This course doesn't show software simulation but focuses on testing your designs straight on the board."
"The focus on direct hardware implementation instead of simulation is fantastic for understanding real-world behavior."
Simplified design entry without HDL.
"The schematic approach is a game changer, much easier than VHDL. This method made learning digital logic much less intimidating."
"Excellent course for beginners! The schematic approach is a game changer, much easier than VHDL."
"Learning with schematics made it easy to visualize the logic and understand the flow, great for someone new to FPGAs."
"I really appreciated not having to learn VHDL or Verilog right away; the schematics are perfect for visualizing circuits."
Requires specific, often outdated tools.
"Struggled a lot with the ISE setup, the links were broken and it felt very outdated. Wasted my time just getting started."
"The ISE installation process was frustrating and took a long time to get the license working."
"Basys 2 boards are hard to find and expensive now, and the software (ISE 14.7) is old and unsupported."
"It relies entirely on this outdated software and specific hardware, which is a major barrier to entry."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn Digital Electronics using Schematics & FPGA Boards with these activities:
Review Basic Logic Gates
Reviewing basic logic gates will provide a solid foundation for understanding more complex digital circuits designed in the course.
Browse courses on Logic Gates
Show steps
  • Review truth tables for AND, OR, NOT, XOR, NAND, and NOR gates.
  • Practice simplifying Boolean expressions using Karnaugh maps.
  • Simulate basic logic circuits using online tools.
Read 'Digital Design and Computer Architecture'
Reading this book will provide a broader and deeper understanding of digital design concepts, complementing the course material.
Show steps
  • Read the chapters related to logic gates, flip-flops, and state machines.
  • Work through the example problems and exercises in the book.
  • Compare the book's explanations with the course lectures.
Design a Simple Counter Circuit
Designing a counter circuit will allow you to apply the concepts learned in the course to a practical problem.
Show steps
  • Design the counter using flip-flops and logic gates in a schematic editor.
  • Simulate the counter to verify its functionality.
  • Implement the counter on an FPGA board and test its operation.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement Logic Circuits on FPGA
Practicing implementing logic circuits on an FPGA board will reinforce your understanding of digital design and hardware implementation.
Show steps
  • Choose a set of logic circuits of varying complexity.
  • Implement each circuit on the FPGA board using the ISE software.
  • Test the circuits and debug any errors.
Create a Digital Electronics Blog
Creating a blog will help you solidify your understanding of digital electronics by explaining concepts to others.
Show steps
  • Create a blog or website to host your content.
  • Write articles explaining key concepts in digital electronics.
  • Include diagrams, schematics, and examples in your articles.
  • Share your blog with others and solicit feedback.
Reference 'FPGA Prototyping by VHDL Examples'
Referencing this book will help you understand the VHDL code generated by the ISE software, even though the course focuses on schematics.
Show steps
  • Read the chapters related to the specific FPGA board used in the course.
  • Study the VHDL examples and compare them to the schematic designs.
  • Experiment with modifying the VHDL code and observing the results on the FPGA board.
Final Project: Design a Digital Clock
Designing a digital clock will integrate all the concepts learned in the course into a single, complex project.
Show steps
  • Design the clock circuit using schematics, including counters, multiplexers, and display drivers.
  • Simulate the clock circuit to verify its functionality.
  • Implement the clock on an FPGA board and test its operation.
  • Document your design and create a presentation to showcase your work.

Career center

Learners who complete Learn Digital Electronics using Schematics & FPGA Boards will develop knowledge and skills that may be useful to these careers:
Digital Circuit Designer
A digital circuit designer creates and tests the digital components of electronic devices. This course uses schematics to design digital circuits, which is an ideal way to introduce this career. This role requires a deep understanding of the electronic building blocks such as logic gates, registers, and random access memory, all of which are covered. Understanding how these blocks function by implementing them on a physical FPGA board is crucial. This course's focus on hands-on practical implementation is therefore highly relevant. A digital circuit designer will find the course's emphasis on building and testing circuits to be extremely useful.
Hardware Engineer
A hardware engineer designs, develops, and tests computer hardware and related equipment. This course provides a practical introduction to digital electronics, using schematics and FPGA boards. A hardware engineer must understand circuits and their basic elements such as registers, logic gates, and random access memory. This course helps by providing the student with practice implementing designs directly on hardware, an essential skill for any hardware engineer. This course introduces hardware and software for design. Although it does not cover HDL, it uses schematic design entry, a fundamental aspect of this role. A hardware engineer will find the course's emphasis on hands on design and testing useful.
Embedded Systems Engineer
An embedded systems engineer develops firmware and software for devices. This role requires a solid knowledge of digital circuits and how to implement them on hardware. This course provides an introduction to implementing digital designs without requiring knowledge of complex HDL, using schematics instead. The course enables a student to develop familiarity with key digital building blocks such as registers and logic gates which are relevant to embedded systems engineering. Skills gained from working with FPGA boards and understanding how each component works will help an aspiring embedded systems engineer. The focus on practical design and testing on the board is particularly useful.
Computer Hardware Technician
A computer hardware technician troubleshoots, repairs, and maintains computer hardware and related equipment. This course helps to provide a practical understanding of digital circuits by implementing them directly onto FPGA boards using schematics. Since a computer hardware technician often needs to perform low level tasks, such as verifying functionality of a component, they will find the practical design covered in this course to be valuable. This course covers important digital blocks, such as logic gates, registers, and random access memory. The hands-on approach to hardware will give a computer hardware technician a valuable base of knowledge.
Electronics Technician
An electronics technician builds, tests, and repairs electronic components and systems. This role often involves working with schematics and hardware, and this course helps build a foundation in understanding digital circuit design. The course's hands-on experience with FPGA boards directly relates to the practical aspects of this job. The ability to implement designs on a board translates well to testing and troubleshooting real-world electronic systems. The technician also uses knowledge of logic gates, registers, and memory learned in the course to perform tasks. This course’s focus on practical implementation and hardware verification is particularly beneficial for an aspiring electronics technician.
Robotics Technician
A robotics technician builds, tests, and maintains robotic systems. This role requires a knowledge of both the mechanical and electronic aspects that make up a robot. This course develops a practical understanding of the digital electronics foundational to robotics by using schematic designs. The course enables the student to design and implement circuits on FPGA boards, skills that are directly applicable to this role. The course’s coverage of logic gates, registers, and memory is also highly relevant to this work. A robotics technician will benefit from the hands-on design and testing approach of the course. Understanding the basic circuit elements of a robot helps improve the quality of a technician's work.
Automation Engineer
An automation engineer designs and implements automated systems using a variety of digital and electrical components. This course provides an introduction to digital design, using schematics and FPGA boards. Although the course does not teach HDL, it does help build a practical understanding of digital circuitry. The automation engineer must understand key components like logic gates, registers, and random access memory, all of which are covered in the course. The hands-on approach to implementing designs on hardware directly relates to the practical tasks of this role. By learning how to verify a design on a board, automation engineers gain skills that allow them to troubleshoot and maintain systems.
Test Engineer
A test engineer develops and executes tests to ensure the quality of electronic systems and components. This course helps to build practical knowledge of digital electronics by using schematics to design and implement circuits on an FPGA board. The hands-on approach to designing and testing circuits gives real experience that will be valuable in this role. The course covers core digital electronics concepts such as logic gates, registers, and memory, which are often the focus of test procedures. By learning how to verify a design on hardware, a test engineer can better understand what aspects of hardware to test. Students may use this course to understand the core aspects of digital design such as schematic creation and verification.
Control Systems Engineer
A control systems engineer designs and implements systems that regulate automated machinery and processes. An understanding of digital electronics is a key skill and this course can be a practical introduction. A control systems engineer may benefit from this course's hands on approach to designing and implementing circuits on an FPGA board. The course’s coverage of digital building blocks such as logic gates, registers, and memory is directly applicable to this role. Although the role focus is on the system as a whole rather than circuit design, control systems rely on these components, which are covered in the course. The course’s focus on implementing and testing circuits is particularly useful.
FPGA Design Engineer
An FPGA design engineer develops digital circuits and systems using FPGAs. This course helps to build a foundation by introducing the usage of schematics for digital design. Although not requiring HDL coding, it emphasizes the application of digital design principles on an FPGA platform, which is this role's core. The hands-on approach to implementing designs on the Basys 2 board is valuable, aligning with the practical nature of this work. The course covers essential digital components such as registers, logic gates, and memory, which an FPGA design engineer uses daily. While this course may not teach complex designs, it may be helpful for those interested in learning how to use FPGAs.
Instrumentation Technician
An instrumentation technician installs, maintains, and repairs the instruments and control systems used in industrial processes. Although much of modern instrumentation is software-based, a practical understanding of the hardware components is still essential. The course may be beneficial to build a foundation in digital electronics through the use of schematics and FPGA boards. The course's hands-on approach to designing and implementing circuits may be highly useful in this role. Instrumentation technicians may be called upon to test logic gates, registers, and memory, all of which are covered in the course. A technician will gain the ability to test and verify circuits through the course and to troubleshoot issues.
Product Development Engineer
A product development engineer designs and develops new products, often involving electronic components. This course may be useful to those in product development working in the electronics field. The course's hands-on approach to designing circuits on an FPGA board will give the engineer a valuable understanding of hardware. The engineer may also use their practical knowledge of building blocks such as logic gates, registers, and memory to design real world products. Although the role is broad, the course provides valuable hardware experience to product development. By understanding the circuit design process, a product developer is better equipped to work with digital hardware.
Systems Integrator
A systems integrator combines different components into a working system. This requires some knowledge of digital electronics and this course may be helpful in that area. The ability to use schematics to design digital circuits and to implement them on an FPGA board is relevant to this role. The course will help to build practical knowledge of foundational digital concepts such as logic gates, registers, and memory. Although an integrator may not be directly involved in schematic design, they need to understand how circuits function, which the course helps to provide. The course's focus on hands-on implementation will build valuable knowledge.
Process Engineer
A process engineer develops and optimizes industrial processes. The course may be useful to process engineers who work with automated or digital systems. In this role, the engineer needs to understand the function of digital systems which can be gained by this course's hands-on approach to designing circuits. Although their work is high level, having a practical understanding how digital circuits work is beneficial. The use of schematics and the implementation of designs on a board may help with the broader understanding of the digital technology involved in process engineering. The engineer must also be equipped to troubleshoot problems which is aided by the testing and verification steps of the course.
Research Assistant
A research assistant helps conduct experiments and collect data in various technical fields. In some roles, a research assistant may be required to work with digital hardware. This course may be helpful for those who wish to understand the underlying digital circuits used. The hands on nature of this course, implementing designs using schematics and testing them on an FPGA board, will be useful. The course introduces fundamental building blocks like logic gates, registers, and memory, which are essential in many areas of research. Although not a focus of this role, having an understanding of basic circuit design via schematics will be valuable. This course will help develop practical knowledge of electronics.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn Digital Electronics using Schematics & FPGA Boards.
Provides a comprehensive overview of digital design principles, covering topics from basic logic gates to more advanced concepts like state machines and computer architecture. It's a valuable resource for understanding the underlying principles behind the digital systems you'll be designing. While not strictly required, it offers a deeper dive into the subject matter and serves as an excellent reference for further exploration. It is commonly used as a textbook in undergraduate digital design courses.
Provides practical examples of FPGA prototyping using VHDL. While the course focuses on schematic design, understanding VHDL can be beneficial for more advanced projects and debugging. This book can be used as a reference to understand the underlying hardware description language concepts. It is more valuable as additional reading for those interested in expanding their knowledge beyond schematic design.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser