Difference between revisions of "RETRO-EP4"

From Land Boards Wiki
Jump to navigation Jump to search
Line 84: Line 84:
  
 
<pre>
 
<pre>
 +
# Clocks and reset
 
set_location_assignment PIN_23 -to clk
 
set_location_assignment PIN_23 -to clk
set_location_assignment PIN_85 -to driveLED
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to driveLED
 
 
set_location_assignment PIN_125 -to n_reset
 
set_location_assignment PIN_125 -to n_reset
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
 +
# PS/2 Keyboard
 
set_location_assignment PIN_127 -to ps2Clk
 
set_location_assignment PIN_127 -to ps2Clk
 
set_location_assignment PIN_126 -to ps2Data
 
set_location_assignment PIN_126 -to ps2Data
 +
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Data
 +
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Clk
 +
# Serial
 
set_location_assignment PIN_132 -to rxd1
 
set_location_assignment PIN_132 -to rxd1
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to rxd1
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to rxd1
 
set_location_assignment PIN_128 -to txd1
 
set_location_assignment PIN_128 -to txd1
 
set_location_assignment PIN_129 -to rts1
 
set_location_assignment PIN_129 -to rts1
 +
# VGA Video
 
set_location_assignment PIN_112 -to videoR1
 
set_location_assignment PIN_112 -to videoR1
 
set_location_assignment PIN_113 -to videoR0
 
set_location_assignment PIN_113 -to videoR0
Line 103: Line 107:
 
set_location_assignment PIN_119 -to hSync
 
set_location_assignment PIN_119 -to hSync
 
set_location_assignment PIN_121 -to vSync
 
set_location_assignment PIN_121 -to vSync
 +
# SD Card
 
set_location_assignment PIN_58 -to sdCS
 
set_location_assignment PIN_58 -to sdCS
 
set_location_assignment PIN_60 -to sdSCLK
 
set_location_assignment PIN_60 -to sdSCLK
 
set_location_assignment PIN_59 -to sdMISO
 
set_location_assignment PIN_59 -to sdMISO
 
set_location_assignment PIN_55 -to sdMOSI
 
set_location_assignment PIN_55 -to sdMOSI
 +
set_location_assignment PIN_85 -to driveLED
 +
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdMISO
 +
# SRAM
 
set_location_assignment PIN_68 -to n_sRamCS
 
set_location_assignment PIN_68 -to n_sRamCS
 
set_location_assignment PIN_50 -to n_sRamOE
 
set_location_assignment PIN_50 -to n_sRamOE
Line 137: Line 145:
 
set_location_assignment PIN_46 -to sramData[6]
 
set_location_assignment PIN_46 -to sramData[6]
 
set_location_assignment PIN_49 -to sramData[7]
 
set_location_assignment PIN_49 -to sramData[7]
 +
# LEDs
 
set_location_assignment PIN_3 -to ledOut8[0]
 
set_location_assignment PIN_3 -to ledOut8[0]
 
set_location_assignment PIN_7 -to ledOut8[1]
 
set_location_assignment PIN_7 -to ledOut8[1]
 
set_location_assignment PIN_10 -to ledOut8[2]
 
set_location_assignment PIN_10 -to ledOut8[2]
 
set_location_assignment PIN_11 -to ledOut8[3]
 
set_location_assignment PIN_11 -to ledOut8[3]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdMISO
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Data
 
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Clk
 
 
</pre>
 
</pre>
  

Revision as of 10:29, 22 August 2020

Tindie-mediums.png

RETRO-EP4 FPGA Card

RETRO-EP4 TOP BOTTOM-720px.jpg

I love Grant Searle's Multicomp project. It lets you create 6502, Z80, 6809 Retrocomputers of the late 1970s era. This card provides all of the connections needed.

Grant's original design used an EP2 but that's not compatible with the latest version Altera/Intel Quartus.This upgrades to the newer EP4CE6 FPGA. We've done the work of porting the Multicomp to this card.

Features

FPGA Resources

EP4CExx Resources.PNG

VGA - Ideal Drive 2:2:2 Case

  • FPGA has a 3.3V driver which can drive 8 mA
  • Ideal case drive current
    • 0.7V into 75 Ohms = 9.33 mA
  • R-2R values
  • Voltage steps are:

VGA Sim 2R Voltage.PNG

  • Current steps are:

VGA Sim 2R Current.PNG

Schematics

Programming the FPGA EEPROM

  • File
  • Convert Programming File
  • Configuration Device = EPCS16
  • Mode = Active Serial
  • Programming File Type: *.jic
  • Advanced = Check both Disables...
  • Select Flash Loader
  • Add Device = Cyclone IV and EP4CE15
  • Select SOF Data
  • Select Add File and select the .sof file
  • Generate
  • In Tools, Programmer
  • Add file and select the .jic file
  • Select Program/Configure
  • Takes a while to program
  • Press button near VGA

Multicomp Builds

Pin List

# Clocks and reset
set_location_assignment PIN_23 -to clk
set_location_assignment PIN_125 -to n_reset
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
# PS/2 Keyboard
set_location_assignment PIN_127 -to ps2Clk
set_location_assignment PIN_126 -to ps2Data
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Data
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Clk
# Serial
set_location_assignment PIN_132 -to rxd1
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to rxd1
set_location_assignment PIN_128 -to txd1
set_location_assignment PIN_129 -to rts1
# VGA Video
set_location_assignment PIN_112 -to videoR1
set_location_assignment PIN_113 -to videoR0
set_location_assignment PIN_114 -to videoG1
set_location_assignment PIN_115 -to videoG0
set_location_assignment PIN_124 -to videoB1
set_location_assignment PIN_120 -to videoB0
set_location_assignment PIN_119 -to hSync
set_location_assignment PIN_121 -to vSync
# SD Card
set_location_assignment PIN_58 -to sdCS
set_location_assignment PIN_60 -to sdSCLK
set_location_assignment PIN_59 -to sdMISO
set_location_assignment PIN_55 -to sdMOSI
set_location_assignment PIN_85 -to driveLED
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdMISO
# SRAM
set_location_assignment PIN_68 -to n_sRamCS
set_location_assignment PIN_50 -to n_sRamOE
set_location_assignment PIN_75 -to n_sRamWE
set_location_assignment PIN_65 -to sramAddress[0]
set_location_assignment PIN_64 -to sramAddress[1]
set_location_assignment PIN_67 -to sramAddress[2]
set_location_assignment PIN_66 -to sramAddress[3]
set_location_assignment PIN_69 -to sramAddress[4]
set_location_assignment PIN_74 -to sramAddress[5]
set_location_assignment PIN_77 -to sramAddress[6]
set_location_assignment PIN_76 -to sramAddress[7]
set_location_assignment PIN_83 -to sramAddress[8]
set_location_assignment PIN_80 -to sramAddress[9]
set_location_assignment PIN_34 -to sramAddress[10]
set_location_assignment PIN_33 -to sramAddress[11]
set_location_assignment PIN_38 -to sramAddress[12]
set_location_assignment PIN_39 -to sramAddress[13]
set_location_assignment PIN_42 -to sramAddress[14]
set_location_assignment PIN_51 -to sramAddress[15]
set_location_assignment PIN_52 -to sramAddress[16]
set_location_assignment PIN_53 -to sramAddress[17]
set_location_assignment PIN_54 -to sramAddress[18]
set_location_assignment PIN_71 -to sramData[0]
set_location_assignment PIN_70 -to sramData[1]
set_location_assignment PIN_73 -to sramData[2]
set_location_assignment PIN_72 -to sramData[3]
set_location_assignment PIN_43 -to sramData[4]
set_location_assignment PIN_44 -to sramData[5]
set_location_assignment PIN_46 -to sramData[6]
set_location_assignment PIN_49 -to sramData[7]
# LEDs
set_location_assignment PIN_3 -to ledOut8[0]
set_location_assignment PIN_7 -to ledOut8[1]
set_location_assignment PIN_10 -to ledOut8[2]
set_location_assignment PIN_11 -to ledOut8[3]

RETRO-EP4 Assembly Sheet