#### ## ## ###### ## ####
___ / _ \ | | | | | |_| | \__\_\
## ## ##### ## ## ## ## ## ## #####
______ | _ \ | | | | | | | | | |/ / |___/
___ ( _`\ | (_(_) | _)_ | (_( ) (____/'
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: 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: ==== [http://www.cecs.uci.edu/~spark 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 ==== [http://www.jhdl.org/ 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: # static cells, such as boolean gates, registers, etc., # parameterizable modules, such as multipliers, counters, etc., # 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== *We may be able to use some functionality from: 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 Language Guide 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 *Download the new Quartus Web edition version 4.0 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== *ATMEL Field Programmable Gate Array 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/ *Altera Cyclone 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 *Cypress Programmable logic devices (PLDs) http://www.cypress.com *Lattice Semiconductor Corporation ispMACH 4000V/Z Automotive Temperature FPGA http://www.latticesemi.com/products/auto/index.cfm *!QuickLogic FPGA high performance logic, dedicated SRAM blocks, flexible clock architecture, low power consumption http://www.quicklogic.com *Xilinx, Inc. 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/ Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.