iCEdragon Demo Board - Lattice Semiconductor/media/LatticeSemi/Documents... · Set at 1V8. This is...
Transcript of iCEdragon Demo Board - Lattice Semiconductor/media/LatticeSemi/Documents... · Set at 1V8. This is...
November 2012EB80_01.0
iCEdragon Demo Board
User’s Guide
2
iCEdragon Demo Board
IntroductionThank you for choosing the iCEdragon™ Demo Board. This board is designed to help you develop hardware solu-tions based on the Android OS using the iCE40™ ultra-low density FGPA.
To get the latest news, updates and downloadable resources for the iCEdragon Demo Board – including demos and documentation, visit the Lattice web site at www.latticesemi.com/boards and follow the links to the iCEdragon Demo Board.
Features• iCE40-HX8K FPGA in 256-ball caBGA package
• Generous I/O access on PCB
• Six status LEDs
• Two pushbuttons
• USB mini plug
• IR Sensor
• Two IR transmitters
• On/off switch
• 8 Mbit SPI serial configuration PROM
• USB mini cable included
Figure 1. iCEdragon Demo Board
The following items are not included with the iCEdragon Demo Board, but may be required to fully utilize the board in some situations:
• Programming Cable: Lattice HW-USBN-2A may be used.
• DragonBoard development platform: See below for more details
3
iCEdragon Demo Board
Software RequirementsThe following software is available for download from the Lattice web site. Go to: www.latticesemi.com/softwareand follow the appropriate links.
• iCEcube2™: For development with the iCE40 FGPA
• Programmer: For programming the iCE40 FPGA with a Lattice programming cable (cable available separately)
In addition, drivers and development software may be required for development with the Andriod OS. Specific details will depend on the level of development you intend to complete.
DragonBoardThe iCEdragon Demo Board is designed exclusively for use with the DragonBoard development system, available separately from BSquare. The DragonBoard is a system to aid in development of hardware systems based on the Android OS. The iCEdragon Demo Board is not designed for stand-alone operation; the DragonBoard development system is required to both power and program the iCEdragon Demo Board, as well as to run the demonstration(s) described in this document.
For more information on the DragonBoard kits and options, visit the BSquare website at: www.bsquare.com/store-products.aspx
iCEdragon Demo Board Default Jumper SettingsTable 1. iCEdragon Demo Board Default Jumper Settings
Qualcomm IR-I2C Bridge Demo SetupThe iCE40 FPGA on the iCEdragon Demo Board comes pre-programmed with the Qualcomm IR-I2C Bridge Demo described below. The programming file and source code for this demo can be downloaded from the Lattice website at www.latticesemi.com/boards (navigate to the iCEdragon Demo Board page).
The Qualcomm IR-I2C Bridge Demo setup consists of the iCEdragon Demo Board which includes an IR-Receiver interfaced with an iCE40 ultra-low density FPGA. The iCEdragon Demo Board is interfaced with a J6 connector (Sensor board) of the DragonBoard using I2C and interrupt lines. A Sony RMTD301 is used as the IR-Transmitter.
RS232 and OTG-to-USB connections are made between the DragonBoard and a host PC. These are used for serial debugging and ADB connectivity, respectively.
A serial log can be seen on a CuteCom graphical serial terminal or any other serial console.
An ADB log can be seen on the terminal by using the command ‘$adb shell’ followed by ‘#logcat’.
Jumper Parameter Setting
J3 VCCIO0 Set at VCCVAR (the voltage on Bank 0, where IR Tx and Rx parts are connected).
J5 VCCIO1 Set at 1V8. This is the voltage on Bank 1 where the DragonBoard interfaces are wired. Must be set to 1V8 for compatibility with DragonBoard levels.
J19 PWRSEL Set at DGN. Indicates the source of power, will be 2.85V from the DragonBoard’s J6 connector for DragonBoard-related demos. This renders VCCVAR at 2.85V throughout the board.
J14 VCCIO2 Set at VCCVAR so that LEDs can light as required.
J7 VCCIO3 Set at 1.8V. No connections for current demos, set it at the lowest voltage.
4
iCEdragon Demo Board
Figure 2. Qualcomm IR-I2C Bridge Demo Setup
IR-Transmitter
Power
OTG cable For ADB
Connection
Serial Debugging
IR_Scanner Application
IR-Transmitter
DragonBoard Power
OTG cable For ADB
Connection
Serial Debugging
IR_Scanner Application
IR-Transmitter
Power Switch
OTG cable For ADB
Connection
Serial Debugging
IR_Scanner Application
iCEdragonDemo Board
Interrupt Configuration1. Identify the GPIO Number
The DragonBoard makes use of ACCIL_IRQ (Pin6) on the J6 connector for interrupt.
As per the schematics (8060DragonBoard_Schematic_CPU_Carrier_Board_(110311).pdf and 8060DragonBoard_Schematic_Main_Board_(091611).pdf), the GPIO-57 pin of APQ8060 is connected to the ACCEL_IRQ pin.
2. Print the IRQ Number
The interrupt number is printed by adding the following lines to the board support package file found in the fol-lowing path:
..../8060_v3/kernel/arch/arm/mach-msm/board-msm8x60.c#define GPIO_IRDETECT_IRQ 57
5
iCEdragon Demo Board
Under ‘static void __init msm8x60_dragon_init(void)’ add the following lines:
uint32_t irq;gpio_request(GPIO_IRDETECT_IRQ, "IR-DETECT"); // REQUEST GPIO 57gpio_export(GPIO_IRDETECT_IRQ, 0); // EXPORT GPIO 57gpio_direction_input(GPIO_IRDETECT_IRQ); // INPUT DIRECTION GPIO 57 printk(KERN_EMERG " PRINTING IRQ NUMBER \n"); // DEBUGirq = gpio_to_irq(GPIO_IRDETECT_IRQ); // GET IRQ NUMBERprintk(KERN_EMERG " IRQ NUMBER of GPIO-57 : %d\n", irq); // DEBUG
Build the kernel and flash boot.img file onto the DragonBoard as explained in Steps 5 and 7.
The boot log generated during reboot will print the IRQ number as follows:
IRQ NUMBER of GPIO-57 : 313
Note: Modified ‘board-msm8x60.c’ is given with this document and can be found in the following location:
/8060_v3/kernel/arch/arm/mach-msm/board-msm8x60.c
3. Identify I2C Device Lines
The I2C device line registered on the J6 connector is identified from the device file of the DragonBoard:
…./8060_v3/kernel/arch/arm/mach-msm/device-msm8x60.c
It is identified that i2c-5 lines are used on the J6 connector (sensor connector). This device lines are used to read and write from the iCEdragon Demo Board.
4. Interrupt Handling Driver in Kernel
The interrupt handling driver file ‘I2C_irdetect_dev.c’ and respective modified ‘Makefile’ are provided with this document. These files exists in the path below:
/8060_v3/kernel/drivers/i2c/
Simply copy the above driver file and Makefile to the following Android kernel path:
…./8060_v3/kernel/drivers/i2c/
Now, proceed to build the kernel as described in the following steps.
5. Build the 8060_V3 Android Kernel for the DragonBoard
a. To clean all the previously-built directories and image files, use the command below:$mke clean
b. To build the kernel source code, use these commands:$sudo -s$cd …./8060_v3/$./build.sh
6
iCEdragon Demo Board
6. Edit init.rc and Rebuild Kernel
When building the kernel source code for first time after using the ‘$make clean’ command, the default init.rc file will be created in this location:
…./8060_v3/out/target/product/msm8660_surf/root
Note: A modified init.rc file is provided with this document and can be found in the following path:
/8060_v3/out/target/product/msm8660_surf/root/init.rc
Use the commands below to edit the init.rc file:
$cd …./8060_v3/out/target/product/msm8660_surf/root$sudo vi init.rc
Add the following lines to the init.rc file:
mount debugfs debugfs /sys/kernel/debugchmod 0777 /dev/i2c-5 chmod 0777 /sys/kernel/debug/IR_detectchmod 0777 /system/etc/dbus.confchown system system /system/etc/dbus.confchown system system /dev/i2c-5chown system system /sys/kernel/debug/IR_detect
After editing the init.rc file, save it and rebuild the kernel for the changes to take effect in the boot.img file.
Re-build the kernel source code using the commands below:
$sudo -s$cd …./8060_v3/$./build.sh
Note: Do not use the ‘$make clean’ command during re-build as this will overwrite to default init.rc file.
Once the build is complete, follow the steps below to flash the boot image to the board.
7. Flash the Boot Image to the DragonBoard
a. Run the command below on the terminal to enter Root Mode:$sudo -s
b. Reboot the DragonBoard in Fastboot Mode. To do this, hold down button 5 on the keypad during reboot.
The DragonBoard can be rebooted to Fastboot Mode by pressing the Power button on the board for few seconds until the power-off option is shown on the touch screen. Now hold down button 5 on key-pad and click the Power Off option shown on the touch screen. Hold down button 5 until the reboot is complete.
Note: Not holding down button 5 on the keypad during reboot will reboot the board with the existing Android operating system.
c. Verify FastBoot Mode. When the board is in FastBoot Mode mode, the screen is blank. Executing the command below on the terminal with root permission will list the FastBoot device number and its name:
$fastboot devices
The board is now ready to be flashed with the boot.img file.
7
iCEdragon Demo Board
d. Type the command below to flash the boot.img file:
$cd …./8060_v3/out/target/product/msm8660_surf/$fastboot flash boot boot.img
If the boot.img file is installed correctly, you will see the OKAY and FINISH comments.
e. Re-boot the DragonBoard to see the new boot image in effect. The following command will reboot the board to load the Android operating system:
$fastboot reboot
8. Build the IR_Scanner Application
a. Import the project to your Eclipse workspace.
The IR_Scanner application source is located in path given with this document:
Application/IR_Scanner
Open the Eclipse IDE with the Android SDK and ADT plug-in installed.
Click File > Import > General >Existing Project into the workspace.
Click Next and under the Project Options window, browse to select the above project location under the root directory. Click Next.
Select the Android 2.3.3 option and click Finish.
The IR_Scanner project is successfully imported into the workspace.
b. Build Java Native Interface files
JNI C files can be found in the following location:
‘Application/IR_Scanner/jni’
Open the file nativeIRDetect.c from above location and edit line 53 to include the path of the Anrdoid Directory i2c-dev.h file:
#include<..../8060_v3/kernel/include/linux/i2c-dev.h>
To re-build JNI files, enter the following commands:
$cd Application/IR_Scanner/jni$sudo -s$ …./android-ndk-r6b/ndk-build
Note: Download android-ndk from http://developer.android.com/sdk/ndk/index.html. This will generate the source file ‘libnativeIRDetect.so’ under the following path:
'Application/IR_Scanner/libs/armeabi/'
c. Clean and build the IR_Scanner project.
Under the Project tab, click the Clean option, select the IR_Scanner and click OK.
To build the IR_Scanner project, select the project IR_Scanner from the Package Explorer window. Under the Project tab, click Build Project.
8
iCEdragon Demo Board
9. Install IR_Scanner Application to Android
The IR_Scanner application can be installed onto the DragonBoard by following the steps below.
a. The DragonBoard is powered up and running Android.
b. Select the IR_Scanner project from the Package Explorer window on the left side of the Eclipse IDE. Click Run > Run as > Android Application. This will create and install the IR_Scanner application on the board.
The Android package file (apk) can be found in the following location:
'Application/IR_Scanner/bin'
10. Run the Qualcomm IR-I2C Bridge Demo
a. Power off the iCEdragon Demo Board by toggling the switch (sw1) to the OFF state.
b. Power off and Restart the DragonBoard.
c. After the Android boot is complete and the home screen appears, switch on the board by toggling the switch (sw1) to the ON position.
d. On the DragonBoard go to the Android application menu and open the application labled IR_Scanner. The application logo is shown below.
e. Now the application is ready to detect a key press from the Sony remote (RMTD301).
DragonboardPower Switch
iCE-DragonPower Switch
(sw1)
OFF ON
9
iCEdragon Demo Board
11. Debugging and Troubleshooting in the Kernel and Application
To debug board support files using printk statements, use printk functions with the KERN_EMERG flag.
Example: Printk(KERN_EMERG "MY PRINT LOG\n");
The printk lines can be shown on a serial console.
To enable the Android Debug Log, add the following line in the Android.mk file of your jni directory:
LOCAL_LDLIBS := -llo
Inside JNI ‘C’ code use android_log_print lines in the following format to debug:
#include<android/log.h> #define LOG_TAG "nativeIrdetect"
Example:
__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG,"PRINT LOG \n");__android_log_print(ANDROID_LOG_INFO, "PRINT VALUE=", "%d\n", value);
The debug lines can be observed on a serial console by using the ‘#logcat’ command.
If the android application does not respond, follow the steps below in the correct sequence:
a. Power off the iCEdragon Demo Board by toggling the switch (sw1) to the OFF position.b. Close the IR_scanner application process running in the background.
Android menu > Settings > Applications > Manage Applications > IR_Scanner > Force Stop
c. Power-on the board by toggling the switch (sw1) to the ON position.d. Open the IR_Scanner application from the Android menu and the application is ready to detect any
key press.
Installing the DragonBoard USB Driver in Windows XP1. Download and install the Android Software Development Kit (SDK).2. Start the SDK Manager GUI and install the Google USB Driver package mentioned in the Extras subheading.3. Copy [Android SDK Root]\extras\google\usb_driver to [Android SDK Root]\msm8655-mdp_usb_driver. If there
is no such folder, create a new folder.4. Open the android_winusb.inf (inside of the newly-created directory) file in Notepad or another non-format
appending text editor. Clear the contents of the[Google.NTx86] and [Google.NTamd64] paragraphs so that they contain only the following:
[Google.NTx86];BSQUARE MDP8655%SingleAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00%CompositeAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00%SingleBootLoaderInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00(1.0, 31-OCTOBER-2012) Lattice Semiconductor Corporation8 www.Latticesemi.comQualcomm IR-I2C Bridge[Google.NTamd64];BSQUARE MDP8655%SingleAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00%CompositeAdbInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00%SingleBootLoaderInterface% = USB_Install, USB\ VID_05C6&PID_9025&MI_00
10
iCEdragon Demo Board
5. To find VID number of the connected board, follow these steps:a. Go to My Computer and right-click Properties.b. In the System Properties window Go to Hardware > Device Manager.c. In Device Manager you will find “Android Device”. Expand this and you will find “Android ADB Inter-
face”.d. In Android ADB Interface right-click and go to Properties > Details. The details tab provides the
Device Instance ID.e. Copy the VID which is listed between USB\“ ”\.
6. Create and/or open the C:\Documents and Settings\[yourusername]\.android\adb_usb.ini file and make sure it contains only the hex string 0x05C6 (obtained from the step above).
7. Power on the device and connect it to the development machine. Be sure to point Windows to your newly-cre-ated USB driver directory for your MSM8655. If Windows is unable to find the needed driver(s), point the driver search to the original USB driver located in [Android SDK Root]\extras\google\usb_driver.
Ordering Information
Description Ordering Part NumberChina RoHS Environment-Friendly
Use Period (EFUP)
iCEdragon Demo Board ICE40HX8K-DRAGON-EVN
Lattice USB Programming Cable HW-USBN-2A
Technical Support AssistanceHotline: 1-800-LATTICE (North America)
+1-503-268-8001 (Outside North America)
e-mail: [email protected]
Internet: www.latticesemi.com
Revision HistoryDate Version Change Summary
November 2012 01.0 Initial release.
© 2012 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
11
iCEdragon Demo Board
Appendix A. iCEdragon Demo Board SchematicsFigure 3. Bank 0 Connections
5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
IR RX MODULES
IR EMITTERS
BANK 1 CONNECTOR
LATTICE CONFIDENTIAL
I_IR
1_R
X
I_IR
1_R
X
I_IR
2_R
X
I_IR
2_R
X
PIO
0_38
_A5
PIO
0_23
_A9
PIO
0_17
_A10
PIO
0_18
_A11
PIO
0_08
_A15
PIO
0_07
_A16
PIO
0_47
_B3
PIO
0_39
_B5
PIO
0_32
_B7
GB
IN0_
F7
GB
IN1_
C8
PIO
0_27
_B9
PIO
0_15
_B11
PIO
0_09
_B13
PIO
0_36
_A6
PIO
0_30
_A7
O_I
R1_
TXO
_IR
2_T
X
O_I
R1_
TX
O_I
R2_
TX
PIO
0_30
_A7
GB
IN0_
F7
GB
IN1_
C8
PIO
0_18
_A11
PIO
0_38
_A5
PIO
0_23
_A9
PIO
0_17
_A10
PIO
0_08
_A15
PIO
0_07
_A16
PIO
0_47
_B3
PIO
0_39
_B5
PIO
0_32
_B7
PIO
0_27
_B9
PIO
0_15
_B11
PIO
0_09
_B13
PIO
0_36
_A6
VC
C1V
2
VC
CV
AR
VC
CIO
0
VC
CIO
0
VC
CIO
0
VC
C2V
5
VC
C1V
8
VC
CV
AR
VC
CV
AR
VC
CIO
05V
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
0 C
onne
ctio
ns
A
16
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
0 C
onne
ctio
ns
A
16
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
0 C
onne
ctio
ns
A
16
Sat
urda
y, J
une
23, 2
012
D8
IRT
X2
D8
IRT
X2
R1
100
R1
100 R20
47R20
47
U4
TS
OP
3433
8
U4
TS
OP
3433
8
VD
D3
OU
T1
GN
D2
C5
0.1uC5
0.1u
U2
TS
OP
9820
0
U2
TS
OP
9820
0
VD
D3
OU
T1
GN
D2
R35
68R35
68
C25
0.1uC25
0.1u
Q2
2N39
04Q2
2N39
04
D7
IRT
X1
D7
IRT
X1
C26
10u
C26
10u
R31
3k9
R31
3k9
C17
10u
C17
10u
C6
10nC6
10n
C1
10nC1
10n
C10
10u
C10
10u
R26
47R26
47
C3
10nC3
10n
R38
3k9
R38
3k9
J17
GN
DJ1
7G
ND
1
BANK0
iCE
40H
X8K
-CT
256
U1A
BANK0
iCE
40H
X8K
-CT
256
U1A PLL
VC
C0
E8
PLL
GN
D_0
E7
GB
IN1/
PIO
0_25
C8
GB
IN0/
PIO
0_26
F7
VC
CIO
0_01
A13
VC
CIO
0_02
A3
VC
CIO
0_03
A8
VC
CIO
0_04
F8
PIO
0_00
C14
PIO
0_01
B15
PIO
0_02
D13
PIO
0_03
B14
PIO
0_04
C12
PIO
0_05
E11
PIO
0_06
C13
PIO
0_07
A16
PIO
0_08
A15
PIO
0_09
B13
PIO
0_10
E10
PIO
0_11
C11
PIO
0_12
D11
PIO
0_13
B12
PIO
0_14
B10
PIO
0_15
B11
PIO
0_16
C10
PIO
0_17
A10
PIO
0_18
A11
PIO
0_19
D10
PIO
0_20
C9
PIO
0_21
E9
PIO
0_22
D9
PIO
0_23
A9
PIO
0_24
F9
PIO
0_27
B9
PIO
0_28
D8
PIO
0_29
B8
PIO
0_30
A7
PIO
0_31
C7
PIO
0_32
B7
PIO
0_33
B6
PIO
0_34
C6
PIO
0_35
D7
PIO
0_36
A6
PIO
0_37
D6
PIO
0_38
A5
PIO
0_39
B5
PIO
0_40
E6
PIO
0_41
B4
PIO
0_42
A2
PIO
0_43
D5
PIO
0_44
A1
PIO
0_45
C5
PIO
0_46
C4
PIO
0_47
B3
PIO
0_48
D4
PIO
0_49
E5
PIO
0_50
D3
PIO
0_51
C3
J2 Ban
k 0
J2 Ban
k 0
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20
J3V
CC
IO0
J3V
CC
IO0
246
135
R32
68R32
68
C4
10nC4
10n
C2
1uC2
1u
Q1
2N39
04Q1
2N39
04
12
iCEdragon Demo Board
Figure 4. Bank 1 Connections5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
LATTICE CONFIDENTIAL
SENSOR BOARD CONNECTIONS
BANK 1 CONNECTOR
SENSOR ROUTE: DIRECT
SENSOR ROUTE: THRU FPGA
PIO
1_49
_B16
PIO
1_47
_C16
PIO
1_44
_D15
PIO
1_40
_D16
PIO
1_38
_E16
PIO
1_36
_F15
PIO
1_34
_F16
GB
IN3_
H11
PIO
1_30
_G16
GB
IN2_
H16
PIO
1_19
_J15
PIO
1_25
_J16
PIO
1_21
_K16
PIO
1_20
_K15
PIO
1_16
_L16
PIO
1_14
_M15
PIO
1_49
_B16
PIO
1_47
_C16
PIO
1_44
_D15
PIO
1_40
_D16
PIO
1_38
_E16
PIO
1_36
_F15
PIO
1_34
_F16
PIO
1_30
_G16
PIO
1_25
_J16
PIO
1_21
_K16
PIO
1_20
_K15
PIO
1_16
_L16
PIO
1_14
_M15
GB
IN3_
H11
GB
IN2_
H16
PIO
1_19
_J15
GN
D
GN
DG
ND
SD
A_F
PG
AS
CL_
FP
GA
FP
GA
_IR
Q
ALS
_VO
UT
IO14
4_P
S_O
UT
ALS
_EN
_MS
MP
LED
_SN
K
G_I
RQ
FP
GA
_IR
QA
EO
CA
RS
TG
_IR
Q_F
AE
OC
_F
AR
ST
_F
SD
A_F
PG
AS
CL_
FP
GA
SN
S_S
CL_
FS
NS
_SD
A_F
SD
A_F
PG
AS
CL_
FP
GA
SN
S_S
DA
SN
S_S
CL
SN
S_S
DA
_FS
NS
_SC
L_F
CM
P_I
RQ
_F
ALS
_EN
_MS
MP
SN
S_S
CL
G_I
RQ
CM
P_I
RQ
AE
OC
AR
ST
GY
R_I
RQ
ALT
_EO
CA
LT_R
ST
_N
GN
D
GN
DG
ND
SN
S_S
DA
GY
R_I
RQ
CO
MP
_IR
QA
CC
_IR
QA
LT_E
OC
ALT
_RS
T_N
LED
_SN
K
GY
R_I
RQ
ALT
_EO
CA
LT_R
ST
_N
IO14
4_P
S_O
UT
G_I
RQ
_FC
MP
_IR
Q_F
AE
OC
_FA
RS
T_F
ALS
_VO
UT
LED
_SN
K
CO
MP
_IR
Q
CO
MP
_IR
Q
AC
C_I
RQ
CM
P_I
RQ
VC
CIO
1
5VV
CC
IO1
2V85
1V8_
DR
GN
VC
C2V
5
VC
C1V
8VC
CV
AR
2V85
_DR
GN
1V8_
DR
GN
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
1 C
onne
ctio
ns
A
26
Mon
day,
Jun
e 25
, 201
2
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
1 C
onne
ctio
ns
A
26
Mon
day,
Jun
e 25
, 201
2
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
1 C
onne
ctio
ns
A
26
Mon
day,
Jun
e 25
, 201
2
RN
1D
NP
RN
1D
NP
1 2 3 45678
RN
222
RN
222
1 2 3 45678
BANK1
iCE
40H
X8K
-CT
256
U1B
BANK1
iCE
40H
X8K
-CT
256
U1B PIO
1_00
/TD
IR
14
PIO
1_01
/TM
SR
15
PIO
1_02
/CLK
P14
PIO
1_03
/TD
OP
15
TR
ST
_BN
14
GB
IN3/
PIO
1_27
H11
GB
IN2/
PIO
1_28
H16
VC
CIO
1_01
H10
VC
CIO
1_02
C15
VC
CIO
1_03
H15
VC
CIO
1_04
N15
PIO
1_04
P16
PIO
1_05
M13
PIO
1_06
M14
PIO
1_07
L12
PIO
1_08
N16
PIO
1_09
L13
PIO
1_10
L14
PIO
1_11
K12
PIO
1_12
M16
PIO
1_13
J10
PIO
1_14
M15
PIO
1_15
J11
PIO
1_16
L16
PIO
1_17
K13
PIO
1_18
K14
PIO
1_19
J15
PIO
1_20
K15
PIO
1_21
K16
PIO
1_22
J14
PIO
1_23
J12
PIO
1_24
J13
PIO
1_25
J16
PIO
1_26
H13
PIO
1_29
H14
PIO
1_30
G16
PIO
1_31
H12
PIO
1_32
G15
PIO
1_33
G10
PIO
1_34
F16
PIO
1_35
G11
PIO
1_36
F15
PIO
1_37
G14
PIO
1_38
E16
PIO
1_39
G13
PIO
1_40
D16
PIO
1_41
G12
PIO
1_42
F14
PIO
1_43
F12
PIO
1_44
D15
PIO
1_45
F11
PIO
1_46
E14
PIO
1_47
C16
PIO
1_48
F13
PIO
1_49
B16
PIO
1_50
E13
PIO
1_51
D14
R18 10
0R
18 100
R37
DN
PR
37D
NP
R24
100
R24
100
R40
DN
PR
40D
NP
J18
CO
NN
PC
B 8
x2J1
8C
ON
N P
CB
8x2
162 4 6 8 10 12 14
1 3 5 7 9 11 13 15
J6 CO
NN
PC
B 8
x2 S
OC
KJ6 C
ON
N P
CB
8x2
SO
CK
162 4 6 8 10 12 14
1 3 5 7 9 11 13 15
J5V
CC
IO1
J5V
CC
IO1
246
135
R39
0R
390
J9 Ban
k 1
J9 Ban
k 1
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20
C30
1uC30
1uC
3410
nC34
10n
R29
DN
PR
29D
NP
C32
0.1uC32
0.1u
C41
10nC41
10n
R19
100
R19
100
C38
10nC38
10n
C36
10n
C36
10n
J1 GN
DJ1 G
ND
1R
300
R30
0
R34
0R
340
R22
10k
R22
10k
13
iCEdragon Demo Board
Figure 5. Bank 2 Connections5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
LATTICE CONFIDENTIAL
BANK 2 CONNECTOR
LED INDICATORS
CLOCK OSCILLATOR
PIO
2_43
_R16
PIO
2_41
_T16
PIO
2_35
_T15
PIO
2_36
_T14
PIO
2_38
_T13
PIO
2_34
_T11
PIO
2_33
_T10
PIO
2_29
_R10
GB
IN5_
R9
PIO
2_24
_T9
PIO
2_21
_T8
PIO
2_17
_P8
PIO
2_20
_T7
PIO
2_18
_T6
PIO
2_15
_T5
PIO
2_09
_T3
PIO
2_05
_T2
PIO
2_01
_T1
GB
IN4_
K9
PIO
2_35
_T15
PIO
2_36
_T14
PIO
2_34
_T11
PIO
2_33
_T10
PIO
2_29
_R10
PIO
2_24
_T9
PIO
2_21
_T8
PIO
2_17
_P8
PIO
2_20
_T7
PIO
2_18
_T6
PIO
2_15
_T5
PIO
2_09
_T3
GB
IN4_
K9
PIO
2_38
_T13
PIO
2_41
_T16
PIO
2_43
_R16
CD
ON
E
CD
ON
E
GB
IN5_
R9
PIO
2_03
_R2
PIO
2_02
_P4
PIO
2_07
_R3
PIO
2_01
_T1
PIO
2_03
_R2
PIO
2_05
_T2
PIO
2_07
_R3
PIO
2_09
_T3
PIO
2_02
_P4
VC
CIO
2
5VV
CC
IO2
VC
C1V
2
VC
C2V
5
VC
C1V
8VC
CV
AR
VC
CIO
2
VC
CV
AR
VC
CIO
2
VC
CIO
2
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
2 C
onne
ctio
ns
A
36
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
2 C
onne
ctio
ns
A
36
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
2 C
onne
ctio
ns
A
36
Sat
urda
y, J
une
23, 2
012
R43
680
R43
680
BANK2
iCE
40H
X8K
-CT
256
U1C
BANK2
iCE
40H
X8K
-CT
256
U1C G
BIN
5/P
IO2_
26R
9G
BIN
4/P
IO2_
27K
9
PLL
GN
D_2
N8
PLL
VC
C2
L8
PIO
2_44
/CB
SE
L0K
11
PIO
2_45
/CB
SE
L1P
13
CD
ON
EM
10
CR
ES
ET
_BN
11
VC
CIO
2_01
K8
VC
CIO
2_02
P3
VC
CIO
2_03
R13
VC
CIO
2_04
R8
PIO
2_00
N6
PIO
2_01
T1
PIO
2_02
P4
PIO
2_03
R2
PIO
2_04
N5
PIO
2_05
T2
PIO
2_06
P5
PIO
2_07
R3
PIO
2_08
R5
PIO
2_09
T3
PIO
2_10
R4
PIO
2_11
M7
PIO
2_12
N7
PIO
2_13
P6
PIO
2_14
M8
PIO
2_15
T5
PIO
2_16
R6
PIO
2_17
P8
PIO
2_18
T6
PIO
2_19
L9
PIO
2_20
T7
PIO
2_21
T8
PIO
2_22
P7
PIO
2_23
N9
PIO
2_24
T9
PIO
2_25
M9
PIO
2_28
P9
PIO
2_29
R10
PIO
2_30
L10
PIO
2_31
P10
PIO
2_32
N10
PIO
2_33
T10
PIO
2_34
T11
PIO
2_35
T15
PIO
2_36
T14
PIO
2_37
M11
PIO
2_38
T13
PIO
2_39
N12
PIO
2_40
L11
PIO
2_41
T16
PIO
2_42
M12
PIO
2_43
R16
D5
LD5
D5
LD5
C52
10nC52
10n
C51
0.1uC51
0.1u
R21 10
kR
21 10k
SW
2
CR
ST
SW
2
CR
ST
C55
10nC55
10n
C50
1uC50
1uC
5410
nC54
10n
C49 10
uC
49 10u
C53
10nC53
10n
R45
680
R45
680
C48
0.1u
C48
0.1u
D3
LD3
D3
LD3
J14
VC
CIO
2J1
4V
CC
IO2
246
135
R44
680
R44
680
D4
LD4
D4
LD4
R46
680
R46
680
J15
GN
DJ1
5G
ND
1
C15
0.1u
C15
0.1u
AS
FLM
B-2
7.00
0MH
Z-L
C-T
U3
AS
FLM
B-2
7.00
0MH
Z-L
C-T
U3G
ND
2
VD
D4
ST
DB
Y#
1
OU
T3
D2
LD2
D2
LD2
R17
680
R17
680
J12
ST
DB
YJ12
ST
DB
Y1 2
R47
680
R47
680
R23
100
R23
100
J13
Ban
k 2
J13
Ban
k 2
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20
D1
LD1
D1
LD1
R42
680
R42
680
R28
10k
R28
10k
D9
DO
NE
D9
DO
NE
D6
LD6
D6
LD6
14
iCEdragon Demo Board
Figure 6. Bank 3 Connections5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
BANK 3 CONNECTOR
TERMINATION
LATTICE CONFIDENTIAL
DP
00B
DP
00A
DP
02B
_C2
DP
02A
_C1
DP
03B
DP
03A
DP
05B
DP
05A
DP
12B
DP
13A
_J3
DP
12A
DP
13B
_H1
DP
14B
_J1
DP
14A
_J2
DP
15A
DP
15B
DP
00A
_E4
DP
00B
_B2
DP
00B
DP
00A
DP
03A
_F4
DP
03B
_D2
DP
03B
DP
03A
DP
05A
_G4
DP
05B
_E3
DP
05B
DP
05A
DP
12A
_J5
DP
12B
_G1
DP
12B
DP
12A
DP
15A
_K1
DP
15B
_K3
DP
15B
DP
15A
DP
00B
_B2
DP
00A
_E4
DP
02B
_C2
DP
02A
_C1
DP
03B
_D2
DP
03A
_F4
DP
05B
_E3
DP
05A
_G4
DP
13B
_H1
DP
14B
_J1
DP
14A
_J2
DP
15A
_K1
DP
15B
_K3
DP
12A
_J5
DP
12B
_G1
DP
13A
_J3
VC
CIO
3
VC
C2V
5
VC
C1V
8
VC
CV
AR
VC
CIO
3
5VV
CC
IO3
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
3 C
onne
ctio
ns
A
46
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
3 C
onne
ctio
ns
A
46
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- B
ank
3 C
onne
ctio
ns
A
46
Sat
urda
y, J
une
23, 2
012
C35
0.1uC35
0.1u
C33
10nC33
10n
C23
1uC23
1uC
2710
nC27
10n
C31
10nC31
10n
C29
10nC29
10n
SW
3
US
RS
W
SW
3
US
RS
W
R10
Rs
R10
Rs
R8
Rs
R8
Rs
R27
10k
R27
10k
R2
Rs
R2
Rs
J16
GN
DJ1
6G
ND
1
R9
Rp
R9
Rp
J7V
CC
IO3
J7V
CC
IO3
246
135
R7
Rs
R7
Rs
BANK3
iCE
40H
X8K
-CT
256
U1D
BANK3
iCE
40H
X8K
-CT
256
U1D G
BIN
7/P
IO3_
25/D
P12
BG
1
GB
IN6/
PIO
3_26
/DP
13A
J3
VC
CIO
3_01
E1
VC
CIO
3_02
G6
VC
CIO
3_03
J6
VC
CIO
3_04
N1
PIO
3_00
/DP
00A
E4
PIO
3_01
/DP
00B
B2
PIO
3_02
/DP
01A
F5
PIO
3_03
/DP
01B
B1
PIO
3_04
/DP
02A
C1
PIO
3_05
/DP
02B
C2
PIO
3_06
/DP
03A
F4
PIO
3_07
/DP
03B
D2
PIO
3_08
/DP
04A
G5
PIO
3_09
/DP
04B
D1
PIO
3_10
/DP
05A
G4
PIO
3_11
/DP
05B
E3
PIO
3_12
/DP
06A
H5
PIO
3_13
/DP
06B
E2
PIO
3_14
/DP
07A
G3
PIO
3_15
/DP
07B
F3
PIO
3_16
/DP
08A
H3
PIO
3_17
/DP
08B
F2
PIO
3_18
/DP
09A
H6
PIO
3_19
/DP
09B
F1
PIO
3_20
/DP
10A
H4
PIO
3_21
/DP
10B
G2
PIO
3_22
/DP
11A
J4
PIO
3_23
/DP
11B
H2
PIO
3_24
/DP
12A
J5
PIO
3_27
/DP
13B
H1
PIO
3_28
/DP
14A
J2
PIO
3_29
/DP
14B
J1
PIO
3_30
/DP
15A
K1
PIO
3_31
/DP
15B
K3
PIO
3_32
/DP
16A
L4
PIO
3_33
/DP
16B
L1
PIO
3_34
/DP
17A
K4
PIO
3_35
/DP
17B
M1
PIO
3_36
/DP
18A
L6
PIO
3_37
/DP
18B
L3
PIO
3_38
/DP
19A
K5
PIO
3_39
/DP
19B
M2
PIO
3_40
/DP
20A
L7
PIO
3_41
/DP
20B
N2
PIO
3_42
/DP
21A
M6
PIO
3_43
/DP
21B
M3
PIO
3_44
/DP
22A
L5
PIO
3_45
/DP
22B
N3
PIO
3_46
/DP
23A
P1
PIO
3_47
/DP
23B
M4
PIO
3_48
/DP
24A
P2
PIO
3_49
/DP
24B
M5
PIO
3_50
/DP
25A
R1
PIO
3_51
/DP
25B
N4
R14
Rs
R14
Rs
R5
Rs
R5
Rs
R13
Rs
R13
Rs
R16
Rs
R16
Rs
R6
Rp
R6
Rp
R11
Rs
R11
Rs
R4
Rs
R4
Rs
R15
Rp
R15
Rp
R12
Rp
R12
Rp
R3
Rp
R3
Rp
J11
Ban
k 3
J11
Ban
k 3
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20
15
iCEdragon Demo Board
Figure 7. Power Supply5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
ON
LATTICE CONFIDENTIAL
USB POWER, POWER SELECTOR & SWITCH
LDO REGULATORS
VC
CV
AR
VC
C3V
3U
SB
5V
VC
CV
AR
VC
C1V
2V
CC
1V8
2V85
_DR
GN
5V
2V85
_DR
GN
VC
C2V
5V
CC
3V3
5V
US
B5V
2V85
5V
2V85
_DR
GN
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- P
ower
Sup
ply
A
56
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- P
ower
Sup
ply
A
56
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- P
ower
Sup
ply
A
56
Sat
urda
y, J
une
23, 2
012
C46
0.1u
C46
0.1u
C56
0.1u
C56
0.1u
C45 10
uC
45 10u
SW
1P
WR
SW
1P
WR
12
3
45
6
78
L210
0Mhz
, 26
ohm
sL2
100M
hz, 2
6 oh
ms
R25
680
R25
680
D10
PW
RD10
PW
R
D11
PM
EG
2005
CT
,215
D11
PM
EG
2005
CT
,215
312
C20 10
uC
20 10u
C21
47u
C21
47u
C44
0.1u
C44
0.1u
AP
7312
-121
8W6-
7U
7A
P73
12-1
218W
6-7
U7
1.8V
O1
1.8E
N3
1.2E
N4
1.2V
O6
VIN5
GND2
C22
0.1u
C22
0.1u
5V
D-
D+
ID
G
US
B P
WR
J20
5V
D-
D+
ID
G
US
B P
WR
J20
1
2
3
4
S2
5
S1
S3
S4
C18
47u
C18
47u
C19
0.1u
C19
0.1u
J4 GN
DJ4 G
ND
1
L1 100M
Hz,
26
ohm
sL1 10
0MH
z, 2
6 oh
ms
J19
PW
RS
EL
J19
PW
RS
EL
123
C58
47u
C58
47u
MIC
5320
-SJY
D6
TR
U5
MIC
5320
-SJY
D6
TR
U5
3.3V
O4
3.3E
N6
2.5E
N1
2.5V
O5
VIN3
GND2
C47
47u
C47
47u
C57
47u
C57
47u
16
iCEdragon Demo Board
Figure 8. Decoupling and SPI Configuration5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
SPI CONFIGURATION / FLASH
LATTICE CONFIDENTIAL
FLS
H_C
Sn
FLS
H_M
OS
IF
LS
H_S
CK
FLS
H_M
ISO
FLS
H_C
Sn
FLS
H_S
CK
FLS
H_M
ISO
FLS
H_M
OS
IF
LS
H_M
ISO
FLS
H_S
CK
FLS
H_C
Sn
FLS
H_M
OS
I
VC
CV
AR
VC
CV
AR
VC
C1V
2
VC
CV
AR
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- D
ecou
plin
g an
d S
PI C
onfig
urat
ion
A
66
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- D
ecou
plin
g an
d S
PI C
onfig
urat
ion
A
66
Sat
urda
y, J
une
23, 2
012
Titl
e
Siz
eD
ocum
ent N
umbe
rR
ev
Dat
e:S
heet
of
102-
349r
1p1-
0612
1.1
iCE
DR
AG
ON
- D
ecou
plin
g an
d S
PI C
onfig
urat
ion
A
66
Sat
urda
y, J
une
23, 2
012
C37 10
nC
37 10n
C40 10
nC
40 10n
R33
10k
R33
10k
C12 0.1u
C12 0.1u
R41
10k
R41
10k
C42 10
nC
42 10n
C11
1uC
111u
C8 0.
1uC
8 0.1u
J10
FS
TJ1
0F
ST
1
M25
P80
U6
M25
P80
U6
SD
I5
SC
K6
WP
3
CS
1
SD
O2
HO
LD7
8
VC
C
4
GN
D
C14
0.1u
C14
0.1u
C13
10n
C13
10n
C24
0.1u
C24
0.1u
C28
1uC
281u
POWER
iCE
40H
X8K
-CT
256
U1F
POWER
iCE
40H
X8K
-CT
256
U1F G
ND
_01
A12
GN
D_0
2A
4
GN
D_0
3E
15
GN
D_0
4G
7
GN
D_0
5G
8
GN
D_0
6G
9
GN
D_0
7H
7
GN
D_0
8H
8
GN
D_0
9H
9
GN
D_1
0J7
GN
D_1
1J8
GN
D_1
2J9
GN
D_1
3K
2
GN
D_1
4K
7
GN
D_1
5L1
5
GN
D_1
6R
7
GN
D_1
7T
12
GN
D_1
8T
4
VC
C_0
1A
14
VC
C_0
2F
10
VC
C_0
3F
6
VC
C_0
4K
10
VC
C_0
5K
6
VC
C_0
6L2
VP
P_F
AS
TD
12
VP
P_2
V5
E12
SPI
iCE
40H
X8K
-CT
256
U1E SPI
iCE
40H
X8K
-CT
256
U1E SP
I_V
CC
N13
PIO
S_0
0/S
PI_
SO
P12
PIO
S_0
1/S
PI_
SI
P11
PIO
S_0
2/S
PI_
SC
KR
11
PIO
S_0
3/S
PI_
SS
_BR
12
R36
10k
R36
10k
C7 0.1u
C7 0.1u
C39 10
nC
39 10n
C16 10
nC
16 10n
C9
1uC
91u
C43 10
nC
43 10n
J8 SP
I PG
MJ8 S
PI P
GM
SS
21
GN
D1
2
SS
33
NC
24
MIS
O5
NC
16
SC
LK7
MO
SI
8
SS
19
GN
D2
10