I purchased several Altera Max II dev boards to further my education of FPGA/CPLD. I got these from Ebay. The first is an EPM240:
and an EPM570:
I paid roughly $15 each + $4 shipping.
Of course, there is no documentation in any shape or form though I did find the manufacturers pages for these devices (just some basic specs):
After looking at the EPM570, it has nothing onboard except for a power LED. So I started experimenting with the EPM240 instead.
The EPM240 has an onboard 50MHz clock and a LED so you can perform the most basic of tests without having to connect anything.
The mfg says the input power supply must be 5V. I looked at the chip and it has an AMS1117 3.3v regulator on it. It should handle more. So I started it at 5V and monitored the output pin and was able to go to 9V just fine. This means I can power it from a normal 9V battery for testing just fine. I found a 6V D cell battery case with the appropriate barrel jack in a box of junk so that is how I power it for testing.
Since there is no documentation I had to carefully follow the PCB traces from the clock and LED to figure out where they connect on the chip. The onboard LED connects to PIN 77. The 50MHz clock connects to pin 12 (global clock 0) which makes sense.
Once I had the preliminaries done, I sat down to write (with help) a hello world program which simply flashes the LED:
library IEEE; use IEEE.std_logic_1164.all; entity maxiiHelloWorld is port ( clk : in std_logic; nreset : in std_logic; led1 : out std_logic ); end entity maxiiHelloWorld; architecture RTL of maxiiHelloWorld is signal led1_i : std_logic; begin led_flash_proc : process(clk, nreset) constant RATIO : integer := 10000000; variable count : integer range 0 to RATIO-1; begin if nreset='0' then led1_i <= '0'; count := 0; elsif rising_edge(clk) then if count=RATIO-1 then count := 0; led1_i <= not led1_i; else count := count + 1; end if; end if; end process; led1 <= led1_i; end RTL;
It worked like a charm.
I need to study modelSim and then I’ll be ready to try my own little project. Baby steps…