* Complete system: Microcontroller + FPGA, USB, A/D, I/O - all on one board.
* Use the MCU+FPGA together when needed, or as standalone separate devices
* Straightforward I/O connectors - easy interfacing to other electronics.
* Modular design: Expandable for additional FPGA space and resources.
* Compatible with free CodeWarrior* and free Quartus-II* design software
*Quartus and Altera are trademarks of Altera Corporation. CodeWarrior and Freescale are trademarks of Freescale Corporation. FTDI chip is a trademark of FTDI International.
Copyright 2008 - 2012. HoustonMicro Computer Company, LLC. All Rights Reserved.
Programmable software. Programmable hardware.
Why embedded systems need both..
..or " the problems that are coming your way.. "
Today’s embedded systems need both custom software and custom hardware. Projects have become more complicated than ever before and demand more from the designer in terms of software and hardware resources. That is why today’s systems end up with both Microcontrollers and customizable FPGA’s.
Many times, however, designers will ignore half of the problem early on, by only addressing half the solution early in the project – choosing a Microcontroller board, or an FPGA board…but not a system with both. Soon after however, while deep into the coding process...the problems begin.
As you develop your code, it quickly becomes obvious that some tasks are very difficult to design, or run too slowly or…simply cannot be solved in a Microcontroller and should have been implemented in an FPGA. The same thing happens in the other case: an FPGA design quickly becomes very complicated – a math function for example, which could have been easily solved in a Microcontroller C program in hindsight. But if only half of the system exists, it is usually too late to fix it - because if your investment has already been made in coding or hardware platform, it’s not very feasible to start over. So you either cannot properly solve the design problems that have been discovered, or you have to add a secondary MCU or FPGA board after the fact. Adding a secondary board in an un-planned way is usually a messy proposition that ends up in unreliable interface timing, even more design problems, and increased man-hour cost.
It is far easier to begin with a system with both sides of the equation already available to the designer. Because as you discover coding challenges, you can easily partition different sections into the most appropriate device, as you develop your design. When both an MCU and FPGA are in place and ready for use, you can move software-intensive problems to the microcontroller, and hardware logic-intensive functions to the FPGA. And...you don't have to invent a way to integrate 2 different devices, because the interface system is allready in place. Thus, the negative impacts from unforeseen design problems are reduced. This saves time and man-hour costs, and reduces frustration for the embedded designer.
Designed for Signal Integrity
Our experience in the industry has shown that taking shortcuts is not an option when designing for critical applications. And in today’s world of high-speed signaling, the sources of electronic noise are real and a fact of life for practically any modern project. The HoustonMicro system mitigates this by designing for signal integrity from the very beginning. Our MCU - FPGA boards, for example, use multi-plane PCB's with continuous solid ground planes and solid power planes for each major power rail, separated from signal layers. This provides not only noise isolation for critical signals, but is also the basis for a controlled impedance system that reduces crosstalk and impedance mismatch noise (reflections and ringing). We also integrate a bypass power design that maximizes interplane capacitance, further reducing ground/VCC bounce and Simultaneous Switching Noise (SSN).
Many competing board manufacturers cut corners by not isolating signal layers, or by not providing separate power and ground planes in order to reduce thier manufacturing costs. Shortcuts such as these increase the chance for errors caused by high-speed signal switching. At HoustonMicro, we believe that building a system for signal integrity is the right choice to ensure a higher quality system.
Our attention to signal integrity does not stop at the PCB, our choice of external connections minimizes noise by using impedance matched connectors for the system's high-speed signals, while still being very cost-effective to the user. We use high-speed yet readily-available connectors such as SMA's for clock signals and differential impedance RJ45's for LVDS signals. These are high-speed, cost-effective, yet commonly available connection systems. (we do not force the user to use exotic, hard-to-find connectors). For our moderate speed signal types such as LV-TTL, standard headers are used but with a ground-signal-ground (GSG) configuration that assigns a ground pin to each data signal, allowing a return path for every data line to minimize adjacent crosstalk noise.
These are real issues in today’s FPGA systems and high-speed electronics. But by using these mitigation techniques, the chance for errors from noise sources is significantly reduced. Although these design and manufacturing techniques slightly increase our build costs, reducing switching noise and increasing signal integrity is vital to a solid system. It is a design approach to quality that we do not compromise.
Figure 3. PCB Crossection
Multi-Plane Controlled Impedance Printed Circuit Board
Figure 1. Many uses, interfaces, and confiigurations
...The simplicity of Microcontroller software development, combined with FPGA flexibility and performance. Programmable software. Reconfigurable hardware - in a single system.
" Complete, integrated system board - saves time and man-hour cost "
Figure 2. Simple MCU-to-FPGA Interface Protocol
Combination gives you options - simplifies your code development
"use FPGA and MCU together...or as separate systems"
Our system is designed to simplify your design effort by allready providing an integrated MCU-FPGA board with built-in interface between the two devices. However, you can also use the MCU without the FPGA, or FPGA without the MCU as independent systems. When your project requires the use of both, the MCU and FPGA can be used inter-connected using our MCU firmware and FPGA IP-Core.
A typical application may start as a software-only Microcontroller design - without using the FPGA, which at a later time uses the FPGA for faster logic functions when the need arises. Alternatively, a project may begin as an FPGA design and later utilize the Microcontroller to perform software or math functions, which may be easier to develop in a microcontroller C program - while speed-intensive logic continues to be performed in the FPGA. Thus, as you discover coding challenges in your project, you can easily partition your code sections into the appropriate devices to make your design effort easier. Because of this combined MCU + FPGA flexibiity, our hybrid system gives you design options, a simpler architecture, and growth capacity for the real world of changing project needs.