## Programming resources

### Real Analog: Circuits 1

"Real Analog" is a comprehensive collection of free educational materials that seamlessly blend hands-on design projects with theoretical concepts and circuit analysis techniques. Developed for university "Circuits" classes by practicing engineers and experienced educators, Real Analog is centered on a newly-written 12-chapter textbook and features:

• Exercises designed to reinforce textbook and lecture topics
• Homework assignments for every chapter
• Multiple design projects that reinforce and extend theoretical concepts
• Worksheets and videos to help students complete design projects outside of the lab

Design projects use Digilent's Analog Discovery and \$49* Analog Parts Kit that together include everything needed to build and test a wide variety of analog circuits - the Analog Discovery includes a dual-channel oscilloscope, waveform generator, power supplies, digital I/O channels and more, and the Analog Parts Kit includes a breadboard, jumper wires, more than 20 integrated circuits from Analog Devices, and a wide variety of sensors, resistors, capacitors, discrete semiconductors, and other components.

Real Analog, the Analog Discovery and Analog Parts Kit form the core of a world-class engineering educational program that can be used by themselves or in support of existing curricular materials. Students with their own design kits learn more, learn faster, retain information longer, and have a more enjoyable experience - now every student can take charge of their education for less than the cost of a textbook!

Note: To see the previous version of Circuits 1 for the Electronics Explorer, click here.

## Programming resources

### Introduction to Algorithmic Problem Solving using Python

#### Instructor: John B. Schneider

This course provides an introduction to computer programming where it is assumed you have no prior programming experience. The Python programming language is used to present various constructs that are present, in one form or another, in nearly all the major computer languages. Python is used because it is generally easier to learn than most other languages and yet it is truly an "industrial strength" language used throughout industry and academia.

Topics to be covered include: data type, assignment, arithmetic, input and output, type conversion, functions, strings, lists, loops, file manipulation, conditional statements, objects, modules, recursion, and dictionaries. Having mastered the material in this course you will be able to implement Python programs to solve any number of problems (including some truly challenging ones!). Furthermore, having learned this material, you will be much better prepared to learn other languages such as C and Java.

## FPGA-based resources

### Real Digital - A hands-on approach to digital design

#### Author: Clint Cole

"Real Digital" is a collection of educational materials developed for use in introductory digital design classes. It is presented as an ordered series of modules that contain written chapters, exercises and hands-on design projects. Each module corresponds to about three lectures, or one week, in a typical University setting.

Real Digital is also available in print form, and can be bundled with a Basys 2 or Nexys 2 for a discount. See the textbook category for more information.

### Xilinx FPGA tutorials

A comprehensive set of free, online training materials produced by our partner Xilinx. These tutorials cover a wide spectrum, from basic information for beginners to advanced design topics.

#### Free Online FPGA Design Training (Video courses)

Online FPGA, DSP and Embedded design training courses available 24x7 at no charge. Topics range from high-level software updates and ASIC to FPGA conversion strategies to specifics on device architecture and coding techniques.

#### Xilinx University Program (XUP) Workshops

Xilinx University Program (XUP) workshops comprises of presentations combined with hands-on lab exercises. The workshops material are available in areas of FPGA design flow, embedded system design, digital signal processing, high-level synthesis, partial reconfiguration, and embedded linux. All workshop materials are in English.

## FPGA Textbooks using Digilent products

### "Digital Design" / "Introduction to Digital Design"

#### Written by Richard E. Haskell & Darrin M. Hanna

These books use a wide range of examples to show you how to get started designing digital circuits, simulate them, and quickly and easily download them to your Basys or Nexys2 board. Available in VHDL or Verilog editions.

### "Trends in Embedded Design Using Programmable Gate Arrays"

#### Written by Dennis Silage

This text describes modern embedded processing systems using the Field Programmable Gate Array. This new paradigm in embedded design utilizes the Verilog Hardware Descriptive Language behavioral synthesis of controller and datapath constructs and the finite state machine for digital signal processing, communications and control with the FPGA, external hard core and internal soft core peripherals. This text features the Xilinx Spartan-6, Nexys 3, and Atlys evaluation boards, as well as the Xilinx ISE EDA and the Xilinix LogiCORE blocks. "Trends in Embedded Design Using Programmable Gate Arrays" is intended as a supplementary text and laboratory manual for undergraduate students in a contemporary course in digital logic and embedded systems.

### "Embedded Design Using Programmable Gate Arrays"

#### Written by Dennis Silage

This text describes modern embedded processing systems using the Field Programmable Gate Array. This new paradigm in embedded design utilizes the Verilog Hardware Description Language behavioral synthesis of controller and datapath constructs and the Finite State Machine for Digital Signal Processing, communications and control with the FPGA, external hard core peripherals, custom internal soft core peripherals and the soft core processor. This text features the Xilinx Spartan-3E Starter Board, the Xilinx ISE WebPACK EDA, Xilinx LogiCORE blocks and the Xilinx PicoBlaze soft core processor. "Embedded Design Using Programmable Gate Arrays" is intended as a supplementary text and laboratory manual for undergraduate students in a contemporary course in digital logic and embedded systems.

### "FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version"

#### Written by Pong P. Chu

This book uses a "learn by doing" approach to introduce the concepts and techniques of VHDL and FPGA to designers through a series of hands-on experiments. FPGA Prototyping by VHDL Examples provides a collection of clear, easy-to-follow templates for quick code development, a large number of practical examples to illustrate and reinforce the concepts and design techniques, realistic projects that can be implemented and tested on a Xilinx prototyping board, and a thorough exploration of the Xilinx PicoBlaze soft-core microcontroller.

### "Fundamentals of Digital & Computer Design With VHDL"

#### Written by Richard S. Sandige

This text book provides an introductory course in digital design and computer design. VHDL is used throughout the book to generate most of the designs in the book. No prerequisite is required for this book. The book is intended for students enrolled in electrical engineering , computer engineering, and computer science in their freshman or sophomore year. The first half of the book (Chapters 1 through 9) concentrates on digital design and the second half of the book (Chapters 10 through 25) concentrates on computer design and assembly language programming.