Contest Entry Example

  • Warning: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CDT/-5.0/DST' instead in microsites_omniture_nodeapi() (line 248 of /var/www/drupal/platformd6/sites/all/modules/custom/microsites_omniture/microsites_omniture.module).
  • Warning: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CDT/-5.0/DST' instead in microsites_omniture_nodeapi() (line 248 of /var/www/drupal/platformd6/sites/all/modules/custom/microsites_omniture/microsites_omniture.module).
  • Warning: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CDT/-5.0/DST' instead in microsites_omniture_user() (line 258 of /var/www/drupal/platformd6/sites/all/modules/custom/microsites_omniture/microsites_omniture.module).
  • Warning: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CDT/-5.0/DST' instead in microsites_omniture_user() (line 263 of /var/www/drupal/platformd6/sites/all/modules/custom/microsites_omniture/microsites_omniture.module).

Lattice Mach Design Challenge – Judging Factors and Entry Prototype

Because the MachXO2 PLD is considered optimal for low-density FPGA applications where power and footprint are key factors in applicability, judges will be looking for designs in which innovation in control operations and efficient serial interfaces are realized along with low power dissipation, small footprint, and low system-level cost for total bill of materials. At the same time, the mid-range applications addressed by MachxO2 devices are often addressed by a wide variety of microcontroller-based ASSPs – thus, the judges will be looking for a unique approach in design that is different from applications that might use a standard 8- or 16-bit MCU design. Designs that combine two very dissimilar functions in a handheld unit for consumer or industrial applications, for example, might earn points for originality. In addressing potential designs, then, Contestants should consider power, cost, and footprint as the methodologies that will be paramount, but originality of design and end application as the primary factors in moving forward to the next Phase.

Requirements for Initial Entries, Phase 1

Contestants should describe a unique application in any vertical market – consumer, embedded, industrial, automotive, etc. – that utilizes the MachXO2 PLD in a critical path (it may play co-processor to a primary CPU, but the MachxO2 should nevertheless be critical to the overall design). In the initial entry, we are seeking a high-level description of up to 5,000 characters (including spaces), which describes the problem this unique subsystem attempts to address, what solutions other than a MachXO2 PLD might be considered, and why the MachXO2 provides an optimal solution to this particular problem. The initial entry document needs no accompanying graphics, and should not provide a description of a device-by-device logic flow. Instead, we are looking for descriptions of how your particular solution might be designed and implemented (see sample entry below).

Requirements for Finalist Entries, Phase 2

Once original text-based descriptive entries have been selected as semifinalists, Contestants will be asked to expand on their concepts with a more detailed explanation of to how their idea will be implemented with a description of up to 7,500 characters (including spaces) that will match the format of a typical product brief or less technical data sheet.

Where the initial entry might describe the application space, the semifinalist entry provides a more partitioned examination of blocks such as mixed-signal front ends, baseband/DSP, datapath processing, control-plane/central processor functions, etc. This description should be accompanied by a simple, high-level block diagram – the type that shows functional blocks, data flow, calls to memory and memory buses, etc., but does not show detailed per-pin assignments for each IC in the design. Remember, text and artwork should resemble that found in high-level product descriptions of a datapath or control-plane management device, and not seek to provide detailed descriptions of each chip used within a subsystem.

Sample Entry – Media Player and Chainsaw Controller:

Regular users of electric or gas-powered chainsaws see media players as a more user-friendly alternative to the bulky earpieces traditionally used to block high-decibel sounds. Using a media player with a pair of full-cover headphones instead of ear buds provides ear protection for the chainsaw user while offering entertainment at the same time. However, safety experts are concerned that using a media player while operating dangerous machinery could leave users unprepared to control the chainsaw in appropriate ways, or to launch emergency shutoff functions if necessary.

The MP3/chainsaw controller described here is integrated in a self-contained dongle that links to the MP3 player’s USB port. It utilizes a MachXO2, small off-chip memory, and three off-chip components within the dongle. Depending on the interface used by the chainsaw, it can utilize a Wi-Fi or RFID interface for wireless control, or the MachXO2’s I2C or SPI interface for serial cable control. Initial power-down functions can be handled by the MachXO2 device, though full PWM control functions are handled by the chainsaw itself, with the controller dongle device serving as an analog-control initiator.

Because the MachXO2 PLD is programmable, end customers initially can program the dual controller via a PC interface. The MP3 player can be always on, for example, or can be set to begin playing files when the chainsaw is turned on. Control of variable-speed chainsaws can remain solely within the hand controls of the saw itself, or can be initiated from the common control of both devices, with the volume of the media player automatically adjusted as the chainsaw moves to higher speeds.

The programming overhead of the MachXO2 may allow the controller to be used as a universal device capable of controlling jigsaws, table saws and lathes as well as chainsaws. However, developers have the option to make each controller a purpose-built member of a larger family. Because MachXO2 offers integrated clocks and automatic power-down functions, the dongle need not depend on clock management from the MP3 player or its own power supply. Instead, it can be powered through its USB port and removed as either the saw, media player, or both are powered down.

If a wireless-control option is utilized and programming of control functions is kept to a minimum, the MachXO2 may offer enough programming overhead to provide tangential control to a third device, such as a coffee brewer to have a pot of coffee ready for the user when finished with sawing.

Phase II Deliverables:

The optimization of MP3 players across multiple generations of designs, even as feature sizes have moved into deep submicron transistor dimensions, allows a media player to be integrated into multi-function devices such as smartphones and gaming devices. Meanwhile, the growing sophistication of FPGA devices in handling audio control has allowed several functions of the MP3 player to be integrated within the control device. Today, the only functions reserved for external devices are audio codec, usually kept as a separate device in order to optimize AC97 codes, and the compact flash memory, which is considered as a discrete device so that larger and larger nonvolatile flash memories can be utilized over time, allowing more and more music files to be kept locally in an end user’s music library.

When a media player is integrated with a simple control device for home automation, such as a television and stereo remote, the integration of audio playback and device control is a relatively simple one, in which only a specialized function such as infrared or RF serial link need be considered outside the FPGA. Control of power tools, however, involves a special case where high-voltage and battery-charge functionality must be integrated outside the architecture of a traditional FPGA. However, many 8- and 16-bit controllers are available on the market today that offer PWM control, voltage monitoring and control, and even some VCO functionality. In an ideal world, the control-plane logic of an FPGA and 8-bit microcontroller would be fully integrated to eliminate redundancy, but since special power-control MCUs are offered for less than $2.00, a highly integrated design can be developed that meets the targets of low cost, low power consumption, and multiple functionality.

As discussed in the initial entry, safety regulations strongly urge users of power tools to wear ear protection when using devices for extended periods of time. Many users dispense with plugs or muffs as unnecessary devices, but might consider a single system that provided them with music through ear buds while allowing them to control the power tool at the same time.

In exploring relevant FPGA architectures, emphasis was on absolute constraints on component costs and power dissipation, since the MP3 player is quickly reaching commodity status. MachXO2 was seen as preferable to other Lattice architectures such as XP2 or ECP3, since it is closest in function and price to a CPLD, yet offers more features, such as PLL blocks, than competitive CPLD-like FPGAs from other vendors. In this hybrid design, all common control functions for media player and power control were implemented in the system logic of MachXO2, though some local control is reserved for the power dongle that links directly to the chainsaw.

Note that in the diagram below, the on-chip DRAM and flash blocks are used for reconfiguring device control for the both power tool and media player. While music files could be stored in some of the internal space of the MachXO2 itself, the desire to expand available music files in any device with embedded MP3 mandates that an external flash memory be used. With the low cost of high-density flash devices in the era of ubiquitous MP3, devices may be chosen that offer several gigabytes of local storage for music files.

Figure 1 – Block Diagram, MachXO2-based MP3 Player/Chainsaw Controller

In this particular design, the MP3 decoder has been implemented within the programmable lookup table logic of the MachXO2 itself. However, the audio codec has been implemented outside the FPGA, in this case using an Analog Devices 1981B (one of many choices available). This allows the output to offer the best stereo response to the speaker, in this case external earphones.

Interface control can be realized with external LCD control and discrete devices that link directly to the control logic of the MachXO2. The rich set of PLL-based timing, and I/O options including GPIO and I2C, make the MachXO2 ideal for the task of controlling separate devices.

What is referred to in this design as a “remote dongle” can be a module that is integrated directly into an (electric) chainsaw, or one that is added to an existing chainsaw design as an interface. This dongle can communicate with the media player using any number of appropriate interfaces, such as low bit-rate RF links (RFID, etc.) or IrDA infrared links. In any event, the mixed-signal devices that help control the chainsaw are kept separate from the media player itself so that the latter device can optimize battery power for music playback. The devices integrated within the dongle are powered separately from the chainsaw’s power source. Depending on cost and dongle real-estate space, the power ICs can be implemented as separate ICs from such analog specialists as Texas Instruments and Microsemi. Alternatively, several functions could be implemented together in high-integration mixed-signal devices from the same vendors, though in some cases, a more high-integration device could be cost-prohibitive in this application.