Behind the Scenes with SUME
You may have heard of the NetFPGA-SUME, Digilent’s amazingly advanced board that features one of the largest and most complex FPGAs ever produced. But what is the story behind it?
You may have heard of the NetFPGA-SUME, Digilent’s amazingly advanced board that features one of the largest and most complex FPGAs ever produced. But what is the story behind it?
During the Christmas break, I ended up reading iLAB Analog, a new textbook written by Dr. Chen Yun Chao from National Taipei University of Technology Department of Electronic Engineering. I was excited to read a book that deals with both conceptual knowledge and has practical labs. For anyone who wants to learn about analog circuits but has very basic knowledge of physics, it is a good starting point. This book is currently being used in the Intro to Analog Circuits class held at National Taipei University of Technology.
With great excitement, we would like to show off the NetFPGA-Sume, our most complicated board to date, featuring the Xilinx, Inc. Virtex-7 FPGA!
Our new product, the Nexys4 DDR, is now available for sale! We have been anxiously awaiting this board’s release ever since we received an end-of-life notice from Micron (our memory provider) about cellular RAM that we had been using on all of our Nexys-class products. Rather than strip features off the current Nexys4, we decided to evolve the product line to accept DDR Memory. Check it out now!
As you learned from my previous post (the Analog Edition version of this post), we used the Analog Parts Kit and Analog Discovery in EE352 at Washington State University (WSU) to make an AM radio transmitter and receiver. Not only do we use Digilent products in EE352, but we also used Digilent parts in EE324 (Fundamentals of Digital Systems) — the digital lab class I was taking.
Hysteresis is something that is all around us. Its effects can be found in many disciplines, like economics and biology, but especially in engineering and physics. But what is it? How do we use it? Let’s do some digging to find out.
Structures are a group of related variables that are placed under one name. Unlike arrays, structures are not limited to one data type. The struct keyword will allow us to create a structure.
When working with microcontrollers, it’s pretty straightforward to have your system board “listen” for an input that you would give it and have it do some sort of action to show that it noticed your input, such as pressing a button to light up an LED. Listening to a set of inputs and then comparing them to a predetermined set, like in the Simon Says game, is a little more involved but definitely doable. But what if we did not compare to any internal values and the system board has no idea how many inputs we might provide?
True! Boolean is a data type. However, it’s also a term that gets thrown around in the electronics world by programmers presuming that everybody else knows what they are talking about; I can personally attest that this is not always the case. In light of this, let’s go over some of the data types that are commonly used in programming.
It’s time for another Pmod feature! Today, we’re going to check out the Connector Pmods. Rather than just being strictly limited to a pure input Pmod or pure output Pmod, all of these Pmods are able to easily communicate with the system board in both directions. Although many of these Pmods might be chalked up to simple “pass-through” modules, I certainly wouldn’t label them that way. These Pmods offer some invaluable features that are otherwise not so easily obtained.
One of the reasons I like working at Digilent is that we are primarily an educational company. Because of that, I thought some of you might want to know how we use Digilent products in our classwork at Washington State University (WSU).
Today we’re going to compare two different ways of increasing the functionality of a system board: Pmods and shields. Those of you have that have been following the Digilent Blog know that Pmods are Digilent’s series of peripheral modules with 6-12 pins that can easily be connected to appropriate pins on a system board to provide extra functionality and include audio amplifiers, GPS receivers, USB to UART interface, seven-segment displays, accelerometers, H-bridges with input feedback, analog-to-digital converters, and much more. For the rest of you who have been in this sector of the electronics industry, you know that shields are a type of board that you can plug directly on top of your microcontroller in a nice pin-to-pin fashion for expanded functionality. Although you might suspect which of these two items I prefer, we’ll check out the advantages of both of them.
This blog post will cover the basics of pointers, a programming tool that is used in languages like C and C++. In this post, we will be using C as our primary language. Pointers are variables that contain a memory address (a concept used to access the computer’s primary storage memory). Variables normally contain a value such as 1 or ‘a’, but pointers contain an address of the value. When we reference a variable through pointers, this is called indirection. Each link goes to a text file of C code. This code can be run as is and will help show us the power of pointers!
In the not too distant past, we made a couple of posts on Pmods that can help drive motors as well as a post on stepper motors. Today, we’re going to check out running multiple servo motors on a chipKIT board. Why would we want to do this? Well, aside from the nice feeling that comes from successfully doing some extreme multitasking, we’d also be able to run some super cool mechatronics projects, such as a robot arm!
Dave Jones from the EEV Blog and co-host on the Amp Hour Podcast did a thorough review of one of our most popular kits, the Analog Discovery.
A huge part of FPGA design is using logic blocks in design. With logic blocks, you can compartmentalize your design, rather than trying implement everything in one shot. Designing without smaller blocks would be like trying to design a car without subsystems like the braking system or engine. About half of the way through the course there is a project that covers a variety of basic logic blocks, including multiplexers (muxes) and demultiplexers (demuxes). So what are muxes and demuxes?
Here at Digilent we have a ton of products with a large amount of documentation and examples (like our Learn site and our Instructables page) letting you know how you can use our products. Within all of these, there are statements about what each product is (and is not) capable of in addition to the recommended operating condition. Some of you may be wondering, “How do we know these things?” Much of the information presented is determined from a datasheet. But where do we find this sort of information in the datasheet, or how do we even read a datasheet? Let’s find out.
One of the most exciting things you can do with electronics besides blinking LEDs, is make things move. What’s the most common way to make things move? Motors. If you’ve done much with motor control, you’ve probably heard of H-bridges. But what exactly is an H-bridge?
Computers have several difference ways of keeping track of the information that it is given. Most people in the world, which included myself until recently, might think there are only two kinds of memory: the “random access memory” (RAM) that computers have, and the flash memory that you can put on a thumb drive and carry around in your backpack without an issue. However, despite knowing that these two types of memory are not the whole picture, it was my personal experience that trying to learn more usually resulted in my eyes instantly glazing over; this is rather unhelpful in terms of actually learning something. Keeping this in mind, we’re going to do a broad overview of the different types of RAM, hopefully without the glazing over effect.
Today, we’re going to check out the last chunk of the input Pmods™ that Digilent offers. This set of inputs are slightly different than the inherent sensors that we saw last time. Although these Pmods are designed to give the system board information about the outside world, but this time you are their whole world. These tactile Pmods are designed so that they respond when you physically interact with them. It’s kinda like playing outside…in the comfort of your own home.
It is time to check out another set of the Digilent Pmods! Last time, we looked at a subset of the input focused Pmods, the analog-to-digital converters. Today, we’re going to take a look at more of the input Pmods, most of which incorporate ADCs into their design structure. These ten peripheral modules are all inherent sensors, reporting the temperature, location, light level, or movement without the user needing to physically interact with them.
I really enjoy what I do here at Digilent. I get to work with some of the best tools available for students, professionals, and hobbyists alike. One of the things I like most is how easy it is to get your hands on a good quality microcontroller board, like the chipKIT Uno32. But even once you get a good board, it will still need to be programmed.
As many of you know, it is possible with many types of displays, such as LCDs and LED displays, to create your own custom characters and, naturally, display them. However, to create your own characters, you need to be able to create a bitmap of how your character (or characters) look. We will be working with the PmodOLED and it’s corresponding library to create our own characters.
On our website, WaveForms is described as a powerful suite of virtual instruments that brings analog and digital circuit design to your PC desktop. The instruments within WaveForms include an oscilloscope, logic analyzer, arbitrary waveform generator, digital pattern generator, power supplies, a voltmeter, virtual I/O devices, and a spectrum analyzer. Okay, so there’s a long list of fancy technical terms. But what makes WaveForms so special?
James compares three Pmods, all which handle Analog to Digital conversion!