Cyclone II EP2C5 Mini Dev Board

From Land Boards Wiki
Jump to navigation Jump to search

EP2C5-Mini-Board-TopView-720px.jpg

Features[edit]

  • EP2C5-DB Multicomp Adapter card
  • FPGA part is EP2C5T144C8 (marking is EP2C5T144C8N)
  • Ebay listing
  • 80+ I/O pins
    • (4) 14x2 headers (0.1" pitch)
  • EPCS4 for configuration EPROM (4 Mbit)
  • 5 VDC power supply
    • 5V only operation
    • 2.1mm DC socket
  • (3) LEDs
  • Button
  • 50 MHz crystal oscillator (clock)
  • JTAG/SWD connectors
  • LED for power indication

Part Specific Programming[edit]

  • Land Boards GitHub repo
  • Quartus II 64-bit Edition 13.0.1 SP 1 Web Edition
  • JTAG - Upload temporary .sof program over JTAG
    • Does not remain after power cycling
  • AS - Upload ,pof file to EPROM over AS
    • Flash EPROM = EPCS4
    • Remains after power cycling

EP2CE P428-720PX.jpg

I/O Pin Mapping[edit]

FPGA Pin	Function	Notes
3	D2 LED	Low to Light LED
7	D4 LED	Low to Light LED
9	D5 LED	Low to Light LED
144	Pushbutton	Push to ground, no external pullup. Set internal pullup on FPGA configuration if used.
17	50MHz clock input	
73	10uF capacitor to ground	10K resistor to Vcc, for power up reset if needed?
26	Connected to Vcc 1.2V	Only needed for EP2C8. The "zero ohm" resistor could be removed and the pin used as normal.
27	Connected to GND	Only needed for EP2C8. The "zero ohm" resistor could be removed and the pin used as normal.
80	Connected to GND	Only needed for EP2C8. The "zero ohm" resistor could be removed and the pin used as normal.
81	Connected to Vcc 1.2V	Only needed for EP2C8. The "zero ohm" resistor could be removed and the pin used as normal.

Onboard LEDs and button[edit]

LEDs and button on EP2C5 Board[edit]

  • D2 is on PIN_3
  • D4 is on PIN_7
  • D5 is on PIN_9
  • key is on PIN_144

LEDs on EP2C5 PCB.jpg

LEDs Schematic.PNG

Pins 26 and 81 are tied to 1.2V and the default selection is to drive all unused pins to GND, making short circuit and that's why the onboard LM1117 1.2V regulator get really hot. You should go to Assignments->Device->Device and Pin Options...->Unused Pins and set it to "As input tri-stated with weak pull-up" (or "... with bus-hold circuitry"). Then everything stays cool.

Quartus II Notes[edit]

  • Requires older version of Quartus II
    • Version 13.0 SP1
  • Project > Copy Project to create a separate copy of your project, rather than just a revision within the same project
  • VHDL Examples

Requirements[edit]

Links[edit]

Videos[edit]

Pin List (Multicomp)[edit]

set_global_assignment -name FAMILY "Cyclone II"
set_global_assignment -name DEVICE EP2C5T144C8
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_ASDO_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
# Clocks and reset
set_location_assignment PIN_17 -to clk
set_location_assignment PIN_144 -to n_reset
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
# PS/2
set_location_assignment PIN_86 -to io_ps2Clk
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_ps2Clk
set_location_assignment PIN_87 -to io_ps2Data
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_ps2Data
# ACIA
set_location_assignment PIN_101 -to rxd1
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to rxd1
set_location_assignment PIN_103 -to txd1
set_location_assignment PIN_104 -to rts1
# SRAM
set_location_assignment PIN_126 -to o_n_extSRamCS
set_location_assignment PIN_4 -to o_n_extSRamWE
set_location_assignment PIN_134 -to o_n_extSRamOE
set_location_assignment PIN_121 -to o_extSRamAddress[0]
set_location_assignment PIN_125 -to o_extSRamAddress[1]
set_location_assignment PIN_129 -to o_extSRamAddress[2]
set_location_assignment PIN_133 -to o_extSRamAddress[3]
set_location_assignment PIN_135 -to o_extSRamAddress[4]
set_location_assignment PIN_137 -to o_extSRamAddress[5]
set_location_assignment PIN_141 -to o_extSRamAddress[6]
set_location_assignment PIN_143 -to o_extSRamAddress[7]
set_location_assignment PIN_142 -to o_extSRamAddress[8]
set_location_assignment PIN_139 -to o_extSRamAddress[9]
set_location_assignment PIN_132 -to o_extSRamAddress[10]
set_location_assignment PIN_136 -to o_extSRamAddress[11]
set_location_assignment PIN_28 -to o_extSRamAddress[12]
set_location_assignment PIN_24 -to o_extSRamAddress[13]
set_location_assignment PIN_30 -to o_extSRamAddress[14]
set_location_assignment PIN_8 -to o_extSRamAddress[15]
set_location_assignment PIN_32 -to o_extSRamAddress[16]
set_location_assignment PIN_119 -to io_extSRamData[0]
set_location_assignment PIN_115 -to io_extSRamData[1]
set_location_assignment PIN_113 -to io_extSRamData[2]
set_location_assignment PIN_112 -to io_extSRamData[3]
set_location_assignment PIN_114 -to io_extSRamData[4]
set_location_assignment PIN_118 -to io_extSRamData[5]
set_location_assignment PIN_120 -to io_extSRamData[6]
# Composite Video
set_location_assignment PIN_75 -to video
set_location_assignment PIN_74 -to videoSync
# VGA
set_location_assignment PIN_64 -to videoB0
set_location_assignment PIN_63 -to videoB1
set_location_assignment PIN_67 -to videoG0
set_location_assignment PIN_65 -to videoG1
set_location_assignment PIN_70 -to videoR0
set_location_assignment PIN_69 -to videoR1
set_location_assignment PIN_71 -to hSync
set_location_assignment PIN_72 -to vSync
# LEDs
set_location_assignment PIN_53 -to o_ledDS1
set_location_assignment PIN_3 -to o_ledD2
set_location_assignment PIN_7 -to o_ledD4
set_location_assignment PIN_9 -to o_ledD5
# SD Card
set_location_assignment PIN_92 -to sdMISO
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdMISO
set_location_assignment PIN_94 -to sdSCLK
set_location_assignment PIN_93 -to sdMOSI
set_location_assignment PIN_97 -to sdCS
set_location_assignment PIN_53 -to driveLED
# J6 I/O
set_location_assignment PIN_25 -to J6IO8[0]
set_location_assignment PIN_31 -to J6IO8[1]
set_location_assignment PIN_41 -to J6IO8[2]
set_location_assignment PIN_40 -to J6IO8[3]
set_location_assignment PIN_43 -to J6IO8[4]
set_location_assignment PIN_42 -to J6IO8[5]
set_location_assignment PIN_45 -to J6IO8[6]
set_location_assignment PIN_44 -to J6IO8[7]
# J8 I/O
set_location_assignment PIN_48 -to J8IO8[0]
set_location_assignment PIN_47 -to J8IO8[1]
set_location_assignment PIN_52 -to J8IO8[2]
set_location_assignment PIN_51 -to J8IO8[3]
set_location_assignment PIN_58 -to J8IO8[4]
set_location_assignment PIN_55 -to J8IO8[5]
set_location_assignment PIN_76 -to J8IO8[6]
set_location_assignment PIN_60 -to J8IO8[7]