Difference between revisions of "RETRO-EP4CE15"

From Land Boards Wiki
Jump to navigation Jump to search
Line 243: Line 243:
 
* VGA connector footprint problem
 
* VGA connector footprint problem
 
* Using the J1 connector to [[VGAX49]] card
 
* Using the J1 connector to [[VGAX49]] card
 +
 +
{| class="wikitable"
 +
! Signal
 +
! VGAX49 Pin
 +
! RETRO Pin
 +
! FPGA Pin
 +
|-
 +
| R4
 +
| J1-1
 +
| J1-47
 +
| C21
 +
|-
 +
| R3
 +
| J1-2
 +
| J1-48
 +
| C22
 +
|-
 +
| G5
 +
| J1-6
 +
| J1-45
 +
| D21
 +
|-
 +
| G4
 +
| J1-7
 +
| J1-46
 +
| D22
 +
|-
 +
| B4
 +
| J1-12
 +
| J1-43
 +
| E21
 +
|-
 +
| B3
 +
| J1-13
 +
| J1-44
 +
| E22
 +
|-
 +
| HS
 +
| J1-17
 +
| J1-41
 +
| F21
 +
|-
 +
| VS
 +
| J1-18
 +
| J1-42
 +
| F22
 +
|-
 +
|}
  
 
== Assembly Sheet ==
 
== Assembly Sheet ==
  
 
* [[RETRO-EP4CE15 Assembly Sheet]]
 
* [[RETRO-EP4CE15 Assembly Sheet]]

Revision as of 19:59, 8 February 2020

RETRO-EP4CE15 3D.jpg

Features

Connectors

RETROEP4CE15-J1.PNG

U7

U7 io CONN.PNG

U8

U8 io CONN.PNG

Headers/Jumpers

H1 - Power

  • Power from USB 5V

H2 - I/O Power Source

  • 1-2 = FPGA Power
  • 2-3 = On-board Regulator

J2 - PS/2 Keyboard

Retroep4ce15-J2.PNG

J3 - Header

RETROEP4CE15-J3.PNG

P2 - PS/2 Keyboard

P3 - USB-C

P4 - SD Card

RETROEP4CE15-P4 SD Card.PNG

Summing Resistor DAC

  • 5% resistors are "good enough"
  • Goal is 1V into 75 Ohm VGA load
  • 3.3V drive
  • FPGA has 8 mA drive
    • Using 8 mA (max)
    • R4 330 Ohm= 0.8 mA to -8.3 mA
    • R3 680 Ohm = 0.8 mA to -4.4 mA
  • Output in 4 steps
    • 0V
    • 0.27V
    • 0.56V
    • 0.8V

Voltage Steps

VGA Sim 2R Voltage.PNG

Current Steps (R4)

VGA Sim 2R Current.PNG

Schematic

Pin List

set_location_assignment PIN_T2 -to i_CLOCK_50
set_location_assignment PIN_W13 -to n_reset
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
set_location_assignment PIN_R1 -to ps2Clk
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Clk
set_location_assignment PIN_R2 -to ps2Data
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ps2Data
set_location_assignment PIN_C22 -to serSelect
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to serSelect
set_location_assignment PIN_A10 -to cts1
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to cts1
set_location_assignment PIN_A13 -to rts1
set_location_assignment PIN_B10 -to rxd1
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to rxd1
set_location_assignment PIN_B13 -to txd1
set_location_assignment PIN_B17 -to videoB0
set_location_assignment PIN_A17 -to videoB1
set_location_assignment PIN_B16 -to videoG0
set_location_assignment PIN_A16 -to videoG1
set_location_assignment PIN_B20 -to videoR0
set_location_assignment PIN_A15 -to videoR1
set_location_assignment PIN_B18 -to hSync
set_location_assignment PIN_A18 -to vSync
set_location_assignment PIN_F1 -to n_sRamCS
set_location_assignment PIN_B4 -to n_sRamWE
set_location_assignment PIN_J2 -to n_sRamOE
set_location_assignment PIN_E1 -to sramData[0]
set_location_assignment PIN_C1 -to sramData[1]
set_location_assignment PIN_B1 -to sramData[2]
set_location_assignment PIN_B3 -to sramData[3]
set_location_assignment PIN_B2 -to sramData[4]
set_location_assignment PIN_C2 -to sramData[5]
set_location_assignment PIN_D2 -to sramData[6]
set_location_assignment PIN_F2 -to sramData[7]
set_location_assignment PIN_H1 -to sramAddress[0]
set_location_assignment PIN_J1 -to sramAddress[1]
set_location_assignment PIN_M1 -to sramAddress[2]
set_location_assignment PIN_N1 -to sramAddress[3]
set_location_assignment PIN_A8 -to sramAddress[15]
set_location_assignment PIN_A7 -to sramAddress[14]
set_location_assignment PIN_A6 -to sramAddress[13]
set_location_assignment PIN_A5 -to sramAddress[12]
set_location_assignment PIN_C3 -to sramAddress[11]
set_location_assignment PIN_A4 -to sramAddress[10]
set_location_assignment PIN_A3 -to sramAddress[9]
set_location_assignment PIN_H2 -to sramAddress[8]
set_location_assignment PIN_M2 -to sramAddress[7]
set_location_assignment PIN_N2 -to sramAddress[6]
set_location_assignment PIN_P2 -to sramAddress[5]
set_location_assignment PIN_P1 -to sramAddress[4]
set_location_assignment PIN_B5 -to sramAddress[18]
set_location_assignment PIN_B6 -to sramAddress[17]
set_location_assignment PIN_B7 -to sramAddress[16]
# SDRAM
set_location_assignment PIN_Y6 -to sdRamClk
set_location_assignment PIN_W6 -to sdRamClkEn
set_location_assignment PIN_AA4 -to n_sdRamCas
set_location_assignment PIN_AA3 -to n_sdRamCe
set_location_assignment PIN_AB3 -to n_sdRamRas
set_location_assignment PIN_AB4 -to n_sdRamWe
set_location_assignment PIN_V2 -to sdRamAddr[0]
set_location_assignment PIN_V1 -to sdRamAddr[1]
set_location_assignment PIN_U2 -to sdRamAddr[2]
set_location_assignment PIN_U1 -to sdRamAddr[3]
set_location_assignment PIN_V3 -to sdRamAddr[4]
set_location_assignment PIN_V4 -to sdRamAddr[5]
set_location_assignment PIN_Y2 -to sdRamAddr[6]
set_location_assignment PIN_AA1 -to sdRamAddr[7]
set_location_assignment PIN_Y3 -to sdRamAddr[8]
set_location_assignment PIN_V5 -to sdRamAddr[9]
set_location_assignment PIN_W1 -to sdRamAddr[10]
set_location_assignment PIN_Y4 -to sdRamAddr[11]
set_location_assignment PIN_V6 -to sdRamAddr[12]
set_location_assignment PIN_Y1 -to sdRamAddr[13]
set_location_assignment PIN_W2 -to sdRamAddr[14]
set_location_assignment PIN_AA10 -to sdRamData[0]
set_location_assignment PIN_AB9 -to sdRamData[1]
set_location_assignment PIN_AA9 -to sdRamData[2]
set_location_assignment PIN_AB8 -to sdRamData[3]
set_location_assignment PIN_AA8 -to sdRamData[4]
set_location_assignment PIN_AB7 -to sdRamData[5]
set_location_assignment PIN_AA7 -to sdRamData[6]
set_location_assignment PIN_AB5 -to sdRamData[7]
set_location_assignment PIN_Y7 -to sdRamData[8]
set_location_assignment PIN_W8 -to sdRamData[9]
set_location_assignment PIN_Y8 -to sdRamData[10]
set_location_assignment PIN_V9 -to sdRamData[11]
set_location_assignment PIN_V10 -to sdRamData[12]
set_location_assignment PIN_Y10 -to sdRamData[13]
set_location_assignment PIN_W10 -to sdRamData[14]
set_location_assignment PIN_V11 -to sdRamData[15]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hSync
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to n_reset
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ps2Clk
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ps2Data
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoB0
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoB1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoG0
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoG1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoR0
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to videoR1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to vSync
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to rts1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to rxd1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to txd1
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to n_sRamCS
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to n_sRamOE
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to n_sRamWE
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[0]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[1]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[2]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[3]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[4]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[5]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[6]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramData[7]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[0]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[1]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[2]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[3]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[4]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[5]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[6]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[7]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[8]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[15]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[14]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[13]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[10]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[9]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[11]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[12]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[16]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[17]
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to sramAddress[18]

Multicomp Builds

Checkout

Rev 1

  • Wrong DB15HD footprint
    • Change to right footprint ib Rev 2
  • USB-C too hard to hand solder
    • Changing to USB-B Micro ib Rev 2
  • Add 5V header ib Rev 2

Rev 1 Prototype

  • VGA connector footprint problem
  • Using the J1 connector to VGAX49 card
Signal VGAX49 Pin RETRO Pin FPGA Pin
R4 J1-1 J1-47 C21
R3 J1-2 J1-48 C22
G5 J1-6 J1-45 D21
G4 J1-7 J1-46 D22
B4 J1-12 J1-43 E21
B3 J1-13 J1-44 E22
HS J1-17 J1-41 F21
VS J1-18 J1-42 F22

Assembly Sheet