Difference between revisions of "RETRO-EP4CE15"

From blwiki
Jump to: navigation, search
(U8 - FPGA connector U8)
(u7 - FPGA connector U7)
(One intermediate revision by the same user not shown)
Line 84: Line 84:
 
* J8P60 = IO_M19
 
* J8P60 = IO_M19
  
=== J7 - I/O Connector ===
+
=== J7 - I/O Connector (FPGA connector U7) ===
  
 
* IO_xx where xx is the pin on the FPGA
 
* IO_xx where xx is the pin on the FPGA
  
 
[[File:J7.PNG]]
 
[[File:J7.PNG]]
 
=== u7 - FPGA connector U7 ===
 
 
[[File:U7_Conn.PNG]]
 
  
 
=== U8  - FPGA connector U8 ===
 
=== U8  - FPGA connector U8 ===

Revision as of 05:20, 1 December 2019

Hardware Features

  • Uses QMTECH_EP4CE15F23C8N_FPGA_Board
    • On-Board FPGA: EP4CE15F23C8N
    • On-Board FPGA external crystal frequency: 50MHz
    • On-Board Winbond SPI Flash W25Q64, 8M bytes for user configuration code
    • On-Board 32MB Winbond SDRAM, W9825G6KH-6
    • On-Board 3.3V power supply for FPGA by using MP2315 wide input range DC/DC
    • EP4CE15F core board has two 64p, 2.54mm pitch headers for extending 108 user IOs.
    • EP4CE15F core board has 3 user switches
    • EP4CE15F core board has 2 user LEDs
    • EP4CE15F core board has JTAG interface, by using 10p, 2.54mm pitch header
    • EP4CE15F core board PCB size is: 6.7cm x 8.4cm
    • Default power source for board is: 1A@5V DC, the DC header type: DC-050, 5.5mmx2.1mm
  • 512 KB of fast SRAM
  • PS/2 keyboard connector
  • VGA connector
  • FT230XS FTDI USB-to-TTL
  • I/O connections on header
  • SD Card slot
  • ODAS card design specification form factor

FPGA Builds

Headers

H1 - Power 5V from USB connector

  • Install to power the 5V from the USB connector
  • Must remove if powering 5V from the DC jack on the FPGA card

H2 - I/O Connector 3.3V Power Source

  • 1-2 = Power from FPGA 3.3V
  • 2-3 = Power from on-board 5V to 3.3V regulator

Connectors

P1 - VGA Connector

  • 2:2:2 VGA connector
  • DB-15

P2 - PS/2 Connector

  • Mini DIN 6
  • 3.3V
    • Most, but not all, keyboard work at 3.3V

P3 - USB Connector

  • USB-C connector
    • Card is USB 2.0

P4 - SD Card Connector

J1 - I/O Connector

  • J8Pxx maps to U8 pin xx

J1.PNG

J2 - Keyboard pin header

  • Not used if the Mini-DIN PS/2 connector is used

J2.png

J3 - Configuration header

J3.png

  • Add pull-up in FPGA
  • J8P55 = IO_B22
  • J8P56 = IO_B21
  • J8P57 = IO_N20
  • J8P58 = IO_N19
  • J8P59 = IO_M20
  • J8P60 = IO_M19

J7 - I/O Connector (FPGA connector U7)

  • IO_xx where xx is the pin on the FPGA

J7.PNG

U8 - FPGA connector U8

  • IO_xx where xx is the pin on the FPGA

J8.PNG

FPGA Daugherboard

QMTECH FPGA EP4CE15.jpg

Pin File

set_global_assignment -name FAMILY "Cyclone IV E"
set_global_assignment -name DEVICE EP4CE15F23C8
# Clock and reset
set_location_assignment PIN_W13 -to n_reset
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
set_location_assignment PIN_T2 -to clk
# LEDs
set_location_assignment PIN_E4 -to driveLED
set_location_assignment PIN_AA19 -to n_LED7
set_location_assignment PIN_AB20 -to n_LED9
# SD Card
set_location_assignment PIN_B19 -to sdCS
set_location_assignment PIN_A20 -to sdMISO
set_location_assignment PIN_A19 -to sdMOSI
set_location_assignment PIN_B20 -to sdSCLK
# PS/2
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
# Serial
set_location_assignment PIN_A10 -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_C22 -to vduffd0
# Video
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_B15 -to videoR0
set_location_assignment PIN_A15 -to videoR1
set_location_assignment PIN_B18 -to hSync
set_location_assignment PIN_A18 -to vSync
# SRAM
set_location_assignment PIN_F1 -to n_sRamCS
set_location_assignment PIN_J2 -to n_sRamOE
set_location_assignment PIN_B4 -to n_sRamWE
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_P1 -to sramAddress[4]
set_location_assignment PIN_P2 -to sramAddress[5]
set_location_assignment PIN_N2 -to sramAddress[6]
set_location_assignment PIN_M2 -to sramAddress[7]
set_location_assignment PIN_H2 -to sramAddress[8]
set_location_assignment PIN_A3 -to sramAddress[9]
set_location_assignment PIN_A4 -to sramAddress[10]
set_location_assignment PIN_C3 -to sramAddress[11]
set_location_assignment PIN_A5 -to sramAddress[12]
set_location_assignment PIN_A6 -to sramAddress[13]
set_location_assignment PIN_A7 -to sramAddress[14]
set_location_assignment PIN_A8 -to sramAddress[15]
set_location_assignment PIN_B7 -to sramAddress[16]
set_location_assignment PIN_B6 -to sramAddress[17]
set_location_assignment PIN_B5 -to sramAddress[18]
set_location_assignment PIN_C4 -to sramAddress[19]
# GPIO
set_location_assignment PIN_AB18 -to gpio0[0]
set_location_assignment PIN_AA18 -to gpio0[1]
set_location_assignment PIN_AB19 -to gpio0[2]
set_location_assignment PIN_AB14 -to gpio2[0]
set_location_assignment PIN_AA14 -to gpio2[1]
set_location_assignment PIN_AB15 -to gpio2[2]
set_location_assignment PIN_AA15 -to gpio2[3]
set_location_assignment PIN_AB16 -to gpio2[4]
set_location_assignment PIN_AA16 -to gpio2[5]
set_location_assignment PIN_AB17 -to gpio2[6]
set_location_assignment PIN_AA17 -to gpio2[7]
# 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]