Author Topic: Lattice iCEcube2 pains  (Read 2993 times)

0 Members and 1 Guest are viewing this topic.

Offline dabell-ccTopic starter

  • Newbie
  • Posts: 2
  • Country: ca
Lattice iCEcube2 pains
« on: October 14, 2014, 10:39:49 pm »
Hi all,
I'm here because this forum had the only discussion I could find on using Lattice iCE40 FPGAs. https://www.eevblog.com/forum/microcontrollers/anyone-used-lattice-ice40-fpgas/
Reviving such an old thread seemed bad form so I'm here hoping someone else has been playing with these things recently.

Basically I'm used to Xilinx ISE and having a hard time with iCEcube2.
mrflibble said "The pin constraints editor is not exactly great, but once you know it's "features" it's quite usable."
Well I'd like to know where to find said features. The only thing on pcf files I could find was the appendix of the iCEcube2 User Guide, a one-pager that did not make anything clearer.

Currently I'm coding in VHDL (examples all seem to be in verilog), and once I've added my pre-made .vhd file and synthesized I've forced the Pin Constraints Editor to save me a .pcf file. Something I noticed right away is that my input clock is NOT in the Pin Constraints list. It shows up in the Package View with a friendly "Access denied"-style red-circle-with-bar-through-it.
It would seem (after some poking around) that from the vhdl entity declaration only outputs are automatically picked up for the constraints list. I experimented with another input in the list, and also an inout, only when I labelled it output was the constraints list updated.

Code: [Select]
entity led_fade is
port(
   i_clk : in std_logic; -- Not in constraints list
   o_leds : out std_logic_vector(3 downto 0); -- all four in constraints list
   o_something : out std_logic; -- shows up in list
   io_something : inout std_logic; -- doesn't show up
   i_something : in std_logc -- doesn't show up
);
end led_fade;

The supporting documentation has not been very useful, I feel like I'm looking for my lost car keys in someone else's house.  |O
Any guidance is certainly appreciated.

tl;dr : how to use iCEcube2 with vhdl, and what is pcf syntax?

Many thanks,


dabell-cc
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf