Rural Cable Expectations

My story kind of hit social media hard this week. To say it caught me off guard is an understatement. I never in a million years expected the response to be so big. I’m just some guy, I don’t particularly enjoy all the attention suddenly paid to my problem. But, that said, I’m grateful for all the support and tips I’ve received, and I’m investigating all connectivity options.

One of the frequent criticisms I’ve seen goes something like this: “Well, you moved to a rural area, what did you expect? Even though Comcast said it was serviced, you share some of the blame for even expecting cable out there. You should have known better!”

Well, I disagree pretty strongly with this criticism. Let me tell you why.

Here’s a picture of where I grew up. It’s in rural Connecticut, about a half hour east of Hartford. The whole “neighborhood” (if you can call it that) had cable TV as of 1988. Please note, too, that many of the homes you see to the north weren’t built until the late 1990s and early 2000s, so the area was even less dense then than it is now.

Rural Connecticut

Cable broadband came to this area later, of course. It wasn’t installed there until about 2000, when the infrastructure was upgraded to allow DOCSIS. My aunt lives there now, she has great 25 Mbit broadband through Cox. So, yes, frankly, I did expect that cable could be here.

And what about now, today, in Washington State? Here’s another satellite view of part of Kitsap county, the county I live in.

Less Rural Washington

Here is where it gets weird. Notice the fairly dense neighborhood to the north of the highway? That area is completely unserviced. Comcast’s internal maps, which I have seen, show that the whole neighborhood is wired with Comcast cable. But, in reality, it’s not. There’s no cable there, Comcast has no customers there.

Meanwhile, the road to the south, which is more rural, with a mix of houses on 5 acre lots and farm land, is fully wired for Comcast.

So, yes, I did expect that cable would be a thing that this part of the county could do. It is not that unusual here. In fact, the neighborhood to the north is an exception, not the rule.

But all that should not distract from the core problem, here: Comcast told me that my address was already serviced. That is what I relied on, not some mystical third eye that could show me underground Cable TV infrastructure.

Do You Want To Build an FPGA? Part One

My internet fiasco aside, I think it’s time I start getting back into some technical matters here on the blog. So welcome to the first in a series of posts about FPGA development!

Introduction

If, like me, you’ve always wanted to try your hand at programming an FPGA, there’s no time like the present. FPGA kits that are accessible to hobbyists have become affordable and plentiful! One of the most affordable is the BeMicro product line from Arrow and Altera, with kits starting at $30 and going all the way up to $149.

I recently bought the BeMicro CV package to play around with. The BeMicro CV is a nifty little $50 FPGA development board with an Altera Cyclone V FPGA, 128MB of on-board SDRAM, and 2MB of Flash memory. It’s also got a two push-buttons, three DIP-switches, and a MicroSD card slot available for your projects to use. I think it’s an ideal platform to get your feet wet in the world of FPGA development. But after you get your BeMicro CV out of the box, what do you do with it to get started?

The Tools

Altera FPGAs are programmed with the Quartus II suite of software. There are versions for both Windows and Linux available. For this Tutorial I’m using the Windows version because it felt like the path of least resistance.

If you’re used to developing software with an IDE, it’s not too dissimilar at first glance, but don’t be fooled! It’s more like an IDE on steroids. The Quartus II download is massive, weighing in at roughly 5.2GB for the full package. Given my current broadband woes, I visited a nearby coffee shop to download my while I sipped on a tasty beverage.

Downloading Quartus II

This is perhaps the most annoying step. I think it’s time for Altera to accept that hobbyists are using their tools, and make the process a lot easier.

The Quartus II Web Edition is totally free to download and use for your hobbyist projects, but in order to do so you’ll have to register with Altera and create a user profile, complete with a lot of information that really only applies to companies.

To download Quartus II, follow this link.

By default, you’re downloading the entire package with files for all sorts of different Altera devices. If you’re on a slow connection or you would like to save a little bit of disk space, you can choose to download only the files necessary for the BeMicro CV board by selecting the Individual Files tab, and under Devices, de-selecting everything except Cyclone V device support. (Remember, the BeMicro CV is a Cyclone V, so you need that!)

You’ll be prompted to register for an account when you try to download. I won’t walk you through this, it should be fairly self-explanatory. Use your best judgement here to decide what you need to enter when it comes to things like company name and company data.

When you’re done and logged in, go back to the download page and continue to download the software. It’ll take a while. Enjoy some quality time with coffee or tea.

Setting Up Quartus II

Once everything is downloaded, double-click on the installer and follow the instructions. I just used the defaults throughout the installation.

After Quartus II is installed, double-click the Quartus II icon to get started.

Quartus II Icon

The first time you run Quartus II, you’ll have to click through a dialog box to let it know you want to run the software without buying a license:

Quartus II first launch

Finally, you should be greeted by something of a blank slate, ready to create a new project.

Quartus II New Project

Your First Project

We’re going to walk through a very simple project. The goal of this exercise is to get the 8 user-programmable LEDs on the BeMicro CV counting down in binary from 11111111 to 00000000 forever, in an infinite loop. It should be fast enough to look cool, but slow enough for you to see it actually happening. I’m calling this project “Flashy”.

To get started, click on the New Project Wizard link in the middle of the IDE. This wizard will go through the steps of setting up our project.

At the first dialog, enter a location and name for your project. I’ve named my project flashy, and put it into a folder on my Desktop, under C:\Users\Seth\Desktop\Projects\flashy. Then, click Next.

New Project - Name

On the next dialog, click Empty Project, then click Next again.

Empty Project

The next dialog asks if you’d like to add any files to the new project. We don’t, so just click Next.

Add Files

The next dialog is critical! It asks us to pick which device we’re going to target. To narrow down the choices, select the following from the pull-down menus:

  • Family should be Cyclone V (E/GX/GT/SX/SE/ST)
  • Devices should be Cyclone V E Extended Features
  • Package should be FBGA
  • Pin count should be 484
  • Core Speed grade should be 8
  • Finally, under Available Devices, select 5CEFA2F23C8

Be absolutely sure that 5CEFA2F23C8 is selected! This is the exact device used by the BeMicro CV, it must match the chosen device. Then click Next

Device Selection

The next page in the Wizard is the EDA Tool Settings page. The only thing we need to change here is the Simulation Format. Pull down the menu and select Verilog HDL, then click Next.

flashy_6

The final page just asks you to verify everything. Make sure the Device is 5CEFA2F23C8, then click Finish.

Confirmation

Congratulations, your shiny new blank project is set up and ready to start working on!

In our next entry, we’ll look at how to write your first Verilog module and compile it.