GoBox/FPGA

Part of GoBox/ComponentList GoBox/SchematicPCB GoBox/TargetSpecifications GoBox/GroupBuy

This page discusses Technology and Tools with potential for use in designing the Hardware Description for the Programable Logic (FPGA) of the GoBox Universal Motor Controller.

For thoughts on the how FPGA compares to general processors see FPGAProContra

Using the Spark C to VHDL conversion project ( http://www.cecs.uci.edu/~spark ) much of the C code may be made to work on the FPGA.

Use of C to VHDL converters/compilers may reduce the need learn the powerful VHDL programming language. However till we proove the usefulness of these tools we are still facing a steep learning curve.

Communication with Dipl.Ing. Martin Schoeberl who did the Java core: http://www.jopdesign.com/ resulted in the info that the EP1C6 that he uses (240pin PQFP) costs 29.95$(US) in small quantities (10) from Arrow Austria. His Java core uses only about 2000 of the devices 5800 logic units. He recommended the EP1C6 because it leaves the path open to the 12000 logic Unit EP1C12 in the same package: http://www.altera.com/products/devices/cyclone/overview/cyc-overview.html

EP1C6 have 185 configurable usable IO pins and EP1C12 173 pins.

That means you can connect many things in parallel and more than that have them operate absolutely asynchronous. There are great support groups for the questions that may arise when using these devices (http://groups.yahoo.com/group/ASICDESIGN/) etc.

The following projects may enable us to use the high level programming languages C and/or Java for programming the structures inside the FPGA:

[Spark]

SPARK is a C-to-VHDL high-level synthesis framework that employs a set of innovative compiler, parallelizing compiler, and synthesis transformations to improve the quality of high-level synthesis results http://www-cad.eecs.berkeley.edu/esd-seminar/fall03/abstract/gupta_files/Sumit-SPARK-Talk.pdf

[JDHL]

http://www.iis.ee.ic.ac.uk/~frank/surp99/article1/sm1598/

http://splish.ee.byu.edu/docs/jhdl_fccm98.pdf

http://www.jhdl.org/

JHDL is a method of describing (programmatically, in JAVA) the components and connections in a digital logic circuit. More specifically, JHDL provides object classes used to build up circuit structure. These include:

  1. static cells, such as boolean gates, registers, etc.,
  2. parameterizable modules, such as multipliers, counters, etc.,
  3. generic platform-independent APIsfor creating wires and basic circuit elements (i.e. the Logic class.)

Simply put, JHDL is a structurally based Hardware Description Language (HDL)implemented with JAVA.


==Libraries==

http://www.opencores.org/browse.cgi/by_category

Use this link if the other continues to be down: http://opencores.gds.tuwien.ac.at/

VHDL is a programming language that has been designed and optimized for describing the behavior of digital systems

http://www.acc-eda.com/vhdlref/ usertogo Edit Delete Cut

https://www.altera.com/support/software/download/sof-download_center.html It continues the same ease of use (just like inside a Schematics editor)

==List of FPGA Supliers etc==

Cache Logic design, where part of the FPGA can be reprogrammed without loss of register data, while the remainder of the FPGA continues to operate without disruption

http://www.atmel.com/products/FPGA/

This is the first suggestion for the component that will do the involuntary control and timing functions

http://www.altera.com/products/devices/cyclone/cyc-index.jsp

Programmable logic devices (PLDs)

http://www.cypress.com

ispMACH 4000V/Z Automotive Temperature FPGA

http://www.latticesemi.com/products/auto/index.cfm

high performance logic, dedicated SRAM blocks, flexible clock architecture, low power consumption

http://www.quicklogic.com

Programmable Logic Solutions

http://www.xilinx.com/

  • Application Specific Integrated Circuit Design Links
Excellent Public Collection of Related Links

http://groups.yahoo.com/group/ASICDESIGN/links/