When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
This course will introduce you to all aspects of development of Soft Processors and Intellectual Property (IP) in FPGA design. You will learn the extent of Soft Processor types and capabilities, how to make your own Soft Processor in and FPGA, including how to design the hardware and the software for a Soft Processor. You will learn how to add IP blocks and custom instructions to your Soft Processor. After the Soft Processor is made, you learn how to verify the design using simulation and an internal logic analyzer. Once complete you will know how to create and use Soft Processors and IP, a very useful skill.
This course consists of 4 modules, approximately 1 per week for 4 weeks. Each module will include an hour or two of video lectures, reading assignments, discussion prompts, and an end of module assessment.
This course includes specific hardware and software requirements. Please review the FAQ below for complete details.
This module introduces the concept of a soft processor in general, and of hardware design for the soft processor in particular. It presents an overview of soft processors, describing all the different kinds that are available from Xilinx, Altera, Microsemi, and Lattice and then goes into depth about the Nios II soft processor from Altera. The benefits of using soft processors to prevent obsolescence and provide flexibility are explained. The content guides you through a hardware design of the Nios II processor using Qsys, the Altera system design tool. Lastly, design of a custom instruction in the Nios II is presented, showing the versatility of the soft processor in an FPGA.
Non-Credit Students: Welcome and Where to Find Help•10 minutes
FPGA Softcore Processors and IP Acquisition Assessment Strategy•10 minutes
Hardware & Software Requirements•10 minutes
1 assignment•Total 30 minutes
Module 1 Quiz•30 minutes
1 discussion prompt•Total 10 minutes
Introduce Yourself•10 minutes
Writing Software for Softcore Processors
Module 2•3 hours to complete
Module details
This module delves further into the development of soft processors, It describes the soft processor development flow in more detail, including the tools needed to develop software for the soft processor. It then introduces the Eclipse-based IDE for Nios II software development, and then shows how the output of the Qsys design is used to establish a Board Support Package (BSP) for the processor, which is necessary because the processor hardware design can be changed and the BSP software library must support any changes. Use of the BSP editor to configure the processor by programming control registers is demonstrated. Finally, the use of the custom instruction developed in Module 1 is presented, including the use of software macros to complete the implementation of the custom instruction.
What's included
8 videos1 reading1 assignment
Show info about module content
8 videos•Total 33 minutes
Introduction to Software for Soft Processors•3 minutes
Software for Soft Processors•4 minutes
Introduction to the NIOS IDE•4 minutes
C Programming for Soft Processors•4 minutes
Building C Programs•3 minutes
Programming Soft Processors•6 minutes
Memory in the NIOS II•5 minutes
Accessing Custom instructions•4 minutes
1 reading•Total 90 minutes
Week 2 Readings•90 minutes
1 assignment•Total 30 minutes
Module 2 Quiz•30 minutes
IP Acquisition and Integration
Module 3•2 hours to complete
Module details
Modern FPGA design is no longer centered on HDL module design as it is on acquisition and use of IP Cores. In this Module we will introduce IP cores including offerings from all the major vendors, Intel Altera, Xilinx, Microchip Microsemi, and Lattice. You will learn how to find, acquire, and use these cores.
What's included
6 videos1 reading1 assignment
Show info about module content
6 videos•Total 26 minutes
Introduction to IP Cores•2 minutes
Microsemi IP Cores•6 minutes
Intel Altera IP Cores•7 minutes
Xilinx IP Cores•2 minutes
Lattice IP Cores•5 minutes
Intel Altera IP Cores for Qsys•4 minutes
1 reading•Total 60 minutes
Week 3 Readings•60 minutes
1 assignment•Total 30 minutes
Module 3 Quiz•30 minutes
Introducing ModelSim and Simulation for Verification
Module 4•4 hours to complete
Module details
As we work on more complex FPGA designs, the challenges to create an error-free design mount exponentially. Having a good grasp of the tools needed to verify correctness of design has become more and more important. After introducing simulation in previous sessions, in this module we will examine simulation with ModelSim in more depth by working through some examples. This will show the utility of simulation for verification and debugging. This module will also describe in some detail how the simulator works and how it achieves concurrency through the use of delta delays. As a final step in the debugging process, the internal logic analyzer SignalTap II is introduced.
What's included
8 videos1 reading1 assignment
Show info about module content
8 videos•Total 67 minutes
Introducing ModelSim and Simulation for Verification•2 minutes
Basics of RTL Simulation•9 minutes
Simulation with Altera ModelSim•9 minutes
Starting ModelSim from Quartus Prime•13 minutes
Testbenches for Verification•4 minutes
Designing for Simulation•13 minutes
Simulation for Verification•8 minutes
Logic Analysis with SignalTap II•9 minutes
1 reading•Total 120 minutes
Week 4 Reading•120 minutes
1 assignment•Total 30 minutes
Module 4 Quiz•30 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
View eligible degrees
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
OK
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
3.9
98 reviews
5 stars
46.93%
4 stars
18.36%
3 stars
20.40%
2 stars
7.14%
1 star
7.14%
Showing 3 of 98
M
MB
4·
Reviewed on Aug 11, 2021
I was hoping to get more lecture material on writing testbench code.
J
JC
5·
Reviewed on Jul 16, 2023
This course is excellent. There are a lot of practical knowledge to deepen and enlarge the contents of the previous courses.
H
HS
4·
Reviewed on Sep 7, 2021
The course bring good theoric bases to IPCores but leaves short informacion about the Qsys use, memory map and others things that are necesary for system integration.
What are the hardware and software requirements for this course?
System Requirements
● Computer capable of running the required FPGA development tools
● Supported operating systems
● Windows 10 or 11
● Recent Linux OS (for example RHEL 6.5, CentOS 6.5 or later), either native or in a virtual machine under Windows 8 or 10
● At least 8 GB of RAM
● At least 20 GB of free disk space to download and install Quartus Prime Lite 16.1, ModelSim 16.1, programmer tools, and course project files
Hardware Requirements
For this course in the specialization a hardware board is not required. However, for the fourth and final course, ECEA 5363 FPGA Capstone: Building FPGA Projects, the DE10-Lite board is required.
Ability to install the following FPGA development tools provided in the course (Windows versions):
● Quartus Prime Lite Edition 16.1
● ModelSim Intel FPGA Edition 16.1
● Quartus Programmer and device support files (MAX 10 and Cyclone device families)
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.