Technologic Systems Logo
Search Icon
Customer Area | Contact Us |Cart Icon
  16525 East Laser Drive
Fountain Hills, AZ 85268
Phone (480) 837-5200
Fax (480) 837-5300
info@embeddedARM.com

Home > Services > FPGA IP Core

embedded computer board graphic

FPGA IP Core
Flexible Solutions by Experienced Embedded Engineers

Our engineers are experienced in Field Programmable Gate Array (FPGA) programming. FPGA technology accelerates time to market, reduces cost and helps protect your embedded product from end of life issues associated with proprietary chips. If your design could benefit from custom logic in an FPGA one of our engineers would be happy to discuss the features and options available with an FPGA solution.

Technologic Systems has ample experience integrating CPLD and FPGA devices into our single board computer designs. We work with the most advanced manufactures and development tools, including Xilinx, Altera and Lattice. Most of our recent products include an FPGA. In the current market, designing an SBC without an FPGA seems unlikely. The TS-7300 and the TS-7800, for example, have extra functionality provided by FPGA IP cores, such as extra DIO, extra serial ports, VGA video and SD card support. In addition, extra flexibility is provided in the TS-7300 by making the FPGA user-programmable through Linux utilities and bitstream files.

To give you an idea of what types of solutions are possible with an FPGA, this page presents a sampling of designs we have completed.

TS-XDIO - Extended Digital I/O Port

arrow

Many of our products feature Digital I/O pins (DIOs) directly on the SBC.  The typical method of interacting with these DIOs is to write a user-space program which maps DIO control registers to pointers, allowing a user to directly read and set input pin levels.

There are drawbacks to this approach to Digital I/Os:

ts-xdio
  • The user program must constantly poll any inputs for as long as it is interested in them
  • User-space programs are limited in how fast they can manipulate I/O pins
  • User-space programs cannot control when they might have to relinquish processing to allow another application to run, and thus might miss pin changes

One approach to solving these problems is to write a Linux device driver.  However this can often be problematic as there has been no standard API for dealing with DIOs, and the tendency of Linux kernel APIs in general to change frequently makes an investment in generic sample code hard to justify.

The solution our engineers found was to implement a special "eXtended Digital I/O" or XDIO FPGA core which implemented features convenient for user applications, some of which would be difficult or impossible to do without hardware support.  These features include:

  • detecting edges and pulses as fast as 13ns in width
  • edge and quadrature counting
  • PWM generation
  • one-shot programmable pulse
  • pulse width measurement

Find out more about the TS-XDIO IP core reading the TS-XDIO Datasheet.

TS-SDCORE - Secure Digital Card IP Core

arrow ts-sdcore

With the development of the TS-7300, our engineering team was challenged with the problem of creating an SBC which was booted entirely from removable flash media. The TS-SDCORE formed the main portion of the solution, providing a mechanism whereby many of our boards (the TS-7300, the TS-7400, the TS-7800, several custom SBCs, and the TS-7260, if retro-fitted) can access or even boot directly from a removable, industry standard Secure Digital (SD) card.

Some of the benefits of the SD card over other flash media include:

  • compact size
  • low profile for a removable media as compared to CF or USB flash drives
  • unlimited storage through removability not available through soldiered-on flash
  • available security functions such as encryption and password protection of data
  • "push-push" socket for ease of inserting and removing media

With the development of the TS-SDCORE Technologic Systems has positioned itself to take advantage of the ever-increasing storage capacities and reduced costs of both SD and SDHC media.

TS-VIDCORE - Video Core with Framebuffer

arrow

In embedded development, it is often important to create a product which can be manufactured indefinitely.  In developing a video product for an embedded system this can be especially challenging due to difficulties finding a video chipset that is guaranteed to never be end-of-lifed.

ts-vidcore

To overcome this obstacle, our engineers developed a custom FPGA core featuring:

  • VGA or SVGA resolution (other custom resolutions are possible)
  • 16-bit color (5-5-5 RGB)
  • Accelerated bit-blitting

This core debuted in the TS-7KV, and has since been used in the TS-7300 as well as custom projects for customers with LCD panels at various resolutions.

TS-UART - Light RS-232/TTL Serial Ports

arrow

Many embedded designs require time-tested technologies like RS-232.   For products which require lots of serial ports, the standard 16550 UART chip proved to be too resource intensive to implement in large quantities in an inexpensive FPGA.    Further, our experiences with customer needs in a serial port suggested that many of the features available on a 16550 UART were unused in most designs.  Armed with this knowledge our engineers set out to design a compact UART design which contained the most important and most used features of a serial port.  The result is the TS-UART, a compact yet versatile design that has been used in various forms in more then 17 separate products, from the TS-7260 (our first product to sport a TS-UART) to the TS-COMBOX (our product with the most UARTs... 25!).

The compactness of the TS-UART design begins with an interface of only two registers (one for status and one for data) and FPGA resource usage about 10% of a 16650.   Yet, despite it's compactness, the TS-UART features which have been implemented include:

ts-uart
  • Tx, Rx, RTS, CTS signals
  • special provisions to access additional port signals can be provided in custom designs
  • transmit and receive FIFO sizes that can be customized as needed for a specific design
  • serial BREAK functionality (detection and generation)
  • 9-bit serial
  • support for the most common baud rates (2400-115.2k), with any reasonable baud rate available in some designs

TS-NANDCORE - NAND Flash Controller

arrow

 

 

OpenCores

arrow

Technologic System has experience designing with the open-source FPGA cores provided by the OpenCores.org community of FPGA developers. For example, the TS-7300 FPGA design integrates the OpenCore Ethernet project, enabling one additional 10/100 Mbit ethernet port. It also provides a CAN interface through the use of the Philips SJA1000 CAN controller, available at the OpenCores.org website. We also make extensive use of the WISHBONE bus in our FPGA designs, making re-use and integration with other cores easier.

Contact us should you need OpenCores.org solutions integrated with our FPGA or single board computer.

Custom IP Cores for FPGA using HDL

arrow

Custom design functionality is a constant demand of our customers. Technologic Systems computers are designed to provide better solutions with faster time-to-market and higher flexibility via FPGA customization. We can either modify any of our existing FPGA IP cores or create a new custom core from scratch. Some examples are:

  • We can provide RCA composite video by modifying the existing VGA video core.
  • We can add additional serial ports, DIO lines, SD Card sockets, etc...
  • We can integrate new custom cores to the TS-7800 FPGA default load and make the physical interface available through the PC/104 connector.

Contact Technologic Systems should you need custom FPGA solutions.