Difference between revisions of "FPGA"

From Tech
Jump to navigationJump to search
Line 3: Line 3:
 
See [[VHDL]]
 
See [[VHDL]]
   
  +
=Hardware=
=Xilinx=
 
* [[Papilio]]
+
* Info about [[Spartan 3E]]
  +
* Info about the [[Papilio]] board I've bought
 
* [[FPGA Test Board]]
 
* [[FPGA Test Board]]
  +
  +
=Choosing an FPGA=
 
==Xilinx==
 
* Website: [http://www.xilinx.com/products/silicon-devices/fpga/ http://www.xilinx.com/products/silicon-devices/fpga/]
 
* Website: [http://www.xilinx.com/products/silicon-devices/fpga/ http://www.xilinx.com/products/silicon-devices/fpga/]
 
* Spartan 3a Starter Board: [http://nl.farnell.com/digilent/410-155/spartan-3e-basys2-fpga-eval-board/dp/2061836 SPARTAN-3E, BASYS2, FPGA, EVAL BOARD] ([http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf Board Guide]) Spartan 3a [http://www.xilinx.com/support/documentation/user_guides/ug331.pdf user guide], [http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf Data Sheet]
 
* Spartan 3a Starter Board: [http://nl.farnell.com/digilent/410-155/spartan-3e-basys2-fpga-eval-board/dp/2061836 SPARTAN-3E, BASYS2, FPGA, EVAL BOARD] ([http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf Board Guide]) Spartan 3a [http://www.xilinx.com/support/documentation/user_guides/ug331.pdf user guide], [http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf Data Sheet]
Line 46: Line 50:
 
ERROR:encore:312 - Couldn't create new project.
 
ERROR:encore:312 - Couldn't create new project.
   
=Lattice=
+
==Lattice==
 
* [http://www.latticesemi.com/products/fpga/index.cfm Lattice Website]
 
* [http://www.latticesemi.com/products/fpga/index.cfm Lattice Website]
   
   
=Altera=
+
==Altera==
 
* [http://www.altera.com/devices/fpga/fpga-index.html Altera Website]
 
* [http://www.altera.com/devices/fpga/fpga-index.html Altera Website]
 
* [http://www.farnell.com/datasheets/1536834.pdf Cyclone III datasheet] (finally one I can somewhat understand)
 
* [http://www.farnell.com/datasheets/1536834.pdf Cyclone III datasheet] (finally one I can somewhat understand)

Revision as of 00:44, 22 April 2013

Stuff about VHDL

See VHDL

Hardware

Choosing an FPGA

Xilinx

#Installing libXm.so.3:
sudo apt-get install libmotif3

#Set the env variables:
INSTALL_DIR=/opt

. $INSTALL_DIR/Xilinx/14.4/ISE_DS/settings32.sh
export XIL_CG_LOAD_ALL_FAMILIES=true
DISPLAY=:0

#starting the main app:
$INSTALL_DIR/Xilinx/14.4/ISE_DS/ISE/bin/lin/ise

#starting coregen:
$INSTALL_DIR/Xilinx/14.4/ISE_DS/ISE/bin/lin/coregen

Issues:

  • When first starting ise, it will ask for a license by starting a browser (chromium on my system). But as it sets the LD_LIBRARY_PATH variable to Xilinx-compiles stdc++ library, chromium-browser cannot start start. I fixed this with:
cd /usr/lib/chromium-browser
mv chromium-browser chromium_browser_
cat > crhomium-browser <<EOF
#!/bin/bash
LD_LIBRARY_PATH=
set > /tmp/set
/usr/lib/chromium-browser/chromium-browser_ "$@"
EOF
chmod a+x chromium-browser.

This will of cause stop working after the next update of chromium-browser.

  • Coregen doesn't load the full IP library (or something). Fixed this with the XIL_CG_LOAD_ALL_FAMILIES=true environment variable above. If you don't do this, the IP Core generator gives these messages in the console:
ERROR:encore:372 - Failed to set default project options.
ERROR:sim:569 - Failed to set default project options.
ERROR:encore:268 - Project /home/joostje/VHDL/Ltest/coregen_xil_1hPILG.cgc could not be opened
ERROR:encore:312 - Couldn't create new project.

Lattice


Altera

cd /tmp
wget -O 12.1sp1_243_quartus_free_linux.tar.gz "http://download.altera.com/akdlm/software/acdsinst/12.1sp1/243/standalone/12.1sp1_243_quartus_free_linux.tar.gz?None&fileExt=.gz"
cd ~
tar -xvzf 12.1sp1_243_quartus_free_linux.tar.gz
cd 12.1sp1_243_quartus_free_linux
TARGET=/opt/altera12.1sp1/
altera_installer/bin/altera_installer_cmd --all --target=$TARGET --source `pwd`
altera_installer/bin/altera_installer_cmd --install=devices --target=$TARGET --source `pwd` --web
#start it up:
/opt/altera12.1sp1/quartus/bin/quartus