A-ESTF V2 EP4CE22 Board

From blwiki
Jump to: navigation, search

Board

A-ESTF 001 720px.jpg

Zoomed in picture

Features

FPGA

FPGA.jpg

  • ALTERA FPGA EP4CE22F17C8N
  • On-board 50MHZ active crystal input
    • Other Crystal oscillator pad not use.
  • On-board JTAG interface
    • Download SOF or .JIC
    • Download the debugger directly to the chip, or download the JIC file to the FLASH to keep the program, and the power failure is not lost.
    • SPI FLASH configer: 64M bit (user power down to save FPGA program or NIOS II program,
  • EPCS16 /or M25P16 Configuration EEPROM
    • Saves configuration through power cycles
    • Mine has M25P16 (same programming as EPCS16)

Memory

SDRAM memory:

SDRAM.jpg

EEPROM

EEPROM.jpg

  • I2C-Compatible, (2-wire) Serial EEPROM
  • 4-Kbit (512 x 8)
  • 24C04

SD card interface

A-ESTF-V2-Baseboard SD-Card.PNG

Switches/Pushbuttons

Power Switch

Power Button.jpg

  • On/Off pushbutton
  • Upper left corner of card

Three pushbuttons on FPGA card

FPGA Pushbuttons.jpg

  • Momentary contact pushbuttons
  • K1 = CONFIG = PIN_
    • FPGA reconfiguration button.
    • Resets the FPGA
      • Loads FPGA configuration from EEPROM
  • K2 = DEV-CLR = PIN_J15
  • K3 = DEV-OE = PIN_J16
  • K3 marked as DEV-OE

3X3 matrix keyboard key input

SwitchArray.jpg

A-ESTF-V2-Baseboard Keys 3x3.PNG

4 pushbuttons

A-ESTF-V2-Baseboard DIP-SW 4PBs.PNG

PushButtons-4.jpg

  • Momentary contact
  • Shared with 4-bits of the 1X8 DIP Switch FPGA pins
  • Marked as K10-K13 on baseboard

1X8 DIP Switch

A-ESTF-V2-Baseboard DIP-SW 4PBs.PNG

DIP Switch.jpg

  • 4-bits are shared with the 4 pushbuttons FPGA pins

Headers

ULN2003 Motor Controller

MotorController.jpg

A-ESTF-V2-Baseboard ULN2003.PNG

  • Stepper Motor Controller
  • Bottom Left corner
  • Wired to ULN2003
    • High-Voltage, High-Current Darlington Transistor Arrays
  • Marked as In
    • D,C,B,A
  • Marked as Out
    • D,C,B,A,5V,5V

J1- On FPGA board

  • I/O Voltage selection
  • 3.3V/2.5V selection jumper

J2 - on FPGA board

  • I/O Voltage selection?
  • 3.3V/2.5V selection jumper

J10 - I/O Connector

A-ESTF-V2-Baseboard IO Conn.PNG

  • On baseboard
  • May duplicate signals on 1620-style LCD display connector

J4 - 1620-style LCD VCC select

  • 3.3V/5V

J5 1620-style LCD display connector

  • Standard pinout

J6 - D/A and A/D

A-ESTF-V2-Baseboard AD DA.PNG

  • On baseboard
  • D/A Input/Output
  • 3.3V, 2x GND
  • LED connection to D16 that could be shorted to the D/A output for LED dimming
  1. IN
  2. GND
  3. LED (in)
  4. DA-OUT
  5. GND
  6. 3.3V

LEDs

Power LEDs

  • 2 Power LEDs
  • One located near 4 pushbuttons on left side of baseboard
  • Other D6 on FPGA board
    • Located next to the unused DC Power jack at top right of board (between unused power switch and jack)

D7 JTAG Config LED

  • Located on FPGA board
    • Connected to JTAG Config
    • Lights briefly during download of FPGA
  • Right center-ish

Seven Segment Display

A-ESTF-V2-Baseboard 7Seg-LEDs.PNG

  • The seven segment display and matrix display share control lines
    • There are two control lines that select which is being used
  • On-board 8 digit Seven Segment LED

8x8 LED matrix

A-ESTF-V2-Baseboard Matrix-LEDs.PNG

  • 8 LED lights
    • Marked as D4-D11

4 LEDs

MotorController.jpg

A-ESTF-V2-Baseboard ULN2003.PNG

  • In the bottom left corner of the board
    • Marked as D16-D19
    • Connect to ULN2003
    • A-D input and A-D output pins

8 LEDs

A-ESTF-V2-Baseboard LEDSx8.PNG

Analog I/O

Misc I/O

  • A total of 119 IO is derived from the board, of which 106 IO are bidirectional IO ports that can be input and output.
  • 13 can only be used for input, that is, the CLK clock pins of the chip (two keys and one LED IO are included in the 106 bidirectional IO ports)
    • Note on FPGA board indicates input only pins are: R8, R9, T8, T9, M1, M15, M16, A8, A9, B8, B9, R15, E16
  • There are 24 IO ports on the bottom board, which are next to the LCD interface.

PC PS/2 interface

A-ESTF-V2-Baseboard PS2.PNG

VGA interface

  • 65536 color
    • 16 bits

A-ESTF-V2-Baseboard VGA.PNG

  • LCD12864/1602 - LCD TFT, you can display color pictures or camera videos.

COM RS232 serial port

A-ESTF-V2-Baseboard RS-232.PNG

BELL buzzer

Buzzer.PNG

IR infrared receiver head

DS18B20 temperature sensor

A-ESTF-V2-Baseboard DS1820.PNG

Power

  • The board is a DC DC5V input
    • Center positive barrel connector
    • Located on the baseboard
    • BANK1, BANK2, BANK3 IO voltage can set 2.5V or 3.3V.
    • BANK4, BANK5, BANK6 O voltage can set 2.5V or 3.3V.

FPGA Resources

FPGA Resources.jpg

Programming the ST M25P64V5P Flash

  • This card has a single JTAG connector for code download
  • The card can be temporarily or permanently changed - but it's done with some special methods
    • Temporary programming does not persist after power cycling (or reset) (Stored in RAM
    • Permanent programming requires downloading the FPGA into the attached Serial EEPROM
  • The process to permanently program the EEPROM is more complicated
    • This is attempt to document the steps I took to make it work (this card uses EP4CE22F17C8N part)

EP4-Programming.PNG

Create sof file

  • In Quartus create code
  • Device: EP4CE22F17C8N
  • Compile the part
    • Processing > Start Compile
  • This results in a .sof file
    • .sof file is an sram download which puts the logic into the FPGA but does not store it permanently in the EEPROM

Create jic file

  • Ap Note on this process
  • Convert .sof file to .jic file
    • jic file is a JTAG Indirect Configuration file
      • jic file is downloaded through the FPGA into the EEPROM
      • File is brought through the FPGA which will be in a soft programming mode
    • File > Convert Programming File
    • If Conversion setup was previously saved then
      • Open Conversion Setup Data...
      • Select the file
      • If via this method then the next couple of steps can be skipped
    • If this is the first time then the next few steps need to be followed
    • Programming file type: JTAG Indirect Configuration file (.jic)
    • Configuration device: EPCS64
    • Set output file name
      • Make sure path is correct since the previous path seems to persist
  • Two "segments" in the Input Files to convert section
    • Flash Loader: EP4CE22
    • SOF Data: xxx.sof
  • Verify screen looks similar to this

Conv Prog File.PNG

  • Click Generate
    • Overwrite file (if needed)
  • Save Conversion Setup so you don't need to do this next time
  • Close

Program EEPROM

  • Back in Quartus Programmer
    • In Quartus select Program Device (Open Programmer)
  • Tools | Options
    • Select Use the enhanced mode Serial Flash Loader (SFL) IP for factory default helper image
  • Autodetect device
    • EP4CE22F17 shows up in preview window below
  • Select device by clicking on it
  • Right click on device
  • Edit
    • Attach flash device
    • Select Flash Device: EPCS64 (same as M25P64)
  • Click on EPCS64 and change file
  • Select Program/Configure box and the Factory default enhanced... line will appear
  • Select Start
  • Program Device with the setup below
  • If you did this before the screen is probably already correctly filled out
  • Note this has the FPGA on the card and the serial EEPROM shown as a connection from the FPGA
    • The FPGA has "Factory default enhanced SFL image" and is assigned to the EP4CE6
    • The .jic file which was created in the previous steps is assigned to the EPCS16
  • Mode should be JTAG since the connection to the card is via the one JTAG connector
  • Select Program/configure
    • The SFL image is a soft loader which lets the FPGA control the EEPROM
      • Should be EP4CE22F17C8N part

JIC File-5-Program.PNG

  • Start
  • The FPGA is left with only the Serial programmer
  • Remove power and repower up the card to have change take effect

FPGA and SDRAM

A-ESTF 002 720px.jpg

Zoomed in picture

I/O Connectors

  • The connections to the base board are made through 60-pin 2mm connectors
    • Most of these signals are used on the base board
  • There is a third unpopulated set of pins at the bottom of the FPGA board
  • There are 50-pin connectors for 0.1" pitch I/O connectors
    • The 50-pin connection are a subset of the 60-pins
  • The acrylic cover for the top does not go over the third set of pins so vertical headers could be installed

A-ESTF-V2-Baseboard Conns-2x60.PNG

Left I/O Connector

  • Pins are flipped in order between the board-board connector and the unpopulated I/O connector
    • Unpopulated 50-pin I/O connector is 0.1" pitch
    • 60-pin Board-board connector is 2mm pitch
  • Not all pins are present - 12 extra pins on the board-board connector

IO Left.jpg

60Pin 50Pin FPGA_Pin Function 60Pin 50Pin FPGA_Pin Function
1 49 5V Power 2 50 5V Power
3 47 NC 4 48 NC
5 37 GND Power 6 38 GND Power
7 45 PIN_B1 ps2kbd_clk 8 46 PIN_C2 ps2kbd_dat
9 PIN_D1 segdata[0] 10 NC NC
11 PIN_F3 segdata[1] 12 44 PIN_F2 segdata[2]
13 PIN_F1 segdata[3] 14 42 PIN_G2 segdata[4]
15 36 PIN_G1 segdata[5] 16 40 PIN_E7 segdata[6]
17 34 PIN_E6 segdata[7] 18 35 PIN_F8 U2_138_A[0]
19 32 PIN_L4 U2_128_A[1] 20 33 PIN_L3 U2_138_A[2]
21 28 PIN_J1 U3_138_select 22 31 PIN_G5 U2_138_select
23 26 PIN_K1 ds1820_dq 24 PIN_J2 SD-D3/SDCS
25 27 PIN_P6 SD-CMD/Sdin/MOSI 26 25 PIN_K2 SDCS/SD-CLK
27 23 PIN_L8 SD-D0/Sdout/MISO 28 24 PIN_L7 vga_vs
29 19 PIN_K5 vga_r[4] 30 20 PIN_M10 vga_hs
31 13 GND Power 32 14 GND Power
33 PIN_TMS TMS 34 TDO TDO
35 PIN_TCK TCK 36 TDI TDI
37 17 PIN_L1 vga_r[2] 38 18 PIN_L2 vga_r[3]
39 15 PIN_N1 vga_r[0] 40 16 PIN_N2 vga_r[1]
41 11 PIN_P1 vga_g[4] 42 12 PIN_P2 vga_g[5]
43 9 PIN_R1 vga_g[2] 44 10 PIN_T2 vga_g[3]
45 7 PIN_N3 vga_g[0] 46 8 PIN_P3 vga_g[1]
47 5 PIN_N5 vga_b[3] 48 6 PIN_R3 vga_b[4]
49 3 PIN_T3 vga_b[1] 50 4 PIN_R4 vga_b[2]
51 1 PIN_T4 I2C-SDA 52 2 PIN_R5 I2C_SCL
53 PIN_T3 RS232-TX 54 PIN_R6 vga_b[0]
55 21 GND Power 56 22 GND Power
57 PIN_T6 RS232-RX 58 PIN_R7 ROW0
59 PIN_T7 ROW1 60 PIN_N6 ROW2
29 GND Power 30 GND Power


A-ESTF Left IO.jpg

Right I/O Connector

  • Pins are flipped in order between the board-board connector and the unpopulated I/O connector
    • Unpopulated 50-pin I/O connector is 0.1" pitch
    • 60-pin Board-board connector is 2mm pitch
  • Not all pins are present - 12 extra pins on the board-board connector

IO Right.jpg

60Pin 50Pin FPGA_Pin Function J9 60Pin 50Pin FPGA_Pin Function J9
1 50 5V Power 2 49 5V Power
3 48 NC 4 47 NC
5 38 GND Power 2 6 37 GND Power 1
7 46 PIN_C15 Buzzer/BELL 8 45 PIN_B16 LED[7]/LED14
9 44 PIN_D15 LED[6]/LED13 10 43 PIN_C16 LED[5]/LED9
11 42 PIN_F15 LED[4]/LED8 12 41 PIN_D16 LED[3]/LED7
13 40 PIN_G15 LED[2]/LED6 14 39 PIN_F16 LED[1]/LED5
15 35 PIN_J13 LED[0]/LED4 16 36 PIN_T11 IO0 11
17 34 PIN_F14 IO1 11 18 33 PIN_F13 LCDdat[7]/IO2 14
19 32 PIN_K16 IO3 13 20 31 PIN_J14 LCDdat[6]/IO4 16
21 27 PIN_R11 IO5 15 22 28 PIN_K15 LCDdat[5]/IO6 18
23 NC 24 25 PIN_E10 IO7 19
25 26 PIN_F9 LCDdat[4]/IO8 20 26 23 PIN_L14 IO9 21
27 24 PIN_L13 LCDdat[3]/IO10 22 28 PIN_L16 IO11 23
29 19 PIN_L15 LCDdat[2]/IO12 24 30 20 PIN_J15 rst/IO13 25
31 14 GND Power 32 13 GND Power
33 17 PIN_N12 LCDdat[1]/IO14 26 34 18 PIN_J16 resetbtn/IO15 27
35 16 PIN_N15 LCDdat[0]/IO16 28 36 15 PIN_N16 IO17 29
37 12 PIN_N14 LCDen/IO18 30 38 11 PIN_P16 IO19 31
39 10 PIN_P15 rw/LCDWR/IO20 32 40 9 PIN_P14 IO21 33
41 8 PIN_T15 LCDrs/IO22 34 42 7 PIN_R16 IO23 35
43 6 PIN_T14 cs/ADCS 44 5 PIN_R14 A2DData
45 4 PIN_T13 ioclk/ADCLK 46 3 PIN_R13 da_data
47 2 PIN_E16 row[2]/COL2 48 1 PIN_E15 row[1]/COL1
49 PIN_B9 SW6 50 PIN_A9 COL0
51 PIN_A8 K14/SW4 52 PIN_B8 K12/SW3
53 PIN_M15 K11/SW2 54 PIN_M16 K10/SW1
55 GND 40 56 GND GND 39
57 PIN_T12 DA-SCLK 58 PIN_R12 DA-SYNC
59 NC 60 CLK_M1 IR_INPUT
22 GND Power 21 GND Power
30 GND Power 29 GND Power


A-ESTF Right IO.jpg

I/O Front Connector

IO Front.jpg

60Pin FPGA_Pin Function 60Pin FPGA_Pin Function
1 5V Power 2 5V Power
3 NO_PIN 4 NO_PIN
5 GND Power 6 GND Power
7 PIN_M7 8 PIN_M8 LED_D8
9 PIN_N8 10 PIN_M6
11 PIN_P9 12 PIN_P8
13 PIN_T10 14 PIN_N9
15 GND 16 GND
17 PIN_N11 18 PIN_P11
19 NC 20 PIN_R10
21 NC 22 NC
23 GND 24 GND
25 NC 26 NC
27 NC 28 NC
29 NC 30 NC
31 GND 32 GND
33 NC 34 NC
35 PIN_R8 36 PIN_R9
37 PIN_T8 38 PIN_T9
39 NC 40 NC
41 NC 42 NC

Pin Lists

  • Some assignments found here
set_global_assignment -name FAMILY "Cyclone IV E"
set_global_assignment -name DEVICE EP4CE22F17C8
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 256
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
#
set_location_assignment PIN_E1 -to CLK_50M
set_location_assignment PIN_J16 -to resetbtn
set_location_assignment PIN_J15 -to rst
set_location_assignment PIN_B8 -to rstn
set_location_assignment PIN_M16 -to i_rst_n
set_location_assignment PIN_C15 -to Buzzer
set_location_assignment PIN_K1 -to ds1820_dq
set_location_assignment PIN_M1 -to IR
set_location_assignment PIN_M8 -to LED_D8
# PS/2
set_location_assignment PIN_B1 -to ps2k_c
set_location_assignment PIN_C2 -to ps2k_d
# SD Card
set_location_assignment PIN_K2 -to sdcard_sclk
set_location_assignment PIN_J2 -to sdcard_cs
set_location_assignment PIN_L8 -to sdcard_miso
set_location_assignment PIN_P6 -to sdcard_mosi
# Serial
set_location_assignment PIN_T5 -to rx1
set_location_assignment PIN_T6 -to tx1
# VGA
set_location_assignment PIN_N1 -to vga_r[0]
set_location_assignment PIN_N2 -to vga_r[1]
set_location_assignment PIN_L1 -to vga_r[2]
set_location_assignment PIN_L2 -to vga_r[3]
set_location_assignment PIN_K5 -to vga_r[4]
set_location_assignment PIN_N3 -to vga_g[0]
set_location_assignment PIN_P3 -to vga_g[1]
set_location_assignment PIN_R1 -to vga_g[2]
set_location_assignment PIN_T2 -to vga_g[3]
set_location_assignment PIN_P1 -to vga_g[4]
set_location_assignment PIN_P2 -to vga_g[5]
set_location_assignment PIN_R6 -to vga_b[0]
set_location_assignment PIN_T3 -to vga_b[1]
set_location_assignment PIN_R4 -to vga_b[2]
set_location_assignment PIN_N5 -to vga_b[3]
set_location_assignment PIN_R3 -to vga_b[4]
set_location_assignment PIN_M10 -to vga_hs
set_location_assignment PIN_L7 -to vga_vs
# 3x3 keypad
set_location_assignment PIN_A9 -to row[0]
set_location_assignment PIN_E15 -to row[1]
set_location_assignment PIN_E16 -to row[2]
set_location_assignment PIN_R7 -to col[0]
set_location_assignment PIN_T7 -to col[1]
set_location_assignment PIN_N6 -to col[2]
# DAC7512
set_location_assignment PIN_R13 -to da_data_out
set_location_assignment PIN_T12 -to sclk_out
set_location_assignment PIN_R12 -to sync_out
set_location_assignment PIN_M16 -to resetin
# ADC_TLC549
set_location_assignment PIN_R14 -to data
set_location_assignment PIN_T13 -to ioclk
set_location_assignment PIN_T14 -to cs
# Seven Segment Display and Matrix LEDs
set_location_assignment PIN_G5 -to U2_138_7Seg_select
set_location_assignment PIN_J1 -to U3_138_Matrix_select
set_location_assignment PIN_L3 -to U2_128_A[2]
set_location_assignment PIN_L4 -to U2_128_A[1]
set_location_assignment PIN_F8 -to U2_128_A[0]
set_location_assignment PIN_D1 -to segdata[0]
set_location_assignment PIN_F3 -to segdata[1]
set_location_assignment PIN_F2 -to segdata[2]
set_location_assignment PIN_F1 -to segdata[3]
set_location_assignment PIN_G2 -to segdata[4]
set_location_assignment PIN_G1 -to segdata[5]
set_location_assignment PIN_E7 -to segdata[6]
set_location_assignment PIN_E6 -to segdata[7]
# SDRAM
set_location_assignment PIN_D9 -to SDR_BA[1]
set_location_assignment PIN_E9 -to SDR_BA[0]
set_location_assignment PIN_B10 -to SDR_AD[0]
set_location_assignment PIN_A11 -to SDR_AD[1]
set_location_assignment PIN_B11 -to SDR_AD[2]
set_location_assignment PIN_A12 -to SDR_AD[3]
set_location_assignment PIN_D14 -to SDR_AD[4]
set_location_assignment PIN_D12 -to SDR_AD[5]
set_location_assignment PIN_D11 -to SDR_AD[6]
set_location_assignment PIN_C14 -to SDR_AD[7]
set_location_assignment PIN_C11 -to SDR_AD[8]
set_location_assignment PIN_C9 -to SDR_AD[9]
set_location_assignment PIN_A10 -to SDR_AD[10]
set_location_assignment PIN_C8 -to SDR_AD[11]
set_location_assignment PIN_C6 -to SDR_AD[12]
set_location_assignment PIN_A2 -to SDR_DA[0]
set_location_assignment PIN_B3 -to SDR_DA[1]
set_location_assignment PIN_A3 -to SDR_DA[2]
set_location_assignment PIN_B4 -to SDR_DA[3]
set_location_assignment PIN_A4 -to SDR_DA[4]
set_location_assignment PIN_A5 -to SDR_DA[6]
set_location_assignment PIN_B5 -to SDR_DA[5]
set_location_assignment PIN_B6 -to SDR_DA[7]
set_location_assignment PIN_A14 -to SDR_DA[8]
set_location_assignment PIN_B13 -to SDR_DA[9]
set_location_assignment PIN_A13 -to SDR_DA[10]
set_location_assignment PIN_B12 -to SDR_DA[11]
set_location_assignment PIN_D6 -to SDR_DA[12]
set_location_assignment PIN_D5 -to SDR_DA[13]
set_location_assignment PIN_C3 -to SDR_DA[14]
set_location_assignment PIN_D3 -to SDR_DA[15]
set_location_assignment PIN_D8 -to SDR_RAS
set_location_assignment PIN_A7 -to SDR_CAS
set_location_assignment PIN_B7 -to SDR_WE
set_location_assignment PIN_E8 -to SDR_CS
set_location_assignment PIN_A15 -to SDR_CKE
set_location_assignment PIN_B14 -to SDR_CLK
set_location_assignment PIN_A6 -to SDR_DQM[0]
set_location_assignment PIN_E11 -to SDR_DQM[1]
# EPCS
set_location_assignment PIN_D2 -to EPCS_CS
set_location_assignment PIN_H2 -to EPCS_DATA0
set_location_assignment PIN_H1 -to EPCS_DCLK
set_location_assignment PIN_C1 -to EPCS_SDO
# Pushbutton and DIP Switches
set_location_assignment PIN_M16 -to switch[0]
set_location_assignment PIN_M15 -to switch[1]
set_location_assignment PIN_B8 -to switch[2]
set_location_assignment PIN_A8 -to switch[3]
set_location_assignment PIN_A9 -to switch[4]
set_location_assignment PIN_B9 -to switch[5]
set_location_assignment PIN_E15 -to switch[6]
set_location_assignment PIN_E16 -to switch[7]
# LEDs
set_location_assignment PIN_J13 -to LED[0]
set_location_assignment PIN_F16 -to LED[1]
set_location_assignment PIN_G15 -to LED[2]
set_location_assignment PIN_D16 -to LED[3]
set_location_assignment PIN_F15 -to LED[4]
set_location_assignment PIN_C16 -to LED[5]
set_location_assignment PIN_D15 -to LED[6]
set_location_assignment PIN_B16 -to LED[7]
# LCD
set_location_assignment PIN_P15 -to rw
set_location_assignment PIN_N14 -to en
set_location_assignment PIN_F13 -to dat[7]
set_location_assignment PIN_J14 -to dat[6]
set_location_assignment PIN_K15 -to dat[5]
set_location_assignment PIN_F9 -to dat[4]
set_location_assignment PIN_L13 -to dat[3]
set_location_assignment PIN_L15 -to dat[2]
set_location_assignment PIN_N12 -to dat[1]
set_location_assignment PIN_N15 -to dat[0]
set_location_assignment PIN_T15 -to rs

MIST Pins

# Clock 50mhz
set_location_assignment PIN_E1 -to CLOCK_50
#
# RESET PRINCIPAL
set_location_assignment PIN_M16 -to KEY[0]
#set_location_assignment PIN_M15 -to KEY[1]
#
# LED HD, FD, system
set_location_assignment PIN_J13 -to LEDS[0]
set_location_assignment PIN_F16 -to LEDS[1]
# este led es el mismo pin que el del RS232, por lo que no puede usarse
set_location_assignment PIN_G15 -to LEDS[2]
#
# Buzzer
set_location_assignment PIN_C15 -to PIEZO
#
# Mouse
set_location_assignment PIN_J16 -to PS2_MCLK
set_location_assignment PIN_N16 -to PS2_MDAT
#
# Keyboard
set_location_assignment PIN_B1 -to PS2_CLK
set_location_assignment PIN_C2 -to PS2_DAT
#
# Audio
set_location_assignment PIN_P16 -to AUDIO_L
set_location_assignment PIN_P14 -to AUDIO_R
#
# Joystick 1 DB9 (9 pines)
set_location_assignment PIN_R16 -to JOYA[0]
set_location_assignment PIN_F14 -to JOYA[1]
set_location_assignment PIN_K16 -to JOYA[2]
set_location_assignment PIN_R11 -to JOYA[3]
set_location_assignment PIN_J15 -to JOYA[4]
set_location_assignment PIN_L16 -to JOYA[5]
# Joystick 2
set_location_assignment PIN_L14 -to JOYB[0]
set_location_assignment PIN_E10 -to JOYB[1]
set_location_assignment PIN_K15 -to JOYB[2]
set_location_assignment PIN_J14 -to JOYB[3]
set_location_assignment PIN_F13 -to JOYB[4]
set_location_assignment PIN_T11 -to JOYB[5]
#
# RS232, PARA MI PLACA,, ademas, poner a "1" el bit de datos 
#set_location_assignment PIN_D15 -to UART_RXD
#set_location_assignment PIN_C15 -to UART_TXD
# PARA LA PLACA "TXAPELA-2", ademas, poner a "0" el bit de datos 
set_location_assignment PIN_T5 -to UART_RXD
set_location_assignment PIN_T6 -to UART_TXD
#
# VGA 666 (LA MARCA DEL DIABLO)
set_location_assignment PIN_L15 -to VGA_R[0]
set_location_assignment PIN_N1 -to VGA_R[1]
set_location_assignment PIN_N2 -to VGA_R[2]
set_location_assignment PIN_L1 -to VGA_R[3]
set_location_assignment PIN_L2 -to VGA_R[4]
set_location_assignment PIN_K5 -to VGA_R[5]
#
set_location_assignment PIN_L13 -to VGA_B[0]
set_location_assignment PIN_R6 -to VGA_B[1]
set_location_assignment PIN_T3 -to VGA_B[2]
set_location_assignment PIN_R4 -to VGA_B[3]
set_location_assignment PIN_N5 -to VGA_B[4]
set_location_assignment PIN_R3 -to VGA_B[5]
#
set_location_assignment PIN_N3 -to VGA_G[0]
set_location_assignment PIN_P3 -to VGA_G[1]
set_location_assignment PIN_R1 -to VGA_G[2]
set_location_assignment PIN_T2 -to VGA_G[3]
set_location_assignment PIN_P1 -to VGA_G[4]
set_location_assignment PIN_P2 -to VGA_G[5]
#
set_location_assignment PIN_M10 -to VGA_HS
set_location_assignment PIN_L7 -to VGA_VS
#
# lector de MINI-SD
set_location_assignment PIN_K2 -to SD_CLK
set_location_assignment PIN_P6 -to SD_MOSI
set_location_assignment PIN_L8 -to SD_MISO
set_location_assignment PIN_J2 -to SD_CS
#
# DRAM de 32megas de mi placa
set_location_assignment PIN_B10 -to SDRAM_A[0]
set_location_assignment PIN_A11 -to SDRAM_A[1]
set_location_assignment PIN_B11 -to SDRAM_A[2]
set_location_assignment PIN_A12 -to SDRAM_A[3]
set_location_assignment PIN_D14 -to SDRAM_A[4]
set_location_assignment PIN_D12 -to SDRAM_A[5]
set_location_assignment PIN_D11 -to SDRAM_A[6]
set_location_assignment PIN_C14 -to SDRAM_A[7]
set_location_assignment PIN_C11 -to SDRAM_A[8]
set_location_assignment PIN_C9 -to SDRAM_A[9]
set_location_assignment PIN_A10 -to SDRAM_A[10]
set_location_assignment PIN_C8 -to SDRAM_A[11]
set_location_assignment PIN_C6 -to SDRAM_A[12]
#
set_location_assignment PIN_A2 -to SDRAM_DQ[0]
set_location_assignment PIN_B3 -to SDRAM_DQ[1]
set_location_assignment PIN_A3 -to SDRAM_DQ[2]
set_location_assignment PIN_B4 -to SDRAM_DQ[3]
set_location_assignment PIN_A4 -to SDRAM_DQ[4]
set_location_assignment PIN_B5 -to SDRAM_DQ[5]
set_location_assignment PIN_A5 -to SDRAM_DQ[6]
set_location_assignment PIN_B6 -to SDRAM_DQ[7]
set_location_assignment PIN_A14 -to SDRAM_DQ[8]
set_location_assignment PIN_B13 -to SDRAM_DQ[9]
set_location_assignment PIN_A13 -to SDRAM_DQ[10]
set_location_assignment PIN_B12 -to SDRAM_DQ[11]
set_location_assignment PIN_D6 -to SDRAM_DQ[12]
set_location_assignment PIN_D5 -to SDRAM_DQ[13]
set_location_assignment PIN_C3 -to SDRAM_DQ[14]
set_location_assignment PIN_D3 -to SDRAM_DQ[15]
#
set_location_assignment PIN_A15 -to SDRAM_CKE
set_location_assignment PIN_B14 -to SDRAM_CLK
set_location_assignment PIN_A7 -to SDRAM_nCAS
set_location_assignment PIN_D8 -to SDRAM_nRAS
set_location_assignment PIN_B7 -to SDRAM_nWE
set_location_assignment PIN_E8 -to SDRAM_nCS
#
set_location_assignment PIN_E9 -to SDRAM_BA[0]
set_location_assignment PIN_D9 -to SDRAM_BA[1]
set_location_assignment PIN_A6 -to SDRAM_DQML
set_location_assignment PIN_E11 -to SDRAM_DQMH

PDP-11 Project Pin List

  • Used for PDP-11 front panel connections

IMG_20190603_090903.png

  • He wired the unused lines to the front connector N/C pins

IMG_20190603_085142.png

# Pin & Location Assignments
# ==========================
set_location_assignment PIN_E1 -to clkin
set_location_assignment PIN_J16 -to resetbtn
set_location_assignment PIN_J15 -to enablebtn
set_location_assignment PIN_C15 -to beep

set_location_assignment PIN_M8 -to LED_D8
set_location_assignment PIN_D2 -to EPCS_CS
set_location_assignment PIN_H2 -to EPCS_DATA0
set_location_assignment PIN_H1 -to EPCS_DCLK
set_location_assignment PIN_C1 -to EPCS_SDO

set_location_assignment PIN_P15 -to sw_cont
set_location_assignment PIN_N14 -to sw_halt
set_location_assignment PIN_T15 -to led_run

set_location_assignment PIN_J13 -to redled[0]
set_location_assignment PIN_F16 -to redled[1]
set_location_assignment PIN_G15 -to redled[2]
set_location_assignment PIN_D16 -to redled[3]
set_location_assignment PIN_F15 -to redled[4]
set_location_assignment PIN_C16 -to redled[5]
set_location_assignment PIN_D15 -to redled[6]
set_location_assignment PIN_B16 -to redled[7]

set_location_assignment PIN_M16 -to switch[0]
set_location_assignment PIN_M15 -to switch[1]
set_location_assignment PIN_B8 -to switch[2]
set_location_assignment PIN_A8 -to switch[3]

set_location_assignment PIN_C6 -to dram_addr[12]
set_location_assignment PIN_C8 -to dram_addr[11]
set_location_assignment PIN_A10 -to dram_addr[10]
set_location_assignment PIN_C9 -to dram_addr[9]
set_location_assignment PIN_C11 -to dram_addr[8]
set_location_assignment PIN_C14 -to dram_addr[7]
set_location_assignment PIN_D11 -to dram_addr[6]
set_location_assignment PIN_D12 -to dram_addr[5]
set_location_assignment PIN_D14 -to dram_addr[4]
set_location_assignment PIN_A12 -to dram_addr[3]
set_location_assignment PIN_B11 -to dram_addr[2]
set_location_assignment PIN_A11 -to dram_addr[1]
set_location_assignment PIN_B10 -to dram_addr[0]
set_location_assignment PIN_D9 -to dram_ba_1
set_location_assignment PIN_E9 -to dram_ba_0
set_location_assignment PIN_A7 -to dram_cas_n
set_location_assignment PIN_A15 -to dram_cke
set_location_assignment PIN_B14 -to dram_clk
set_location_assignment PIN_E8 -to dram_cs_n
set_location_assignment PIN_D3 -to dram_dq[15]
set_location_assignment PIN_C3 -to dram_dq[14]
set_location_assignment PIN_D5 -to dram_dq[13]
set_location_assignment PIN_D6 -to dram_dq[12]
set_location_assignment PIN_B12 -to dram_dq[11]
set_location_assignment PIN_A13 -to dram_dq[10]
set_location_assignment PIN_B13 -to dram_dq[9]
set_location_assignment PIN_A14 -to dram_dq[8]
set_location_assignment PIN_B6 -to dram_dq[7]
set_location_assignment PIN_A5 -to dram_dq[6]
set_location_assignment PIN_B5 -to dram_dq[5]
set_location_assignment PIN_A4 -to dram_dq[4]
set_location_assignment PIN_B4 -to dram_dq[3]
set_location_assignment PIN_A3 -to dram_dq[2]
set_location_assignment PIN_B3 -to dram_dq[1]
set_location_assignment PIN_A2 -to dram_dq[0]
set_location_assignment PIN_E11 -to dram_udqm
set_location_assignment PIN_A6 -to dram_ldqm
set_location_assignment PIN_D8 -to dram_ras_n
set_location_assignment PIN_B7 -to dram_we_n

set_location_assignment PIN_T5 -to rx1
set_location_assignment PIN_T6 -to tx1

set_location_assignment PIN_P14 -to tx2
set_location_assignment PIN_R16 -to rx2
set_location_assignment PIN_N16 -to cts2
set_location_assignment PIN_P16 -to rts2

set_location_assignment PIN_K2 -to sdcard_sclk
set_location_assignment PIN_J2 -to sdcard_cs
set_location_assignment PIN_L8 -to sdcard_miso
set_location_assignment PIN_P6 -to sdcard_mosi

set_location_assignment PIN_G5 -to U2_138_select
set_location_assignment PIN_J1 -to U3_138_select
set_location_assignment PIN_F8 -to Anode_Activate[0]
set_location_assignment PIN_L4 -to Anode_Activate[1]
set_location_assignment PIN_L3 -to Anode_Activate[2]
set_location_assignment PIN_D1 -to sseg0[0]
set_location_assignment PIN_F3 -to sseg0[1]
set_location_assignment PIN_F2 -to sseg0[2]
set_location_assignment PIN_F1 -to sseg0[3]
set_location_assignment PIN_G2 -to sseg0[4]
set_location_assignment PIN_G1 -to sseg0[5]
set_location_assignment PIN_E7 -to sseg0[6]
set_location_assignment PIN_E6 -to ssegP


set_location_assignment PIN_N15 -to max7219_clock
set_location_assignment PIN_L15 -to max7219_data
set_location_assignment PIN_N12 -to max7219_load

set_location_assignment PIN_F13 -to xu_cs
set_location_assignment PIN_J14 -to xu_debug_tx
set_location_assignment PIN_K15 -to xu_miso
set_location_assignment PIN_F9 -to xu_mosi
set_location_assignment PIN_L13 -to xu_sclk

set_location_assignment PIN_B1 -to ps2k_c
set_location_assignment PIN_C2 -to ps2k_d

set_location_assignment PIN_M10 -to vgah
set_location_assignment PIN_L7 -to vgav
set_location_assignment PIN_R6 -to vgab[0]
set_location_assignment PIN_T3 -to vgab[1]
set_location_assignment PIN_R4 -to vgab[2]
set_location_assignment PIN_N5 -to vgab[3]
set_location_assignment PIN_R3 -to vgab[4]
set_location_assignment PIN_P2 -to vgag[5]
set_location_assignment PIN_P1 -to vgag[4]
set_location_assignment PIN_T2 -to vgag[3]
set_location_assignment PIN_R1 -to vgag[2]
set_location_assignment PIN_P3 -to vgag[1]
set_location_assignment PIN_N3 -to vgag[0]
set_location_assignment PIN_K5 -to vgar[4]
set_location_assignment PIN_L2 -to vgar[3]
set_location_assignment PIN_L1 -to vgar[2]
set_location_assignment PIN_N2 -to vgar[1]
set_location_assignment PIN_N1 -to vgar[0]

set_location_assignment PIN_K1 -to panel_col[11]
set_location_assignment PIN_R5 -to panel_col[10]
set_location_assignment PIN_T4 -to panel_col[9]
set_location_assignment PIN_M6 -to panel_col[8]
set_location_assignment PIN_M7 -to panel_col[7]
set_location_assignment PIN_N8 -to panel_col[6]
set_location_assignment PIN_N9 -to panel_col[5]
set_location_assignment PIN_N11 -to panel_col[4]
set_location_assignment PIN_P8 -to panel_col[3]
set_location_assignment PIN_P9 -to panel_col[2]
set_location_assignment PIN_P11 -to panel_col[1]
set_location_assignment PIN_R10 -to panel_col[0]

set_location_assignment PIN_T10 -to panel_row[2]
set_location_assignment PIN_E10 -to panel_row[1]
set_location_assignment PIN_T14 -to panel_row[0]

set_location_assignment PIN_K16 -to panel_xled[5]
set_location_assignment PIN_L14 -to panel_xled[4]
set_location_assignment PIN_R11 -to panel_xled[3]
set_location_assignment PIN_R13 -to panel_xled[2]
set_location_assignment PIN_R14 -to panel_xled[1]
set_location_assignment PIN_T11 -to panel_xled[0]

Other Projects